大數據時代的 9 大Key-Value存儲數據庫

jopen 11年前發布 | 26K 次閱讀 NOSQL

        在過去的十年中,計算世界已經改變。現在不僅在大公司,甚至一些小公司也積累了 TB 量級的數據。各種規模的組織開始有了處理大數據的需求,而目前關系型數據庫在可縮放方面幾乎已經達到極限。 

        一個解決方案是使用鍵值(Key-Value)存儲數據庫,這是一種 NoSQL(非關系型數據庫)模型,其數據按照鍵值對的形式進行組織、索引和存儲。KV 存儲非常適合不涉及過多數據關系業務關系的業務數據,同時能有效減少讀寫磁盤的次數,比 SQL 數據庫存儲擁有更好的讀寫性能。 

        本文就為你介紹 9 種用于大數據處理的免費鍵值存儲數據庫。 

        1.   Aerospike 社區版 

大數據時代的 9 大Key-Value存儲數據庫

        Aerospike 是一個以分布式為核心基礎,可基于行隨機存取內存中索引、數據或 SSD 存儲中數據的數據庫。 

        Aerospike 主要用于廣告業務,作為一個服務器端的 cookie 存儲來使用,在這種場景下讀取和寫入性能是至關重要的。 

        官網:http://www.aerospike.com/press-releases/aerospike-launches-free-community-edition/ 

        相關資料:DocumentationFAQBlogForums 

        2.   LevelDB 

大數據時代的 9 大Key-Value存儲數據庫

        Leveldb 是 Google 開發的一個非常高效的 kv 數據庫,支持 billion 級別的數據量,在這個數量級別下還有著非常高的性能,主要歸功于它的良好的設計,特別是 LSM 算法。Leveldb 已經作為存儲引擎被 Riak 和 Kyoto Tycoon 所支持,在國內淘寶的 Tair 開源 key-value 存儲也已經將 LevelDB 作為其持久化存儲引擎,并部署在線上使用。 

        官網:http://code.google.com/p/leveldb/ 

        相關資料:BenchmarksMailing List推ter 

        3.   Scalaris 

大數據時代的 9 大Key-Value存儲數據庫

        Scalaris 是一個采用 Erlang 開發的分布式 key-value 存儲系統,提供的 API 包括:Java、Python、Ruby 和 JSON。 

        官網:http://scalaris.googlecode.com/ 

        相關資料:Users and Developers GuideFAQMailing List 

        4.   Project Voldemort 

大數據時代的 9 大Key-Value存儲數據庫

        Voldemort 是一個分布式鍵值存儲系統,是 Amazon's Dynamo 的一個開源克隆。特性如下: 

  • 支持自動復制數據到多個服務器上。
  • 支持數據自動分割所以每個服務器只包含總數據的一個子集。
  • 提供服務器故障透明處理功能。
  • 支持可撥插的序化支持,以實現復雜的鍵-值存儲,它能夠很好的 5. 集成常用的序化框架如:Protocol Buffers、Thrift、Avro 和 Java Serialization。
  • 數據項都被標識版本能夠在發生故障時盡量保持數據的完整性而不會影響系統的可用性。
  • 每個節點相互獨立,互不影響。
  • 支持可插拔的數據放置策略

官網:http://project-voldemort.com/ 

        相關資料:WikiMailing ListGithubProject Voldemort: Scaling Simple StorageServing Large-scale Batch Computed Data with Project Voldemort 

        5.   HyperDex 

大數據時代的 9 大Key-Value存儲數據庫

        HyperDex 是一個分布式、可搜索的鍵值存儲系統,特性如下: 

  • 分布式 KV 存儲,系統性能能夠隨節點數目線性擴展
  • 吞吐和延時都能秒殺現在風頭正勁的 MonogDB,吞吐甚至強于 Redis
  • 使用了 hyperspace hashing 技術,使得對存儲的K-V 的任意屬性進行查詢成為可能

官網:http://hyperdex.org/ 

        相關資料:DocumentationBlogGitHubFAQAnnouncement Mailing ListDiscussion Mailing List 

        6.   Berkeley DB 

大數據時代的 9 大Key-Value存儲數據庫

        Berkeley DB 是一個開源的文件數據庫,介于關系數據庫與內存數據庫之間,使用方式與內存數據庫類似,它提供的是一系列直接訪問數據庫的函數,而不是像關系數據庫那樣需要網絡通訊、SQL 解析等步驟。 

        官網:http://www.oracle.com/technetwork/products/berkeleydb/overview/index.html 

        相關資料:WikiForumsLaunchpad 

        7.   Apache Accumulo 

大數據時代的 9 大Key-Value存儲數據庫

        Apache Accumulo 是一個可靠的、可伸縮的、高性能的排序分布式的 Key-Value 存儲解決方案,基于單元訪問控制以及可定制的服務器端處理。Accumulo 使用 Google BigTable 設計思路,基于 Apache Hadoop、Zookeeper 和 Thrift 構建。 

        官網:http://accumulo.apache.org/ 

        相關資料:ManualMailing ListsApache Accumulo Users Group 

        8.   Redis 

大數據時代的 9 大Key-Value存儲數據庫

        Redis 是一個高性能的 key-value 存儲系統,和 Memcached 類似,它支持存儲的 value 類型相對更多,包括 string(字符串)、list(鏈表)、set(集合)和 zset(有序集合)。與 memcached 一樣,為了保證效率,數據都是緩存在內存中,區別的是 Redis 會周期性的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎上實現了主從同步。 

        Redis 的出現,很大程度補償了 memcached 這類 key/value 存儲的不足,在部分場合可以對關系數據庫起到很好的補充作用。它提供了 Python、Ruby、Erlang、PHP 客戶端,使用很方便。 

        官網:http://redis.io/ 

        相關資料:DocumentationTutorialsFAQMailing List推ter 

        9.   Apache Cassandra 

大數據時代的 9 大Key-Value存儲數據庫

        Apache Cassandra 是一個混合型的非關系數據庫,它最初由 非死book 開發,用于儲存特別大的數據。 

        Cassandra 的主要特點就是它不是一個數據庫,而是由一堆數據庫節點共同構成的一個分布式網絡服務,對 Cassandra 的一個寫操作,會被復制到其它節點上去,對 Cassandra 的讀操作,也會被路由到某個節點上面去讀取。對于一個 Cassandra 群集來說,擴展性能是比較簡單的事情,只管在群集里面添加節點就可以了。 

        官網:http://cassandra.apache.org/ 

        相關資料:WikiGetting Started 

        Via linuxlinks

來自: www.iteye.com
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!