紧凑型存储的CQL3集合



这个问题是关于Datastax的这篇文章的。在其"非紧凑表"子主题中,它表示

不同之处在于,上面的定义将在内部使用带有单个UTF8Type组件的CompositeType比较器,而不是UTF8Type比较器。这可能看起来很浪费(从技术上讲,CompositeType的使用为每个内部单元增加了2字节的开销(因此使用了紧凑/非紧凑术语)),但原因是支持集合。在内部,集合需要使用CompositeType。

我的问题是关于最后一行的。它说集合需要CompositeType比较器。在上面引用的例子中,当我们使用紧凑型存储时,它没有提供CompositeType比较器,而是提供UTF8Type比较器。所以集合不能与之一起使用。我明白了。

但是,如果您有2个PRIMARY KEYS,即使使用Compact Storage,也可以获得CompositeType比较器。那为什么在这种情况下我们不能收藏呢?

一个可能的原因是CompositeType比较器不是Collections的唯一要求。如果是,其他要求是什么?

谢谢。

它必须是非压缩存储创建的特定CompositeType。这允许集合名称成为比较器组件之一。

最新更新