快捷搜索: 王者荣耀 脱发

MongoDB与MySQL有区别吗?用一个表格跟你说明

MongoDB MySQL 数据库模型 非关系型 关系型 存储方式 虚拟内存+持久化 不同引擎有不同存储方式 查询语句 独特MongoDB查询方式 传统SQL语句 架构特点 可通过副本集和分片实现高可用 常见有单点、M-S、MHA、MMM、Cluster等架构方式 数据处理方式 基于内存,将热数据存在物理内存中,从而达到高速读写 不同引擎拥有其自己的特点 成熟度 新兴是数据库,成熟度较低 拥有较为成熟的体系,成熟度较高 优势 无需经过sql层的解析,读写性能高; 基于键值对,数据没有耦合性,容易扩展; 存储数据的格式,nosql使用key:val的形式,文档的形式,图片形式等等,而关系型数据库则只支持基础类型 本身的failover(故障切换)机制,无需使用如MHA之类的方式实现。 容易理解 使用方便 易于维护 事务一致 支持SQL,可用于复杂的查询 缺点 不提供sql支持,学习成本高 无事务处理,附加功能和报表支持也不好 为了维护一执行需要消耗大量的性能 影响读写 固定的表结构 不适合高并发读写需求 不适合海量数据的高效率读写 主要应用场景 数据以文档形式存储,能够有较好的代码亲和性,json格式的直接写入方便。(如日志之类) 从datamodels设计阶段就将原子性考虑于其中,无需事务之类的辅助。 将mongodb作为类似redis ,memcache来做缓存db,为mysql提供服务,或是后端日志收集分析。 数据库 database database 数据库表/集合 collection table 数据记录行/文档 document row 数据字段/域 field column 索引 index index 表连接 不支持 table joins 主键 primary key,自动将_id字段设置为主键 primary key
经验分享 程序员 微信小程序 职场和发展