1

데이터 레코드가 Shards라고하는 그룹으로 구성되어 있으며이 쉐이드는 람다 (Lambda) 함수에 의해 병렬로 소비되고 처리 될 수 있다고 말하는 article을 살펴 보았습니다. AWS webindar에서 슬라이드를 찾았습니다. 슬라이드 22에서는 람다 함수가 다른 샤드를 병렬로 사용한다는 것을 볼 수 있습니다. 그러나 단일 함수의 병렬 실행을 수행 할 수 없습니다. 몇 분 동안 실행되는 간단한 람다 함수를 만들었습니다. 그런 다음 많은 스트림 레코드를 가져올 것으로 예상되는 DynamoDB에서 많은 항목을 생성하기 시작했습니다. 그럼에도 불구하고 내 기능이 차례로 시작되었습니다.AWS Lambda 병렬 실행은 DynamoDB와 어떻게 작동합니까?

내가 뭘 잘못하고있어? 첫 번째 기사에서

답변

0

은은 말한다 : 파편 혈통 (부모와 자녀)가 있기 때문에 아이의 파편을 처리하기 전에, 응용 프로그램은 항상 부모의 파편을 처리해야

. 이렇게하면 스트림 레코드도 올바른 순서로 처리됩니다. 예 Kinesis 스트림 작업시

아직하면 레코드 만 샤드 내에 보장 처리되는 순서 여러 파편함으로써 병렬 처리를 달성 할 수있다.

보조 메모 lambdaDynamodb 이벤트 순서대로 트리거하는 것이 좋습니다.

+0

DynamoDB 스트림은 파티션을 기반으로 분할됩니다. 테이블에는 파티션이 하나뿐이므로 단 하나의 샤드 만 있습니다. [Here] (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GuidelinesForTables.html#GuidelinesForTables.Partitions)는 파티션 동작을 이해하는 데 도움이되는 설명서입니다. –

+0

@JonathanSeed는이를 명시한 문서를 제공 할 수 있습니까? 그 흥미 롭군요. 이것이 맞다면, 샤드의 수는 프로비저닝에 달려있을 것입니다. – johni

+0

불행히도, 이것에 대한 문서를 찾을 수 없었습니다. 나는이 정보를 아마존 지원부에 문의 한 후에 얻었습니다. [여기] (http://pastebin.com/E7bQXxWS)는 전체 응답에 대한 링크입니다. –

관련 문제