MongoDB优缺点
MongoDB优点
- 弱一致性(最终一致),更能保证用户的访问速度
- 文档结构的存储方式,能够更便捷的获取数据
- 第三方支持丰富
- 面向集合文档存储,适合存储 Bson 形式数据
- 格式自由,生产环境下修改结构可以不影响程序运行
- 面向对象的查询语言
- 完整的索引支持,支持查询计划
- 支持复制和自动故障转移
- 支持二进制数据及大型对象高效存储
- 使用分片集群提升系统扩展性
- 使用内存映射存储引擎,把磁盘 IO 操作转为内存的操作
- 自动处理碎片,以支持云计算层次的扩展性
- 支持 Python,PHP,Ruby,Java,C,C#,Javascript,Perl 及 C++ 语言的驱动程序,Mongodb 的拥护者进行了二次开发,为广大用户提供了 Erlang 及 .NET 等平台的驱动程序。
- 可通过网络访问。
MongoDB缺点
- MongoDB 不支持事务操作,所以事务要求严格的系统,比如银行系统就不能用它。
- MongoDB 占用空间过大
- 空间的预分配:当 MongoDB 的空间不足时它就会申请生成一大块硬盘空间,而且申请的量都是有 64M、128M、256M 来增加直到 2G 为单个文件的较大体积,并且随着数量叠增,可以在数据目录下看到整块生成而且不断递增的文件。
- 删除记录不释放空间:这很容易理解,为避免记录删除后的数据的大规模挪动,原记录空间不删除,只标记 “已删除” 即可,以后还可以重复利用。