【大資料】BigTable分散式資料儲存系統分散式資料庫 | 複習筆記
前世今生
- 資料庫(Database,簡稱DB)
定義:有組織、可共享
特徵:- 資料按一定的資料模型組織、描述和儲存
- 可為各種使用者共享
- 冗餘度小
- 獨立性高
- 易擴充套件
- 資料庫管理系統DBMS(DataBase Management System)
位於使用者和作業系統之間
幫助使用者有效地組織和儲存資料、高效獲取有用資訊的一層計算機系統軟體 - 檔案系統階段
- 資料長期儲存
- 檔案管理資料
- 共享性差
- 獨立性差
- 資料庫系統階段
- 資料結構化
- 資料的共享性高,冗餘度低,易擴充
- 資料獨立性高
- 資料由DBMS統一管理和控制
- 偷老師的對比圖
資料模型
- 概念模型
- 邏輯模型和物理模型
邏輯模型主要包括網狀模型、層次模型、關係模型、物件導向模型等
物理模型是對資料最底層的抽象,描述資料在系統內部的表示方式和存取方法,在磁碟或磁帶上的儲存方式和存取方法
- 關係模型
在使用者觀點下,關係模型中資料的邏輯結構是一張二維表,它由行和列組成。 - 關係型資料庫
標準資料查詢語言SQL(結構化查詢語言) - 基本概念:
- 結構化資料
- 非結構化資料
- 半結構化資料
- NoSQL資料庫:Not Only SQL
- 不需要預定義模式
- 保證BASE特性
- 關聯式資料庫設計準則:ACID
- 原子性(Atomicity)
- 一致性(Consistency)
- 事務獨立(Isolation)
- 永續性(Durability)
- NoSQL資料庫設計準則:BASE
- 基本可用(Basically Available)
- 軟狀態或者柔性狀態(Soft State)
- 最終一致性(Eventual Consistency)
- BASE vs ACID
- ACID更強調資料一致性,這是傳統資料庫設計的思路
- BASE更強調可用性,弱化資料強一致性的概念,這是網際網路時代對於大規模分散式資料系統的一種需求
BigTable
資料模型
行主鍵、列主鍵、時間,三維主鍵
整體架構
-
主控伺服器(Master Server)
負責管理工作- Servers目錄:子表伺服器的地址資訊
- root目錄:讀取後設資料表MetaData Table
- 啟動流程:
-
子表伺服器(Tablet Server)
- 來儲存和管理子表資料
- 更新子表資料:首先將更新命令記入CommitLog檔案中,之後將更新資料寫入記憶體的MemTable結構中。當MemTable裡容納的資料超過設定大小時,將內容輸出到GFS檔案系統中,形成一個新的SSTable檔案
- SSTable:資料儲存區和索引區
- 讀取子表資料:在MemTable和SSTable中儲存的資料都是按照“ 行主鍵”的字母順序排序的。除了塊索引外,還加入布隆過濾器
- SSTable合併:微合併(Minor Compaction )、部分合並(Merging Compaction)以及主合併(Major Compaction)
- 子表恢復:子表伺服器重新啟動後,會從後設資料子表中讀取管理資訊,包括子表伺服器負責管理的子表對應哪些SSTable檔案、以及CommitLog對應的恢復點。將恢復點位置之後的所有更新行為到MemTable中,重建MemTable。
-
客戶端程式(Client)
HBase
- Client:Client端使用Hbase的RPC機制與HMaster和HRegionServer進行通訊
- ZooKeeper:儲存了ROOT表的地址、HMaster的地址和HRegionServer地址
- HMaster:Hbase主節點,將Region分配給HRegionServer,協調HRegionServer的負載並維護叢集狀態
- HRegionServer:HRegionServer主要負責響應使用者I/O請求,向HDFS檔案系統中讀寫資料
相關文章
- 分散式系統技術:儲存之資料庫分散式資料庫
- 分散式系統中資料儲存方案實踐分散式
- 分散式資料恢復-hbase+hive分散式儲存資料恢復方案分散式資料恢復Hive
- 分散式檔案系統HDFS,大資料儲存實戰(一)分散式大資料
- 分散式系統中的資料儲存方案實踐分散式
- 分散式資料庫分散式資料庫
- 分散式資料庫系統(DDBS) 概述分散式資料庫
- 分散式文件儲存資料庫之MongoDB副本集分散式資料庫MongoDB
- 分散式文件儲存資料庫之MongoDB索引管理分散式資料庫MongoDB索引
- 星環科技多模型資料統一儲存的大資料分散式儲存平臺方案分享模型大資料分散式
- 大資料 | 分散式檔案系統 HDFS大資料分散式
- 分散式文件儲存資料庫之MongoDB訪問控制分散式資料庫MongoDB
- 分散式文件儲存資料庫之MongoDB分片叢集分散式資料庫MongoDB
- 大資料分散式儲存的部署模式:分離式or超融合大資料分散式模式
- 分散式資料庫的複製原理 - Quastor分散式資料庫AST
- 分散式系統(Distributed System)資料分散式
- Vsan資料恢復—Vsan分散式儲存資料恢復案例資料恢復分散式
- DAOS 分散式非同步物件儲存|資料平面分散式非同步物件
- 分散式儲存中的資料分佈策略分散式
- 【系統設計】分散式鍵值資料庫分散式資料庫
- 崑崙分散式資料庫儲存叢集 Fullsync 機制分散式資料庫
- 分散式文件儲存資料庫之MongoDB基礎入門分散式資料庫MongoDB
- openGauss 分散式資料庫能力分散式資料庫
- 分析型資料庫:分散式分析型資料庫資料庫分散式
- 淺談分散式儲存系統的資料分佈演算法分散式演算法
- 分散式資料庫 ZNBase 的分散式計劃生成分散式資料庫
- (二) MdbCluster分散式記憶體資料庫——分散式架構1分散式記憶體資料庫架構
- 知識學習綜合三---分散式系統大資料分散式大資料
- 分散式資料庫索引能力大調研分散式資料庫索引
- 資料庫新兵:分散式實時分析記憶體資料庫eSight資料庫分散式記憶體
- 分散式文件儲存資料庫之MongoDB備份與恢復分散式資料庫MongoDB
- Bayou複製分散式儲存系統分散式
- Hadoop大資料分散式處理系統簡介Hadoop大資料分散式
- GlusterFS分散式儲存學習筆記分散式筆記
- 《分散式資料庫HBase案例教程》分散式資料庫
- 【融雲分析】從過剩儲存資源到分散式時序資料庫的長儲存分散式資料庫
- 分散式資料庫火了 開源填補資料庫空白分散式資料庫
- 分散式資料(4)分散式與版本化分散式