You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
背景
COPY
对数据库中数据进行导入导出的时候,需要使用到 copy 。copy ... to ... 是指将数据库中的数据(如表)输出到具体的文件中;copy ... from ... 则是将具体文件中的数据读取到数据库中。原生的 PG 只支持单机的 copy ... to/from ...,无法利用分布式来进行并行加速。
HTAP
PolarDB PG 的 HTAP 框架能够在优化器中对符合条件的 SQL 语句产生一个 大规模并行处理(MPP) 的物理执行计划,多个 PolarDB PG 实例的执行器能够并行执行这个计划,并将中间结果通过网络汇总进行汇总/广播/重分布。这样可以充分利用 I/O 带宽以及多台机器上的 CPU 和内存资源。实现数据不出库就可以进行一些耗时较长的 OLAP 负载。
目标
本课题的目的是利用 PolarDB PG 的 HTAP 能力对 COPY 命令来进行加速。
对于 copy ... to ... 而言,PolarDB PG 可以利用现有的 HTAP 能力来对读取表来进行加速。一是针对 copy table to csv 这种语句,多个只读结点可以并行对这个表进行读取来进行加速。二是对 copy (select ...) to csv 语句,PolarDB PG对其中的 select语句 可以进行并行加速。
对于 copy ... from ... 而言,则可以在单个读写结点上,利用多进程来并行写入 csv 文件。
具体实现功能如下:
提示
参考资料
PolarDB for PostgreSQL 文档:PolarDB 本地部署
PolarDB for PostgreSQL 文档:利用 PolarDB HTAP 加速 TPC-H
PostgreSQL 官方文档:COPY
电子书:PostgreSQL
实体书:PostgreSQL 指南:内幕探索,冯若航、刘阳明等,电子工业出版社
实体书:PostgreSQL 数据库内核分析,彭智勇、彭煜玮,机械工业出版社
Beta Was this translation helpful? Give feedback.
All reactions