需要建议:利用柱状数据库

时间:2014-11-17 07:00:33

标签: database nosql

我正在开发一个高性能仪表板项目,其中结果主要与非聚合数据混合在一起。第一页由8个不同的复杂查询加载,获取混合数据。仪表板由集中式数据库(Oracle 11g)提供服务,该数据库实时从许多系统接收数据(使用复制工具)。显示的数据是通过非常复杂的查询(多个joincountgroup by和许多where条件来实现的。

问题在于,随着数据的增加,数据库查询所花费的时间超过了定义/同意的时间。我想将聚合功能移到Columnar数据库说HBase(所有计数),其余线性数据将从Oracle获取。两个数据都将基于App层上的键合并。如果这是正确的方法,需要专家意见。

有些事情我不清楚:
1. Sqoop是否能够根据查询/视图或仅基于表加载数据?连续或一次? 2.如果修改了记录(例如状态已更改),HBase将如何知道?

1 个答案:

答案 0 :(得分:0)

我的两分钱。 HBase是用于快速查找查询的NoSQL数据库构建,而不是用于进行聚合的即席查询。

如果您打算使用hadoop群集,您可以尝试使用镶木地板存储格式的蜂巢。如果您需要接近实时查询,可以使用MPP数据库。商业选项是Vertica或者亚马逊的Redshift。对于开源解决方案,您可以使用InfoBrigth。

这些列式选项将为您提供greate聚合查询性能。