用于分析的新数据库或新表?

时间:2012-04-09 07:59:29

标签: mysql database database-design

我想存储一些分析数据。例如,用户执行操作X的次数或过去一天登录的用户数量等。

最佳做法是将另一个表添加到现有的应用程序数据库中吗?或者在这里添加新数据库?我认为第二种选择有点矫枉过正。

3 个答案:

答案 0 :(得分:1)

这完全取决于您的业务/安全/公共利益需求,用例和资金。

例如,如果通过分析,您的意思是“计算出有多少匿名用户阅读这个微小的公共维基”,那么表格可能会很好。如果该wiki增长,那么出于性能原因,您可能需要单独的数据库。

但是,如果分析数据库包含有关网站成员的信息 - 尤其是不需要直接存储在公共网站上的信息 - 那么您有法律责任采取所有合理的预防措施来保护数据。这可能意味着将其存储在单独的业务内部数据库中,而不是存储在面向公众的站点数据库中。

至少,您应该为Web应用程序中的分析设置单独的数据库连接设置,单独的连接和单独的游标,以便以后可以轻松将它们拆分为单独的数据库。这通常是为了在webapps中分离读写,所以如果你遇到困难,你应该能够找到它的例子。

通过某个小型网站加载,无论如何,您都希望将其放在单独的数据库中以获得性能。除非您使用的是某种为性能而构建的分布式,水平可扩展的数据库,否则就是这样。

答案 1 :(得分:1)

使用单独的数据库。它使您的架构更清晰,更容易管理数据库用户及其访问权限(因为您不需要每表权限),并且如果您需要走这条路,它可以更轻松地管理复制。 / p>

答案 2 :(得分:-1)

只需在现有数据库中添加另一个表,如果添加另一个数据库,则必须同时从一个数据库切换到另一个数据库意味着必须处理mysql_connect()或者需要在连接之前关闭先前的数据库连接其他db,它会有点忙乱