zoukankan      html  css  js  c++  java
  • Mysql、MongoDB对比和使用场景

    https://www.cnblogs.com/linguoguo/p/10640179.html

    MongoDB:

    更高的写入负载

    默认情况下,MongoDB更侧重高数据写入性能,而非事务安全,MongoDB很适合业务系统中有大量“低价值”数据的场景。但是应当避免在高事务安全性的系统中使用MongoDB,除非能从架构设计上保证事务安全。

    高可用性

    MongoDB的复副集(Master-Slave)配置非常简洁方便,此外,MongoDB可以快速响应的处理单节点故障,自动、安全的完成故障转移。这些特性使得MongoDB能在一个相对不稳定(如云主机)的环境中,保持高可用性。

    数据量很大或者未来会变得很大

    依赖数据库(MySQL)自身的特性,完成数据的扩展是较困难的事,在MySQL中,当一个单达表到5-10GB时会出现明显的性能降级,此时需要通过数据的水平和垂直拆分、库的拆分完成扩展,使用MySQL通常需要借助驱动层或代理层完成这类需求。而MongoDB内建了多种数据分片的特性,可以很好的适应大数据量的需求。

    基于位置的数据查询

    MongoDB支持二维空间索引,因此可以快速及精确的从指定位置获取数据。

    表结构不明确,且数据在不断变大

    在一些传统RDBMS中,增加一个字段会锁住整个数据库/表,或者在执行一个重负载的请求时会明显造成其它请求的性能降级。通常发生在数据表大于1G的时候(当大于1TB时更甚)。 因MongoDB是文档型数据库,为非结构货的文档增加一个新字段是很快速的操作,并且不会影响到已有数据。另外一个好处当业务数据发生变化时,是将不在需要由DBA修改表结构。

    Mysql:

    1)这些数据通常需要做结构化查询,比如join,这时候,关系型数据库就要胜出一筹 

    2)这些数据的规模、增长的速度通常是可以预期的 

    3)事务性、一致性

    4)丰富的锁机制

  • 相关阅读:
    get和post的区别
    关于webWorker的理解和简单例子
    JavaScript停止事件冒泡和取消事件默认行为
    深入理解js构造函数
    js之yeild
    文件组织方式
    HTML5新增的标签和属性归纳
    css3新增属性
    CSS3 transition介绍
    Mysql安装
  • 原文地址:https://www.cnblogs.com/kungfupanda/p/12578884.html
Copyright © 2011-2022 走看看