悉數11種主流NoSQL文檔型數據庫

悉數11種主流NoSQL文檔型數據庫

文檔型數據庫NoSQL中很是重要的一個分支,它主要用來存儲、索引並管理面向文檔的數據或者相似的半結構化數據。顧名思義,文檔型數據庫(面向文檔數據庫)的關鍵核心概念即文檔(Document),它是數據庫中最小的單位。每一種文檔型數據庫的部署都有所不一樣,一般來講,它們假定文檔以某種標準化格式封裝並加密數據,並用多種格式進行解碼,包括XML、YAML、JSON和BSON,固然也包括二進制格式如PDF、微軟Office文檔等。在本文中,來自IBM的高級IT工程師Lijin Joseji向咱們介紹了11種主流的文檔型數據庫html


    MongoDBgit


    MongoDB是目前最爲流行的NoSQL數據庫,它是一種面向集合,模式無關的文檔型數據庫。其中數據以「集合」的方式進行分組,每一個集合都有單獨的名稱並能夠包含無限數量的文檔。這裏的集合同關係型數據庫中的表(table)相似,惟一的區別就是它並無任何明確的schema.github


    MongoDB以一系列鍵值對集合的方式存儲數據,其中鍵(Key)是字符串,值(Value)是任何一種數據類型的集合,包括數組和文檔。mongodb


    主頁: http://www.mongodb.org/數據庫


    文檔: http://www.mongodb.org/display/DOCS/Quickstartapache


    下載: http://www.mongodb.org/downloads後端


    CouchDB
api


    CouchDB是一個文檔型數據庫服務器,能夠經過JSON格式的REST接口進行訪問,使用JavaScript做爲查詢語言。一個CouchDB文檔就是一個對象,由不一樣字段組成。字段值能夠是字符串、數字、日期,甚至能夠是有序列表和關聯映射。數組


    主頁: http://couchdb.apache.org/安全


    文檔: http://couchdb.apache.org/docs/intro.html


    下載: http://couchdb.apache.org/downloads.html


    Terrastore


    Terrastore的特色是提供高級的擴展和彈性特徵,而無需犧牲一致性。它是一個基於Terracotta實現的高性能分佈式文檔數據庫,後者是業界公認的快速分佈式集羣技術。


    主頁: http://code.google.com/p/terrastore/

    文檔: http://code.google.com/p/terrastore/wiki/Documentation

    下載: http://code.google.com/p/terrastore/downloads/list


    RavenDB


    Raven是一個。NET文檔型數據庫,它的特色是提供了高性能、schema-less、靈活可擴展的面向。NET和Windows平臺的NoSQL數據存儲平臺。RavenDB在其內部能夠存儲任何JSON文檔,他是一個無模式的數據庫,你可使用C#的Linq語法定義索引。


    主頁: http://ravendb.net/

    文檔: http://ravendb.net/tutorials

    下載: http://ravendb.net/download


OrientDB


    OrientDB是用Java編寫的開源NoSQL數據庫管理系統,雖然是文檔型數據庫,可是它的關係管理方式卻和圖形數據庫相相似。它支持schema-less、schema-full和schema-mixed多種模式。OrientDB擁有健壯的基於用戶角色的安全分析系統,並支持SQL查詢。


    主頁: http://www.orientechnologies.com/


    文檔: http://code.google.com/p/orient/wiki/Tutorials


    下載: http://code.google.com/p/orient/wiki/Download


    ThruDB


    Thrudb是一套創建在Apache Thrift framework下的簡單服務,提供索引和文件存儲服務的網站建設和推廣。其目的是提供Web開發靈活,快速和易於使用的服務,能夠增強或取代傳統的數據存儲和訪問層。


    Thrudb支持多個數據存儲後端,包括BerkeleyDB、Disk、MySQL,還擁有Memcache和Spread集成。


    主頁: http://code.google.com/p/thrudb/


    文檔: http://thrudb.googlecode.com/svn/trunk/doc/Thrudb.pdf


    下載: http://code.google.com/p/thrudb/source/checkout


    SisoDB


    SisoDb是一個用C#編寫的,專門提供給SQL Server面向文檔的db-provider.它能夠存儲POCO的對象圖形,而無需設置任何映射。每一個實體都別視爲一個聚合根,可以快速生成單獨的表。


    主頁: http://www.sisodb.com


    文檔: http://www.sisodb.com/Wiki


    下載: https://github.com/danielwertheim/SisoDb-Provider/


    RaptorDB


    RaptorDB是一個很是小型的快速嵌入式NoSQL數據庫,它使用b+tree或者MurMur哈希索引。最初的設計是用來存儲JSON數據,可是目前能夠存儲任何類型的數據。


    主頁: http://www.codeproject.com/KB/database/RaptorDB.aspx


    文檔: http://www.codeproject.com/KB/database/RaptorDB.aspx


    下載: http://www.codeproject.com/KB/database/RaptorDB.aspx


    CloudKit


    CloudKit提供了模式無關、自動版本化的REST JSON存儲,支持OpenID和OAuth,包括OAuth Discovery.


    主頁: http://getcloudkit.com/


    文檔: http://getcloudkit.com/api/


    下載: https://github.com/jcrosby/cloudkit


    Perservere


    Persevere是一個開源的工具集,用來應對持久性和分佈式計算,它使用了一個標準化的JSON接口。Persevere項目的核心就是Persevere Server,它包含了一個Persevere JavaScript客戶端,可是基於標準的接口能夠用於任何框架或者客戶端。


    主頁: http://code.google.com/p/persevere-framework/


    文檔: http://code.google.com/p/persevere-framework/w/list


    下載: http://code.google.com/p/persevere-framework/downloads/list


    Jackrabbit


    Apache Jackrabbit是一個JSR-170的開放源碼實現,支持結構化與非結構化內容、全文搜索、版本控制、交易以及觀測等。


    主頁: http://jackrabbit.apache.or


    文檔: http://jackrabbit.apache.org/getting-started-with-apache-jackrabbit.html


    下載: http://jackrabbit.apache.org/downloads.html


    結論


    文檔數據庫存儲並檢索文檔數據,用戶在選用的時候須要參照自身的需求而定。你須要考慮數據訪問的模式和用例,以便建立一個高效實用的文檔模型。當你的域模型可以分割並分配到多個文檔的時候,文檔型數據庫將是一個不錯的選擇。好比一個博客軟件、一個CMS或者一個維基百科類軟件,使用文檔型數據庫是最佳的方法。而當數據庫中有太多的關係和標準化約束的狀況下,則傳統的關係型數據庫更爲合適。

相關文章
相關標籤/搜索