我开始阅读Cassandra这本权威指南,它基于Cassandra 0.7。现在,我尝试用Cassandra 2.1.5进行实验,似乎存在很多差异,这真的令人困惑。
例如,我看到在0.7版本中CQL不存在。另一方面,数据模型似乎有很大不同。您现在可以使用CQL定义模式,而在0.7版中则没有模式。
任何人都可以很快解释这些差异,特别是关于数据模型吗?
据我所知,在0.7版本中,这个想法是关于不同长度的行,即具有不同列数的行。但现在我知道每列实际上是一个包含许多参数的字段,因此您可以在同一行(相同的键)中拥有所需的字段。
有人可以总结一下这些差异吗?也许我没有正确理解。
答案 0 :(得分:1)
需要考虑的重要一点是,底层存储模型保持不变。 CQL只是该模型之上的一个抽象层,可以更轻松地处理和建模您的数据。 DataStax MVP John Berryman有一篇很好的文章:Understanding How CQL3 Maps to Cassandra’s Internal Data Structure
在这篇文章中,Berryman观察到:
此外,他概述了使用基于CQL的方法的好处:
可以在同一行(同一个键)中拥有任意数量的字段。
实际上,每个分区(rowkey)有大约20亿个列的硬限制。