2014-12-18 3 views
3

우리는 데이터웨어 하우스 솔루션을위한 amazon-redshift로 전환 할 계획입니다. mysql에서 redshift로 업데이트 파이프 라인을 설정해야합니다. 업데이트를 처리하는 가장 효과적인 방법은 무엇입니까?amazon Redshift Incremental 파이프 라인

답변

0

MySQL에서 RedShift로 데이터를 동기화하려면 AWS Data Pipeline을 사용해보십시오.

0

옵션 1 : 주기적 배경 MySQL 테이블에서 읽고 Redshift에 쓰기. 주기적인 읽기가 진행 중일 때마다 MySQL DB에 스파이크로드를 생성합니다. MySQL DB는 그 당시 다른 온라인 사용자에게는 느려지 게 될 것입니다.

옵션 2 : 옵션 1을 사용하는 것이 더 좋지만, MySQL 스키마 테이블을 추가 플래그 및 열에 맞게 수정하고 MySQL 테이블에서 멀티 테이블 백그라운드 프로그램을 MySQL 테이블에서보다 효율적으로 읽을 수있게하십시오.

옵션 3 : 비용 효율적인 방법으로 S3를 스테이징 영역으로 사용하여 MySQL에 쓰는 프로그램을 수정하여 해당 프로그램이 S3 위치에도 쓰게하십시오. S3에서 Redshift로 주기적으로 동기화되는 백그라운드에서 사용자 정의 Java 프로그램을 실행할 수 있습니다. 데이터 파이프 라인에 대한 계획은 MySQL DB의 스파이크로드와 함께 비용이 많이 드는 옵션이 될 것입니다.

옵션 4 : Attunity Cloud Beam

옵션 5 : AWS 데이터 파이프 라인

옵션 6 : AWS의 람다 함수

0

나는 가능한 한 간단하게 물건을 유지 건의 할 것입니다. MySQL 데이터베이스의 크기가 작은 경우 mysqldump을 실행하고 각 테이블의 덤프를 준비 테이블에로드 한 다음 최종 테이블에 대해 INSERT/UPDATE/DELETE 프로세스를 수행 할 수 있습니다. 당신의 MySQL 데이터베이스가 정규 풀 덤프를하기에는 너무 큰 경우에는 변경된 데이터를 선택적으로 추출해야합니다.

SQL Server의 두 가지 방법 (하이브리드)은 데이터가 업데이트되는 더 작은 테이블의 추가와 전체 덤프에만 적용됩니다. 우리는 매시간이 작업을 수행하며 문제없이 하루에도 수백 GB를 처리 할 수 ​​있습니다.

또는 Redshift (Informatica Cloud 및 Attunity Cloudbeam에서 시작)와 데이터베이스를 "동기화"한다고 주장하는 상용 ETL 도구를 사용해 볼 수도 있습니다. 우리는 이러한 도구가 라이브와 레드 쉬프트 사이에 필요한 변형을 지원할 수 없다는 사실을 발견했습니다.

0

당신은이에 대한 AWS 데이터 파이프 라인을 사용하거나 ironBeast를 사용할 수 있습니다.Redshift에와 그 내부의 일단 데이터의 유지 보수 데이터를 전송 함께 당신을 도울 것입니다 서비스는 (만료를 설정, 진공 청소기는, 수정 stl_load_errors 등을)

http://www.ironsrc.com/ironbeast

공개 : 나는 팀을 이끌고있어 이 솔루션을 개발합니다.