我们公司有独特的报告需求。我们每 X 分钟收集一个文件中的大量数据。这些文件的大小可能在 1 到 5MB 之间,包含多达一百万行。数据类似于从不更新且结构化的日志数据。虽然我们需要灵活性来支持数据模型的变化。我们需要提供一些罐装(静态)报告以及一些报告作为交互式仪表板的一部分。
对于预制报表,数据只需每天刷新一次。所以我将为此使用 Hive。到一天结束时,文件大小将达到几 Gbs,届时它将被推送到 Hadoop 中,因此我们不会遇到 hadoop 的小文件问题。由于报告是静态的,因此即使 Hive 需要几秒钟/分钟来返回数据也没关系。
但是 Hive 将无法满足我们的交互式仪表板需求,因为这些报告需要在几秒钟内加载。这些报告将主要是时间序列报告,时间序列数据将存储长达一年。我想知道哪些其他数据库可用于数据仓库/BI 目的?我们需要一个稳定的开源数据库,该数据库可以很好地处理大数据,允许快速写入和读取,具有体面的查询语言,以最少的编码实现报告。由于我们将使用 Hadoop+Hive 来生成罐装报告,因此如果该数据库可以直接与 Hadoop 一起使用将是理想的。
我看过 Hbase——但不确定它是否能很好地处理每 X 分钟出现的小文件。Hbase 是正确的选择吗?也欢迎任何其他 DB 建议。
我们的报告非常基础,我们希望解决方案非常简单。PS我们不想使用MySql。