0

Redshift 및 AWS eco-system을 처음 사용했습니다. 전제 조건 인 Oracle EBS 테이블에서 Redshift로 데이터 변경을 스트리밍하는 옵션 또는 모범 사례를 찾고 있습니다.Oracle 테이블에서 Redshift로 스트리밍

  1. S3를 스테이지 영역으로 사용해야합니까? 따라서 Oracle-> S3-> Redshift? Redshift에 실시간 스트리밍 오라클 테이블에 유용합니까?
  2. S3 스테이징을 바이 패스하고 Oracle-> AWS Kinesis (Firehose) -> Redshift를 수행하는 방법은 무엇입니까? 그렇다면, 내가 읽을 수있는 시나리오가 있습니까?
  3. AWS Kinesis 대신 Kafka를 사용하는 것은 어떻습니까?
  4. AWS Kinesis 또는 Kafka는 온 프레미스 Oracle 인스턴스에서 직접 가져올 수 있습니까?
  5. Redshift에 가까운 실시간 또는 거의 실시간 데이터로드를위한 다른 대안/구성 요소, ETL 도구가 있습니까?

온 - 프레미엄 인 Oracle에서 스트리밍 할 테이블이 많습니다. Redshift를 처음 사용하지만 Oracle, SQL Server, PG에 익숙합니다. 미안해, 내가 이길 때.

문서 here, 1 당으로

어떤 생각 및/또는 참조가 높게 평가 될 것입니다 : 도와주세요 ...

답변

0

2는 본질적으로 동일합니다. Firehose를 사용하여 S3를 우회하지 않고 그냥 마스크하십시오. Firehose는 현재 하나 이상의 클러스터에 많은 테이블이있는 경우 쓸모 없습니다. 물론 제한을 늘리기 위해 지원 요청을 AWS 지원 팀에 보내는 프로세스를 자동화 할 계획이 아니라면 (나는 그것에 대해 생각하고있었습니다. 웃지 마세요).

COPY 명령 from S3을 사용하여로드하는 것이 좋습니다.

삽입물은 현재 느리고, 의미는 입니다. 슬로우입니다. 후드 아래에 삽입 문을 생성하는 메서드를 사용하지 마십시오.

내 사용 사례 : Apache Storm은 S3를 준비 영역으로 사용하여 Redshift로 스트리밍 이벤트를 스트리밍합니다. 매일 테이블 당 수십만 개의 이벤트, 데이터베이스 당 수십 개의 테이블, 클러스터 당 여러 데이터베이스, 클러스터의 커플에 대해 잘 작동합니다. 우리는 API 게이트웨이, AWS Lambda 및 S3를 두 번째 프로세스의 준비 영역으로 사용합니다. 하루에 수만 건의 이벤트, 각기 다른 클러스터의 커플, 각 클러스터의 여러 데이터베이스, 하나의 테이블이 각 데이터베이스에이 방식으로로드됩니다.

이론 상으로는 SSH를 사용하여 COPY 명령을 내릴 수 있지만 다음 단계에서 매니페스트 파일을 준비해야합니다. S3. 어쨌든 왜 데이터 저장을 준비하는 데 S3를 사용하지 않을지 전혀 모르겠습니다.

온 - 프레미스 오라클에서 S3로 데이터를 스트리밍하는 경우 완전히 다른 주제이므로 오라클에 능숙한 사람의 대답을 찾아야합니다. 나는 CDC를 볼 것이지만 나는 오라클 프로가 아니므로 이것이 좋은 접근 방법인지는 알 수 없다.

이 정보가 도움이되기를 바랍니다.

+0

응답 해 주셔서 감사합니다. 이것은 도움이됩니다. – bda

+0

내 대답이 도움이된다고 생각한다면 투표를 수락하거나 수락 할 수 있습니까? 감사! http://stackoverflow.com/help/someone-answers –

관련 문제