关闭。这个问题需要更加突出重点。它目前不接受答案。
**想改进这个问题吗?**通过编辑这篇文章更新这个问题,使它只关注一个问题。
两年前关门了。
改进这个问题
我是红移和aws生态系统的新手。我正在寻找从oraclebs表内部到redshift的流式数据更改的选项或最佳实践。
s3是否应该用作中转区?所以oracle->s3->redshift?这对实时流oracle表进行红移有好处吗?
有没有什么方法可以绕过s3暂存并执行oracle->aws kinesis(firehose)->红移?如果是这样的话,有没有这样的情况我可以读一下?
用Kafka代替aws动觉怎么样?
aws kinesis或kafka是否可以直接从内部部署的oracle示例中提取?
是否有其他替代方案/组件、etl工具用于近实时或几乎实时的数据加载到redshift?
有大量的表要从oracle流式处理,这是在线的。我对redshift是新手,但熟悉oracle、sql server、pg。如果我完全不熟悉这里,请原谅。
请帮助:)任何想法和/或参考将非常感谢。。。
1条答案
按热度按时间r7knjye21#
根据这里的文档,1和2本质上是相同的。你不能用消防水龙带绕过s3,只要遮住它。如果您在多个集群上有很多表,那么firehose目前是无用的。当然,除非您计划将向aws支持发送支持请求的过程自动化以增加限制(我正在考虑,不要笑)。
我会使用s3的copy命令进行加载。
插入当前很慢,我是说很慢。不要使用会在幕后生成insert语句的方法。
我的用例:apachestorm将事件流式处理为redshift,使用s3作为暂存区域。对于每天每个表数十万个事件,每个数据库几十个表,每个集群几个数据库,几个集群,都可以正常工作。我们使用api网关、aws lambda和s3作为第二个进程的暂存区。同样适用于每天数以万计的事件,几个不同的集群,每个集群上有几个数据库,每个数据库中以这种方式加载一个表。
理论上,您可以使用ssh发出copy命令,但是您必须在上准备清单文件(等待它)。。。第三。所以我不知道你为什么不使用s3来暂存数据存储。
至于将数据从本地oracle流式传输到s3,这是一个完全不同的主题,您应该从精通oracle的人那里寻找答案。我想看看cdc,但我不是甲骨文Maven,所以不知道这是不是一个好方法。
我希望这有帮助。