嗨,我正在尝试了解使用 cql3 将数据插入到具有地图类型的表中时遇到的这个问题。通常我可以在每个 cql3 线程中插入数据平均约 1000 iops 没有问题。一旦我添加了地图类型,插入在大约 100,000 个条目后超时并出现此错误:无法完成请求:一个或多个节点不可用。在多个节点上(甚至跨数据中心),我注意到插入期间 CPU 负载异常高。
每个节点的规格是:Cpu:16 核心内存:64GB
这是我设置的测试表架构。
CREATE TABLE test (
id text,
q text,
g text,
gt text,
gi map<text,text>,
ts timestamp,
PRIMARY KEY (id, ts)
) WITH CLUSTERING ORDER BY (ts DESC);
CREATE KEYSPACE testkeyspace WITH replication = {
'class': 'NetworkTopologyStrategy',
'DC1': '2',
'DC2': '2'
};
卡桑德拉版本 1.2.4
更新:目前我们只是从其他 rdbms 导入数据。大约 100% 的时间,我们要么添加新行,要么向地图列添加新元素。我知道地图列可以拥有的元素数量的限制。