【问题标题】:Data modeling on cassandra?cassandra上的数据建模?
【发布时间】:2014-03-01 15:51:55
【问题描述】:

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

我的业务是让我的客户创建广告系列,然后从我的用户数据库中导入用户, 然后向他们发送电子邮件。收到我们的邮件后,用户可能会执行一些操作(打开、查看商品、购买、投诉、退订……),我将根据其活动记录这些操作。

我的数据结构是:

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

这是我第一次使用 cassandra,我从谷歌搜索并阅读了许多资源,但仍然 对我的数据建模方式感到困惑。

更新:我的查询

我需要做以下查询:

  1. 列出系统中的所有广告系列
  2. 列出客户的所有广告系列
  3. 每当用户对广告系列执行操作时插入操作日志
  4. 列出活动中的所有用户及其执行的操作,包括发生的操作 每个动作的时间(作为表格,带有分页)
    • 列是操作
    • 每一行都是一个用户
    • 每个单元格都是对用户进行操作的发生时间

请给我一个想法或介绍一些关于如何为我的数据建模的文章?

非常感谢。

【问题讨论】:

  • @Chiron 是正确的,您必须首先问自己需要如何查询数据。如果您提供有关查询的一些信息,也许我们可以帮助您找到正确的数据模型。
  • 很抱歉最近的回复,我住的地方是晚上。我已经更新了我的问题。

标签: cassandra


【解决方案1】:

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

因此,如果您的查询是关于列出属于某个客户的所有广告系列,这意味着您的“客户”表应该包含非规范化数据。您的其他查询也是如此。

【讨论】:

  • 我已更新我的问题以添加查询。请看一看。
猜你喜欢
  • 2014-03-17
  • 2015-12-25
  • 2015-04-09
  • 1970-01-01
  • 2015-06-04
  • 1970-01-01
  • 2020-05-31
  • 2019-09-02
相关资源
最近更新 更多