【发布时间】:2016-05-10 15:29:57
【问题描述】:
我需要一个高效的索引架构来存储警报。每个警报都有以下属性:
- alertId
- 时间戳
- 类型
- 位置
我需要执行以下查询:
- 在定义的日期范围内创建了多少警报?
- 在定义的日期范围内创建了多少个 X 类型的警报?
- 在定义的日期范围内创建了多少来自位置 Y 的警报?
我最初的想法是索引以下内容:
ROWID -> alertId_timestamp,
CF -> attribute (type, location),
CQ -> value
但是,我认为对于我的 #2 和 #3 查询用例,查询性能会很差。我应该如何索引我的数据?
【问题讨论】:
-
您需要多大的日期范围来支持搜索?您对 3 个查询中每个查询的运行速度有何期望?
-
日期范围不应超过 30 天。我希望每个查询都能在 3 秒内返回。
-
还有一个问题:每天有多少警报,警报数量和平均警报大小(计算每天的总字节数)。
-
每天有数十万条警报。平均警报大小约为 30 字节。
标签: accumulo