问题标签 [citus]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
117 浏览

sql - 如何在 citus postgres 中获取分片表的聚合行数

要求是获取 Citus Postgres 数据库中所有分布式表的 reltuples 总和,格式如下所述。

当我运行以下命令时,查询传播到工作人员,并根据每个工作人员的分片计数,为每个表获取结果:

例如,结果由 <row_count, table_name_and_shardid {10, table_A_shardid0}, {20,table_A_shardid1}, {15, table_B_shardid0} >table_A_shardid0组成table_A_shardid1{30, table_A}

0 投票
1 回答
82 浏览

database - 如果我使用 citus,我可以使用 join 吗?

citus 如果我使用 citus 可以使用 join 吗?

是的,它们表现出色吗?

..................................................... ..................................................... ..................................................... ..................................................... ..................................................... ..................................................... ..................................................... ..................................................... ..................................................... ..................................................... ..................................................... ..................................................... ..................................................... ..................................................... …………………………………………………………………………………………………………

0 投票
1 回答
65 浏览

database - Citus “... 是一个元数据节点,但不同步 提示:如果节点已启动,请等到元数据同步到它,然后再试一次。”

我有一个有 4 个节点的 Citus (v10.1) 分片 PostgreSQL (v13) 集群。主节点地址为 10.0.0.2,其余为 0.5 尝试管理我的分片表时,出现此错误:

错误:10.0.0.5:5432 是元数据节点,但不同步
提示:如果节点已启动,请等到元数据同步到它并重试。

我一直在等待。30 分钟或更长时间后,我确实做到了drop schema ... cascadedrop extension Citus cascade;在重新导入数据、创建分片后,我再次收到相同的错误消息并且无法通过它。

一些附加信息:

可能是实际提示的另一件事是我无法通过 create_distributed_function() 分发我的函数,因为它说它处于死锁状态,并且无法提交事务。

我检查了空闲进程,没有什么不寻常的。

像这样创建分片:

谷歌搜索结果中没有关于这个主题的主题。

编辑1:

我确实轰炸了(每秒 20k-200k 次点击)我的分片,大量请求一个函数,如果设置了特定参数,该函数会插入/更新或删除。

0 投票
1 回答
93 浏览

postgresql - 在 citus 上测量 tpc-ds 基准

我正在尝试对 citus(postgres 的扩展)进行一些测量。对于那个任务,我正在 citus 上运行 tpc-ds 查询。我正在使用的 citus 是从这里获取的 master、workers 和 manager 的容器:https ://github.com/citusdata/docker 我可以通过添加他们的容器来添加workers。到目前为止一切顺利,但我在进行测量时遇到了麻烦,需要一些答案:

  1. 要使用所有工作人员,我需要运行 select_distributed_table/select_reference _table。是否将所有数据复制给所有工作人员(例如,16 名工作人员的 1TB 数据变成了 16 TB)?
  2. 如果我不使用 select_distributed_table 但添加工作人员,该操作有什么好处吗?
  3. 如果我已经运行了 select_distributed_table 并且后来添加了 worker,它是否会分发数据或者我需要再次运行 select_distributed_table?
0 投票
1 回答
229 浏览

postgresql - 将数据从 Citus 迁移到 RDS

由于 Citus 不会在 AWS 中作为托管服务提供,因此我正在尝试将数据库移动到 RDS(不是整个历史记录,而只是作为 OLTP 的事务部分)。从 Citus 迁移并不清楚,因为数据不驻留在单个节点中。我想检查我们可能必须将数据从 Citus 移动到 RDS 的选项。

Amazon DMS:此选项适用于支持的数据库 (PostgreSQL),但从引擎的分布式特性来看,我们不知道这在 Citus 中会有什么行为。是否有人将数据迁移到 S3、另一个 DB 或这些行中的东西?我从 AWS https://d1.awsstatic.com/whitepapers/aws-cloud-data-ingestion-patterns-practices.pdf?did=wp_card&trk=wp_card看到了这篇关于如何从不同来源和 DMS 摄取数据的论文。不错的选择,但我不太了解 Citus 的内部结构,无法判断我们是否会获得所有数据并正确收集 CDC。

