Java 在声明cassandra族时指定列_元数据总是一个好主意吗?

Java 在声明cassandra族时指定列_元数据总是一个好主意吗?,java,cassandra,astyanax,Java,Cassandra,Astyanax,我知道column_元数据可以用于为任何列提供配置,但通常情况下,我不需要特定于列的配置。在这种情况下,在创建族时使用column_元数据有什么好处吗 具体而言,书面形式是否有任何优势: create column family session with comparator = UTF8Type and column_metadata = [{ column_name : account, validation_class : UTF8T

我知道column_元数据可以用于为任何列提供配置,但通常情况下,我不需要特定于列的配置。在这种情况下,在创建族时使用column_元数据有什么好处吗

具体而言,书面形式是否有任何优势:

create column family session
    with comparator = UTF8Type
    and column_metadata =
    [{
        column_name : account,
        validation_class : UTF8Type
    }
];
而不是

create column family session
    with comparator = UTF8Type;

这是关于比较器还是验证类的问题?这两个AFAIK有两个截然不同的含义

在你上面的例子中,我阅读它的方式是

1) 您的列名将是UTF8Type字符串。 2) 您尚未定义任何默认的\u验证\u类,因此每个列的\u值都使用字节类型进行验证(即无验证) 3) 您希望列“account”具有UTF8类型的值。如果要存储没有字母的帐号,可以指定一个类似这样的长字符

**create column family session with comparator = UTF8Type and column_metadata = [{ column_name : account, validation_class : Long } ];** **创建列族会话 带比较器=UTF8Type 和列的元数据= [{ 列名称:帐户, 验证类:长 } ];** 在此之后,您只能在帐户列中存储号码

简而言之,Comparator是Column_Name的数据类型。验证类用于列的值,对于不同的列可以不同。 希望这有帮助