如何通过跟踪查询来解释cassandra一致性

问题描述 投票:0回答:1

即使我的查询没有选项IF EXISTS和IF NOT EXISTS,你能否给出建议。仍然在查询中跟踪结果显示了我们想要的consistency_level“QUORUM”

但它也显示'serial_consistency_level':'SERIAL',这是什么行为

 session_id                           | client      | command | coordinator | duration | parameters                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | request                     | started_at
--------------------------------------+-------------+---------+-------------+----------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------------------------+---------------------------------
 278a2000-3dfb-11e9-b459-9775e6c46fc6 | 10.244.*.* |   QUERY |  10.244.*.* |     3338 | 
`

`{'bound_var_0_stream_id': '''3c17230d-ea24-4ff7-9599-352fef883b31''', 
 'bound_var_1_property_name': '''Location:rxRSSI''', 
 'bound_var_2_shard_date': '2019-03-03T00:00:00.000Z', 
 'bound_var_3_time': '2019-03-03T21:27:30.749Z', 
 'bound_var_4_source_id': '''fe30653c-467f-401a-9646-67b10378e1c9''', 
 'bound_var_5_time_lag': '1328', 
 'bound_var_6_property_class': '''java.lang.Integer''', 
 'bound_var_7_property_type': '''ByteType''', 
 'bound_var_8_property_value': '''-44''', 
 'consistency_level': 'LOCAL_QUORUM', 
 'page_size': '5000', 
 'query': 'INSERT INTO "cloudleaf"."stream_48" ("stream_id", "property_name", "shard_date", "time", "source_id", "time_lag", "property_class", "property_type", "property_value") 
 VALUES (:"stream_id", :"property_name", :"shard_date", :"time", :"source_id", :"time_lag", :"property_class", :"property_type", :"property_value") 
 USING TTL 432000', 
 'serial_consistency_level': 'SERIAL'} 
cassandra cql cassandra-2.0 cassandra-3.0 cqlsh
1个回答
2
投票

IF EXISTSIF NOT EXISTS触发一个轻量级事务,它可以具有两个一致性级别SERIALLOCAL_SERIAL之一。这些定义如下:

SERIAL:通过阻止无条件更新,实现轻量级事务的可线性一致性。此一致性级别仅用于轻量级事务。相当于QUORUM。

LOCAL_SERIAL:与SERIAL相同但仅限于数据中心。必须将条件写入写入提交日志,并在同一数据中心的法定数量的副本节点上进行记忆。与SERIAL相同但用于在本地维护一致性(在单个数据中心内)。相当于LOCAL_QUORUM。

见:https://docs.datastax.com/en/cassandra/3.0/cassandra/dml/dmlConfigSerialConsistency.html

© www.soinside.com 2019 - 2024. All rights reserved.