存储包含200万个日志数据的大型CSV文件

时间:2017-03-22 05:03:36

标签: mysql database csv database-administration nosql

我有一个非常大的CSV文件,每天为每个客户提供200万个日志数据,我们必须开发分析工具,根据CSV文件数据提供各种组的摘要。

我们使用Mysql-InnoDB开发但运行速度很慢。我们在表和硬件上应用了适当的索引也很好。

Mysql是否能够支持此时的分析工具,还是需要检查其他任何数据库?

每个SQL Select查询包含15-20秒以从单个表中获取输出。

1 个答案:

答案 0 :(得分:1)

我假设您只是插入的数据,并且您主要希望构建向客户显示某些指标的仪表板。

您可以通过其他方式解决此问题。您可以根据语言选项首先使用Spark或Spring批处理或AirFlow处理CSV,而不是直接将CSV数据存储在SQL数据库中。这样做可以减少必须存储的数据量。

您可以考虑的另一种方法是处理CSV并将其推送到BigQuery或Redshift之类的东西。这些数据库旨在处理和查询大数据。

要加固查询,您还可以创建实体化视图以快速构建仪表板。我不建议这样做,因为它不是一个非常可扩展的方法。

我建议您首先处理数据并生成所需的指标,并将它们存储在SQL中并在其上构建仪表板,而不是直接保存它们。