HBase表結構設計

2021-10-19 05:25:42 字數 1475 閱讀 3767

列簇設計

版本設計

資料壓縮

rowkey設計原則

在hbase有很多張表,這些表需要按照業務劃分開,為方便管理這些表,不同業務就有不同的命名空間,

類似hive中的資料庫,不同的資料庫用來儲存不同型別的表。

注:

建立命名空間:

create_namespace 'momo_chat'

檢視命名空間列表:

list_namespace

檢視命名空間:

describe_namespace 'momo_chat'

命名空間建立表:

在命令momo_chat命名空間下建立名為:msg的表,該錶包含乙個名為c1的列蔟。

注意:帶有命名空間的表,使用冒號將命名空間和表名連線到一起。

create 'momo_chat:msg','c1'

刪除命名空間:

刪除命名空間,命名空間中必須沒有表,如果命名空間中有表,是無法刪除的

drop_namespace 'momo_chat'

設計目的

設計原則

個數原則

長度原則

檢視表的版本資訊:

檢視命名空間momo_chat中的msg表資訊:

describe "momo_chat:msg"

檢視命名空間momo_chat中的msg表資訊:

escribe "momo_chat:msg"

通過輸出可以看出,hbase建立表預設是沒有指定壓縮演算法的

建立新的表,並指定資料壓縮演算法:

create "momo_chat:msg",

修改已有的表,並指定資料壓縮演算法:

alter "momo_chat:msg",

業務原則:用最常見的查詢條件作為rowkey目的:盡量走索引查詢

唯一原則:每條rowkey是不能重複

目的:唯一標識一條資料

組合原則:將最常用的幾個查詢條件組合構建rowkey

目的:盡量大部分查詢都走索引

雜湊原則:rowkey整體或者字首不能是連續的,需要構建隨機的雜湊

目的:避免熱點問題

長度原則:在滿足業務需求情況下,越短越好

目的:提高效能

預分割槽:

rowkey避免熱點設計

反轉策略

加鹽策略

雜湊策略

Hbase表結構設計

一 主體思路 先確定查詢場景,再確定表結構。二 主鍵設計 主鍵設計需要考慮兩個問題 1.選擇哪些作為主鍵?2.當主鍵大於1個時,如何排列。2.1 邏輯上用於表示行的唯一性的列必須作為主鍵 2.2 單個查詢場景中一定出現的列可以考慮加入主鍵列,用於優化查詢效能 2.3 在多個查詢場景都出現的主鍵列要排...

結構設計 資料表設計 常用表結構設計

為了建立冗餘較小 結構合理的資料庫,設計資料庫時必須遵循一定的規則。在關係型資料庫中這種規則就稱為正規化。位址一般包括 省 市 縣 區 詳細位址 我們當然可以儲存乙個字段 使用分隔符 json 等儲存 介紹字段介紹 字段介紹 idbigint id parentid parentidlist chi...

RBAC 的表結構設計

一套能體現 rbac 的表結構設計 1 rbac 概述 2 表結構設計 2.1 使用者表 2.2 角色表 2.3 許可權表 2.4 使用者角色 關係 表 2.5 角色許可權 關係 表 3 總結1 rbac 概述 rbac role based access control 即基於角色的訪問控制,是一...