• MongoDB和MySql的区别(详细)且会持续补充


     

    MogoDB和MySql的主要区别

    数据库MongoDBMySQL
    数据库模型 非关系型 关系型
    存储方式

    以类JSON的文档的格式存储

    虚拟内存+持久化

    不同引擎有不同的存储方式
    查询语句 MongoDB查询方式(类似JavaScript的函数) SQL语句
    架构特点

    可以通过副本集,以及分片来实现高可用

    (在副本集中,当主库遇到问题,无法继续提供服务时,副本集将选举一个新的主库继续提供服务,

       高可用和集群架构拥有十分高的扩展性)

    常见有单点,M-S,MHA,MMM,Cluster等架构方式
    数据处理方式 基于内存,将热数据存放在物理内存中,从而达到高速读写

    不同引擎有自己的特点

    处理海量数据效率先住变慢

    成熟度 新兴数据库,成熟度较低 成熟度高
    广泛度 NoSQL数据库中,比较完善且开源,使用人数在不断增长 开源数据库,市场份额不断增长
    事务性

    仅支持单文档事务操作,弱一致性

    (本身没有带事务机制,需要在MongoDB中实现事务机制,需要通过一个额外的表,从逻辑上自行实现事务)

    支持事务操作
    占用空间 占用空间大 占用空间小
    join操作 MongoDB没有join MySQL支持join

    Mysql和Mongodb主要应用场景

    1.如果需要将mongodb作为后端db来代替mysql使用,即这里mysql与mongodb 属于平行级别,那么,这样的使用可能有以下几种情况的考量:

    (1)mongodb所负责部分以文档形式存储,能够有较好的代码亲和性,json格式的直接写入方便。(如日志博客之类)

    (2)从datamodels设计阶段就将原子性考虑于其中,无需事务之类的辅助。开发用如nodejs之类的语言来进行开发,对开发比较方便。

    (3)mongodb本身的failover机制,无需使用如MHA之类的方式实现。

    2.将mongodb作为类似redis ,memcache来做缓存db,为mysql提供服务,或是后端日志收集分析。

    考虑到mongodb属于nosql型数据库,sql语句与数据结构不如mysql那么亲和 ,也会有很多时候

    将mongodb做为辅助mysql而使用的类redis memcache 之类的缓存db来使用。 亦或是仅作日志收集分析。



    声明 欢迎转载,但请保留文章原始出处:) 博客园:https://www.cnblogs.com/chenxiaomeng/ 如出现转载未声明 将追究法律责任~谢谢合作
  • 相关阅读:
    Java集合类初始容量、加载因子、扩容增量
    并发之原子性、可见性、有序性
    多线程面试题
    MySQL引擎及选择
    SHA和MD5的Salt
    基于SSM的单点登陆05
    基于SSM的单点登陆04
    基于SSM的单点登陆03
    基于SSM的单点登陆02
    基于SSM的单点登陆01
  • 原文地址:https://www.cnblogs.com/chenxiaomeng/p/14666016.html
Copyright © 2020-2023  润新知