大數據時代的九大Key-Value存儲數據庫
在過去的十年中,計算世界已經改變。現在不僅在大公司,甚至一些小公司也積累了TB量級的數據。各種規模的組織開始有了處理大數據的需求,而目前關系型數據庫在可縮放方面幾乎已經達到極限。
一個解決方案是使用鍵值(Key-Value)存儲數據庫,這是一種NoSQL(非關系型數據庫)模型,其數據按照鍵值對的形式進行組織、索引和存儲。 KV存儲非常適合不涉及過多數據關系業務關系的業務數據,同時能有效減少讀寫磁盤的次數,比SQL數據庫存儲擁有更好的讀寫性能。
本文就為你介紹9種用于大數據處理的免費鍵值存儲數據庫。
1. Aerospike 社區版

Aerospike是一個以分布式為核心基礎,可基于行隨機存取內存中索引、數據或SSD存儲中數據的數據庫。
Aerospike主要用于廣告業務,作為一個服務器端的cookie存儲來使用,在這種場景下讀取和寫入性能是至關重要的。
官網: http://www.aerospike.com/press-releases/aerospike-launches-free-community-edition/
2. LevelDB

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

Scalaris 是一個采用Erlang開發的分布式 key-value 存儲系統,提供的 API 包括:Java、Python、Ruby和JSON。
官網: http://scalaris.googlecode.com/
4. Project Voldemort

Voldemort是一個分布式鍵值存儲系統,是Amazon's Dynamo的一個開源克隆。特性如下:
- 支持自動復制數據到多個服務器上。
- 支持數據自動分割所以每個服務器只包含總數據的一個子集。
- 提供服務器故障透明處理功能。
- 支持可撥插的序化支持,以實現復雜的鍵-值存儲,它能夠很好的5.集成常用的序化框架如:Protocol Buffers、Thrift、Avro和Java Serialization。
- 數據項都被標識版本能夠在發生故障時盡量保持數據的完整性而不會影響系統的可用性。
- 每個節點相互獨立,互不影響。
- 支持可插拔的數據放置策略 </ul> 官網: http://project-voldemort.com/
- 分布式KV存儲,系統性能能夠隨節點數目線性擴展
- 吞吐和延時都能秒殺現在風頭正勁的MonogDB,吞吐甚至強于Redis
- 使用了hyperspace hashing技術,使得對存儲的K-V的任意屬性進行查詢成為可能 </ul> 官網: http://hyperdex.org/
5. HyperDex

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

Berkeley DB是一個開源的文件數據庫,介于關系數據庫與內存數據庫之間,使用方式與內存數據庫類似,它提供的是一系列直接訪問數據庫的函數,而不是像關系數據庫那樣需要網絡通訊、SQL解析等步驟。
官網: http://www.oracle.com/technetwork/products/berkeleydb/overview/index.html
7. Apache Accumulo

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

Redis是一個高性能的key-value存儲系統,和Memcached類似,它支持存儲的value類型相對更多,包括string(字符串)、 list(鏈表)、set(集合)和zset(有序集合)。與memcached一樣,為了保證效率,數據都是緩存在內存中,區別的是Redis會周期性 的把更新的數據寫入磁盤或者把修改操作寫入追加的記錄文件,并且在此基礎上實現了主從同步。
Redis的出現,很大程度補償了memcached這類key/value存儲的不足,在部分場合可以對關系數據庫起到很好的補充作用。它提供了Python、Ruby、Erlang、PHP客戶端,使用很方便。
官網: http://redis.io/
9. Apache Cassandra

Apache Cassandra是一個混合型的非關系數據庫,它最初由非死book開發,用于儲存特別大的數據。
Cassandra的主要特點就是它不是一個數據庫,而是由一堆數據庫節點共同構成的一個分布式網絡服務,對Cassandra 的一個寫操作,會被復制到其它節點上去,對Cassandra的讀操作,也會被路由到某個節點上面去讀取。對于一個Cassandra群集來說,擴展性能 是比較簡單的事情,只管在群集里面添加節點就可以了。
官網: http://cassandra.apache.org/
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!