why Mongo

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lhc2207221755/article/details/81316561

之前用过关系型数据库,比如Mysql,也用过非关系型的数据库,比如HBase,感觉对比MySQL跟HBase,会发现使用起来Mysql真的很关系型数据库,HBase又完全过于非关系型。
最近开始用Mongo了,发现Mongo用起来,介于两者之间,总的来说,简单易用。

丰富的数据模型

  • 面向文档的数据库
    将原来行的概念转换成更加灵活的文档模型,面向文档的方式可以将文档或者数组内嵌进来,所以用一条记录就可以表示非常复杂的层次关系。

容易扩展

采用面向文档的数据模型,使其可以自动在多台服务器之间分割数据,它还可以平衡集群的数据和负载,自动重排文档。使开发者可以专注于编写应用,而不是考虑如何扩展。

丰富的功能

  • 索引

  • 存储类似JSON结构的数据

  • 提供聚合工具

  • 提供固定集合

  • 文件存储

不牺牲速度

MongoDB使用MongoDB传输协议作为与服务器交互的主要方式。它对文档进行动态填充,预分配数据文件,用空间换取性能的稳定。默认的存储引擎中使用内存映射文件,将内存的管理工作交给操作系统去做。动态查询优化器会记住执行查询的最高效的方式。

简便的管理

MongoDB尽量让服务器自治来来简化服务器的管理。如果主服务器挂掉了,MongoDB会自动切换到备份服务器,并将备份服务器提升为活跃服务器。在分布式环境下,集群只需要知道有新增加的结点,就会自动集成和配置新结点。MongoDB的管理理念就是尽可能的让服务器自动配置,让用户在需要的时候调整配置。

猜你喜欢

转载自blog.csdn.net/lhc2207221755/article/details/81316561
Why