gpt4 book ai didi

Cassandra 还是Hbase?

转载 作者:行者123 更新时间:2023-12-03 06:56:29 24 4
gpt4 key购买 nike

我有一个要求,我想在其中存储以下内容:

  • Mac 地址//PKEY
  • 时间戳//PKEY
  • 位置ID
  • 所有者姓名
  • 信号强度

插入逻辑如下:

  • 每小时在每个位置 (LocationID) 存储一次每个事件设备 (MacAddress) 的上述统计信息
  • 条目在每小时结束时创建,因此主键始终为 MAC+TimeStamp

没有更新,只有插入

可以执行的查询如下:

  • 给我过去“N”个小时的所有条目,其中 MacAddress =“....”
  • 给我过去“N”个小时的所有条目,其中 LocationID IN (locID1, locID2, ..);

不用说,有数十亿个条目,我想使用 HBASE 或 Cassandra。我尝试过探索,看来Cassandra可能不是正确的选择。

原因是如果我在 cassandra 中有以下内容:

< Mac地址:时间戳>>
+ 位置ID
+ 所有者姓名
+ 信号强度

这两个查询都会扫描整个数据库,对吧?即使我在 LocationID 上添加索引,这也只会在某种程度上对第二个查询有帮助,因为时间戳上没有索引(我相信时间戳上的搜索并不快,因为 MacAddress:TimeStamp 复合键不会允许我们只搜索时间戳,而不是进行完整扫描,对吗?)。

我被困在这里了很长时间,如果我们应该选择 HBase 或 Cassandra,任何见解都会真正有帮助。

最佳答案

使用 Cassandra 对此进行建模的正确方法是使用按 MAC 地址分区、按时间戳排序并按位置 ID 建立索引的表。请参阅 Cassandra 数据模型文档,尤其是 section on clustering [预定义排序]。您的任何查询都不需要全表扫描。

关于 Cassandra 还是Hbase?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14950598/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com