- 大數據分析:R基礎及應用
- 深圳國泰安教育技術股份有限公司
- 1336字
- 2021-03-19 19:26:17
2.2 分布式數據庫
大數據包括結構化數據、半結構化數據及非結構化數據,大數據的存儲與普通數據存儲的差別主要表現在數量級別和能否存儲索引非結構化數據上。對于聲音、圖片、視頻等非結構化數據,傳統的關系型數據庫無法滿足存儲需求,因此非關系型數據庫變得尤為重要。大數據處理系統將通過NoSQL來存儲這些非結構化數據并對這些數據進行相關的檢索。
NoSQL數據庫指的是非關系型的數據庫。NoSQL數據庫主要面向Web應用,支持分布式存儲,能夠滿足對數據庫高并發讀寫需求、海量數據的高效存儲需求、數據庫高擴展性和高可用性的需求等。NoSQL數據庫可以分為以下三類:面向高性能讀寫的數據庫、面向文檔的數據庫及面向分布式計算的數據庫(比如Cassandra數據庫)。NoSQL具有自由靈活的數據模型,典型的NoSQL數據庫是以鍵值(Key-Values)的形式存儲數據的。
NoSQL滿足CAP理論、BASE原則。CAP指的是對于以下三個特性:一致性、可用性及分區容錯性,分布式系統不能同時滿足,最多只能滿足三個特性中的兩個。BASE指的是Basically Available、Soft state、Eventually consistent。Basically Available(基本可用)指的是對于系統短時間內的不可用是可容忍的;Soft state(柔性狀態)指的是系統有異步的情況存在,即在某個時期可以不同步;Eventually consistent(最終一致性)指的是只要最終的數據滿足一致性即可,不要求時刻滿足一致性。NoSQL數據庫的設計一般針對具體的應用,遵循以上兩個原則,比較注重數據的讀寫效率、數據的容量和系統的可擴展性等。
目前普遍使用的關系型數據庫采用的是關系型數據模型,對數據存儲增加及一些需要滿足的數據范式,有時需要強行修改對象數據,以滿足關系型數據庫管理系統的需要,而NoSQL數據庫完全改變了傳統的觀念,通過改變某些數據范式的嚴格要求,獲得靈活的擴展性、靈活的數據模型、能夠有效處理大數據、降低管理和維護成本等眾多優點。表2.1對NoSQL數據庫與關系型數據庫的原理、規模、模式等進行了一個對比分析。
表2.1 NoSQL和關系型數據庫的簡單比較

隨著互聯網Web 2.0網站的興起,傳統的關系數據庫在應付Web 2.0網站,特別是超大規模和高并發的SNS類型的Web 2.0純動態網站已經顯得力不從心,暴露了很多難以克服的問題,非關系型的數據庫則由于其本身的特點得到了非常迅速的發展。
在信息技術融合應用的新時代,大數據就是像黃金一樣的新型經濟資產、像石油一樣的重要戰略資源。為滿足大數據對處理和存儲能力的無限需求,現今的計算機體系結構在數據存儲方面要求具備龐大的水平擴展性(Horizontal Scalability,即要求滿足能夠連接多個軟硬件的特性,這樣可以將多個服務器從邏輯上看成一個實體),而NoSQL致力于改變這一現狀。目前Google的BigTable和Amazon的Dynamo使用的就是NoSQL數據庫。NoSQL數據庫根據數據的存儲模型和特點分為很多種類,如列存儲、文檔存儲、Key-Value存儲、圖存儲、對象存儲、xml存儲等數據庫。表2.2給出了幾種典型的NoSQL數據庫及其性能優缺點。
表2.2 典型的NoSQL數據庫分類

在過去的10年里,正如交易率發生了翻天覆地的增長一樣,需要存儲的數據量也發生了急劇的膨脹,這種現象被稱為“數據的工業革命”。為了滿足數據量增長的需要,RDBMS(關系型數據庫管理系統)的容量也在日益增加,但是對于一些企業來說,隨著交易率的增加,單一數據庫需要管理的數據約束的數量也變得越來越讓人無法忍受了。現在,大量的“大數據”可以通過NoSQL系統來處理,它們能夠處理的數據量遠遠超出了最大型的RDBMS所能處理的極限,很好地彌補了關系數據在某些方面的不足。
- MySQL高可用解決方案:從主從復制到InnoDB Cluster架構
- Hands-On Data Structures and Algorithms with Rust
- 從零開始學Hadoop大數據分析(視頻教學版)
- Java Data Science Cookbook
- Developing Mobile Games with Moai SDK
- 大數據Hadoop 3.X分布式處理實戰
- 中國數字流域
- Hands-On Mathematics for Deep Learning
- 基于OPAC日志的高校圖書館用戶信息需求與檢索行為研究
- Proxmox VE超融合集群實踐真傳
- 探索新型智庫發展之路:藍迪國際智庫報告·2015(上冊)
- 數字IC設計入門(微課視頻版)
- Oracle數據庫管理、開發與實踐
- 數據分析思維:產品經理的成長筆記
- 數據中臺實戰:手把手教你搭建數據中臺