
2、存储方式:mysql不同的存储引擎有不同的存储方式,mongodb为虚拟内存+持久化
3、查询语句:mysql为传统的sql语句,mongodb有独特的自有查询方式
4、架构特点:mysql有常见的单点,m-s、mha、mmm、cluster等架构特点,mongodb可以通过副本集以及分片来实现高可用
5、数据处理方式:mysql不同的引擎有各自的特点,mongodb基于内存,将数据存储在物理内存中,从而达到高速读写
6、成熟度:mysql拥有较为成熟的体系,成熟度较高,mongodb新兴数据库,成熟度较低
数据库模型
mongodb 非关系行 (文档型数据库)提供可扩展的高性能数据存储
mysql 关系行
存储方式
mongodb:虚拟内存 持久化
mysql:不同的引擎不同的存储方式
查询方式
mongodb独特的查询语句
mysql 传统的sql
mongodb与mysql命令对比 传统的关系数据库一般由数据库(database)、表(table)、记录(record)三个层次概念组成,
MongoDB是由数据库(database)、集合(collection)、文档对象(document)三个层次组成。
MongoDB对于关系型数据库里的表,但是集合中没有列、行和关系概念,这体现了模式自由的特点。
a.如果需要将mongodb作为后端db来代替mysql使用,即这里mysql与mongodb属于平行级别,那么,这样的使用可能有以下几种情况的考量:
(1)mongodb所负责部分以文档形式存储,能够有较好的代码亲和性,json格式的直接写入方便。(如日志之类)
(2)从data
models设计阶段就将原子性考虑于其中,无需事务之类的辅助。开发用如nodejs之类的语言来进行开发,对开发比较方便。
(3)mongodb本身的failover机制,无需使用如MHA之类的方式实现。
这种情况也是不少的,我手上的游戏就是有nodejs+mongodb的,用户总量也是千万级别的,流水什么还不错。
b.将mongodb作为类似redis
,memcache来做缓存db,为mysql提供服务,或是后端日志收集分析。
考虑到mongodb属于nosql型数据库,sql语句与数据结构不如mysql那么亲和
,也会有很多时候将mongodb做为辅助mysql而使用的类redis
memcache
之类的缓存db来使用。
亦或是仅作日志收集分析。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)