mysql 与 MongoDB 差别
发布时间:2023-09-18 15:14:34 所属栏目:MySql教程 来源:
导读:MySQL
关系型数据库。
在不同的引擎上有不同 的存储方式。
查询语句是使用传统的 sql 语句,拥有较为成熟的体系,成熟度很高。
开源数据库的份额在不断增加,mysql 的份额页在持续增长。
缺点就
关系型数据库。
在不同的引擎上有不同 的存储方式。
查询语句是使用传统的 sql 语句,拥有较为成熟的体系,成熟度很高。
开源数据库的份额在不断增加,mysql 的份额页在持续增长。
缺点就
|
MySQL 关系型数据库。 在不同的引擎上有不同 的存储方式。 查询语句是使用传统的 sql 语句,拥有较为成熟的体系,成熟度很高。 开源数据库的份额在不断增加,mysql 的份额页在持续增长。 缺点就是在海量数据处理的时候效率会显著变慢。 Mongodb 非关系型数据库 (nosql), 属于文档型数据库。先解释一下文档的数据库,即可以存放 xml、json、bson 类型系那个的数据。这些数据具备自述性(self-describing),呈现分层的树状数据结构。数据结构由键值 (key=>value) 对组成。 存储方式:虚拟内存 + 持久化。 查询语句:是独特的 Mongodb 的查询方式。 适合场景:事件的记录,内容管理或者博客平台等等。 架构特点:可以通过副本集,以及分片来实现高可用。 数据处理:数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从而达到高速读写。 成熟度与广泛度:新兴数据库,成熟度较低,Nosql 数据库中最为接近关系型数据库,比较完善的 DB 之一,适用人群不断在增长。 优势: 快速!在适量级的内存的 Mongodb 的性能是非常迅速的,它将热数据存储在物理内存中,使得热数据的读写变得十分快, 高扩展! 自身的 Failover 机制! json 的存储格式! 缺点:主要是无事物机制! 分析一下 Mysql 和 Mongodb 应用场景 1. 如果需要将 mongodb 作为后端 db 来代替 mysql 使用,即这里 mysql 与 mongodb 属于平行级别,那么,这样的使用可能有以下几种情况的考量: (1) mongodb 所负责部分以文档形式存储,能够有较好的代码亲和性,json 格式的直接写入方便。(如日志之类) (2) 从 data models 设计阶段就将原子性考虑于其中,无需事务之类的辅助。开发用如 nodejs 之类的语言来进行开发,对开发比较方便。 (3) mongodb 本身的 failover 机制,无需使用如 MHA 之类的方式实现。 2. 将 mongodb 作为类似 redis ,memcache 来做缓存 db,为 mysql 提供服务,或是后端日志收集分析。 考虑到 mongodb 属于 nosql 型数据库,sql 语句与数据结构不如 mysql 那么亲和 ,也会有很多时候将 mongodb 做为辅助 mysql 而使用的类 redis memcache 之类的缓存 db 来使用。 亦或是仅作日志收集分析。 MongoDB 还有一个最大的缺点,就是它占用的空间很大,因为它属于典型空间换时间原则的类型。那么它的磁盘空间比普通数据库会浪费一些,而且到目前为止它还没有实现在线压缩功能,在 MongoDB 中频繁的进行数据增删改时,如果记录变了,例如数据大小发生了变化,这时候容易产生一些数据碎片,出现碎片引发的结果,一个是索引会出现性能问题, 另外一个就是在一定的时间后,所占空间会莫明其妙地增大,所以要定期把数据库做修复,定期重新做索引,这样会提升 MongoDB 的稳定性和效率。在最新的版本里,它已经在实现在线压缩,估计应该在 2.0 版左右,应该能够实现在线压缩,可以在后台执行现在 repair DataBase 的一些操作。如果那样,就解决了目前困扰我们的大问题。 (编辑:聊城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
