c)聚合
MongoDB支持MapReduce和其他聚合工具
d)固定集合
集合的大小是有上限的,这对某些类型的数据(如日志)特别有用
e)文件存储
MongoDB支持用一种容易使用的协议存储大型文件和文件的元数据
有些关系型数据库的常见功能,MongoDB不具备,如:join和复杂的多行事务.
这个架构上考虑是为了提高扩展性,因为这两个功能实在很难在一个分布式系统上实现.
1.4高性能
MongoDB使用MongoDB传输协议作为与服务器交互的主要方式(与之对应的协议需要更多的开销,如:http/Rest).
它对文档进行动态填充,预分配数据文件,用空间换取性能的稳定.默认的存储引擎中使用了内存映射文件,将内存管理工作
交给操作系统去处理.动态查询优化器会"记住"执行查询最高效的方式.
虽然MongoDB功能强大,尽量保持关系型数据库的众多特性,它尽可能的将服务器处理逻辑交给客户端(由驱动程序或者用户的应用程序处理).这样精简的设计是的MongoDB获得了非常好的性能.
1.5简便的管理
MongoDB尽量让服务器自治来简化数据库的管理,处理启动数据库服务器之外,几乎没有什么必要的管理操作.如果主服务器挂掉了,MongoDB会自动切换到备份服务器上,并且将备份服务器升级为活跃服务器.在分布式环境下,集群只需要知道有新增的节点,就会自动集成和配置新节点.
MongoDB的管理理念就是尽可能的让服务器自动配置,让用户在需要的时候调整设置.
MongoDB的愿景是对自身更好的诠释--建立一个灵活,高效,易于扩展,功能完备的数据库