• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

从MongoDB开始浅谈数据库的知识

mysql 搞代码 4年前 (2022-01-09) 19次浏览 已收录 0个评论

本篇文章给大家带来的内容是关于从MongoDB开始浅谈数据库的知识,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

今天的主题是从MongoDB漫谈数据库,在日常的项目中,我们一般都是使用的mysql作为数据库,但是一旦有问题,又常常会听到类似“要不换成MongoDB试试”的声音,因此就让我们这些小白来随便聊聊数据库

什么是数据库

我们就用最简单的话来说,数据库,就是保存数据的一个仓库

数据库(Database)的基本概念

  • 数据库就是按照一定的数据结构来组织,储存和管理数据的仓库

  • 我们写的程序本文来源gao@!dai!ma.com搞$$代^@码5网@都是在内存中运行的,一旦程序运行结束或者计算机断点,程序运行中的数据就会全部丢失;所以我们就需要将一些程序的数据持久化到键盘之中,以确保数据的安全性。

  • 数据库则是大批量数据持久化的普遍选择,1.文件 2. 数据库

为什么用数据库存储数据

  • 数据库是有结构的

  • 数据库可以提供各种接口,让数据处理(增删改查)快捷方便

  • 各种语言(PHP、jsp、.net..)提供了完善的接口

数据库流行度(来源:https://db-engines.com/en/ranking)

从统计的数据中可以看出,最受欢迎的DBMS是“关系型”,前五名中占据了四位,把数据扩大到前十,关系型数据库也占到了七位之多。

为什么大多数程序员更喜欢使用MySQL?

  • 开源,只有企业才需要购买许可证

  • 具有广泛的用途:可广泛用于大多数平台,如Linux,Windows,Ubuntu,Mac OS X等

  • 易于使用

  • 可靠的:多年来一直经过试验和测试

  • 适用于PHP(PHP天下第一),也可以与其他编程语言一起使用,如JAVA,PERL,C,C ++等

  • 适用于小型和大型应用

那么关系型数据库这么好为什么前五名中还会出现MongoDB的身影呢,我们来看一下

关系数据库和MySQL的缺点是什么?

  • 可伸缩性:向特定记录添加更多数据可能涉及扩展到多个表,列和行,而因为数据是按行存储,即使只针对其中某一列进行运算,关系型数据库也会将整行数据从存储设备中读入内存,导致I/O较高

  • 由第一条产生而来的一个缺陷就是无法存储数据结构

  • 速度:由于数据结构的问题倒是分析数据时需要一定的时间,另外只能够进行子字符串的匹配查询,当表的数据逐渐变大的时候,like查询的匹配会非常慢,即使在有索引的情况下

  • 在使用之前,需要先编写架构以定义表,同时表结构schema扩展不方便 如要需要修改表结构,需要执行执行DDL(data definition language),语句修改,修改期间会导致锁表

是什么让MongoDB如此吸引人?

  • 灵活性:文档结构更符合开发人员在各自编程语言中的编码方式,这些编程语言在键值对中是清晰且结构化的,这样可以随时轻松添加和编辑数据/文档

  • 支持各种查询:字段,表达式,范围查询,JavaScript函数等

  • 更快的周转时间:因为存储在MySQL数据库中的多个表中的相关数据存储在MongoDB中的同一文档中

  • 没有严格的模式:可以在定义文档结构之前先创建文档


  • 搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
    转载请注明原文链接:从MongoDB开始浅谈数据库的知识

    喜欢 (0)
    [搞代码]
    分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址