一、目前哪些NoSQL數據庫的特點
1. In-Memory KV Store : Redis
in memory key-value store,同時提供了更加豐富的數據結構和運算的能力,成功用法是替代memcached,通過checkpoint和commit log提供了快速的宕機恢復,同時支持replication提供讀可擴展和高可用。
2. Disk-Based KV Store: Leveldb
真正基于磁盤的key-value storage, 模型單一簡單,數據量不受限于內存大小,數據落盤高可靠,Google的幾位大神出品的精品,LSM模型天然寫優化,順序寫盤的方式對于新硬件ssd再適合不過了,不足是僅提供了一個庫,需要自己封裝server端。
3. Document Store: Mongodb
分布式nosql,具備了區別mysql的最大亮點:可擴展性。mongodb 最新引人的莫過于提供了sql接口,是目前nosql里最像mysql的,只是沒有ACID的特性,發展很快,支持了索引等特性,上手容易,對于數據量遠超內存限制的場景來說,還需要慎重。
4. Column Table Store: HBase
這個富二代似乎不用贅述了,最大的優勢是開源,對于普通的scan和基于行的get等基本查詢,性能完全不是問題,只是只提供裸的api,易用性上是短板,可擴展性方面是較早的,其次坐上了Hadoop的快車,社區發展很快,各種基于其上的開源產品不少,來解決諸如join、聚集運算等復雜查詢。
延伸閱讀:
二、comdb/comdbfast數據庫
Comdb是一個獨立的持久數據存儲模塊,它的初衷是設計一個具有快速查詢能力的簡單關系存儲模型,它將數據以KEY<->DATA的形式存儲在系統中,并提供由KEY到DATA的單向快速查詢。
comdb對外實現的功能
按單個key值實現data的獲取/添加/刪除/修改按多個key值實現data的批量的獲取/添加/刪除/修改與其他模塊支持長短連接采用非對等線程模式進行數據的更新和查詢對于線性增長的key值,支持多機擴展功能(comdbtrans)支持對數據的除重處理(comdb-elim)comdb作為一個通用的存儲模塊,為滿足不同種需求的需要,在設計上做了多種優化和升級,以下版本已經完成設計,在以后的一段日子里,會陸續發布:
支持64位key字段的comdb:采用hash_map實現的comdb,支持64位的key值查詢.單個comdb支持億級數據需要2G內存左右,缺點是暫時沒有找到有效的數據組織方式,進行線性的擴容.支持一次讀寫的comdb:在大數據量隨機讀寫的應用中,一次讀取與兩次讀取有較大的差異,此版本中,comdb對數據進行一次讀取(普通comdb采用2次讀取的方式)支持壓縮的功能選項:在文本數據的存儲中,壓縮處理是個不錯的選擇,降低存儲成本的前提下,性能依然有50%的提高(要是所有數據都能壓縮就爽了:))支持DIRECT_IO讀數據選項:在大數據量隨機讀取的應用中,采用DIRECT_IO進行數據讀取,可以有效的提高讀取效率。采用此選項建議前端采用cache機制。