我需要从一些大型MySQL表中获取数据才能在仪表板/门户网站上显示。主要是,我的重点是在给定数据集大小的情况下提高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层是否会将系统性能降低到SparkSQL的水平? https://ignite.apache.org/features/igfs.html
答案 0 :(得分:2)
Drill只是一个主要用于NoSQL数据库的SQL查询引擎。由于内存处理,与hive和许多NOSQL数据库相比,它的性能良好。
检查“钻取 - here 。
中查询执行的工作原理。”可扩展性
Apache钻取具有高度可扩展性,无需担心。
你无法比较理论中的两个重叠工具。 我建议你做一个POC,在这两个工具上采集一些MySQL样本数据。性能在很大程度上取决于您的用例。
Drill最适合查询复杂的JSON文件(因为其列式布局)和解决多语言用例(跨多个数据存储区执行连接)
答案 1 :(得分:1)
此外,考虑到Ignite使用RAM作为主要数据源,Apache Ignite的可扩展性是否低于Apache Drill?
在内存中存储数据实际上可以更好地扩展。我对Drill了解不多,无法比较,但Ignite完全是关于可扩展性和扩展性的。
在IGFS下使用可选的HDFS层是否会将系统性能降低到SparkSQL的水平? https://ignite.apache.org/features/igfs.html
如果将HDFS用作辅助文件系统,则只有在请求的数据尚未在内存中时才会访问它。因此,正确使用它不会减慢你的速度。
请注意,Ignite提供了非常丰富的SQL功能[1]。您可以运行简单地将数据加载到内存中,并使用快速索引搜索运行符合ANSI-99的查询。例如,SparkSQL根本不支持任何索引,这使得它在许多情况下变得更慢(至少据我所知)。