本文主要是介绍非关系数据库(MongoDB)和关系型数据库(MySQL)的区别,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
非关系数据库和关系型数据库
1、数据存储方式不同
关系型数据天然就是表格式的,因此存储在数据表的行和列中。数据表可以彼此关联协作存储,也很容易提取数据。与其相反,非关系型数据不适合存储在数据表的行和列中,而是大块组合在一起。非关系型数据通常存储在数据集中,就像文档、键值对或者图结构。
2、扩展方式不同
因为数据存储在关系表中,操作的性能瓶颈可能涉及很多个表,虽然SQL数据库有很大扩展空间,但最终肯定会达到纵向扩展的上限。而非关系型数据存储天然就是分布式的,NoSQL数据库的横向扩展可以通过给资源池添加更多普通的数据库服务器(节点)来分担负载。
3、对事务性的支持不同
如果数据操作需要高事务性或者复杂数据查询需要控制执行计划,那么传统的SQL数据库从性能和稳定性方面考虑是你的最佳选择。SQL数据库支持对事务原子性细粒度控制,并且易于回滚事务
MongoDB和MySQL的区别
MongoDB | MySQL | |
---|---|---|
数据库模型 | 非关系型 | 关系型 |
存储方式 | 虚拟存储+持久化 | 不同的引擎有不同的存储方式 |
查询语句 | 独特的MongoDB查询方式 | 传统SQL语句 |
架构特点 | 可以通过副本集以及分片来实现高可用 | 常见有单点,M-S,MHA,Cluster,MMM等架构方式 |
数据处理方式 | 基于内存,将热数据存在物理内存中,从 |
这篇关于非关系数据库(MongoDB)和关系型数据库(MySQL)的区别的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!