Tokumx vs Mongodb,tokumxvsmongodb
Mongodb是一個文檔型nosql資料庫 採用C++編寫 Mongo DB最大的優勢在於所有的資料持久操作都無需開發人員手動編寫SQL語句,直接調用方法就可以輕鬆的實現CRUD操作。很多人認為mongodb不支援事務,其實嚴格上說,mongodb不是一個完全事務型的資料庫,他的有一些操作是事務過程的。這裡我想推舉的另外一款和mongo很類似的資料庫是tokumx,他是tokuek的開源版本。可以說他有像mongo一樣的nosql特性,也有關係型資料庫的事務特性,支援document級鎖。下面我們簡單比較下他們的優缺點,
1.插入效能對比
tokumx比mongodb無論是讀寫都有數倍的提升。我在單機上測試過,100萬條資料的插入時間,mongodb是tokumx的三倍左右
2.IPOS對比
IPOS即每秒進行讀寫(I/O)操作的次數,我們知道硬碟的壽命是有限的,IO越頻繁,壽命越短,由於tokumx使用的是分型樹索引(TokuMX Fractal Tree(R) indexes),它是btree的批量版本,可以有效地減少IO次數,提高讀寫效率。
3.資料壓縮效率對比
tokumx支援"quicklz", "lzma", "zlib"三種壓縮演算法,在空間儲存方面比mongo節省90%以上,這個是重點,因此tokumx可以考慮用來做大型日誌儲存。
4.tokumx的其他特性
* Oplog支援按天分區,可以根據expireOplogDays設定到期時間,刪除到期的Oplog,緩解磁碟壓力
* 最佳化分區中塊遷移,去除了許多全域鎖及庫級鎖,簡化及最佳化了不同片之間的資料轉移
* Document層級鎖,非Db級、非Collection級鎖!
* 支援ACID和事物MVCC特性
* 不用擔心磁碟資料片段的問題!
* 自己控制記憶體而非交給系統控制 不像mongodb使用MMAP記憶體控制
* 擁有比mongodb更好的叢集能力
PS:最後需要說明的一點是,為什麼tokumx比mongodb強悍那麼多,但使用得卻不多呢?原因是tokumx進程crash掉的幾率遠高過mongo - -#
C#在VS2010裡面怎操作Mongodb
一下說不清楚,給你看一個人的部落格吧。
www.cxybase.com/...8E%A2/
助:C#中更新MongoDB子文檔,我資料庫中的格式是這樣的:
update set lou='7' where name=test and age=20