我希望有人能够消除我对 Cassandra 中的行和分区之间的区别的困惑。我认为一行将是一组列(就像在 SQL 数据库中),如架构中指定的那样,按分区键跨节点分布,并按每个分区内的集群键排序。
但后来我遇到了这个教程:https://academy.datastax.com/demos/getting-started-time-series-data-modeling https://academy.datastax.com/demos/getting-started-time-series-data-modeling
在“时间序列模式 1”下,它指出:
由于每一列都是动态的,因此我们的行将根据需要增长以容纳数据。
为什么会长出一行呢?我可以看到分区在增长,但为什么是一行?该示例中的图片对我来说也毫无意义——我将分区想象为一组行,每行都有一个 (WeatherStation|event) 列,其中 WeatherStationID 对于分区中的每一行来说都是相同的重复值。
I also tried looking at this tutorial: http://www.slideshare.net/yukim/cql3-in-depth http://www.slideshare.net/yukim/cql3-in-depth, slide 15.
我的解读是,这显示了一个包含两行的分区。在我看来,无论多少new当您插入数据时,分区会增长,但行不会增长(当然不运行“alter table”)?
你是对的。在您发布的文章中,他谈论的是分区,而不是行。
在许多情况下,这两个术语仍然非常宽松地使用来表示彼此。在 thrift 时代,正确的术语是 row,但随着新的 CQL 的出现,情况发生了变化。
在 Thrift 中的一个不相关的说明中,您可以增长一行(而不是分区),因为每一行都有自己的架构。您可以在这里找到更多相关信息:http://www.datastax.com/dev/blog/does-cql-support-dynamic-columns-wide-rows http://www.datastax.com/dev/blog/does-cql-support-dynamic-columns-wide-rows
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)