0

我正在使用 InfiniDB 将大量行(大约 100-5 亿)聚合到大约不到 5000 个组。(在大多数查询中,过滤了 100-5 亿行,因此聚合将在更少的行上起作用)

它被用作网站旅行搜索引擎的原型,您可以将其视为“为特定人数的所有房间组合提供最优惠的每间住宿价格”。

它工作正常,直到我必须多次自我加入表格,才能找到最优惠的价格组合(它已经通过逻辑过滤器减少了,因此每个连接的组合数量也减少了)

我可以将表的内容拆分到不同的表中,并且它的性能可以接受,但是现在我问自己 infinidb(或一般的面向列的数据库)是否是解决这个问题的最佳解决方案。

什么是替代品?我认为每个 map/reduce 机制(mongodb、hadoop)都会慢得多,还是我想念它?

它不应该需要超过 2-5 台服务器。

说清楚:我不指望“这将是完美的!” 答案,但对替代品的良好提示。我也认为 infinidb 对我的场景来说是一个糟糕的解决方案。

感谢您的想法!

4

1 回答 1

1

我在 9 台机器上使用了 infinidb 3,其表的行数超过 300 亿行,即使使用自联接也没有任何问题。

给我一个例子 ddl + dql。也许我可以帮助您改进查询。

在 Infinidb 之前,我们尝试了 hbase / cassandra / mongodb 和技术,但我们不喜欢它。对于 5 亿行,如果您需要每天执行不超过 2-3 次,则可以使用简单的 Mysql。

于 2012-11-17T18:31:58.463 回答