0
我目前在學習HBase,與RDBMS比較時我無法理解。hbase是如何面向列的?
- hbase是如何以列爲導向的,我們將數據插入到rowid和column家族的hbase中。
舉例來說,如果我有兩個員工記錄,我將與所有列族ROW1插入(參見:ID,姓名,工資) 和第二排,我會用2行ID插入所有列族
這裏我們也插入像RDBMS這樣的數據,那麼爲什麼我們把它稱爲列導向?
你的幫助真的很感激。
感謝 文卡塔
我目前在學習HBase,與RDBMS比較時我無法理解。hbase是如何面向列的?
舉例來說,如果我有兩個員工記錄,我將與所有列族ROW1插入(參見:ID,姓名,工資) 和第二排,我會用2行ID插入所有列族
這裏我們也插入像RDBMS這樣的數據,那麼爲什麼我們把它稱爲列導向?
你的幫助真的很感激。
感謝 文卡塔
在RDMBS你有一個固定的模式,這意味着每行有相同的列。在HBase中,情況並非如此,每行可以有不同的(數量)列。這就是爲什麼它被認爲是一個柱狀存儲。
例如,你可以有這樣的一個表:
row1key, cf1:c1, cf1:c2, cf1:c5, cf2:col1, cf2:col5
row2key, cf1:c2, cf1:c3, cf2:col1, cf2:col7, cf2:col8
正如你所看到的,這裏有一個包含兩個族(CF1和CF2)值兩行,但對於不同的(數) 細胞。在關係數據庫中,這是不可能的。唯一的辦法是預測所有可能的列並將它們預先包含在內,但在這種情況下,對於每個沒有值的單元格,您都會有NULL值。
爲了您例如,你可以有記錄是這樣的:
employee1, id1, name1, salary1
employee2, id2, salary2
employee3, id3, name3
employee4, id4
而這些都將是有效的記錄。