MySQL与MongoDB
MySQL与MongoDB
声明:
【转载】PyThon学习网(https://www.py.cn/db/mongodb/15407.html)
MySQL与MongoDB都是开源的常用数据库,
但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL的数据库。
它们各有各的优点,关键是看用在什么地方。
所以我们所熟知的那些SQL语句就不适用于MongoDB了,因为SQL语句是关系型数据库的标准语言。
一、关系型数据库-MySQL
1、在不同的引擎上有不同的存储方式。
2、查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高。
3、开源数据库的份额在不断增加,mysql的份额页在持续增长。
4、缺点就是在海量数据处理的时候效率会显著变慢。
二、非关系型数据库-MongoDB
非关系型数据库(nosql ),属于文档型数据库。先解释一下文档的数据库,即可以存放xml、json、bson类型系那个的数据。这些数据具备自述性,呈现分层的树状数据结构。数据结构由键值(key=>value)对组成。
1、存储方式:虚拟内存+持久化。
2、查询语句:是独特的MongoDB的查询方式。
3、适合场景:事件的记录,内容管理或者博客平台等等。
4、架构特点:可以通过副本集,以及分片来实现高可用。
5、数据处理:数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从而达到高速读写。
6、成熟度与广泛度:新兴数据库,成熟度较低,Nosql数据库中最为接近关系型数据库,比较完善的DB之一,适用人群不断在增长。
三、MongoDB优势与劣势
优势:
1、在适量级的内存的MongoDB的性能是非常迅速的,它将热数据存储在物理内存中,使得热数据的读写变得十分快。
2、MongoDB的高可用和集群架构拥有十分高的扩展性。
3、在副本集中,当主库遇到问题,无法继续提供服务的时候,副本集将选举一个新的主库继续提供服务。
4、MongoDB的Bson和JSon格式的数据十分适合文档格式的存储与查询。
劣势:
1、 不支持事务操作。MongoDB本身没有自带事务机制,若需要在MongoDB中实现事务机制,需通过一个额外的表,从逻辑上自行实现事务。
2、 应用经验少,由于NoSQL兴起时间短,应用经验相比关系型数据库较少。
3、MongoDB占用空间过大。
四、对比
相关文章
- MySql LAST_INSERT_ID 【插入多条数据时】
- linux - mysql - 卸载:RPM包安装方式的MySQL卸载
- ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
- ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var mysql 启动不了
- mysql启动时报错:Starting MySQL... ERROR! The server quit without updating PID file (/opt/mysql/data/mysql.pid) 的解决方法
- Zabbix运维---使用percona插件监控mysql
- MySQL UNION 和 UNION all 操作符将两个结果集合并一个表
- Python MySQL - mysql-connector 驱动
- Node.js使用mongodb.js操作MongoDB数据库
- Mysql优化要点
- Node.js学习笔记(四)——NodeJS访问MongoDB与MySQL数据库
- 阿里云标准-Mysql安全基线检查
- Mysql数据库的mysql Schema 究竟有哪些东西& 手工注入的基础要领
- 两种方式连接mysql
- mysql 查看 脏页_MySQL:刷脏页
- MySQL----MySQL中数据表的常用操作命令
- Mysql报错:Can't connect to local MySQL server through socket '/tmp/mysql.sock'
- Mysql 拼接某列为一个值 && group_concat()函数
- 【MySql】MySQL数据库--什么是MySQL的回表 ?
- 【性能优化】MySql查询性能优化必知必会