隨著互聯網、電子商務和物聯網的興起,當今企業(yè)中,80%的數據是非結構化數據,且這一數據正在呈指數倍增長。 據分析機構預測,到2020年,全球數據使用量預計將暴增44倍,達到35.2ZB(1ZB=10億TB)。
關系型數據庫的發(fā)展受到架構、硬件環(huán)境的影響,并發(fā)讀寫慢、擴展困難、成本高成為傳統關系型數據庫通向大數據的道路上難以逾越的鴻溝。
相比傳統關系型數據庫,NoSQL讓數據庫具備了非關系、可水平擴展、可分布和開源等特點,能夠為非結構化數據提供支持。
現階段,NoSQL大多應用于互聯網行業(yè)。目前國外的互聯網公司如Google、Yahoo、Facebook、Twitter、Amazon都在大量使用NoSQL數據庫。國內知名的互聯網公司如新浪微博、淘寶網、優(yōu)酷視頻、中國移動飛信等都在使用NoSQL數據庫,這其中不乏自行研發(fā)的產品,如淘寶網的OceanBase和Tair、豆瓣網的BeansDB等。
MemcacheDB是一個分布式、key-value形式的持久存儲系統。它是一個基于對象存取的、可靠的、快速的持久存儲引擎,它的前端緩存是Memcached,并采用Berkeley DB作為持久存儲組件。
Apache Cassandra是一套開源分布式Key-Value存儲系統。它最初由Facebook開發(fā),用于儲存特別大的數據。Facebook目前在使用此系統。 主要特性:分布式;基于column的結構化;高伸展性。
Membase 是 NoSQL 家族的一個新的重量級的成員。Membase容易安裝、操作,可以從單節(jié)點方便的擴展到集群。 通過兼容多種編程語言和框架,Membase具備了很好的復用性。在安裝和配置方面,Membase提供了有效的圖形化界面和編程接口,包括可配置的告警信息。
Redis 是一個高性能的key-value數據庫。 redis的出現,很大程度補償了memcached這類keyvalue存儲的不足,在部 分場合可以對關系數據庫起到很好的補充作用。它提供了Python,Ruby,Erlang,PHP客戶端,使用很方便。
Apache CouchDB是一個面向文檔的數據庫管理系統。它提供以 JSON 作為數據格式的 REST 接口來對其進行操作,并可以通過視圖來操縱文檔的組織和呈現。CouchDB 是 Apache 基金會的頂級開源項目。CouchDB落實到最底層的數據結構就是兩類B+Tree 。