Bigtable的数据结构

06-27 1735阅读

Bigtable的数据结构

1. 表(Table)
  • 基本单位:Bigtable存储数据的基本单位是表,一个表由多行组成。
  • 无限制:表可以非常大,理论上没有大小限制。
    2. 行(Row)
    • 行键:每一行都由一个唯一的行键(Row Key)标识,行键的设计对于性能至关重要。
    • 可排序:行是按行键字典序排序的,这对于范围查询非常有帮助。
      3. 列族(Column Family)
      • 定义:列族是一组列的集合,列族内的所有列都具有相同的前缀。
      • 存储特性:列族中的数据通常存储在相同的文件系统中,因此具有相似的存储和性能特性。
        4. 列限定符(Column Qualifier)
        • 细分列族:在列族内部,可以使用列限定符进一步细分数据。
        • 动态创建:列限定符不需要预先定义,可以动态添加。
          5. 时间戳(Timestamp)
          • 版本控制:每个单元格(由行键、列族、列限定符组成)可以存储多个版本的数据,每个版本由不同的时间戳标识。
          • 数据回溯:时间戳允许用户回溯历史数据。
            6. 单元格(Cell)
            • 数据存储:单元格是数据存储的最小单位,由行键、列族、列限定符和时间戳唯一确定。
            • 多版本:单元格可以存储同一数据的多个版本。
              7. 稀疏性(Sparsity)
              • 空单元格:Bigtable是稀疏的,意味着它允许单元格为空,不占用存储空间。
              • 灵活性:这种设计提供了极大的灵活性,适用于不同的数据模型和应用场景。
                结构示意图
                Table
                |
                +-- RowKey1
                |   |
                |   +-- ColumnFamily1:Qualifier1 (Timestamp1) : Value1
                |   |
                |   +-- ColumnFamily2:Qualifier2 (Timestamp2) : Value2
                |
                +-- RowKey2
                    |
                    +-- ColumnFamily1:Qualifier1 (Timestamp1) : Value3
                    |
                    +-- ColumnFamily1:Qualifier3 (Timestamp3) : Value4
                结论

                   Bigtable的数据结构是一个多维的稀疏映射,由行键、列族、列限定符和时间戳四个维度组成。这种结构非常适合存储大量的、结构化的数据,且可以高效地进行读写操作。其稀疏性质使得它可以高效地存储不规则的或者有很多空值的数据集。

                Bigtable的数据结构
                (图片来源网络,侵删)
VPS购买请点击我

文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。

目录[+]