2013最常用的NoSQL數據庫

在幾年內,NoSQL數據庫一直以性能、可擴展性、靈活的模式和分析能力聚焦着人們的注意力。儘管關係型數據庫對於某些用例來說仍是一個不錯的選擇,就像結構數據和要求ACID事務的應用,但是NoSQL在以下用例中將更具優勢:

  1. 存儲的數據實質上是半結構化或者鬆散的。
  2. 要求一定的等級的性能和擴展性。
  3. 存取該數據的應用與最終的一致性相吻合。

非關係型數據庫典型支持以下功能:

  • 靈活的模式
  • 無共享架構
  • 分片作爲數據存儲模型的一部分
  • 異步複製
  • 使用BASE替代ACID事務

InfoQ英文網對當下經常使用的NoSQL數據庫進行了盤點:

文檔數據庫

  • MongoDB:開源、面向文檔,也是當下最人氣的NoSQL數據庫。
  • CounchDB:Apache CounchDB是一個使用JSON的文檔數據庫,使用Javascript做MapReduce查詢,以及一個使用HTTP的API。
  • Couchbase:NoSQL文檔數據庫基於JSON模型。
  • RavenDB:RavenDB是一個基於.net語言的面向文檔數據庫。
  • MarkLogic:MarkLogic NoSQL數據庫用來存儲基於XML和以文檔爲中心的信息,支持靈活的模式。

圖數據庫

  • Neo4j: Neo4j是一個圖數據庫;支持ACID事務(原子性、獨立性、持久性和一致性)
  • InfiniteGraph:一個圖數據庫用來維持和遍歷對象間的關係,支持分佈式數據存儲。
  • AllegroGraph:AllegroGraph是結合使用了內存和磁盤,提供了高可擴展性,支持SPARQ、RDFS++和Prolog推理。
  • 其他圖數據庫。

鍵值數據存儲

  • Riak:Riak是一個開源,分佈式鍵值數據庫,支持數據複製和容錯。
  • Redis:Redis是一個開源的鍵值存儲。支持主從式複製、事務,Pub/Sub、Lua腳本,還支持給Key添加時限。
  • Dynamo:Dynamo是一個鍵值分佈式數據存儲。它直接由亞馬遜Dynamo數據庫實現;在亞馬遜S3產品中使用。
  • Oracle NoSQL Database:來自Oracle的鍵值NoSQL數據庫。它支持事務ACID(原子性、一致性、持久性和獨立性)和JSON。
  • Oracle NoSQL Database:具備數據備份和分佈式鍵值存儲系統。
  • Voldemort:具備數據備份和分佈式鍵值存儲系統。
  • Aerospike:Aerospike數據庫是一個鍵值存儲,支持混合內存架構,通過強一致性和可調一致性保證數據的完整性。

列存儲數據庫 

  • Cassandra:Cassandra是列存儲數據庫,支持跨數據中心的數據複製。它的數據模型提供列索引,log-structured修改,支持反規範化,實體化視圖和嵌入超高速緩存。
  • HBase:Apache Hbase源於Google的Bigtable,是一個開源、分佈式、面向列存儲的模型。在Hadoop和HDFS之上提供了像Bigtable一樣的功能。
  • Amazon SimpleDB:Amazon SimpleDB是一個非關係型數據存儲,它卸下數據庫管理的工作。開發者使用Web服務請求存儲和查詢數據項。
  • Apache Accumulo:Apache Accumulo的有序的、分佈式鍵值數據存儲,基於Google的BigTable設計,建立在Apache Hadoop、Zookeeper和Thrift技術之上。
  • Hypertable:Hypertable是一個開源、可擴展的數據庫,模仿Bigtable,支持分片。
  • Azure Tables:Windows Azure Table Storage Service爲要求大量非結構化數據存儲的應用提供NoSQL性能。表能夠自動擴展到TB級別,能通過REST和Managed API訪問。
  • 其它列存儲數據庫。

內存數據網格

  • Hazelcast:Hazelcast CE是一個開源數據分佈平臺,它允許開發者在數據庫集羣之上共享和分割數據。
  • Oracle Coherence:Oracle的內存數據網格解決方案提供了常用數據的快速訪問能力,一致性支持事務處理能力和數據的動態劃分。
  •  Terracotta BigMemory:來自Terracotta的分佈式內存管理解決方案。這項產品包括一個Ehcache界面、Terracotta管理控制檯和BigMemory-Hadoop連接器。
  • GemFire:Vmware vFabric GemFire是一個分佈式數據管理平臺,也是一個分佈式的數據網格平臺,支持內存數據管理、複製、劃分、數據識別路由和連續查詢。
  • Infinispan:Infinispan是一個基於Java的開源鍵值NoSQL數據存儲,和分佈式數據節點平臺,支持事務,peer-to-peer 及client/server 架構。
  • GridGain:分佈式、面向對象、基於內存、SQL+NoSQL鍵值數據庫。支持ACID事務。
  • GigaSpaces:GigaSpaces內存數據網格能夠充當應用的記錄系統,並支持各種各樣的高速緩存場景。

原文鏈接:NoSQL Database Adoption Trends(編譯/陳翔宇 審校/仲浩)

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