我可以就“最佳”方式使用一些建议,以存储我创建的Web应用程序的统计数据。
为简单起见,将用基本的博客应用程序演示我要寻找的东西。
说我有一个posts
表,并且posts
可以分配给categories
,具有tags
以及其他各种元属性,例如color
,{ {1}},等等。
我想创建一个单独的Web应用程序,以显示各种统计信息(没有用户数据),例如一个页面,该页面将显示X每天提交了多少帖子,有users mood
蓝色的帖子color
等具有漂亮的图形和日期范围搜索功能。统计信息需要每天编译并存储以显示在统计Web应用程序中。
但是,我不知如何存储统计数据的最佳方法,以便可以轻松地为统计Web应用程序查询/缓存这些数据。
我首先想到的是创建一个单独的category
数据库并每天运行一次cron作业,以从博客的数据库中提取必要的数据。但是,这似乎每天需要大量使用博客的数据库,这可能随着博客活动的增长和新的元属性的添加(需要将其编译成统计数据),这将成为一个问题。
似乎另一种选择是建立一个统计“记录器”,该记录器在每次创建帖子时运行,并将统计数据存储在statistics
数据库中。但这会使应用程序更加复杂,容易产生错误会导致更多错误,并且会降低应用程序的性能,除非我在创建时缓存了所有这些实例,然后稍后在单独的服务器上在后台执行它们。
最后,一旦每天将这些数据存储在一个单独的统计数据库中,似乎有一个单独的表作为“最终”数字似乎很有益,这使我不必查询所有statistics
数据库这是每天的活动和关系(即该数据库仍然存在,但每天只需要查询一次),那么我可以将“最终”值存储在一个单独的表中,然后查询该表以保持查询时间用户正在尝试在前端查看数据。
这里有关于如何“正确”存储统计信息的想法吗?