【发布时间】:2013-09-08 22:59:01
【问题描述】:
以下查询在 Cassandra 中的执行路径是什么: - 来自一个带有令牌 1(Node1)的 Cassandra 节点的 5 行 - 来自一个 Cassandra 节点的 5 行,带有令牌 2(Node2) - 来自一个 Cassandra 节点的 5 行,令牌为 3(Node3)
客户端向 Node1 发送查询。 - 这个查询在 3 个节点中执行的顺序是什么? - Node1 如何将此查询传播到 node2 和 node3? - Node1 合并来自 node2 和 node3 的行以提供完整的查询结果?
【问题讨论】:
-
您发出的确切查询是什么?
-
从所有 3 个节点获取许多行的查询。我想了解这个查询处理在 Cassandra 节点中是如何工作的,如问题示例中给出的那样。
-
您是否在查询
SELECT * FROM mytable;或SELECT * FROM mytable WHERE key in ('key1', 'key2');?它对其处理方式有所不同。如果你用的是thrift接口,你是用get_range_slices还是multiget_slice? -
我还没有发出任何查询。获得理解。在我开始创建列族之前还有一些时间。我想先了解一下 select * 的情况。如果您能对“行键上的 where 子句”有所了解,那也会很有用。