【发布时间】:2021-01-09 20:45:29
【问题描述】:
假设我有一张这样的桌子
CREATE TABLE request(
transaction_id text,
request_date timestamp,
data text,
PRIMARY KEY (transaction_id)
);
transaction_id 是唯一的,据我了解此表中的每个分区只有一行,我不确定这种情况是否会导致操作系统出现性能问题,可能是因为Cassandra 为每个分区创建一个文件,导致为其托管操作系统管理大量文件,作为说明,我不确定 Cassandra 如何为其表创建文件。
在这种情况下,我可以通过它的 transaction_id 找到一个请求,例如
select data from request where transaction_id = 'abc';
如果前面的假设是正确的,那么下一个可能是另一种方法吗?
CREATE TABLE request(
the_date date,
transaction_id text,
request_date timestamp,
data text,
PRIMARY KEY ((the_date), transaction_id)
);
字段 the_date 会每隔一天更改一次,因此表中的分区将每天创建。
在这种情况下,我必须让 the_date 数据对客户端始终可用,以便我可以使用下一个查询找到请求
select data from request where the_date = '2020-09-23' and transaction_id = 'abc';
提前感谢您的热心帮助!
【问题讨论】:
标签: cassandra primary-key partition