实现从Oracle增量同步数据到GreenPlum

时间:2021-07-10 21:52:40

简介:

  GreenPlum是一个基于PostgreSQL数据库开发的MPP架构的数据库仓库,适用于OLAP系统,支持50PB(1PB=1000TB)级海量数据的存储和处理。

背景:

  目前有一个业务是需要将Oracle数据库中的基础数据增量同步到GreenPlum数据仓库,便于进行数据分析和处理。

规模:

  每天产生60G左右数据,最大的表每天新增上亿条数据。

解决方法:

  1)历史数据通过抽取导入的方式进行初始化。

  2)增量更新数据:

  使用GoldenGate将Oracle日志解析,传给GreenPlum所在的节点。

  GreenPlum节点通过程序将GoldenGate解析的日志记录增量同步到GreenPlum数据库仓库中。

最终结果:

  1.初始化数据一次大概三天时间,初始化5T左右数据。

  2.增量同步数据延时不超过3个小时。

  3.GreenPlum性能经过优化后,比在Oracle数据库上查询要快10~100倍(GreenPlum的机器配置相对要低很多)。

  4.对部分大表进行了压缩处理,会减少存储的空间和I/O的开销。

  5.没有使用列式存储,大表的列太多,对于不适合做列式存储,仅进行了压缩。

  6.对部分表的分布键进行了调整,极大的提升了数据分析的效率。