Hbase的相關知識點

2021-10-08 21:44:47 字數 1267 閱讀 8722

goole的三駕馬車:

gfs:分布式的檔案系統(現在的hdfs)

mapreduce:分布式計算系統(現在的mapreduce)

bigtable:分布式的資料庫(現在的hbase)

hbase是乙個hadoop生態圈中的資料庫、分布式(主從架構)、可擴充套件(動態擴容)能儲存大量資料(hdfs)。;

對海量資料隨機的實時的讀寫訪問;

hbase集群維護乙個超大的表(數十億行,數百萬列);

當儲存時依賴hdfs;

計算時依賴mr;

服務協調依賴zookeeper;

資料模型:

namespace(命名空間)

類似於關係型資料庫中 database概念。每個命名空間可以有多個表,hbase[1.2.x | 1.3.x] 裡面有兩個內建的表(hbase : meta、namespace)、預設的命名空間(hbase、default),hbase儲存的系統內建的表。

default:針對使用者來說的、若我們建立表的時候沒有指定命名空間(表就建立到了default命名空間下)

region

模擬關係型資料庫中的表(分表:資料量達到一定的時候表會自動切分、均衡每個regionserver的壓力,防止造成資料熱點)

row(代表資料的一行)

擁有所有列族下所有的列

行鍵(rowkey):

乙個表中必不可少的部分,乙個row必須有rowkey,不能重複,預設在表中按照字典排序;

建立表時不用指定rowkey,插入資料必須要有rowkey

列族:包含乙個列或多個列的集合,建表的時候必須指定至少乙個列族

hbase落地磁碟檔案(乙個列族物理檔案劃分的最小單位)

列族最好不要超過3個(因為乙個列族產生乙個物理檔案進行資料寫磁碟,如果列族多了會有好多檔案)

例如:info1(name,id),info2(***),info3(address)

select name ,*** , address: 跨檔案查詢違反了秒級查詢

解決:經常被查詢的字段放到同乙個列族內,不常用的放到另外的列族中。列欄位

時間戳用於標識資料不同版本(標識位),寫資料時可以手動指定時間戳,不知道的話是系統的時間戳(linux系統)

hbase介於nosql和rdbms之間的分布式資料庫、只能通過rowkey索引資料

不支援複雜的join

不支援複雜的事務

能儲存所有的資料(底層是位元組陣列)

結構化、半結構化、非結構化

hbase的null(空的列)不佔空間,對空的列不進行儲存

HBase知識點總結

易擴充套件 高併發hbase hmaster hregionserver 負責storefile的合併 hlog 儲存在hdfs hregion store mem store storefile hfile client 其他元件 create user info data create user...

相關知識點

nweb inf uclasses uweb.xml ulib n 從httpservlet 繼承,重寫doget dopost方法 n部署web.xml n 只有乙個物件 n 第一次請求的時候被初始化,只一遍 n 初始化後先呼叫init 方法,只一遍 n 每個請求,呼叫一遍service serv...

Camera相關知識點

1 camera涉及到的概念 1.1 preview capture video preview 預覽 capture 拍照 video 錄影 1.2 幀率 快門 幀率 frame rate 用於測量顯示幀數的量度。所謂的顯示單位為每秒顯示的幀數,簡稱fps或hz 快門 shutter。快門是攝像器...