【发布时间】:2017-03-23 21:42:21
【问题描述】:
我们有一个包含 1800 亿行和 100+ 列的 OLAP 表,在 Hive 中的容量接近 8TB。大多数列都是维度,而且我们也很少有指标列。我们希望构建一个实时系统,支持即席查询来运行仪表板应用程序,其中查询应在 10 秒以下的延迟内执行。
我们现在正在寻找构建这样一个实时即席查询系统的选项,并且我们正在检查可能的选项,并且实际上正在努力选择一个正确的系统。我们看到了
Presto ,可以用来直接查询hdfs,但我们不确定它是否支持如此大容量的低延迟查询。
Cassandra,根据查询构建预聚合视图。
Druid,用于构建预聚合视图,看起来很有趣,但似乎没有任何企业支持。
在这里,我们实际上正在努力从这些组件中做出选择,而且我们不确定是否错过了任何其他可能适合此要求的相关工具。
我们正在寻找可以与 HDFS 紧密交互的工具/数据库,如果它对大容量的读取性能良好,我们也可以考虑使用任何其他工具。
我恳请您帮助指导我选择组件,如果我需要了解任何其他工具,请告诉我。
【问题讨论】:
-
这是一个非常复杂的主题,实际上取决于查询形状、每秒查询次数、所需更新率、所需一致性等。如果没有详细了解这些要求,我不确定是否有人可以推荐系统。
-
我可以在 FB 告诉你,我们将 Presto 用于许多类似的应用程序,但我们使用闪存上的开源 Presto Raptor 存储系统,或基于分片 mysql 支持的自定义闭源。在一个基于 Raptor 的系统中,我们处理的数据要大得多,每分钟运行大约 100-200 个查询,每小时负载在 100 台机器上。
-
非常感谢@DainSundstrom。我将用更多细节更新我的问题。但是,您能否告诉我 Presto 在 Cassandra 上的读取性能是否会比在 Hive 上更快?。
-
Imply.io 提供 Druid 的专业支持。在我的工作中,我同时使用 Presto 和 Druid。 Druid 从 Kafka 摄取流。同时,相同的流以 Parquet 格式写入 Hive/HDFS。 Presto 可以查询 Hive。 Druid 可以摄取 Parquet 以重新计算历史数据。它们是互补的。
标签: hadoop cassandra presto druid nosql