2

我想将 HBase 用作存储,我可以在其中推送几百万个格式的条目,{document => {term => weight}}例如“将术语 X 插入文档 Y,权重为 Z”,然后发出类似“选择此文档的前 1000 个术语”或“为每个文档选择前 1000 个术语”。这适用于我当前的 MySQL 实现,但也许该域更适合 HBase。我注意到 HBase 和 BigTable 用于全文索引,这是一个类似的问题域。

您可以说我只是在 HBase 上阅读了几页,但我希望您理解我的问题的要点。它与这个问题有关

可能的障碍可能包括 HBase 不允许使用与LIMIT子句等效的查询。鉴于我想按权重查询,我想关联{weight => term},这对于具有相同权重的两个术语来说是有问题的(我假设 HBase 只允许唯一键)。或者,我必须存储给定权重的术语集合,但这会限制我准确限制返回术语数量的能力。

4

1 回答 1

0

简单的回答是的。

更复杂的答案是,现在这些“no sql”数据存储都实现了自己的程序员接口,并且“no sql”意味着它们不是基于 SQL 的。因此,请为一些编码做好准备,尽管这并不困难。大多数情况下,这些数据存储只是名称值对存储,通过 REST 或 SOAP 获得(HBase 也有列族的概念)。不过,他们确实倾向于 Map Reduce,这是一个非常有趣的查询领域,非常值得一读。

于 2009-11-05T21:22:51.997 回答