MongoDBMongoDB五功能简介
mondb是一个强大的,灵活的,可扩展的数据存储。它扩展了许多有用的功能,在关系数据库中,如辅助索引范围查询和sorting.mondb功能非常丰富,例如:基于MapReduce型聚合物的支持,并支持地理空间索引。1.1富数据模型
mondb是面向文档的数据库,而不是一个关系数据库。放弃关系模型的主要原因是为了获得更方便的可伸缩性,还有其他好处。
基本思想是将原来的行概念转换为更灵活的文档模型。面向文档的方式可以嵌入文档或数组,因此我们可以使用记录来表示非常复杂的层次关系。
MonDB没有模式:一个文件的关键不在于定义或固定。因为不需要更改模式,所以通常不需要迁移大量数据,只需要将所有数据放入模具中,应用程序层可以处理新的或丢失的密钥。
1.2易于扩展
数据集的规模迅速增加。传感器技术的发展、带宽的增加和因特网手持设备的普及,使得即使是一个非常小的应用程序也能存储大量的数据。它足够大,可以处理数据库。
因为开发人员想要存储的数据正在增长,所以他们面临着一个选择:升级数据库(一个更好的服务器),
或者扩展数据库(将数据分散到许多机器上)。升级数据库通常是最大的努力,但是价格非常昂贵。
但是,扩展不仅是经济的,而且还可以继续增加:为了增加存储空间或提高性能,只需要在集群中购买一个公共服务器。
在对数据模型的扩展考虑的mondb原创设计,在多个服务器上的数据的自动分割文件。它也可以集群和负载平衡数据,自动重排文件。因此,开发人员可以专注于编写应用程序,而不是考虑如何扩展,如果更多的话。容量需求,只需在集群中添加新机器,然后让数据库处理其余的。
1.3功能丰富
一)指数
mondb支持通用目的的指标,各种各样的快速查询,和独特的复合材料和空间索引能力
(b)存储Javascript
开发人员不必使用存储过程,他们可以直接在服务器端访问Javascript函数。
c)聚合
mondb支持MapReduce和其他集成工具
d)固定集
集合的大小是上限,对于某些类型的数据,如日志,尤其有用。
E)文件存储
mondb支持存储大文件和文件提供了一个易于使用的协议的元数据
一些关系数据库的常用功能不可用在MonDB,如:加入复杂的多行交易。
这种体系结构被认为可以提高可扩展性,因为这两个函数在分布式系统上很难实现。
1.4高性能
mondb采用mondb传输协议与服务器交互的主要方式(相应的协议需要更多的开销,如HTTP /休息)。
它动态填充文件,predistributes数据文件,并使用空间得到性能稳定。默认的存储引擎使用内存映射文件来管理内存。
它是给操作系统的。动态查询优化器将记住执行查询的最有效方式。
虽然MonDB是强大的,保持了关系数据库的许多特点,它可以给服务器处理逻辑的客户尽可能多的,这是由驱动程序或用户的应用程序进行处理。所以,流线型的设计是mondb,达到很好的性能。
1.5简单管理
mondb尽量让服务器来简化自治数据库管理,处理启动数据库服务器,几乎没有什么必要的管理操作。如果主服务器是死的,mondb将自动切换到备份服务器,备份服务器将升级到动态服务器。在分布式环境中,集群只需要理解新的节点意愿,自动集成和配置一个新的节点。
The idea of MonDB's management is to make the server automatically configure it as much as possible, allowing users to adjust the settings when they need it.
对mondb视觉更好的诠释本身——灵活、高效、易于扩展、功能齐全的数据库