在此表中,应用程序将向我们提供以下数据,并且当我们将收到有关状态的更新时,它将是增量的。所以最初的表格如下图所示: -
+---------------+---------------+---------------+---------------+
| ID | Total count | Failed count | Success count |
+---------------+---------------+---------------+---------------+
| 1 | 30 | 10 | 20 |
+---------------+---------------+---------------+---------------+
现在让我们假设现在推送了30条消息,其中10条失败,20条成功,如上所示。现在再次运行应用程序并更改值。现在共有20条新记录出来,其中所有记录都是成功的。这应该在同一行更新。
+---------------+---------------+---------------+---------------+
| ID | Total count | Failed count | Success count |
+---------------+---------------+---------------+---------------+
| 1 | 50 | 10 | 40 |
+---------------+---------------+---------------+---------------+
使用Counter数据类型在Cassandra DB中是否可行?
答案 0 :(得分:1)
当然你可以在你的情况下使用计数器表。 让我们假设表格结构如下:
CREATE KEYSPACE Test WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 3 };
CREATE TABLE data (
id int,
data string,
PRIMARY KEY (id)
);
CREATE TABLE counters (
id int,
total_count counter,
failed_count counter,
success_coutn counter,
PRIMARY KEY (id)
);
您可以通过运行以下查询来增加计数器:
UPDATE counters
SET total_count = total_count + 1,
success_count = success_count + 1
WHERE id= 1;
希望这可以帮到你。