我正在开发一个涉及监控大量rss / atom feed的项目。我想使用hbase进行数据存储,我在设计模式时遇到了一些问题。对于第一次迭代,我希望能够生成聚合订阅源(所有订阅源中的最后100个帖子按逆时间顺序排列)。
目前我使用两张桌子:
Feeds: column families Content and Meta : raw feed stored in Content:raw
Urls: column families Content and Meta : raw post version store in Content:raw and the rest of the data found in RSS stored in Meta
我需要某种聚合Feed的索引表。我应该如何构建它? hbase是否适合这种应用?
问题更新:是否可以(在hbase中)设计一个可以有效回答下面列出的查询的模式?
SELECT data FROM Urls ORDER BY date DESC LIMIT 100
答案 0 :(得分:2)
Peter Rietzler回答hbase用户邮件列表:
您好
在我们的项目中,我们正在处理事件 列出我们有类似的地方 要求。我们按订单排序 明智地选择我们的行键。我们用 以下是我们活动的关键(他们 应该按时间按升序排序 顺序):
eventListName / yyyyMMddHHmmssSSS-000 [-111]
其中eventListName是的名称 事件列表和000是三位数 实例id消除歧义 不同的运行实例 应用程序,-111是可选的 消除发生的事件的歧义 在一个实例上相同的毫秒。
我们另外插入和人工 ID为
的每一天的行eventListName / yyyyMMddHHmmssSSS
这允许我们开始扫描 没有的每一天的开始 搜索事件列表。
你需要意识到这一事实 如果你有很高的负荷 插入,然后总是一个hbase区域 服务器正在忙着插入 其他人都闲着......如果那是一个 问题,你必须找到 不同的钥匙为您的目的。
您也可以使用HBase索引 表但我没有经验 我记得邮件上有一封电子邮件 列出这会使所有人加倍 请求,因为API将首先 查找索引表然后查找 原表??? (请纠正我 如果这不对......)
亲切的问候,彼得
谢谢彼得。