日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hbase 01_初学必知

發布時間:2024/2/28 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hbase 01_初学必知 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Hbase

-Hadoop Database,是一個高可靠性、高性能、面向列、可伸縮、實時讀寫的分布式數據庫

?

-利用Hadoop HDFS作為其文件存儲系統,利用Hadoop MapReduce來處理HBase中的海量數據,利用Zookeeper作為其分布式協同服務

?

-主要用來存儲非結構化和半結構化的松散數據(列存 NoSQL 數據庫)

?

HBase 數據模型

?

ROW ?KEY

·決定一行數據

·按照字典順序排序的。

·Row key只能存儲64k的字節數據

?

Column Family列族 & qualifier列

·HBase表中的每個列都歸屬于某個列族,列族必須作為表模式(schema)定義的一部分預先給出。如 create ‘test’, ‘course’;

·列名以列族作為前綴,每個“列族”都可以有多個列成員(column);如course:math, course:english, 新的列族成員(列)可以隨后按需、動態加入;

·權限控制、存儲以及調優都是在列族層面進行的;

·HBase把同一列族里面的數據存儲在同一目錄下,由幾個文件保存。

?

Timestamp時間戳

·在HBase每個cell存儲單元對同一份數據有多個版本,根據唯一的時間戳來區分每個版本之間的差異,不同版本的數據按照時間倒序排序,最新的數據版本排在最前面。

·時間戳的類型是 64位整型。

·時間戳可以由HBase(在數據寫入時自動)賦值,此時時間戳是精確到毫秒的當前系統時間。

·時間戳也可以由客戶顯式賦值,如果應用程序要避免數據版本沖突,就必須自己生成具有唯一性的時間戳。

?

Cell單元格

·由行和列的坐標交叉決定;

·單元格是有版本的;

·單元格的內容是未解析的字節數組;

-由{row key, column( =<family> +<qualifier>), version} 唯一確定的單元。

-cell中的數據是沒有類型的,全部是字節數組形式存貯。

?

HLog(WAL log)

·HLog文件就是一個普通的Hadoop Sequence File,Sequence File 的Key是HLogKey對象,HLogKey中記錄了寫入數據的歸屬信息,除了table和region名字外,同時還包括 sequence number和timestamp,timestamp是” 寫入時間”,sequence number的起始值為0,或者是最近一次存入文件系統中sequence number。

·HLog SequeceFile的Value是HBase的KeyValue對象,即對應HFile中的KeyValue。

?

Hbase架構:

?

Client

·包含訪問HBase的接口并維護cache來加快對HBase的訪問

?

Zookeeper

·保證任何時候,集群中只有一個活躍master

·存貯所有Region的尋址入口。

·實時監控Region server的上線和下線信息。并實時通知Master

·存儲HBase的schema和table元數據

?

Master

·為Region server分配region

·負責Region server的負載均衡

·發現失效的Region server并重新分配其上的region

·管理用戶對table的增刪改操作

?

RegionServer

·Region server維護region,處理對這些region的IO請求

·Region server負責切分在運行過程中變得過大的region

?

Region

·HBase自動把表水平劃分成多個區域(region),每個region會保存一個表里面某段連續的數據

·每個表一開始只有一個region,隨著數據不斷插入表,region不斷增大,當增大到一個閥值的時候,region就會等分會兩個新的region(裂變)

·當table中的行不斷增多,就會有越來越多的region。這樣一張完整的表被保存在多個Regionserver 上。

?

Memstore 與 storefile

·一個region由多個store組成,一個store對應一個CF(列族)

·store包括位于內存中的memstore和位于磁盤的storefile寫操作先寫入memstore,當memstore中的數據達到某個閾值,hregionserver會啟動flashcache進程寫入storefile,每次寫入形成單獨的一個storefile

·當storefile文件的數量增長到一定閾值后,系統會進行合并(minor、major compaction),在合并過程中會進行版本合并和刪除工作(majar),形成更大的storefile

·當一個region所有storefile的大小和數量超過一定閾值后,會把當前的region分割為兩個,并由hmaster分配到相應的regionserver服務器,實現負載均衡

·客戶端檢索數據,先在memstore找,找不到再找storefile

?

·HRegion是HBase中分布式存儲和負載均衡的最小單元。最小單元就表示不同的HRegion可以分布在不同的 HRegion server上。

·HRegion由一個或者多個Store組成,每個store保存一個columns family。

·每個Strore又由一個memStore和0至多個StoreFile組成。如圖:StoreFile以HFile格式保存在HDFS上。

?

?

?

?

?

?

?

?

?

?

?

?

總結

以上是生活随笔為你收集整理的Hbase 01_初学必知的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。