我想存储一些分析数据。例如,用户执行操作 X 的次数或过去一天登录的用户数量等。
最好的做法是将另一个表添加到我现有的应用程序数据库中吗?或者在这里添加一个新的数据库?我认为第二种选择有点矫枉过正。
我想存储一些分析数据。例如,用户执行操作 X 的次数或过去一天登录的用户数量等。
最好的做法是将另一个表添加到我现有的应用程序数据库中吗?或者在这里添加一个新的数据库?我认为第二种选择有点矫枉过正。
这完全取决于您的业务/安全/公共利益需求、用例和资金。
例如,如果通过分析,您的意思是“计算有多少匿名人阅读了这个小型公共 wiki”,那么表格可能就可以了。如果该 wiki 增长,那么出于性能原因,您可能需要一个单独的数据库。
但是,如果分析数据库将包含有关站点成员的信息——尤其是不需要直接存储在公共网站上的信息——那么您有法律责任采取一切合理的预防措施来保护数据。这可能意味着将其存储在单独的业务内部数据库中,而不是存储在面向公众的站点数据库中。
至少,您应该在 Web 应用程序中为您的分析提供单独的数据库连接设置、单独的连接和单独的游标,以便稍后将它们拆分到单独的数据库中。这通常用于分离 web 应用程序中的读取和写入,因此如果您遇到困难,您应该能够找到它的示例。
经过某个小型站点负载后,无论如何,您都希望将它放在单独的数据库中以提高性能。除非您使用某种为性能而构建的分布式、水平可扩展的数据库,否则就是这样。
使用单独的数据库。它使您的架构更清晰,更容易管理数据库用户及其访问权限(因为您不需要每个表的权限),并且如果您需要走这条路,它可以更轻松地管理复制。
只需在现有数据库中添加另一个表,如果您添加另一个数据库,那么您必须同时从一个数据库切换到另一个数据库意味着您必须照顾mysql_connect()
或者您需要在连接其他数据库之前关闭以前的数据库连接,这会有点有点忙