|
滿足海量存儲需求和訪問的面向文檔的數據庫:MongoDB,CouchDB
MongoDB
Nice, I like it very much.
面向文檔的非關系數據庫主要解決的問題不是高性能的并發讀寫,而是保證海量數據存儲的同時,具有良好的查詢性能。MongoDB是用C++開發的,而CouchDB則是Erlang開發的:
1、MongoDB
MongoDB是一個介于關系數據庫和非關系數據庫之間的產品,是非關系數據庫當中功能最豐富,最像關系數據庫的。他支持的數據結構非常松散,是類似 json的bjson格式,因此可以存儲比較復雜的數據類型。Mongo最大的特點是他支持的查詢語言非常強大,其語法有點類似于面向對象的查詢語言,幾乎可以實現類似關系數據庫單表查詢的絕大部分功能,而且還支持對數據建立索引。
Mongo主要解決的是海量數據的訪問效率問題,根據官方的文檔,當數據量達到50GB以上的時候,Mongo的數據庫訪問速度是MySQL的 10倍以上。Mongo的并發讀寫效率不是特別出色,根據官方提供的性能測試表明,大約每秒可以處理0.5萬-1.5次讀寫請求。對于Mongo的并發讀寫性能,我(robbin)也打算有空的時候好好測試一下。
因為Mongo主要是支持海量數據存儲的,所以Mongo還自帶了一個出色的分布式文件系統GridFS,可以支持海量的數據存儲,但我也看到有些評論認為GridFS性能不佳,這一點還是有待親自做點測試來驗證了。
最后由于Mongo可以支持復雜的數據結構,而且帶有強大的數據查詢功能,因此非常受到歡迎,很多項目都考慮用MongoDB來替代MySQL來實現不是特別復雜的Web應用,比方說whywe migrated from MySQL toMongoDB就是一個真實的從MySQL遷移到MongoDB的案例,由于數據量實在太大,所以遷移到了Mongo上面,數據查詢的速度得到了非常顯著的提升。
MongoDB也有一個ruby的項目MongoMapper,是模仿Merb的DataMapper編寫的MongoDB的接口,使用起來非常簡單,幾乎和DataMapper一模一樣,功能非常強大易用。
MongoDB語法:
啟動服務
mongod.exe –dbpath F:/DataBase/MongoDB/db/
it知識庫:MongoDB基本介紹及一些用法,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。