首页 > 解决方案 > 哪些方法需要最少的资源?

问题描述

我目前正在与 Cassandra 一起开发社交网络。我的问题是我在优化服务器消耗的两种解决方案之间犹豫不决。在第一种情况下,当用户发布帖子时,它包含所有信息,如昵称或头像。但是,例如,当用户更改他的昵称时,我必须更改所有帖子的值。情况二,用户的信息和帖子是分开存储的,但是用户每次恢复帖子时,他会打两个逗号而不是一个。从长远来看,这些解决方案中的哪一个最能优化我的服务器速度?谢谢您的回答,

杰斯维尔

标签: databasecassandracql

解决方案


由于您提到它是一个社交媒体应用程序,因此假设单个用户可以发布大量帖子。此外,由于您提到了使用 Cassandra,第一个场景由于某些原因无法很好地扩展。

  1. 广泛的更新可能会以某种方式代价高昂,因为它涉及写入之前的读取操作。它可以被认为是一种反模式

  2. 每个帖子中有关用户的信息都是多余的。从长远来看,确保所有帖子中的用户信息一致将是一件痛苦的事。

第二种选择可能会更好,其中为用户和帖子创建 2 个表,同时在应用程序级别维护关系。


推荐阅读