【问题标题】:Storing And Displaying Stats存储和显示统计信息
【发布时间】:2011-05-08 02:53:31
【问题描述】:

我将用 PHP 编写一些软件来解析日志文件并聚合数据,然后将它们显示在图表中(如条形图,而不是顶点和边)。

是的,它基本上是我的公司拥有整个团队的商业智能软件,但显然他们做得不好(加载页面 10 分钟根本做不到)。

这是我必须做的:

  • 日志文件是数据文件,它存储来自我们在办公室运行的设置的统计服务器的原始数据(我们向统计服务器发送异步调用,有点像谷歌分析)。它以 csv 格式存储数据。
  • 编写脚本来解析文件并将数据聚合到数据库中(或者我正在考虑使用 redis)
  • 将有数以百万计的东西要聚合,因此在显示统计信息时必须快速

我知道用于数据库的 OLAP,但是如果我想使用 redis,您认为它可以扩展大量数据吗?要解析文件,你认为 PHP 脚本就足够了,还是我应该使用更快的东西,比如 C/C++?

基本上,我想就完成任务的不同方式获得一些有趣的想法。它必须快速且可扩展。

有什么想法吗?

【问题讨论】:

    标签: php statistics


    【解决方案1】:

    听起来在您所说的规模上,您需要将数据聚合和显示分开。也就是说,您应该有一些进程在生成日志文件时接收它们,解析它们并将数据插入数据库;这将是一项漫长而复杂的任务。然后当用户想要显示数据的图形时,他们可以向 PHP 服务器发出请求,PHP 服务器将从数据库中提取数据并构建他们想要的显示。通过这种方式,您的解析与您的显示请求分离(尽管它仍然是串行依赖的,但您的解析可以在日志文件可用时开始,因此,解析它们所涉及的延迟在显示时被隐藏)。

    【讨论】:

    • 是的,这基本上正是我想要做的。
    • 但是您会推荐哪些语言和/或存储技术?直接上php和mysql?
    • 我会说 PHP 在前端很好,只要你有一个很好的图形包你就可以使用。 MySql 应该适合您的数据存储层。这留下了您触发的数据聚合步骤;这真的取决于你如何舒服地触发整个事情。如果您对 PHP 感到满意,那应该没问题,因为您正在解耦性能;当然,您需要表征实际性能以确定它是否足够快,或者您是否需要不同的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2010-12-11
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 1970-01-01
    • 2010-10-23
    • 2012-01-23
    • 1970-01-01
    相关资源
    最近更新 更多