我目前正在开发一个 Web 应用程序,并且客户希望存储有关网站上用户活动的数据。这超出了 Google Analytics 所能提供的范围。
我目前有一个非常简单的数据库结构,其中包含最少数量的表,这些表都与网站的核心功能相关。
我有点不情愿在数据库模式中添加大量表来记录用户活动。并且还通过添加服务来记录网站上的用户活动来混淆代码库。
他们想要记录的示例如下:
- 现有用户的登录
- 用户显式注销
- 管理员重置密码
- 用户重置/更改密码
- 更改用户帐户(例如,如果我们有个人资料,则授予/删除管理员权限或个人资料更改)
他们可能还想记录
- 在搜索表单中输入的搜索参数
- 访问任何(内容)页面
- 选择任何(内容)链接
- 语言选择
所以我的问题是:
- 我应该将此功能添加到数据库和项目中吗?
- 我是否应该尽可能将其分开,可能将此分析数据存储在单独的数据库中,或者可能在不同的模式中,为分析服务创建一个单独的项目。
- 还有选择吗?
我只是觉得记录这些数据会使代码库和数据库变大,而且收益很小……。