gpt4 book ai didi

Cassandra:在不分区的情况下对小表进行建模

转载 作者:行者123 更新时间:2023-12-04 12:49:00 24 4
gpt4 key购买 nike

我想使用 Cassandra 建模一个小表(纯粹是为了方便起见),它将所有数据放在一个节点上(可能还有一些其他节点上的复制数据)。这样做的原因是我想做很多SELECT * FROM my_table之后从它查询。

我知道有一种方法可以通过创建一个具有恒定分区键的表并将我当前的主键放入集群键(列)中来实现这一点,但这感觉很hacky。这将表面上将整个表存储在 r 个节点上,其中 r = 复制因子。

例子:
当前表与 Primary Key (param1) .将此移至 Primary Key ('some constant', param1) .

有没有更好的方法来实现这一点,例如使用我错过的一些 Cassandra 表或键空间配置?

最佳答案

I know that there is a way to achieve this by creating a table with a constant Partition Key and putting my current Primary Key into Clustering Key (Columns), but this feels very hacky. This would superficially store the whole table on r nodes, where r = replication factor.



我不同意这是 hacky 或肤浅的解决方案。 Cassandra 设计的一个关键部分是选择合适的分区键,以便单个查询的所有数据都在单个分区中。在您的情况下,如果您希望读取所有表数据,那么拥有一个常量分区键是完全合理的。

如果数据集中没有常量字段,那么使用任意值(分区 ID)就可以了。这与在架构中添加任意值作为附加集群列来存储数据基本相同,这是一个非常常见的用例。

直接回答您的问题,不,我认为没有设置可以实现您想要的。

关于Cassandra:在不分区的情况下对小表进行建模,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41578751/

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