Cassandra UDT 列作为聚类列
Cassandra UDT column as clustering column
我正在使用自定义 UDT 类型来存储地点信息。它在 table 中存储为冻结 blob/serialized 类型。用于根据 country 和 state 进行排序。 将 UDT 类型保留为聚类列有多大意义。将具有相同国家和州的地方的所有序列化值组合在一起。
create type place(
country Text,
state Text
);
create table myTable(
person Text,
sale_place FROZEN<place>,
sale_time TIMESTAMP,
PRIMARY KEY( person,sale_place,sale_time)
) WITH CLUSTERING ORDER BY (sale_place ASC,sale_time ASC );
据我所知,使用 UDT 作为主键的一部分没有任何限制。在最初的日子里,不鼓励在主键中使用 UDT
(http://www.datastax.com/dev/blog/cql-in-2-1)。我认为主要原因是当时的 UDT 主要用于简化集合中的复杂类型。
如今,我认为该模式可读性很强,我认为应该可以很好地使用它。
我正在使用自定义 UDT 类型来存储地点信息。它在 table 中存储为冻结 blob/serialized 类型。用于根据 country 和 state 进行排序。 将 UDT 类型保留为聚类列有多大意义。将具有相同国家和州的地方的所有序列化值组合在一起。
create type place(
country Text,
state Text
);
create table myTable(
person Text,
sale_place FROZEN<place>,
sale_time TIMESTAMP,
PRIMARY KEY( person,sale_place,sale_time)
) WITH CLUSTERING ORDER BY (sale_place ASC,sale_time ASC );
据我所知,使用 UDT 作为主键的一部分没有任何限制。在最初的日子里,不鼓励在主键中使用 UDT (http://www.datastax.com/dev/blog/cql-in-2-1)。我认为主要原因是当时的 UDT 主要用于简化集合中的复杂类型。
如今,我认为该模式可读性很强,我认为应该可以很好地使用它。