gpt4 book ai didi

java - 在 Cassandra 中将三列值分组为一列?

转载 作者:行者123 更新时间:2023-12-01 14:05:41 24 4
gpt4 key购买 nike

下面是我需要在 Cassandra 列族中表示的数据。

rowKey           e1_name                    e1_schemaname                   e1_last_modified_date
123 (ByteArray value) abc (some string) some_date

userId 是这里的rowKeye1_namee1_schemanamee1_last_modified_date 是专门针对 e1 的列。所有这三列都包含专门针对 e1 列的值。以同样的方式,我将有其他专栏,如下所示。

 e2_name                    e2_schemaname                   e2_last_modified_date
(ByteArray value) abc (some string) some_date

e3_name e3_schemaname e3_last_modified_date
(ByteArray value) abc (some string) some_date

现在我在想 - 有没有办法将这三件事 e1_namee1_schemanamee1_last_modified_date 分组到单个列 e1 并将所有三个的复合值存储在一起,而不是单独存储。

如果是的话,有人可以帮我为此设计列族吗?我将使用 Astyanax 客户端插入到上述列族中。

最佳答案

如果我理解正确,您可以按以下方式设计架构:

列:

用户 ID、记录类型、名称、模式名称、最后修改日期

user_id 是您的行键(分区键)

record_type 或 so (e1, e2) 可能是集群键,以防 e1、e2 在单个用户中是唯一的。否则,您的集群键可能是复合的,包括用于创建唯一键的字段集

第一种情况 PRIMARY_KEY(user_id, record_type)

          e1                          e2
123 : {name, schemaname, date } | {name, schemaname, date }

第二个示例可以是 PRIMARY_KEY(user_id, record_type, name)

          e1|name                    e2|name
123 : {schemaname, date } | {schemaname, date }

听起来不错吗?

最后我想说有一个非常好的官方 Datastax 驱动程序用于 cassandra 本地传输:

https://github.com/datastax/java-driver

关于java - 在 Cassandra 中将三列值分组为一列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18927655/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com