对 Cassandra 术语感到困惑(行与分区)
Confused on Cassandra terminology (row vs partition)
我希望有人能消除我对 Cassandra 中行和分区之间区别的困惑。我认为一行将是一组列(如在 SQL 数据库中),如模式中指定的那样,按分区键跨节点分布,并按每个分区内的集群键排序。
但后来我 运行 进入了本教程:https://academy.datastax.com/demos/getting-started-time-series-data-modeling
在 "Time series Pattern 1" 下,它指出:
Since each column is dynamic, our row will grow as needed to accommodate the data.
为什么一行会增长?我可以看到一个分区在增长,但为什么是连续的?该示例中的图片对我来说也毫无意义——我将分区想象成一组行,每行都有一个 (WeatherStation|event) 列,其中 WeatherStationID 对于分区中的每一行都是相同的重复值。
我也试过看这个教程:http://www.slideshare.net/yukim/cql3-in-depth,幻灯片 15。
我的解读是,这显示了一个包含两行的分区。在我看来,无论插入多少 new 数据,分区都会增长,但行不会增长(当然缺少 运行 "alter table")?
你是对的。在您发布的文章中,他谈到了分区,而不是行。
这两个术语在许多情况下仍然非常松散地相互指代。在节俭的日子里,正确的术语是行,但随着新的 CQL 的出现而改变了。
在 Thrift 中的一个不相关的注释中,您可以增长一行(而不是分区),因为每一行都有自己的架构。您可以在此处找到更多相关信息:
http://www.datastax.com/dev/blog/does-cql-support-dynamic-columns-wide-rows
我希望有人能消除我对 Cassandra 中行和分区之间区别的困惑。我认为一行将是一组列(如在 SQL 数据库中),如模式中指定的那样,按分区键跨节点分布,并按每个分区内的集群键排序。
但后来我 运行 进入了本教程:https://academy.datastax.com/demos/getting-started-time-series-data-modeling
在 "Time series Pattern 1" 下,它指出:
Since each column is dynamic, our row will grow as needed to accommodate the data.
为什么一行会增长?我可以看到一个分区在增长,但为什么是连续的?该示例中的图片对我来说也毫无意义——我将分区想象成一组行,每行都有一个 (WeatherStation|event) 列,其中 WeatherStationID 对于分区中的每一行都是相同的重复值。
我也试过看这个教程:http://www.slideshare.net/yukim/cql3-in-depth,幻灯片 15。
我的解读是,这显示了一个包含两行的分区。在我看来,无论插入多少 new 数据,分区都会增长,但行不会增长(当然缺少 运行 "alter table")?
你是对的。在您发布的文章中,他谈到了分区,而不是行。
这两个术语在许多情况下仍然非常松散地相互指代。在节俭的日子里,正确的术语是行,但随着新的 CQL 的出现而改变了。
在 Thrift 中的一个不相关的注释中,您可以增长一行(而不是分区),因为每一行都有自己的架构。您可以在此处找到更多相关信息: http://www.datastax.com/dev/blog/does-cql-support-dynamic-columns-wide-rows