如何存储用户活动历史记录

时间:2016-08-18 19:13:45

标签: mysql xml

我被告知这个问题是主观的,但是嘿嘿。

我最好将用户活动存储在mysql数据库或xml文件中的表中。目的是将数据打印在其帐户页面上。

我担心我会在服务器上找到一个巨大/慢速的数据库或许多xml文件(每个用户一个)。

由于

3 个答案:

答案 0 :(得分:1)

使用某种数据库。文件可能存在有关I / O,锁定,并发访问等问题。 如果您确实使用文件,请选择json而不是xml。 对于RDMS,Mysql很好。 我建议使用NOSQL,我的选择是Redis。

答案 1 :(得分:0)

我建议应该在DB上。

1)因为维护日志信息的数据库表要比单独的日志文件容易得多。服务器负载不多。

2)对于RDBMS,您需要查询那些对xml文件很难的用户日志历史记录

3)正确的索引将有助于更快的数据检索。

4)XML读/写花费更多I / O OP

答案 2 :(得分:0)

将其存储在表格中。如果您要存储数十亿条记录,则需要调查分区或分片,但这些是您应该解决的问题,当且仅当您达到限制时。

通过模拟足够的用户活动来测试您拥有的任何设计,以代表一年或两年的有力使用。如果它坚持下去,你就可以了。如果不是,您将遇到具体问题。

请记住,在此类表中,索引对于检索速度很重要,但过多的索引会降低插入速度。在你必须找到的索引太多和太少之间存在平衡。

XML文件的追加通常非常昂贵,除非您执行类似Adium did with their reverse XML parser构建的有效附加到XML日志的内容。