2016-08-04 4 views
0

dynamoDB 데이터베이스에 자동 증가 필드가 있어야합니다. 내 자신의 알고리즘을 작성하여이 문제를 해결할 수 있지만 DynamoDB 또는 AWS가 그러한 솔루션을 제공하는지 여부를 알 필요가 있으므로이를 활용할 수 있습니다. 아무도 이것에 대해 어떤 생각을 가지고 있습니까dynamoDB의 자동 증가 필드 지원

답변

1

DynamoDB는이 기능을 제공하지 않습니다. 자동 증가 키는 일반적으로 데이터베이스 테이블의 각 레코드에 대해 고유 한 ID를 얻는 쉬운 방법으로 사용됩니다. 이전에 테이블에 저장된 값에 대해 알 필요가없는 UUID와 같은 고유 ID를 생성하는 다른 방법이 있습니다. 유스 케이스가 문제를 해결할 수 있는지 판단하기 위해 유스 케이스를 평가할 것을 권장합니다.

DynamoDB 테이블에 증가 숫자 키가 절대적으로 필요한 경우 마지막 자동 증가 값을 저장하는 별도의 테이블을 가지려면 DynamoDB Atomic Counters를 사용하여 새 레코드의 키 값이 필요합니다. 물론 이것은 새로운 레코드가있을 때마다 한 테이블의 업데이트와 다른 테이블의 삽입을 수행해야하므로 이상적인 시나리오는 아닙니다.

+1

+1 - 마지막 식별자 값이 본질적으로 병목 현상이되어 1,000 IOPS에 대한 쓰기의 이론적 최대 처리량이 줄어들지 않음 - 사소한 부하에 대해서는 확장 솔루션이 아님 –

+0

감사 마크,이 자동 증가가 절대적으로 필요함 필드와 dynamoDB에는이 기능이 내장되어 있지 않기 때문에 필자가 추천 한 아이디어가 필요하다. 그건 그렇고,이 원자 카운터, 여기 우리 자신에 의해 스레드 동기화를 관리해야합니까? 또는 dynamo db 원자 카운터가 스레드로부터 안전합니까? 여러 스레드가이 원자 계수기를 동시에 읽는 경우 어떻게됩니까 –

+0

@JavaProgrammer DynamoDB 원자 계수기는 스레드로부터 안전합니다. http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/WorkingWithItems.html#WorkingWithItems.AtomicCounters –