如何在cassandra中建立facebook帖子的模型

时间:2016-07-04 06:34:37

标签: cassandra data-modeling

我是cassandra的新手。我正试图在cassandra中设计一个存储facebook帖子数据的表。

它包含

user_id,post_id,post_data,comments_details,likes_details, comments_count and likes_counts

我将user_id and Post_Id作为Partitioning key

我使用用户定义的数据类型来存储包含list of map types字段<{1}}的JSON数据

comments_details

这是在单个表中执行此操作的正确方法,还是可以为comments_details和likes_details创建另一个表。我也想对这篇文章没有评论。

请帮助..

1 个答案:

答案 0 :(得分:2)

Cassandra中的数据建模在很大程度上取决于您计划运行最多的查询。首先,我们应该讨论一个正确的数据模型相对于一组特定的查询。

Here如果你刚刚开始使用Cassandra,那么我建议你写一篇非常好的文章。它提供了一种用于数据建模的自动化工具,但也简要而精确地解释了良好数据建模背后的基本原理。

通常,您希望应用程序以尽可能少的分区访问来满足其数据需求。数据如何变红是一个重要的部分:例如,如果应用程序的主要要求是加载给定用户的最新帖子,我们将决定使用user_id作为分区键,并将发布日期作为集群键通过单个分区访问获取最新的n个帖子。需要考虑的其他方面是灵活性和数据分布之间的权衡。换句话说,考虑一组特定的查询和访问模式,然后从那里开始。