MongoDB优缺点

MongoDB优点

  1. 弱一致性(最终一致),更能保证用户的访问速度
  2. 文档结构的存储方式,能够更便捷的获取数据
  3. 第三方支持丰富
  4. 面向集合文档存储,适合存储 Bson 形式数据
  5. 格式自由,生产环境下修改结构可以不影响程序运行
  6. 面向对象的查询语言
  7. 完整的索引支持,支持查询计划
  8. 支持复制和自动故障转移
  9. 支持二进制数据及大型对象高效存储
  10. 使用分片集群提升系统扩展性
  11. 使用内存映射存储引擎,把磁盘 IO 操作转为内存的操作
  12. 自动处理碎片,以支持云计算层次的扩展性
  13. 支持 PythonPHP,Ruby,JavaC,C#,Javascript,Perl 及 C++ 语言的驱动程序,Mongodb 的拥护者进行了二次开发,为广大用户提供了 Erlang 及 .NET 等平台的驱动程序。
  14. 可通过网络访问。

MongoDB缺点

  1. MongoDB 不支持事务操作,所以事务要求严格的系统,比如银行系统就不能用它。
  2. MongoDB 占用空间过大
    1. 空间的预分配:当 MongoDB 的空间不足时它就会申请生成一大块硬盘空间,而且申请的量都是有 64M、128M、256M 来增加直到 2G 为单个文件的较大体积,并且随着数量叠增,可以在数据目录下看到整块生成而且不断递增的文件。
    2. 删除记录不释放空间:这很容易理解,为避免记录删除后的数据的大规模挪动,原记录空间不删除,只标记 “已删除” 即可,以后还可以重复利用。