卡桑德拉数据建模的计算
问题描述:
我有customer_info
表在卡桑德拉。它将具有以下列。卡桑德拉数据建模的计算
- UUID是主键。
- CUSTOMER_ID
- 量
- 等领域......期间365天
$ 100交易上限为每一位客户。
我有以下2个选项
从客户表中选择的特定
customer_id
所有记录。在应用程序代码中进行内存计算;如果交易限制不超过100 $,则在customer_info表中进行插入或更新。维护一个新表
customer_limit
,它将由customer_id
和limit
领域。在对customer_info
进行CRUD操作之前,我会查询customer_limit
表中的知道限制,并根据限制做customer_info
表上的CRUD操作。
在维护和更快的读写方面,哪个选项最适合?
答
我会为此使用2个表格。
table-2
将是一个柜台表,其中limit
作为柜台值。在插入customer_info表之前,您应始终查询此table-2
。
请参阅Counters这里。它们很容易使并发增量避免在应用程序源代码中写入之前读取。
另请阅读关于Partion和Clustering的关键概念。您选择customer_info
的钥匙不太好。
答
我认为您必须保留每笔交易的细节,因为您需要在每笔交易中“提前”的固定光圈(365天)的“移动”窗口。
您可以创建一个transactions
表如下主键字段对:
(customer_id, transaction_date)
通过聚类在DESC
为了这个表(按课程的日期),那么你可以随时查询最近365天,有效地, 每天。
第一:如果您的主键只有UUID,您将如何查询* customer_id *? – xmas79
我忘了提及关于“customer_id”的索引 –