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-02-28發布2.0.3正式版。上一個版本是2011-12-14的2.0.2.這個版本經過兩個RC.包括如下改進
Bug
- [SERVER-3112] - mongo* tools logs should not log to stdout (broken w/--out -)
- [SERVER-3641] - support mongostat through mongos with authentication
- [SERVER-3672] - use min(majority, all "real" nodes) for majority
- [SERVER-3763] - when one shard goes down, mongos starts returning failure in getlasterror for all the shards, to already connected client.
- [SERVER-3817] - Increment opcounters for bulk insert
- [SERVER-3939] - Rollback is trying to log something in the oplog
- [SERVER-4115] - copyCollectionFromRemote needs to authenticate
- [SERVER-4238] - Make sure authentication always happens when a ScopedConn connects
- [SERVER-4387] - command should force reload of config data after multiple stale config exceptions
- [SERVER-4399] - mongos doesn't always update shards in response to replica set changes
- [SERVER-4400] - attempt to record query plan for a dropped cursor triggers bad file number assertion
- [SERVER-4401] - query optimizer cursor may return partial result set for a $or query if the last index match for a $or clause is deleted while it is "current"
- [SERVER-4474] - Initial sync should ignore capped collection dup key error, too
- [SERVER-4546] - Oplog replay can assert on initial sync if there's no _id index on a capped collection
- [SERVER-4547] - Disable full restore of sharded cluster
- [SERVER-4591] - MongoDB 2.0.2 fails to build: 'str' object has no attribute 'rpartition'
- [SERVER-4626] - If update does not contain an _id in criteria, sync apply can assert and get stuck
- [SERVER-4634] - --use-system-all (and --use-system-snappy?) don't actually use system snappy
- [SERVER-4643] - one of the shard is down
- [SERVER-4665] - Querying against sparse index creates bad state, affecting later queries
- [SERVER-4695] - getLog auth checks needs backport
- [SERVER-4699] - mongos can segfault after primary failover
- [SERVER-4712] - Shards crash fairly frequently when memory is low
- [SERVER-4714] - ScopedConn is segfaulting
- [SERVER-4745] - Figuring out which shard to send a query to takes a long time when doing large $in queries on the shard key
- [SERVER-4749] - fix concurrency api when using openssl
- [SERVER-4765] - sharded currentOp doesn't actually pass query
Improvement
- [SERVER-2612] - support logRotate under windows
- [SERVER-4673] - Don't lock authenticate command if we don't need to
- [SERVER-4780] - Improve Memory Leak Warning Message
下載:32位 http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.0.3.tgz
64位 http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.3.tgz
源碼包 http://downloads.mongodb.org/src/mongodb-src-r2.0.3.tar.gz