卡桑德拉数据建模的计算

问题描述:

我有customer_info表在卡桑德拉。它将具有以下列。卡桑德拉数据建模的计算

  1. UUID是主键。
  2. CUSTOMER_ID
  3. 等领域......期间365天

$ 100交易上限为每一位客户。

我有以下2个选项

  1. 从客户表中选择的特定customer_id所有记录。在应用程序代码中进行内存计算;如果交易限制不超过100 $,则在customer_info表中进行插入或更新。

  2. 维护一个新表customer_limit,它将由customer_idlimit领域。在对customer_info进行CRUD操作之前,我会查询customer_limit表中的知道限制,并根据限制做customer_info表上的CRUD操作。

在维护和更快的读写方面,哪个选项最适合?

+0

第一:如果您的主键只有UUID,您将如何查询* customer_id *? – xmas79

+0

我忘了提及关于“customer_id”的索引 –

我会为此使用2个表格。

table-2将是一个柜台表,其中limit作为柜台值。在插入customer_info表之前,您应始终查询此table-2

请参阅Counters这里。它们很容易使并发增量避免在应用程序源代码中写入之前读取。

另请阅读关于Partion和Clustering的关键概念。您选择customer_info的钥匙不太好。

我认为您必须保留每笔交易的细节,因为您需要在每笔交易中“提前”的固定光圈(365天)的“移动”窗口。

您可以创建一个transactions表如下主键字段对:

(customer_id, transaction_date) 

通过聚类在DESC为了这个表(按课程的日期),那么你可以随时查询最近365天,有效地, 每天。