我说列系列用户,我想在其中存储用户名。 所以我将在用户列族中插入“user-name”=“nameValue”对。以下是两种方法
如果我在创建columnFamily时未在用户中提及“用户名”作为列名,并向用户CF插入如此百万列并且
如果我使用列元数据创建CF用户,包括“用户名”作为模式中的列名,并插入如此百万列
这两种方法的大小(磁盘上sstables的大小)和插入cassandra所花费的时间是否会有所不同?
答案 0 :(得分:2)
只有cassandra才能将column_metadata字段用于两件事。二级索引和列值验证。这听起来并不像是在创建二级索引(显然会占用更多空间并影响插入时间)
因此,您将获得的好处是验证您的列值是否符合特定类型。这根本不会增加CF的大小。显然,插入该列时会有一个额外的步骤,但那里的性能影响应该微乎其微。
使用column_metadata的另一个小好处仅仅是为了审美目的/ cf的文档及其用途。如果您想将其用于此目的或用于验证列值,请继续。