greenplum数据入库方式总结及性能对比

1.greenplum入库方式总结

greenplum目前主要使用到的入库方式有如下4种:

  • 使用insert into方式入库
  • 使用gpss方式入库
  • 使用gpkafka方式入库
  • 使用gpcopy方式入库

2.以上入库方式优缺点及性能对比

详细优缺点及性能对比如下:

入库方式

优点

缺点

入库性能

是否支持事务

insert into

直接使用jdbc方式入库,支持事务

入库性能较差,对于update,insert等操作或锁表

500条/s

支持

gpss

使用gpss+gpfdist方式入库,分布式并行入库,入库性能最好

单个gpss只能一个session(多个session连接不稳定),一个批次数据入库大小不能超过4MB

1万+条/s

不支持

gpkafka

使用gpss+kafka+gpfdist方式入库,分布式并行入库,入库性能最好

一个gpkafka服务只能对应一个topic,对应一张表

1万+条/s

不支持

gpcopy

使用greenplum的gpcopy入库

所有数据入库都要经过greenplum的master节点,入库性能受限于master节点(带宽,cpu,内存)

1万+条/s

不支持

注意:以上测试环境为内存:16GB,CPU:8 core,磁盘:500GB。

3.场景选择

  • 数据量小,有事务要求场景,可选择insert into方式;
  • 如果针对表特别多,数据量大小一般,无事务要求场景,建议选择gpcopy方式入库;
  • 针对少量表,单表数据量巨大,可采用gpkafka,gpss;

说明:若使用gpss,建议一张表对应一个gpss服务,需要注意每个writeRequest数据量不超过 4MB,该数据量大小目前官方并未提供参数可供配置。

 

你可能感兴趣的:(Greenplum,greenplum入库性能对比)