我不明白关于Cassandra的一件事。说,我有类似的Facebook网站,人们可以分享,评论,上传图片等。构建cassandra数据库
现在,让我们说,我想所有的事情我的朋友们:
- USERNAME1喜欢你对此有何评论
- 用户名2更新了他的个人资料图片
等。
所以大量的阅读后,我想我需要做的是为每一个单一的东西创造新柱族,例如:user_likes
user_comments
,user_shares
。基本上,任何你可以想到的,甚至在我这样做之后,我仍然需要为大多数列创建二级索引,以便我可以搜索数据?即使如此,我怎么知道哪些用户是我的朋友呢?我需要首先获取我的所有朋友ID,然后搜索所有这些列家庭为每个用户ID?
编辑 行,所以我做了一些更多的阅读,现在我明白的事情更好一点,但我仍然无法真正弄清楚如何构建我的表,所以我将一个赏金,我想得到我的表应该看起来怎么样,如果我想存储在这样的顺序检索数据的一个明显例子:
- 所有
- 喜欢
- 评论
- 收藏 个
- 下载
- 股份
- 消息
所以我们可以说,我想找回我所有的朋友10页最后上传的文件或我关注的人,这是它会是什么样子:
John uploaded song AC/DC - Back in Black 10 mins ago
和评价,比如和股每一件事情是类似于......
现在可能最大的挑战将是检索所有类别的10个最后的东西在一起,所以列表将是所有东西的组合...
现在我不需要一个完整的详细表的答案,我只需要一些非常清晰的例子,我将如何构建和检索数据,如我将在mysql
与joins
是的,您需要定义二级索引才能搜索您的数据。没有,你只能通过密钥获取数据.. –
不,你不傻,顺便说一句。借助Cassandra,您需要详细了解您想要存储的内容以及访问方式。只有这样,您才能真正进入您的专栏家族的最佳模式。 –