分布式文檔數(shù)據(jù)庫MongoDB 2.0.5發(fā)布
MongoDB是一個介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品, 是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫的。他支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是類似json的bjson格式,因此可以存儲比較復(fù)雜的數(shù)據(jù)類型。 Mongo***的特點是他支持的查詢語言非常強(qiáng)大,其語法有點類似于面向?qū)ο蟮牟樵冋Z言,幾乎可以實現(xiàn)類似關(guān)系數(shù)據(jù)庫單表查詢的絕大部分功能,而且還支持對數(shù)據(jù)建立索引。
它的特點是高性能、易部署、易使用,存儲數(shù)據(jù)非常方便。主要功能特性有:
面向集合存儲,易存儲對象類型的數(shù)據(jù)。
模式自由。
支持動態(tài)查詢。
支持完全索引,包含內(nèi)部對象。
支持查詢。
支持復(fù)制和故障恢復(fù)。
使用高效的二進(jìn)制數(shù)據(jù)存儲,包括大型對象(如視頻等)。
自動處理碎片,以支持云計算層次的擴(kuò)展性
支持RUBY,PYTHON,JAVA,C++,PHP等多種語言。
文件存儲格式為BSON(一種JSON的擴(kuò)展)
可通過網(wǎng)絡(luò)訪問
所謂“面向集合”(Collenction-Orented),意思是數(shù)據(jù)被分組存儲在數(shù)據(jù)集中,被稱為一個集合(Collenction)。每個 集合在數(shù)據(jù)庫中都有一個唯一的標(biāo)識名,并且可以包含無限數(shù)目的文檔。集合的概念類似關(guān)系型數(shù)據(jù)庫(RDBMS)里的表(table),不同的是它不需要定 義任何模式(schema)。
模式自由(schema-free),意味著對于存儲在mongodb數(shù)據(jù)庫中的文件,我們不需要知道它的任何結(jié)構(gòu)定義。如果需要的話,你完全可以把不同結(jié)構(gòu)的文件存儲在同一個數(shù)據(jù)庫里。
存儲在集合中的文檔,被存儲為鍵-值對的形式。鍵用于唯一標(biāo)識一個文檔,為字符串類型,而值則可以是各中復(fù)雜的文件類型。我們稱這種存儲形式為BSON(Binary Serialized dOcument Format)。
MongoDB服務(wù)端可運行在Linux、Windows或OS X平臺,支持32位和64位應(yīng)用,默認(rèn)端口為27017。推薦運行在64位平臺,因為MongoDB
在32位模式運行時支持的***文件尺寸為2GB。
MongoDB把數(shù)據(jù)存儲在文件中(默認(rèn)路徑為:/data/db),為提高效率使用內(nèi)存映射文件進(jìn)行管理。
2012-05-09發(fā)布2.0.5正式版。上一個版本是2011-03-20的2.0.4.這個版本經(jīng)過1個RC.包括如下改進(jìn)
Bug
[SERVER-1163] - Writing 44K records a second and mongod.exe gives 'FlushViewOfFile failed 33' warning and then a client issue
[SERVER-2988] - mongos fails to start initially when any config server is unavailable
[SERVER-4385] - SyncClusterConnection should refresh sub-connections on recieving exceptions
[SERVER-4388] - newly sharded collection requires config info reload on the mongod
[SERVER-4619] - Relinquishing primary should be done in write lock
[SERVER-4680] - Inconsistent query results on large data and result sets
[SERVER-4777] - 'weird case' assertion when mods on two nested fields are applied to a document with a duplicated field name
[SERVER-4810] - If a replica set member with higher priority comes online, current primary relinquishes primary state
[SERVER-4812] - killcursor messages sent via piggyback data, which may be sent later or not at all
[SERVER-5093] - shard3.js memory corruption in Linux 64-bit build
[SERVER-5110] - ReplicaSetMonitor::check not thread safe wrt _master
[SERVER-5140] - SConstruct new smoke_python_name() hangs compilation
[SERVER-5187] - mongod --shutdown flag should ignore the fork option
[SERVER-5220] - Assertion error with data sets being in same order on master and slave during drop_dups.js test
[SERVER-5221] - Collections remaining on slave at end of small oplog tests
[SERVER-5348] - Redefinition of macros while using the C++ driver makes it unusable with larger application code
[SERVER-5357] - Map/Reduce operation writes output data in primary node of replica set but not in secondary nodes
[SERVER-5358] - After an upgrade, --shutdown fails to shutdown the old version of mongod
[SERVER-5384] - segfault attempting mapreduce with --noscripting
[SERVER-5404] - reconfig.js fails on mismatched error messages
[SERVER-5406] - mongos does not allow new connections for 30 seconds->a couple minutes when an rs member goes down
[SERVER-5449] - Assertion failure writing to journal file
[SERVER-5469] - can leak small extents after a drop()
[SERVER-5541] - crash in C++ client driver during shutdowing primary mongo server from repset
[SERVER-5542] - Race during static destruction of CommitJob object
[SERVER-5569] - objid6.js failing on dur_passthrough
[SERVER-5678] - assert in mongos_no_detect_sharding.js on 2.0 branch
[SERVER-5754] - Initial sync assertion error with 2.0.5-rc0
Improvement
[SERVER-5645] - When applying changes in MigrateStatus::apply(), acquire the lock for each change, not for all changes
下載:32位 http://fastdl.mongodb.org/linux/mongodb-linux-i686-2.0.5.tgz
64位 http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.5.tgz
源碼包 http://downloads.mongodb.org/src/mongodb-src-r2.0.5.tar.gz
【編輯推薦】