【发布时间】:2018-01-30 09:37:59
【问题描述】:
有很多问题和答案涵盖了类似的概念,但没有一个与我们的概念相近。
我们的应用程序建立在 Java (API)、AngularJs(前端)上,使用 MySql 作为数据库。到目前为止,还没有在我们的应用程序中存储用户活动的概念。
但是现在,我们必须捕获所有用户活动(这几乎包括所有内容)。其中一些活动是“用户已查看约会#”、“用户已更新事件信息”、“用户已激活/停用其他用户”等...
以下是我们需要考虑的事项:
- 我们最初的数据会少很多(每天可能有 10 万条记录)。
- 所有这些用户活动几乎都是写繁重的,读部分非常少。
- 我们设计的审计表 (MySql) 将保存跟踪用户的每一项活动所需的关键信息。
对以下方面感到困惑:
- 我们的一些同事和老板对 MySql 不满意,因为他们预计我们的应用程序活动会突然激增,因为它正在受到关注。
- 还有建议使用 Graph DB,我认为这完全没有必要。因为按照设计,它是一个三重存储数据库,用于使用节点和边存储关系数据。
建议的背景知识:有一个建议将整个应用程序数据从 MySql 迁移到 GraphDB 作为未来的实现(这将在我们开始迁移部分之前有一段时间,而且我们的员工都不熟悉图数据库知识)。所以我们的老板坚持要我们从这个开始。
我的问题和我需要您的意见的问题是:
- 仅将 Graph DB 用于用户活动是个好主意吗?
- 如果我们要使用 Graph DB,哪个是最好的免费 Graph DB?
- 我们是否可以为此使用 NoSQL DB(例如 mongoDB)?
【问题讨论】:
-
我刚刚意识到这是一个老问题,你刚刚修改了所以我的答案现在可能有点无关紧要了。
标签: mysql graphdb user-activity