云原生数据仓库AnalyticDB PostgreSQL版提供多种数据写入和加载方式,包括INSERT语句、COPY命令、OSS外表的并行写入和使用Client SDK写入四种方式。
其中INSERT语句和COPY命令的写入数据均通过Master节点,INSERT语句每秒支持3 MB的数据写入量,COPY命令的写入性能快于INSERT,可以达到每秒30 MB。OSS外表为各个数据分区(Segment)
并行读取,单分区从OSS加载的能力即可达到30 MB,整体加载速率随分区数线性扩展。
方式一:INSERT语句
通过INSERT语句写入数据,为提升写入速度,建议单条INSERT语句拼装多个值VALUE执行,可实现每秒 MB数据量写入。
INSERT INTO performers (name, specialty) VALUES (‘Sinatra’, ‘Singer’), …;
执行高吞吐的写入时,建议关闭ORCA SQL优化器。ORCA适合复杂查询优化,但对简单语句,会带来不必要的解析和优化CPU计算代价。Session会话级别关闭ORCA优化器,可执行set optimizer = off;
命令,或提交工单在实例级别关闭。
方式二:COPY命令
使用COPY命令,可以将本地的文本文件数据导入AnalyticDB PostgreSQL版。本地的文本文件要求是格式化的,如通过逗号、分号或特有符号作为分割符号的文件。同时也支持用户使用JDBC执行COPY语句,JDBC中封装了CopyIn方法。采用COPY方式,支持每秒30 MB的数据写入或导入速度。
COPY命令的操作细节,请参见COPY命令的使用。
方式三:OSS外表导入和导出
通过OSS外表,数据可以从各个节点(Segment )并行的写入或导出。整体写入或导出速度,随节点数线性扩展,单节点每秒支持30 MB的数据写入。
建立OSS外表及数据写入和导出操作,请参见使用OSS外表高速导入OSS数据。
方式四:通过Client SDK开发高效写入程序
云原生数据仓库 AnalyticDB PostgreSQL 版Client SDK通过API形式旨在为用户提供高性能写入数据到云原生数据仓库 AnalyticDB PostgreSQL 版的方式,支持用户定制化开发或对接写入程序。通过SDK开发写入程序,可简化在云原生数据仓库 AnalyticDB PostgreSQL 版中写入数据的流程,无需担心连接池、缓存等问题,相比较直接COPY或INSERT写入,通过并行化等内部机制有几倍性能提升。
Client SDK客户端API,请参见Client SDK的使用。