SQL 的 Apache Ignite 与 Apache Drill 的性能对比

Performance of Apache Ignite vs Apache Drill for SQL

我需要从一些大 MySQL 表中获取数据,以便能够在 dashboard/web 门户上显示。主要是,我的重点是在给定数据集大小的情况下提高 SQL 性能。

此外,考虑到 Ignite 使用 RAM 作为主要数据源,Apache Ignite 的可扩展性是否不如 Apache Drill?

如果需要更多详细信息,请告诉我。

我浏览过这些链接: http://drcos.boudnik.org/2015/04/apache-ignite-vs-apache-spark.html https://mpouttuclarke.wordpress.com/2016/01/04/why-i-tried-apache-spark-and-moved-on/

在 IGFS 下使用可选的 HDFS 层是否会将系统性能降低到 Spark 的水平SQL? https://ignite.apache.org/features/igfs.html

Also, is Apache Ignite less scalable than Apache Drill considering Ignite uses RAM as a primary data source?

将数据存储在内存中实际上可以更好地扩展。我对 Drill 了解不多,无法比较,但 Ignite 完全是关于可扩展性和扩展性的。

Does using optional HDFS layer beneath IGFS slows down the performance of the system to the level of SparkSQL? https://ignite.apache.org/features/igfs.html

如果 HDFS 用作辅助文件系统,则仅当请求的数据不在内存中时才访问它。因此,如果使用得当,它不会减慢您的速度。

请注意,Ignite 提供了非常丰富的 SQL 功能 [1]。您可以 运行 简单地将数据加载到内存中,并使用快速索引搜索 运行 符合 ANSI-99 的查询。例如,SparkSQL 根本不支持任何索引,这使得它在许多情况下要慢得多(至少就我所知)。

[1] https://apacheignite.readme.io/docs/sql-queries

Drill 只是一个 SQL 查询引擎,主要用于 NoSQL 数据库。由于在内存中处理,与配置单元和许多 NOSQL 数据库相比,它的性能很好。

检查查询在 Drill 中的执行方式 - here.

Scalability

Apache drill 具有高度可扩展性,无需担心这一点。

你不能在理论上比较两个重叠的工具。 我建议您在两个工具 上采集一些样本 MySQL 数据来做一个 POC。性能在很大程度上取决于您的用例。

Drill 最适合查询复杂的 JSON 文件(因为它的柱状布局)和解决 polyglot 用例(跨多个数据存储执行连接).