如何将两个Cassandra表保持在同一分区中



我试着阅读数据税博客和文档,但找不到任何关于的具体信息

有没有办法让Cassandra中的两个表属于同一个分区?例如:

CREATE TYPE addr (
  street_address1 text,
  city text,
  state text,
  country text,
  zip_code text,
);
CREATE TABLE foo (
  account_id timeuuid,
  data text,
  site_id int,
  PRIMARY KEY (account_id)
};
CREATE TABLE bar (
  account_id timeuuid,
  address_id int,
  address frozen<addr>,
  PRIMARY KEY (account_id, address_id)
);

在这里,我需要确保这两个表/CF都将位于同一分区上,这样对于同一account_id,这两组数据都可以从同一节点中提取

任何指示都将不胜感激。

此外,如果有人在使用UDT(用户定义类型)方面有一些经验,我想了解向后兼容性是如何工作的。如果我将"addr"UDT修改为具有更多的属性(例如zip_code2 int和name text),那么具有这些属性的旧行是如何工作的?它甚至兼容吗?

感谢

如果两个表共享相同的复制策略和相同的分区键,它们将对各自的分区进行并置。因此,只要这两个表在相同的密钥空间中,并且它们的分区密钥与匹配

PRIMARY KEY(account_id)==主密钥(account_id[/em>,address_id)

任何给定的account_id都将在相同的机器上(并复制到)。

最新更新