目前,我正在构建一个仪表板,以查看有关我公司产品生成的数据的一些分析。我们使用MySQL作为数据库。从原始实时数据生成分析的SQL查询可能有点复杂,需要很长时间处理。因此,我安排了一些批次,每天或每小时运行,查询这些实时数据并生成分析,并将其存储在一些仅由仪表板查询的特殊表中。它运行良好,但缺点是分析不是实时的。
因此,我想知道什么是我的要求的最佳实践。我不需要严格的实时,但接近实时的一或几分钟。
我想知道将实时数据从MySQL复制到诸如hadoop或Elasticsearch之类的东西是否是一个好的解决方案。
发布于 2019-04-15 06:25:50
在你的情况下,有很多事情要考虑。您使用什么程序来创建您的仪表板?有一些工具,如Tableau,可以通过创建提取物来提供帮助--尽管这可能要花些钱。
您可以尝试使用PostgreSQL --众所周知,它比MySQL更快,而且是免费的。您可以将批处理过程设置为实时的,在那里它可以清除数据并保存在PostgreSQL中,在那里您可以指向仪表板。
如果您有预算,并且有在云中存储数据的灵活性,请查看Google。您可以在Google中设置一个批处理过程,它使用节点,这些节点以非常快的速度处理数据(我们在我的公司使用它将处理时间从22小时提高到2小时)。
尝试使用索引优化脚本。这可能会改善处理时间--可能不会太多,但如果您想要提高性能,应该会有所帮助。
希望这能有所帮助。
https://softwareengineering.stackexchange.com/questions/309225
复制相似问题