gpt4 book ai didi

cassandra - 考虑到性能,是否推荐使用 Cassandra 用户定义的数据类型?

转载 作者:行者123 更新时间:2023-12-04 20:38:02 25 4
gpt4 key购买 nike

我有一个 Cassandra 客户表,它将保留客户列表。每个客户都有一个地址,它是一个标准字段列表:

{
CustomerName: "",
etc...,
Address: {
street: "",
city: "",
province: "",
etc...
}
}

我的问题是,如果我在这个表中有一百万个客户,并且我使用用户定义的数据类型 Address 将每个客户的地址信息保存在 Customers 表中,那么这种模型的含义是什么,尤其是在磁盘空间方面。这会很贵吗?我应该使用 Address 用户定义的数据类型还是扁平化地址信息,甚至使用单独的表?

最佳答案

基本上在这种情况下发生的事情是 Cassandra 将地址的实例序列化为一个 blob,该 blob 存储为单个列作为客户表的一部分。我手头没有关于序列化将在磁盘或 CPU 使用率上占多少的任何数字,但它可能不会对您的用例产生太大影响。您应该测试这两种情况以确保。

编辑:我还应该提到的另一个方面:将 UDT 作为单个 blob 处理将意味着替换完整的 UDT 以进行任何更新。这将比更新单个列效率低,并且是导致不一致的潜在原因。在并发更新的情况下,两个写入都可能覆盖彼此的更改。见 CASSANDRA-7423 .

关于cassandra - 考虑到性能,是否推荐使用 Cassandra 用户定义的数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31727330/

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