TokuMX

       MongoDB擁有靈活的文檔型數據結構和方便的操作語法,在新興的互聯網應用中得到了廣泛的部署,但對於其底層的存儲引擎,我一直有一些保留意 見。據我瞭解,其採用了MMAP的方式來操作數據文件,這就導致我們無法限制MongoDB進程所使用的內存容量,目前最好的部署辦法就只能是將其單獨部 署在一臺服務器上。另外,MongoDB也不能嚴格的支持事務,對於併發寫入的鎖的粒度也非常粗。

TokuMX的出現解決了這一切,它爲MongoDB替換了一顆真正的數據庫存儲引擎,我們現在可以像使用MySQL數據庫一樣精確的指定TokuMX最大可用內存,它也完整支持的事務處理。當然了,TokuTek引以爲傲的數據壓縮能力也是一點也沒落下。

TokuMX經過多次發佈,現在是1.3.2版本,是免費開源軟件,官方網站可以下載:

TokuMX 實現了絕大部分MongoDB 2.4的功能,應用程序無需做任何修改。但需要注意的是,TokuMX的數據存儲格式與MongoDB完全不一樣,需要使用mongodump導出數據,然後用mongorestore導入纔可以使用。


TokuMX對數據的壓縮能力。
因爲對寫做了優化和壓縮,在不影響性能的前提下 TokuMX 比原生的 MongoDB 節約了90%的存儲空間。


一些特性:

* Oplog支持按天分區,可以根據expireOplogDays設置過期時間,刪除過期的Oplog,緩解磁盤壓力
* 優化分片中塊遷移,去除了許多全局鎖及庫級鎖,簡化及優化了不同片之間的數據轉移
* Document級別鎖,非Db級、非Collection級鎖!
* 支持ACID和事物MVCC特性
* 不用擔心磁盤數據碎片的問題!
* 自己控制內存而非交給系統控制


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章