hbase如何面向列?

hbase如何面向列?,hbase,Hbase,我目前正在学习HBase,与RDBMS相比,我无法理解HBase hbase是如何面向列的,我们正在使用rowid和列族将数据插入hbase 例如,如果我有两个员工记录,我将与第1行一起插入所有列族(cf:id、name、salary) 对于第二行,我将插入所有列族的第2行id 这里我们还插入了RDBMS之类的数据,为什么我们称之为面向列的呢 非常感谢你的帮助 谢谢 Venkata在RDMBS中有一个固定的模式,这意味着每一行都有相同的列。在HBase中,情况并非如此,每行可以有不同的(数量)列

我目前正在学习HBase,与RDBMS相比,我无法理解HBase

  • hbase是如何面向列的,我们正在使用rowid和列族将数据插入hbase
  • 例如,如果我有两个员工记录,我将与第1行一起插入所有列族(cf:id、name、salary) 对于第二行,我将插入所有列族的第2行id

    这里我们还插入了RDBMS之类的数据,为什么我们称之为面向列的呢

    非常感谢你的帮助

    谢谢
    Venkata在RDMBS中有一个固定的模式,这意味着每一行都有相同的列。在HBase中,情况并非如此,每行可以有不同的(数量)列。这就是为什么它被认为是柱状存储

    例如,您可以有这样一个表:

    row1key, cf1:c1, cf1:c2, cf1:c5, cf2:col1, cf2:col5
    row2key, cf1:c2, cf1:c3, cf2:col1, cf2:col7, cf2:col8
    
    employee1, id1, name1, salary1
    employee2, id2, salary2
    employee3, id3, name3
    employee4, id4
    
    如您所见,这里有两行,其中包含两个列族(cf1和cf2)的值,但单元格数量不同。在关系数据库中,这是不可能的。唯一的方法是预测所有可能的列并提前包含它们,但在这种情况下,每个单元格都会有空值,而没有值

    例如,您可以有如下记录:

    row1key, cf1:c1, cf1:c2, cf1:c5, cf2:col1, cf2:col5
    row2key, cf1:c2, cf1:c3, cf2:col1, cf2:col7, cf2:col8
    
    employee1, id1, name1, salary1
    employee2, id2, salary2
    employee3, id3, name3
    employee4, id4
    

    这些都是有效的记录。

    在RDMBS中,您有一个固定的模式,这意味着每一行都有相同的列。在HBase中,情况并非如此,每行可以有不同的(数量)列。这就是为什么它被认为是柱状存储

    例如,您可以有这样一个表:

    row1key, cf1:c1, cf1:c2, cf1:c5, cf2:col1, cf2:col5
    row2key, cf1:c2, cf1:c3, cf2:col1, cf2:col7, cf2:col8
    
    employee1, id1, name1, salary1
    employee2, id2, salary2
    employee3, id3, name3
    employee4, id4
    
    如您所见,这里有两行,其中包含两个列族(cf1和cf2)的值,但单元格数量不同。在关系数据库中,这是不可能的。唯一的方法是预测所有可能的列并提前包含它们,但在这种情况下,每个单元格都会有空值,而没有值

    例如,您可以有如下记录:

    row1key, cf1:c1, cf1:c2, cf1:c5, cf2:col1, cf2:col5
    row2key, cf1:c2, cf1:c3, cf2:col1, cf2:col7, cf2:col8
    
    employee1, id1, name1, salary1
    employee2, id2, salary2
    employee3, id3, name3
    employee4, id4
    
    这些都是有效的记录