Cassandra 1.0.12复合类型主键显示为blob的差异问题咨询
Cassandra 1.0.12复合主键列族显示差异问题解答
1. 两者是否为同一事物?
是同一事物。虽然显示的主键类型不同,但底层的主键处理逻辑完全一致,都是按照你最初定义的CompositeType(LongType, LongType)来序列化、存储和解析主键数据。
2. 为何显示不同?
这是Cassandra 1.0.x版本CLI工具的显示特性问题:
- 当你用
CREATE COLUMNFAMILY指定复合类型主键时,底层会将复合主键序列化为Blob格式存储; - 但旧版本的
DESCRIBE COLUMNFAMILY命令不会反向解析Blob对应的原始复合类型定义,而是直接显示底层的存储类型blob,但实际的类型校验和处理逻辑并没有改变。
3. 复制加载SSTable是否会有问题?
不会有问题。只要两个集群的列族实际定义(即主键的复合类型结构、比较器配置)一致,直接复制SSTable文件到目标集群的对应目录后,Cassandra可以正确解析其中的复合主键数据,不会出现兼容性问题。
内容的提问来源于stack exchange,提问作者Zen
相关产品推荐
相关产品推荐

