【发布时间】:2016-10-06 18:42:27
【问题描述】:
我有两个 cassandra 表,一个记录表和一个计数器表。 计数器表为记录表中的每种记录保存一个计数器。
当我在记录表中插入一条新记录时,我会同时更新计数器表。但是新记录可能已经在记录表中。插入两次相同的记录是可以的,但是我会添加两次计数器,这是不正确的。
我现在有两个解决方案。
使用新记录键从 cassandra 获取记录。如果它不为null,我不会插入记录并增加计数器。
使用轻量级事务让 cassandra 检查记录是否已经存在。
解决方案 2 将使插入“原子”,但文档说它会产生性能损失。在解决方案 1 中,我发送 2 个查询,这也会有性能损失。
目前我正在使用解决方案 1。我是 cassandra 轻量级事务的新手,所以我不知道原子性的成本。有谁知道哪种解决方案更好?
【问题讨论】:
标签: performance cassandra consistency nosql