Web1.0的時代,數據訪問量很有限,用一夫當關的高性能的單點伺服器可以解決大部分問題。
隨著Web2.0的時代的到來,用戶訪問量大幅度提升,同時產生了大量的用戶數據。加上後來的智能移動設備的普及,所有的互聯網平台都面臨了巨大的性能挑戰。
NoSQL(NoSQL = Not Only SQL ),意即「不僅僅是SQL」,泛指非關系型的資料庫。
NoSQL 不依賴業務邏輯方式存儲,而以簡單的key-value模式存儲。因此大大的增加了資料庫的擴展能力。
HBase是Hadoop項目中的資料庫。它用於需要對大量的數據進行隨機、實時的讀寫操作的場景中。
HBase的目標就是處理數據量非常龐大的表,可以用普通的計算機處理超過10億行數據,還可處理有數百萬列元素的數據表。
Apache Cassandra是一款免費的開源NoSQL資料庫,其設計目的在於管理由大量商用伺服器構建起來的龐大集群上的海量數據集(數據量通常達到PB級別)。在眾多顯著特性當中,Cassandra最為卓越的長處是對寫入及讀取操作進行規模調整,而且其不強調主集群的設計思路能夠以相對直觀的方式簡化各集群的創建與擴展流程。
主要應用:社會關系,公共交通網路,地圖及網路拓譜(n*(n-1)/2)
http://db-engines.com/en/ranking
⑵ 簡述關系型資料庫和NOSQL資料庫分別適用場景
關系型資料庫(Relational Database Management System,RDBMS)猛輪是一種使用關系模型來組織數據的資料庫管理系統。它是傳統的、最常用的資料庫類型,廣泛應用於各種領域,如企業應用、政府機構、教育機構等。
關系型資料庫適用於存儲爛迅結構化數據和執行復雜的查詢操作的場景。它們提供了強大的查詢功能,能夠快速檢索、匯總和分析數據。此外,關系型資料庫還支持事務處理、約束、索引等功能,能夠保證數據的完整性和一致性。
NOSQL(Not Only SQL)資料庫是一種非關系型資料庫,它旨在為大規模數據存儲和處理提供更高的性能和更靈活的數據模型。NOSQL資料庫主要分為四類:鍵值存儲資料庫、文檔型資料庫、列存儲資料庫和圖型資料庫。
NOSQL資料庫適用於存儲非結構化或半結構化數據的場景。它們支持快速寫入和自動擴展,適用於海量數據的存儲和處理。此外,NOSQL資料庫還提供了靈活的數據模擬和查詢功能,能夠適應各種不同的飢知此數據類型和查詢需求。但是,NOSQL資料庫往往不支持事務處理和約束,因此在數據一致性和完整性方面可能不如關系型資料庫。
總的來說,關系型資料庫更適合存儲結構化數據,執行復雜的查詢和事務處理,保證數據一致性和完整性的場景。而NOSQL資料庫更適合存儲非結構化或半結構化數據,執行大規模數據存儲和處理的場景。
⑶ nosql資料庫的四種類型
一般將NoSQL資料庫分為四大類:鍵值(Key-Value)存儲資料庫、列存儲資料庫、文檔型資料庫和圖形(Graph)資料庫。它們的數據模型、優缺點、典型應用場景。
鍵值(Key-Value)存儲資料庫Key指向Value的鍵值對,通常用hash表來實現查找速度快數據無結構化(通常只被當作字元串或者二進制數據)內容緩存,主要用於處理大量數據的高訪問負載,也用於一些日誌系統等。
列存儲資料庫,以列簇式存儲,將同一列數據存在一起查找速度快,可擴展性強,更容易進行分布式擴展功能相對局限分布式的文件系統。
文檔型資料庫,Key-Value對應的鍵值對,Value為結構化數據,數據結構要求不嚴格,表結構可變(不需要像關系型資料庫一樣需預先定義表結構),查詢性能不高,而且缺乏統一的查詢語法,Web應用。
圖形(Graph)資料庫,圖結構,利用圖結構相關演算法(如最短路徑定址,N度關系查找等),很多時候需要對整個圖做計算才能得出需要的信息,而且這種結構不太好做分布式的集群方案,社交網路,推薦系統等。