gpt4 book ai didi

Cassandra 数据模型 - 1 个 SCF 或多个 CF

转载 作者:行者123 更新时间:2023-12-02 23:46:10 25 4
gpt4 key购买 nike

考虑以下情况,我想在 Cassandra 中存储有关石砖的数据。首先,砖 block 有一个唯一的名称/ID,称为brick123。该砖 block 的“尺寸”为宽度:6、高度:3、长度:4。它的“重量:2pds”。它有一些狂野的“颜色”基色:红色,色调:砂岩,条纹:蓝色。它是在以下国家“生产”的,1:俄罗斯,2:非洲,3:日本。我们可以从以下“供应商”处订购:1:Lowes,2:bricks-r-us,3:stone-supply。

现在,如果我有 X block 石砖,我们是否应该使用 super 柱族来容纳我们的砖 block 数据?我们可以向 Cassandra 索要来自非洲的石砖吗?或者可以通过石材供应获得哪些石砖?

谢谢!

最佳答案

通常的建议似乎是避免 SCF,而选择多个 CF。

对于砖 block 的普通属性(宽度、颜色...),您可以使用每个砖 block 的简单行和每个属性的列(如果您想查找具有特定属性的砖 block ,您还可以启用自动二级索引):

CF "bricks":

brick123 -> w h l weight color hue striping
6 3 4 2pds red sandstone blue

对于多值属性(国家/地区、生产商),您可以拥有单独的列族:

CF "countries":

brick123 -> Russia Africa Japan
<empty> <empty> <empty>

和/或如果您想查找来自给定国家/地区的砖 block ,您可以创建一个二级索引作为另一个 CF:

CF "country2bricks"

Russia -> brick123 brick124 ...
<empty> <empty>

Africa -> brick123 brick127 ...
<empty> <empty>

Japan -> brick123
<empty>

(供应商也同样)

关键点是,在 Cassandra 中,您可以构建列族来匹配您要执行的查询,并根据需要进行非规范化。

“空”表示我们仅使用列名来存储信息,列值为空。

关于Cassandra 数据模型 - 1 个 SCF 或多个 CF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8105578/

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