代码之家  ›  专栏  ›  技术社区  ›  Drew

PHP驱动的详尽统计-服务器端文本文件还是MySQL表?

  •  0
  • Drew  · 技术社区  · 16 年前

    我有一个游戏网站,有200多个用户。该网站有一个庞大的数据库跟踪用户的游戏,而持续参与的动机之一是广泛的统计和排名。( 标准普尔 )网站提供给用户的。

    随着跟踪的S&R列表的增加,一些更复杂的计算已移动到数据库中的表中,而不是动态生成,以提高页面加载速度。

    但是,我计划从粗放型转向 详尽的 到年底,S&R将用户可用的数据点总数增加了10倍。我已经决定停止执行即时查询,并将所有计算转移到cron作业,但我不确定数据存储在哪里。

    给定一个用户基数<1000,将这些数据放在数据库中还是为每个用户的状态读/写一个文本文件更有意义?

    这些是我心目中的主要利弊:

    将S&R存储在数据库中

    + cross-user comparisons are easy and fast
    + faster cron jobs because there's no need to write to many, many files
    - database table count will jump from ~50 to 200+ (at least)
    - one point of failure (database corruption) for all site data
    - modifying S&R structure requires modifying database as well
    

    将S&R存储在文本文件中

    + neatly organized and distributes data corruption risk
    + database is easier to navigate
    + redesigning S&R structure is done by simply modifying script and 
      overwriting all text files, rather than adjusting database tables
    - cron job will have to read/update XXX files each time
    - cross-user comparisons are difficult and time-consuming
    

    但是我以前从来没有做过这么大的事情,所以我不确定(例如)一个200多表的MySQL数据库是否真的有问题?

    我很感激你能提供任何建议!-)

    1 回复  |  直到 16 年前
        1
  •  1
  •   Filipe    16 年前

    任何流行的数据库软件都应该能够处理数百万个条目,拥有200多个表就不是问题了。

    腐败不太可能发生,但在这种性质的站点上,您应该经常进行备份,最好在服务器外部存储一个副本—使用单个文件分发并降低发生一般故障的可能性,但也有很小的问题发生的可能性。

    数据库软件擅长对其数据执行任务,使用平面文件可能会迫使您编写自己的方法来处理这些数据,这很容易被证明是一项主要任务,与使用数据库相比,速度会降低(我只是假设这一点,我可能错了)。

    推荐文章