0

我们公司有独特的报告需求。我们每 X 分钟收集一个文件中的大量数据。这些文件的大小可能在 1 到 5MB 之间,包含多达一百万行。数据类似于从不更新且结构化的日志数据。虽然我们需要灵活性来支持数据模型的变化。我们需要提供一些罐装(静态)报告以及一些报告作为交互式仪表板的一部分。

对于预制报表,数据只需每天刷新一次。所以我将为此使用 Hive。到一天结束时,文件大小将达到几 Gbs,届时它将被推送到 Hadoop 中,因此我们不会遇到 hadoop 的小文件问题。由于报告是静态的,因此即使 Hive 需要几秒钟/分钟来返回数据也没关系。

但是 Hive 将无法满足我们的交互式仪表板需求,因为这些报告需要在几秒钟内加载。这些报告将主要是时间序列报告,时间序列数据将存储长达一年。我想知道哪些其他数据库可用于数据仓库/BI 目的?我们需要一个稳定的开源数据库,该数据库可以很好地处理大数据,允许快速写入和读取,具有体面的查询语言,以最少的编码实现报告。由于我们将使用 Hadoop+Hive 来生成罐装报告,因此如果该数据库可以直接与 Hadoop 一起使用将是理想的。

我看过 Hbase——但不确定它是否能很好地处理每 X 分钟出现的小文件。Hbase 是正确的选择吗?也欢迎任何其他 DB 建议。

我们的报告非常基础,我们希望解决方案非常简单。PS我们不想使用MySql。

4

2 回答 2

0

理想情况下,您正在寻找的是 MPP 数据库,如 Netezza、Greenplum 等。它们都是商业的。换句话说 - 我不知道开源解决方案。最接近的可能是 infobright - 它具有 MySQL
的柱状引擎 没有好的分析开源数据库。我的意思是具有下降并行查询能力+集群的数据库。
所以我会建议一些中间解决方案,其中 Hive/Hadoop 正在做大量的聚合(构建多维数据集)并且 RDBMS 用于提供交互式查询。

于 2012-08-21T07:51:33.717 回答
0

我还建议使用 Greenplum 数据库。它不是开源的,但它有一个单节点版本,可以毫无问题地提供 TB 级数据。它有一个相当不错的数据加载引擎和一个查询执行引擎——两者都是并行的。HP Vertica 还将推出社区版

Greenplum 和 Vertica 都有与 hadoop/hbase/hive 的接口。

如果您只对开源感兴趣,请尝试 MonetDB。它是开源的,但我没有使用它的经验。

于 2012-08-28T10:33:58.657 回答