dynamodb 예제

항목의 크기는 400KB로 제한됩니다. 이 제한에는 특성의 이름이 포함되며, attr이라는 하나의 특성이 있는 항목을 의미하며 a값은 5바이트(UTF-8로 계산)의 크기를 갖습니다. 따라서 항목의 특성 수를 제한 하는 것이 합리적입니다. 예를 들어 블로그 항목의 주석을 블로그 항목 자체와 동일한 항목에 문자열 배열로 저장할 수 있으므로 이 데이터 모델은 주석의 크기와 수를 제한합니다. 이 경우 모든 블로그 항목에 대해 하나와 모든 주석에 대해 하나씩 두 개의 테이블을 두는 것이 더 유용합니다. 두 테이블 모두 외래 키와 연결됩니다. 이렇게 하면 모든 블로그 아티클에 대해 하나의 작업으로 모든 주석을 로드해서는 안 되지만 쿼리할 주석 수를 제한할 수 있습니다(예: 날짜를 사용하여 제한). 그 외에도 새 주석을 추가하면 주석 테이블에 새 항목이 생성되지만 블로그 항목으로 테이블을 업데이트하지는 않습니다. 그렇지 않으면 각 새 주석이 전체 블로그 항목을 업데이트해야 합니다. 이 예제에서는 고객Id가 09e8e9c8-ec48인 고객으로부터 주문을 설정한 다음 다음과 같은 간단한 주문 처리 워크플로를 사용하여 단일 트랜잭션으로 실행합니다. 한 테이블에 저장할 수 있는 항목 수로 제한됩니다. 특성은 관계형 데이터베이스의 열과 유사하지만 DynamoDB는 스키마가 없기 때문에 각 특성의 데이터 형식을 제한하지 않으며 가능한 모든 특성의 정의를 미리 강제하지 않습니다.

위의 예제 외에도 특성을 중첩할 수도 있습니다(예: 특성 주소에는 거리 또는 City라는 하위 특성이 있을 수 있습니다). 지원되는 속성은 최대 32개 수준입니다. 온디맨드 용량 모드는 변화하는 워크로드를 신속하게 수용하지만 여전히 0의 제한을 보장하지는 않습니다. 제대로 설계되지 않는 데이터 모델은 온디맨드 용량 모드에서도 여전히 제한을 받을 수 있습니다. 다음은 이 문제를 보여 주는 한 가지 예입니다. 강력한 CI/CD(지속적인 통합 및 연속 전달) 파이프라인을 설정하는 것은 릴리스 주기를 가속화하는 또 다른 중요한 패러다임입니다. 그러나 DynamoDB가 관리되는 서비스이기 때문에 CI/CD를 설정하는 것은 매우 어렵습니다(예: 앱이 데이터베이스 오류의 영향을 받지 않았는지 확인). 위의 예제에서는 독일 프랑크푸르트에 있는 리포지토리를 사용합니다. 가까운 다른 위치를 선호하는 경우 여기에서 목록에서 하나를 선택할 수 있습니다. 이 페이지에서는 원하는 경우 명령줄에서 로컬로 시작할 수 있는 DynamoDB 배포를 다운로드하는 방법도 설명합니다. 이 자습서에서는 코드에서 직접 메모리 내 인스턴스를 시작할 수 있기 때문에 maven 종속성을 사용 합니다.

예를 들어 한 파티션(P1)은 초당 3500개의 읽기를 받고 다른 파티션(P2)은 초당 2500개의 읽기/초를 가져옵니다. 그러나 P1에 대한 요청은 할당된 처리량을 초과하므로 제한이 됩니다. 예를 들어 읽기 용량 단위 1,000개와 쓰기 용량 단위 1,000을 정의하는 경우 위의 수식은 CCU = 1 * 1000 + 3 * 1000 = 4000을 산출합니다. 이렇게 하면 파티션당 3,000CUS의 제한을 초과하면 이러한 용량 설정이 있는 테이블이 두 개의 파티션으로 분할됩니다. 시간이 지남에 따라 테이블크기가 커짐에 따라 스토리지 비용은 계속 증가합니다. 또한 테이블의 데이터 볼륨이 증가함에 따라 테이블은 더 작은 파티션으로 분할되고 각 파티션은 테이블의 프로비전된 RCU/WCU의 일부를 얻습니다. 따라서 예를 들어 타임시리즈 데이터를 저장하는 테이블이 있고 읽기/쓰기가 가장 최근의 요일/월/분기/연도에만 수행되는 경우 다음과 같은 이유로 이전(사용되지 않은) 데이터를 삭제/보관하는 것이 좋습니다.

Por
agosto 2, 2019