我正在使用InfiniDB将大量行(约1亿至5亿)聚合到大约不到5000个组。 (在大多数查询中,过滤了100-500万行,因此聚合将在较少的行上工作)
它被用作网站的旅行搜索引擎的原型,您可以将其视为“为特定人数的所有房间组合提供每间住宿的最优价格”。
它工作正常,直到我必须多次自行加入表格,找到最优价格组合(它已经用逻辑过滤器减少了,所以每个连接的组合数量也减少了)
我可以将表的内容拆分到不同的表中,并且它的工作性能可接受,但现在我问自己infinidb(或一般的列式数据库)是否是最佳解决方案问题
有什么替代方案? 我认为每个地图/减少机制(mongodb,hadoop)会慢得多,或者有一点我想念它?
它不应该超过2-5服务器。
说清楚: 我不指望“这将是完美的!”回答,但对替代品的好提示。 我也认为infinidb对我的场景来说是一个糟糕的解决方案。
感谢您的想法!
答案 0 :(得分:1)
我在9台机器上使用了infinidb 3,其表格为> 300亿行没有任何问题,即使有自连接。
给我一个例子ddl + dql。也许我可以帮助你改进查询。
在Infinidb之前,我们尝试了hbase / cassandra / mongodb和技术,我们不喜欢它。 对于5亿行,如果您每天需要执行此操作不超过2-3次,则可以使用简单的Mysql。