自定义迁移:通过支持票证,我们可以访问 Citus 用于灾难恢复的 S3 存储桶,其中 WAL 日志可用,我们可以使用 WAL-G 之类的工具获取这些日志并将它们复制到 Postgres 实例中。这里的问题是这是一个非常自定义的迁移,开发时间可能太长。是否有任何其他选项可以将数据从 Citus 移动到 AWS 中的 RDS 或 Aurora,什么看起来像是进行数据库迁移的好方法?所有文档都提到将数据从 Aurora 或 RDS 转移到 Citus。

0 投票
0 回答
44 浏览

postgresql - 具有慢速 remote_scan 查询的 Postgres Citus

我在 Citus 上运行一个需要几个连接的查询。

https://explain.dalibo.com/plan/xCH

让我们不要考虑查询是 EAV 模型(实体属性值)这一事实,而是 sort/remote_scan 只需 100 个元素就需要大约 30 秒的事实。

PS:我也在没有 EAV 模型的情况下运行它,并且遇到了相同的 remote_scan 问题。

这对我来说看起来有点慢,因为其余的似乎都非常快。

0 投票
1 回答
69 浏览

postgresql - 我无法在我的 ubuntu 21.04 上安装 citus 10.2 版

我无法在我的 ubuntu 21.04 上安装 citus 版本 10.2,出现以下错误: E: Unable to locate package postgresql-14-citus-10.2 E: Couldn't find any package by glob 'postgresql-14-citus-10.2' E :通过正则表达式'postgresql-14-citus-10.2'找不到任何软件包我正在尝试使用citus文档安装它任何人都可以提出一些解决方案这是命令:- sudo apt-get -y install postgresql-14- citus-10.2

0 投票
2 回答
138 浏览

postgresql - Citus 10.2 未启动 PostgreSQL 实例

我正在使用 RHEL 8.4,并按照在您自己的 Linux 机器上从 RPM 包设置单节点 Citus 集群中的安装说明进行操作。.

第 1 步和第 2 步(安装 PostgreSQL 14 和 Citus 扩展初始化集群)顺利完成,没有任何问题。

但是当我尝试时(第 3 步:启动数据库服务器

pg_ctl -D citus -o "-p 9700" -l citus_logfile start

我在终端中收到以下错误

日志输出

我在postgres用户的主目录中有一个目录“citus”,其中包含所有必需的文件以及postgresql.conf

请帮忙。

0 投票
0 回答
39 浏览

postgresql - 在订阅者上测试从 Citus 到我的 RDS Aurora Postgres 的复制没有数据到来

我正在使用参考https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/AuroraPostgreSQL.Replication.Logical.html#AuroraPostgreSQL.Replication.Logical.Configure测试从 Citus(云托管)到我的 RDS Aurora Postgres 的复制

一切都运行成功,但在订阅者上,没有数据出现,那么可能出了什么问题?我该如何排除故障

从逻辑复制测试中选择计数(*);

注意:在 Citus DB 上,我可以看到出版物: 在此处输入图像描述

但在我的 RDS 中,尽管 CREATE SUBSCRIPTION testsub CONNECTION 成功,但在列表中看不到订阅: 在此处输入图像描述

我观察到,当我运行时SELECT count(*) FROM LogicalReplicationTest;,没有数据,只有列名显示锁定符号,如此屏幕截图所示!除了只读列之外,知道这个锁符号的含义吗?为什么它没有在发布者数据库中的该表中列出数据在创建发布时我必须委派给该表的任何权限吗?

在此处输入图像描述

0 投票
1 回答
30 浏览

citus - 增加 Citus 中的碎片

我们如何将分片添加到 citus 中现有的并置表中?

我发现默认是 32,这肯定低于预期。有没有一种无需停机即可轻松调整大小的方法?