简介:
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.对部分表的分布键进行了调整,极大的提升了数据分析的效率。