cassandra上的数据建模?

时间:2014-02-05 09:39:42

标签: cassandra

我有一个电子邮件营销项目,经过长时间的研究,我决定 使用cassandra存储我的数据。

我的业务是允许我的客户创建广告系列,然后从我的用户数据库导入用户, 然后发送电子邮件给他们。收到我们的电子邮件后,用户可能会做一些操作(打开,查看项目,购买,投诉,取消订阅......),我会根据其广告系列记录此操作。

我的数据结构是:

  • 每位客户都可以创建一个或多个广告系列。
  • 每个广告系列都包含大量用户。
  • 每个用户都可以对广告系列执行零次或多次操作。

这是我第一次使用cassandra,我搜索并阅读了谷歌的许多来源但仍然存在 混淆了我的数据建模方式。

更新:我的查询

我需要进行以下查询:

  1. 列出系统中的所有广告系列
  2. 列出客户的所有广告系列
  3. 每当用户对广告系列执行操作时插入操作日志
  4. 列出广告系列中包含所执行操作的所有用户,包括已发生的操作 每个动作的时间(作为表,具有分页)
    • 列是操作
    • 每行都是用户
    • 每个单元格是对用户采取行动的时间
  5. 请给我一个想法或介绍一些关于如何建模数据的文章?

    非常感谢。

1 个答案:

答案 0 :(得分:3)

在Cassandra中,您可以根据查询对表进行建模;不是你的实体之间的关系。这意味着重复的数据是正常的,正常的和鼓励的。请记住,您的表之间没有任何关系。

因此,如果您的查询是关于列出属于客户的所有广告系列,则表示您的“客户”表应包含非规范化数据。其余的查询也是如此。

相关问题