MongoDB是一个介于关系数据库和非关系数据库之间的产品, 是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。 Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持 对数据建立索引。
它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:
- 面向集合存储,易存储对象类型的数据。
- 模式自由。
- 支持动态查询。
- 支持完全索引,包含内部对象。
- 支持查询。
- 支持复制和故障恢复。
- 使用高效的二进制数据存储,包括大型对象(如视频等)。
- 自动处理碎片,以支持云计算层次的扩展性
- 支持RUBY,PYTHON,JAVA,C++,PHP等多种语言。
- 文件存储格式为BSON(一种JSON的扩展)
- 可通过网络访问
所谓“面向集合”(Collenction-Orented),意思是数据被分组存储在数据集中,被称为一个集合(Collenction)。每个 集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库(RDBMS)里的表(table),不同的是它不需要定 义任何模式(schema)。
模式自由(schema-free),意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。 存储在集合中的文档,被存储为键-值对的形式。键用于唯一标识一个文档,为字符串类型,而值则可以是各中复杂的文件类型。我们称这种存储形式为BSON(Binary Serialized dOcument Format)。MongoDB服务端可运行在Linux、Windows或OS X平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB
在32位模式运行时支持的最大文件尺寸为2GB。
MongoDB把数据存储在文件中(默认路径为:/data/db),为提高效率使用内存映射文件进行管理。
2012-10-31 上一个版本是2012-08-29的2.2.0 这个主要是Bug修正,其他产品线还是2.0.7 1.8.5。
完全改进:
Bug
- [] - replica set initial sync failure when update cannot be applied to a future version of an object received via clone
- [] - HTTP Digest authentication doesn't work with Internet Explorer
- [] - queueing writebacks register with lastError too early
- [] - oplog is not strictly idempotent when unique index is present
- [] - slaveDelay Setting Causes Replica Ops to be Applied in Batches at approximately the slaveDelay Interval
- [] - The 'test' program does not log messages in msgasserted()
- [] - Memory leak in mongos when using auth
- [] - findAndModify update code path didn't result in splits in findAndModify2.js
- [] - sharding on prefix doesn't trigger "move top chunk" heuristic and causes assertion 10367
- [] - jstests/sharding/read_pref.js fails sometimes
- [] - potential out of bounds read in prefetchRecordPages()
- [] - distinct3.js test may leave an operation running after the test finishes; evalb does not restrict profiling query to operations the test itself generates
- [] - 2.2.0 upgrade of secondary of replica set with --keyfile authentication produces authentication errors - cannot upgrade without downtime
- [] - MongoDB 2.2 and MongoDB 2.0 cannot be mixed in sharded cluster
- [] - verify assertion when new version of a document is requested that does not match dotted field expression of original query; excessive logging
- [] - TTL monitor reports "ERROR: error processing ttl for db" during initial sync
- [] - DR102 too much data written uncommitted
- [] - warning message occasionally logged incorrectly when a client cursor is exhausted
- [] - addTagRegion/addShardTag fail with 3 config server sharded clusters
- [] - Can't call commitIfNeeded in DBDirectClient::call if not write-locked
- [] - Build system produces incorrect debugsymbols archive
- [] - findAndModify positional operator regression with undotted query fields
- [] - Deletions during chunk movement can cause migrations to fail
- [] - db.hostInfo() crashes mongod with: Uncaught std::exception: basic_string::_S_create
- [] - mongos can use invalid ptr to master conn when setShardVersion fails
- [] - Mongorestore doesn't auth against admin DB when using username and password arguments
- [] - state transition for replica sets isn't correct
- [] - Assertion: 13111:field not found, expected type 2 when an error occured during the index building phase in restore
- [] - Getting need to login error when trying to restore a single database
- [] - Batched oplog application increases frequency of idempotency violations
- [] - Do not go into rollback before reaching minvalid
- [] - Bump minvalid when recloning ops on initial sync
- [] - logging for shard selection for chunk migration is too verbose
- [] - power of 2 allocation breaks with docs > 8mb
- [] - Make replica set members pick up their own connection via DBDirectClient, not over the network
- [] - Fix corner case where an update mod is applied twice
- [] - migrate deletion not aggressive enough and tied to migrate moves
Improvement
- [] - RecoveryJob shouldn't find MMF for each entry
- [] - Improve journal data handling after multithreaded batch writing
- [] - Trim minvalid document to avoid "DFM::findAll extent empty" log messages
Task
- [] - Add SpiderMonkey info to THIRD-PARTY-NOTICES file
下载:32位 http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.2.1.tgz
64位 http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.2.1.tgz
源码 http://downloads.mongodb.org/src/mongodb-src-r2.2.1.tar.gz