twissandra数据模型是否有效?

时间:2016-01-12 12:41:45

标签: cassandra data-modeling

请帮助我, 我是cassandra世界的新手,所以我需要一些建议。

我正在尝试为cassandra DB制作数据模型。

在我的项目中 - 可以互相关注的用户, - 可与许多主题相关的文章。

每个用户都可以关注许多主题。

因此,目标是使用户获得的聚合Feed: 他关注的所有主题的文章+ 他关注的所有朋友的文章+ 自我文章。

我搜索了相同的任务,发现了twissandra示例项目。

正如我在该示例中所理解的那样,我们只在时间轴中存储推文的ID,当我们需要获取时间线时,我们会获取推文的ID,然后在单独的非阻塞请求中通过id获取每条推文。收集完所有推文后,我们会向用户返回推文列表。

所以我的问题是:它有效吗?

向DB发出~41个请求以获取一页推文?

第二个问题是追随者。 当有人创建推文时,我们会收到所有关注者并将推文ID添加到他们的时间轴中, 但如果用户有数千名粉丝呢?

这意味着只创建一条推文,我们应该向DB写入(1 + followers_count)次?

1 个答案:

答案 0 :(得分:3)

twissandra更像是一个玩具的例子。它适用于某些工作负载,但您可能需要更多分区数据(分解大行)。

基本上虽然是,但它相当有效 - 可以通过在时间线中包含内容来实现更多效果,但取决于可能是个坏主意的要求(如果需要删除/编辑)。写入应该是非问题,20k写入/秒/节点是合理的,只要您有足够的系统。

如果我正确理解了您的用例,那么您可能会喜欢使用模式之类的twissandra,但请务必使用预期的工作负载进行测试。请记住,在某种程度上,所有内容都会变得复杂一些(例如,如果您希望数百万篇文章需要进一步分区,请参阅https://academy.datastax.com/demos/getting-started-time-series-data-modeling)。