0

90 일 동안 만 데이터를 보관하여 dynamodb 테이블을 보관하려고합니다. 나는 90 일을 추적하는 데 사용할 수있는 테이블에 recorded_on이라는 필드를 가지고 있습니다. Datapipeline에서 보았을 때 EMR이 필요 없기 때문에 EMR이 너무 과장되었습니다. 이 작업을 수행하는 더 좋은 방법은 무엇입니까?날짜/요일을 기반으로 Dynamodb를 보관하십시오.

1. Cronjob that will continue to run everyday and match recorded_on + 90days > today's date and put those rows in s3 and delete those rows. 

2. Separate cronjob to put data from s3 to redshift everyday. 

답변

0

왜 AWS 데이터 파이프 라인을 사용하는 것이 과잉이라고 생각하십니까? 사용자 정의 작업을 사용할 수 있지만 파이프 라인이 자동으로 수행하는 추가 작업이 필요합니다.

현장에서 EMR 클러스터를 사용한다는 사실은 그 세부 정보가 어쨌든 추상화되어 있으므로 문제가 될 수 없습니다. dynamoDb를 s3으로 저장하기위한 파이프 라인 설정은 매우 쉽습니다. 90 일 넘은 데이터를 삭제하려면 사용자 지정 스크립트 &을 사용하여 데이터 파이프 라인 ShellCommandActivity (http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-shellcommandactivity.html)를 사용하여이를 실행하면됩니다. 여기

는 CRON을 통해 데이터 파이프 라인의 몇 가지 이점은 다음과 같습니다

  1. 재 시도를 실패의 경우.
  2. 모니터링/경보.
  3. EC2를 프로비저닝 할 필요없이 AWS는 배후의 모든 것을 처리합니다.
  4. 내보내기에서 사용할 수있는 DynamoDb 용량의 양을 제어하십시오. 이는 내보내기 작업이 다른 시스템에 영향을 미치지 않도록하는 데 매우 중요합니다.

도 매우 저렴한 https://aws.amazon.com/datapipeline/pricing/입니다.

감사 네쉬 Solanki

0

당신 수 쿼리 및 아카이브 항목을 수행한다 (당신이 원하는 간격으로 또는) 매일 실행 예약 된 람다 함수를 만듭니다.

또는 확장 및 성능을 향상 시키려면 Lambda 함수가 쿼리를 수행 한 다음 보관해야하는 각 항목에 대해 SNS 항목에 메시지를 쓰고 그 위에 다른 람다 함수 트리거가있을 수 있습니다 SNS 주제를 선택하고 아카이브 조작을 수행하십시오.