一網打盡2013最常用的NoSQL資料庫

csdn發表於2013-12-30

  在幾年內,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:一個圖資料庫用來維持和遍歷物件間的關係,支援分散式資料儲存。
  • AllegroGraphAllegroGraph是結合使用了記憶體和磁碟,提供了高可擴充套件性,支援SPARQRDFS++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

相關文章