在不重载数据库的情况下保存用户交互



我目前正在研究电子学习系统的概念,想知道像facebook这样的社交网络是如何保存用户输入的(例如Thumps Up、Comments等)。或者StackOverflow如何保存这些问题?在我的特定情况下,我需要保存交互,如锻炼结果、用户登录等。你有什么建议吗?

提前感谢

Philip

您可以创建关系表,如user--->注释、竖起大拇指等。问题是当您检索数据时,应用程序或数据库必须在数据库上查找。

因此,您可以(评论、竖起大拇指等)保存为JSON对象。

"张贴"表,并思考该表中的以下列。

id:1职位:XYZ注释:{["用户":123,"注释":"测试注释"]}拇指:{"总数":3,["用户":13,"拇指":真]}

因此,您可以高效地检索单个SELECT查询这些数据。保存时必须转换为JSON对象。

您也可以尝试NoSQL数据库。

正如Damith所说,您也许应该看看NoSQL。

如果你走这条路,也许可以看看活动来源的想法

那么,什么是活动来源呢?事件来源是范式,一开始让我大吃一惊。当使用常规数据库时,我们通常在数据库中创建一个记录,然后执行一些更新同一条记录,读几次直到最终被删除。本质上,我们总是保存数据。如果你后退一步,你会发现实际上我们一直在删除数据。无论何时执行删除或更新在您的数据库中,您正在删除数据。想一想,你真的想删除数据吗?你怎么知道几个月后这个数据什么时候不重要了?

读取=http://www.kenneth-truyers.net/2013/12/05/introduction-to-domain-driven-design-cqrs-and-event-sourcing/

最新更新