我们目前正计划将一个50 TB Oracle数据仓库迁移到Amazon。
来自不同OLTP数据源的数据首先在Oracle暂存数据库中进行分级,然后当前加载到数据仓库中。目前,数据已使用大量PL/SQL存储过程在暂存数据库中进行转换,并加载到数据仓库中。
OLTP数据源1-> JMS (MQ)实时-> Oracle数据库-> Oracle
注意: JMS MQ使用者将数据写入暂存数据库。
OLTP数据源2-> CDC增量数据(每10分钟一次)-> Oracle数据库-> Oracle
注意:更改源端数据捕获将在10分钟内加载到暂存数据库中一次。
将这个堆栈完全(突出显示)迁移到Amazon的更好框架是什么?我们可以迁移到AWS中的不同组件是什么?
发布于 2017-03-13 17:47:32
哇,听起来像是一件很大的工作。这里有很多事情需要考虑。
您最好的起点可能是AWS数据库迁移服务(https://aws.amazon.com/dms/)。在转换模式和突出显示您必须手动迁移的区域方面,这可以为您做很多工作。
您应该将S3视为您的主要分期区域。在加载到Redshift之前,您需要将S3中的所有(或几乎所有)数据都放置下来。仔细考虑数据是如何排列的。特别是,我建议您使用分区前缀(s3://my_bucket/YYYYMMDDHHMI/files或s3://my_bucket/year=YYYY/month=MM/day=DD/hour=HH/minute=MI/files)。
您的PL/SQL逻辑不能移植到Redshift。您需要将非SQL部件转换为bash或Python,并使用外部工具运行Redshift中的SQL。我建议您从Airflow (Python)或Azkaban (bash)开始。如果您想保持纯AWS,那么您可以尝试数据管道(不推荐)或等待AWS Glue发布(看起来很有希望-未经测试)。
您可能可以使用AmazonKinsisFire软管来完成JMS当前所做的工作,但与JMS的典型使用(AFAICT)完全不同的是,理想的Kinesis使用方式是不同的。
祝好运
https://stackoverflow.com/questions/42768084
复制相似问题