【问题标题】:Feed aggregator using hbase. How to design the schema?使用 hbase 的 Feed 聚合器。如何设计架构?
【发布时间】:2009-08-17 16:25:56
【问题描述】:

我正在从事一个涉及监控大量 rss/atom 提要的项目。我想使用 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

我需要某种用于聚合提要的索引表。我应该如何构建它?对于这类应用,hbase 是不是一个不错的选择?

问题更新:是否有可能(在 hbase 中)设计一种可以有效回答如下查询的架构?

SELECT data FROM Urls ORDER BY date DESC LIMIT 100

【问题讨论】:

    标签: schema feed hbase


    【解决方案1】:

    Peter Rietzler 在 hbase-user 邮件列表上的回答:

    在我们的项目中,我们正在处理事件 我们有类似的列表 要求。我们按以下方式订购 明智地选择我们的行键。我们用 我们活动的以下键(他们 应按时间升序排列 顺序):

    eventListName/yyyyMMddHHmmssSSS-000[-111]

    其中 eventListName 是 事件列表和 000 是一个三位数 实例 id 以消除歧义 不同的运行实例 应用程序,和 -111 是可选的 消除发生在 一个实例上的相同毫秒数。

    我们另外插入和人工 每天都有id的行

    事件列表名称/yyyyMMddHHmmssSSS

    这允许我们开始扫描 每一天的开始没有 搜索事件列表。

    您需要了解以下事实: 如果你有一个非常高的负载 插入,然后总是一个 hbase 区域 服务器忙于插入,而 其他人闲着……如果那是 你的问题,你必须找到 根据您的目的使用不同的键。

    您也可以使用 HBase 索引 桌子,但我没有经验 我记得邮件中有一封电子邮件 列出这将使所有 请求,因为 API 将首先 查找索引表,然后 原表??? (请纠正我 如果这不正确...)

    亲切的问候,彼得

    谢谢彼得。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-16
      • 1970-01-01
      • 1970-01-01
      • 2017-10-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多