大資料體系之HBase的產生

2021-08-17 17:19:08 字數 990 閱讀 5966

一、關係型資料庫的缺陷

1)很難進行分布式部署,i/o瓶頸顯著,依賴於強大的伺服器。

2)難以處理非結構化資料

二、cap定律(推動關係型資料庫向非關係型資料庫轉變)

在任何分布式系統中,只可能滿足一致性,可用性和分割槽容忍性三者中的兩者,不可能全部滿足。

三、什麼是分割槽容忍性

(一)分割槽:在乙個分布式系統裡,節點組成的網路本來應該是聯通的,然而可能因為一些故障,使得有些節點之間不再聯通,整個網路就分成了幾塊區域。資料就分散在這些不聯通的區域。當你乙個資料項只在乙個節點中儲存,那麼分割槽出現之後,和這個節點不聯通的部分就訪問不到這個資料,這是分割槽不能容忍的。

(二)提高分割槽容忍性的辦法:將乙個資料項複製到多個節點上,那麼出現分割槽之後,這一項資料就可能分布到各個區里。

(三)一致性問題:資料複製到多個節點,可能會導致多個節點上的資料不一致,。要保證節點資料一致,每次寫操作都要等待全部節點寫成功。而這樣的等待又可能會帶來可用性的問題。

總的來說。資料存在的節點越多,分割槽容忍性就越高,但是複製更新的資料就越多,一致性就越難保證。s為了保證一致性,更新所有節點資料的時間就越長,可用性就會降低。

四、hbase-強一致性資料庫

hbase是強一致性的。因為基於hadoop,所以hbase的資料是以hdfs的file(hfile)的形式儲存。換句話說,預設情況下hfile儲存在三個不同節點上。

思考:①既然有三個副本,如何保證hbase的強一致性的?

hfile是已經持久化在硬碟上,所以hfile是不能改變。一旦在某乙個datanode上生成乙個hfile後就會非同步更新到其他兩個datanode,這3個hfile就會保持一致。

②資料在不同更新,如何保證修改?          

hbase之所以是優先寫資料庫,是因為所有寫操作預設先寫入乙個空的記憶體檔案,該記憶體檔案被寫滿後整體提交到hdfs.

(四)、nosql(not only sql)的特點

①拓展性強

②併發效能好

③資料模型靈活

大資料HBase系列之HBase基本操作

hbase version hbase zkcli hbase shell 2.1 建立表 語法 create 表名 列族名 create student info 2.2 顯示所有表 語法 list 或 list 表名 list student 2.3 顯示表描述 語法 describe 表名 d...

大資料體系

大資料系統體系 資料採集 資料計算 資料服務 資料應用 一.資料採集層 1 web端日誌採集技術方案 aplus.js 3 把資料從生產業務端傳輸到大資料系統 timetunnel 包括資料庫增量資料傳輸 日誌傳輸 實時流式傳輸 各時間視窗的批量傳輸 二.資料計算層 1 離線計算平台 maxcomp...

大資料技術之HBase第3章 HBase資料結構

與nosql資料庫們一樣,row key是用來檢索記錄的主鍵。訪問hbase table中的行,只有三種方式 1.通過單個row key訪問 2.通過row key的range 正則 3.全表掃瞄 row key行鍵 row key 可以是任意字串 最大長度 是 64kb,實際應用中長度一般為 10...