0

我是Redshift和AWS生态系统的新手。我正在寻找选项或最佳实践,以便将Oracle EBS表中的数据更改流式传输到Redshift。从Oracle表格流式传输到Redshift

  1. 如果S3被用作临时区域?因此Oracle-> S3-> Redshift?这对于将Oracle表实时流式传输到Redshift有用吗?
  2. 任何方式绕过S3分期和做Oracle-> AWS Kinesis(Firehose) - > Redshift?如果是这样,有没有这样的情景我可以读?
  3. 如何使用Kafka代替AWS Kinesis?
  4. AWS Kinesis或Kafka可以直接从内部部署的Oracle实例中获取吗?
  5. 是否有其他替代品/组件,用于将近实时或几乎实时数据加载到Redshift的ETL工具?

Oracle提供了大量的表格,这些表格是在本地进行的。我是Redshift的新手,但熟悉Oracle,SQL Server,PG。对不起,如果我完全击败了这里。

请帮助:)任何想法和/或引用将高度赞赏...

回答

0

按照文档here,1和2是相同的,本质上。你不会使用firehose绕过S3,只是掩盖它。如果在多个群集上有很多表,Firehose目前是无用的。除非您计划自动将支持请求发送到AWS支持以增加限制(我正在考虑它,请不要笑)。

我会去用COPY命令from S3加载。

插入当前缓慢的,我的意思是SLOW。不要使用在引擎盖下生成插入语句的方法。

我的使用情况: 阿帕奇风暴流事件红移,使用S3作为临时区域。适用于每天每桌数以万计的事件,每个数据库几十个表,每个集群几个数据库,几个集群。我们使用API​​网关,AWS Lambda和S3作为第二个流程的暂存区域。每天数以万计的事件,几个不同的集群,每个集群上的几个数据库,每个数据库都以这种方式加载一个表。

可以在理论上,发行COPY命令使用SSH,但你必须准备的清单文件(等待它)... S3。所以我不知道为什么你不使用S3来分级数据存储。

至于从内部部署的Oracle流数据S3,它是一个完全不同的主题完全,你应该寻找答案从别人精通甲骨文。我会看CDC,但我不是Oracle专业人员,所以无法分辨这是否是一种好方法。

我希望这会有所帮助。

+0

谢谢你的回复。这有助于。 – bda

+0

如果您认为我的回答很有帮助,请您投票或接受它?谢谢! http://stackoverflow.com/help/someone-answers –