问题标签 [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 回答
60 浏览

citus - 将数据同步到插入时离线的节点(Citus)

我已将 Citus 中的 replicaton_factor 设置为 2,因此每个节点都有所有数据,以防万一一个节点发生故障(脱机),我仍然可以获得所有数据。

我遇到的问题是:我不知道如何在使用 INSERT 或 UPDATE 并将数据添加到数据库时失败的节点内部获取数据?我有两个节点和一个协调器,所以基本上在 Node1 下线之后,我将数据添加到 DB Node2 得到了数据。现在我需要将该数据/分片同步到 Node1,因为此时 Node1 基本上没用。

0 投票
2 回答
64 浏览

postgresql-12 - 如何在 PostgreSQL 12 上的 Citus 数据库上链接协调员和工作人员的工作

我在 PostgresSQL 服务器上有 Citus 扩展。我想pg_stat_statements通过协调节点查看每个工作人员的统计信息。但是,没有与协调员和工作人员的表相匹配的列。有人知道我该怎么做吗?

我也对 PostgreSQL 如何计算 queryId 感兴趣。

所以pg_stat_statements协调器上的表格会显示如下:

虽然pg_stat_statements工作人员的表格会显示如下内容:

0 投票
1 回答
508 浏览

database - 在 Citus 分布式表中的非分布式列上使用连接

我已经成功创建了一个带有几个工作节点的 Citus 集群。我在使用分布式表运行查询时遇到问题。

这是我要运行的指示性查询的一个非常简化的版本:

commuting_data 包含大约 2000 万行,除其他信息外,每行包含一个起点和终点代码。geography_data 由大约 10 万行组成,包含有关 commuting_data 表中包含的每个地理代码的信息。

geography_data 中的 sequence_id 列与源列和目标列匹配,并提供有关这些空间点的标签和其他信息。我想将 commuting_data 加入到 origin 和 destination 列的 geography_data 表中。这在单节点 PostgreSQL 数据库中很容易完成,但完成查询很慢。

我的问题是 Citus 只支持每张表一个分布列。因此,如果我将表 commuting_data 的分布列设置为 'origin' 或 'destination',我会收到错误消息“仅当所有分布式表位于同一位置并在其分布列上连接时才支持复杂连接”。

如何利用 Citus 可以提供的数据库分片的所有功能来克服这个问题并生成上述查询给出的结果?

我在 Ubuntu 20.04 上使用 PostgreSQL 12.4 和 Citus 9.4。

0 投票
1 回答
26 浏览

azure - NPGSQL 驱动程序和 Azure Database for SQL - 超大规模 Citus 兼容性

我们正在将我们的 Postgresql v10 (Linux) 数据库迁移到 Azure,并且由于所涉及的时间范围,我们不希望更改我们当前在应用程序中使用的 npgsql 驱动程序。

有人在这里有经验吗?我们可以利用我们对该驱动程序的使用而对我们的代码进行很少或没有更改吗?

我知道的一件事是查询必须使用分片列来帮助 Citus 协调器分发到正确的节点。还要别的吗?

谢谢!

0 投票
1 回答
702 浏览

data-warehouse - 用于数据仓库的 Greenplum 与 Citus

我正在尝试从将 Citus 和 Greenplum 用作数据仓库的角度来评估它们。总体思路是,来自多个 OLTP 系统的数据将通过 Kafka Connect 实时集成到中央仓库中以进行分析查询。

Citus 在这方面与 Greenplum 相比如何?我读过 Citus 有一些 SQL 限制,例如,如果相关性不在分布列上,则不支持相关子查询,Greenplum 是否有类似的 SQL 限制?如果将数据流式传输到 Greenplum 中(而不是批量更新),Greenplum 会运行良好吗?我只是感觉 Greenplum 更专注于分析并且可以牺牲一些特定于 OLTP 的东西,这是 Citus 无法承受的,因为他们将自己定位为 HTAP(而不是 OLAP)。Citus 还将自己定位为亚秒级查询时间的解决方案,这对我的用例来说不是必需的 - 每个查询几秒钟(最多 5 秒)就可以满足要求。

0 投票
1 回答
61 浏览

postgresql - 摄取完成后的 citus 写入活动

我有一个由 1 个协调节点(32 个 vcore,64 GB RAM)和 6 个工作节点(4 个核心,每个 32 GB RAM)组成的 citus 集群。

在使用以下命令执行数据摄取后,其中 chunks_0 目录包含 300 个文件,每个文件有 1M 条记录:

我注意到,在完成摄取后,工作节点上仍然会在一段时间内以较小的速率发生写入活动(摄取期间整体约为 800MB/秒,摄取后约为 80-100MB/秒)。我想知道citus这段时间在做什么?

0 投票
1 回答
102 浏览

postgresql - 是否可以沿列对 psql 表进行分区?

目前我有几张表,总和大约有 4000 列。1 米奥。每行具有相同的索引列。

我已经手动构建分区以将这些列拆分为 ~1500 的批次(bc. psql 最大列数为 1600)。

  1. 问题:是否有类似于在特定列的范围上进行分区的托管且更有效的方法?

  2. 问题:您认为使用 citus 10COLUMNAR支持并删除索引上的主键是否合适?

0 投票
1 回答
122 浏览

postgresql - Citus:我可以在主节点上查看每个节点的分表吗?

我在docker-compose中管理我的 PostgreSQL 集群,并且我已经通过外部客户端连接到主(协调器)节点。对于给定的表(例如)和给定的节点号(例如 worker 2 或其他标识符),我是否可以在不直接连接到单个节点的情况下companies查看 master 节点中的分片表(例如companies_000005},以及它们在 worker 2 上的行)?companies_0000010}

0 投票
1 回答
201 浏览

postgresql - pg_autofailover 设置密码

我在一个主节点和一个辅助节点上创建了带有 pg_auto 故障转移的 postgres。我被关注这个链接。https://www.citusdata.com/blog/2019/05/30/introducing-pg-auto-failover/我在监视器和 postgres 节点上测试了没有 --auth 标签的故障转移和复制。无需任何授权即可正常工作。这是命令

第二节点

我在监控节点上添加了身份验证作为 --auth md5 并在此链接https://pg-auto-failover.readthedocs.io/en/latest/security.html之后更改了 pg_auto_failover 数据库的 autoctl_node 的密码监控节点也可以正常工作. 但是当我在主 node_a 和 node_b 中添加 --auth md5 时,节点陷入等待和追赶。

主node_a的日志

Secondary node_b的日志

0 投票
1 回答
192 浏览

postgresql - Citus:如何在分布式表列表中添加自引用表

我正在尝试运行create_distributed_table我需要分片的表,并且几乎所有表都具有自关系(父子)但是当我运行SELECT create_distributed_table('table-name','id'); 它时会抛出错误cannot create foreign key constraint

重现的简单步骤

错误