【问题标题】:bigtable reverse timestamp advantage over regular timestampbigtable 反向时间戳相对于常规时间戳的优势
【发布时间】:2020-12-29 05:08:36
【问题描述】:

Bigtable docs说:

通过反转时间戳,您可以设计一个行键,其中最 最近的事件出现在表格的开头而不是结尾。作为 结果,你可以简单地通过检索获得最近的 N 个事件 表格的前 N ​​行。

我的理解是,假设表格按升序排序,那么常规时间戳将意味着最近的事件将位于表格的末尾,因为这些值会增加,而反向时间戳将意味着最近的事件将位于表格的开头,因为那些值会降低。我的理解是,这种反向时间戳设计利用了对表的行键进行排序。

为什么升序排序而不是降序排序有好处 - 升序排序是 bigtable 中唯一支持的排序类型吗?以上“我的理解”是否正确?

【问题讨论】:

    标签: timestamp google-cloud-bigtable bigtable


    【解决方案1】:

    是的,你的理解是正确的。云 Bigtable 仅支持按字典顺序排序的键。因此,您可以通过反转时间戳来设计一个键,以便通过检索表的前 N ​​行来获取最近的 N 个事件。

    在 Cloud Bigtable 中存储时间序列数据是天作之合。云 Bigtable 将数据存储为行中的非结构化列;每一行都有一个 行键和行键按字典顺序排序

    行按行键按字典顺序排序,从最低到最低 最高字节字符串。行键按大端字节顺序排序 (有时称为网络字节顺序),二进制等价于 按字母顺序。

    Time series and Cloud Bigtable

    Designing your schema

    例如,这是按字典顺序对这些值进行排序(升序)的方式:

    1425330757686
    1425330757687
    1425330757688
    2
    3
    

    【讨论】:

      【解决方案2】:

      为什么升序排序比降序排序有好处 - 升序排序是 bigtable 中唯一支持的排序类型吗?

      Bigtable stores data lexicographically 开箱即用。这意味着键“203”将放在“202”之后,但键“00202”将放在“203”之后。您不能以任何其他方式对数据进行排序。

      除此之外,您的理解是正确的。使用反向时间戳时,最近的事件将位于表的开头。

      【讨论】:

        猜你喜欢
        • 2012-05-25
        • 2018-11-03
        • 2011-08-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-02
        • 2013-12-21
        相关资源
        最近更新 更多