盤點11個面向文檔的開源NoSQL數據庫

MongoDB是一個介於關係數據庫和非關係數據庫之間的產品, 是非關係數據庫當中功能最豐富,最像關係數據庫的。他支持的數據結構很是鬆散,是相似json的bjson格式,所以能夠存儲比較複雜的數據類型。 Mongo最大的特色是他支持的查詢語言很是強大,其語法有點相似於面向對象的查詢語言,幾乎能夠實現相似關係數據庫單表查詢的絕大部分功能,並且還支持 對數據創建索引。html

  它的特色是高性能、易部署、易使用,存儲數據很是方便。主要功能特性有:mongodb

  1.面向集合存儲,易存儲對象類型的數據。數據庫

  2.模式自由。apache

  3.支持動態查詢。編程

  4.支持徹底索引,包含內部對象。json

  5.支持查詢。服務器

  6.支持複製和故障恢復。網絡

  7.使用高效的二進制數據存儲,包括大型對象(如視頻等)。數據結構

  8.自動處理碎片,以支持雲計算層次的擴展性。架構

  9.支持RUBY,PYTHON,JAVA,C++,PHP等多種語言。

  10.文件存儲格式爲BSON(一種JSON的擴展)。

  11.可經過網絡訪問。

        所謂「面向集合」(Collenction-Orented),意思是數據被分組存儲在數據集中,被稱爲一個集合(Collenction)。每一個 集合在數據庫中都有一個惟一的標識名,而且能夠包含無限數目的文檔。集合的概念相似關係型數據庫(RDBMS)裏的表(table),不一樣的是它不須要定 義任何模式(schema)。

  模式自由(schema-free),意味着對於存儲在mongodb數據庫中的文件,咱們不須要知道它的任何結構定義。若是須要的話,你徹底能夠把不一樣結構的文件存儲在同一個數據庫裏。

  存儲在集合中的文檔,被存儲爲鍵-值對的形式。鍵用於惟一標識一個文檔,爲字符串類型,而值則能夠是各中複雜的文件類型。咱們稱這種存儲形式爲BSON(Binary Serialized dOcument Format)。

  MongoDB服務端可運行在Linux、Windows或OS X平臺,支持32位和64位應用,默認端口爲27017。推薦運行在64位平臺,由於MongoDB

  在32位模式運行時支持的最大文件尺寸爲2GB。

  MongoDB把數據存儲在文件中(默認路徑爲:/data/db),爲提升效率使用內存映射文件進行管理。

  項目地址: http://www.mongodb.org/

  入門指南: http://www.mongodb.org/display/DOCS/Quickstart

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

  Apache CouchDB

        Apache CouchDB 是一個面向文檔的數據庫管理系統。它提供以 JSON 做爲數據格式的 REST 接口來對其進行操做,並能夠經過視圖來操縱文檔的組織和呈現。 CouchDB 是 Apache 基金會的頂級開源項目。

  CouchDB落實到最底層的數據結構就是兩類B+Tree 。

  簡介:11個面向文檔的開源NoSQL數據庫

  與如今流行的關係數據庫服務器不一樣,CouchDB 是圍繞一系列語義上自包含的文檔而組織的。 CouchDB 中的文檔是沒有模式的(schema free),也就是說並不要求文檔具備某種特定的結構。 CouchDB 的這種特性使得相對於傳統的關係數據庫而言,有本身的適用範圍。通常來講,圍繞文檔來構建的應用都比較適合使用 CouchDB 做爲其後臺存儲。 CouchDB 強調其中所存儲的文檔,在語義上是自包含的。這種面向文檔的設計思路,更貼近不少應用的問題域的真實狀況。對於這類應用,使用 CouchDB 的文檔來進行建模,會更加天然和簡單。與此同時,CouchDB 也提供基於 MapReduce 編程模型的視圖來對文檔進行查詢,能夠提供相似於關係數據庫中 SQL 語句的能力。 CouchDB 對於不少應用來講,提供了關係數據庫以外的更好的選擇。

  項目地址: http://couchdb.apache.org/

  入門指南: http://couchdb.apache.org/docs/intro.html

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

  Terrastore

        Terrastore是一個基於Terracotta(一 個業界公認的、快速的分佈式集羣組件)實現的高性能分佈式文檔數據庫。能夠動態從運行中的集羣添 加/刪除節點,並且不須要停機和修改任何配置。支持經過http協議訪問Terrastore。Terrastore提供了一個基於集合的鍵/值接口來管 理JSON文檔而且不須要預先定義JSON文檔的架構。易於操做,安裝一個完整可以運行的集羣只需幾行命令。

  項目地址: http://code.google.com/p/terrastore/

  入門指南: http://code.google.com/p/terrastore/wiki/Documentation

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

  RavenDB

        RavenDB 是個新的.NET,支持Linq的開源文檔數據庫,旨在Window平臺下提供一個高性,結構簡單,靈活,可擴展NoSQL存儲。Raven將JSON文檔存在數據庫中。可使用C#的Linq語法查詢數據。下面是一個簡單的例子

  簡介:11個面向文檔的開源NoSQL數據庫

        項目地址: http://ravendb.net/

  入門指南: http://ravendb.net/tutorials

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

相關文章
相關標籤/搜索