DynamoDB 파티션 키를 설정하는 방법

Dynamodb Patisyeon Kileul Seoljeonghaneun Bangbeob



여러 개체에서 항목을 검색하는 것이 정신없이 바쁠 수 있기 때문에 모든 데이터베이스의 생산성은 데이터 접근성에 달려 있습니다. 종종 데이터베이스를 쿼리하는 방법은 항상 중요한 고려 사항입니다. 파티션 키는 매우 효율적인 쿼리를 만들고 싶을 때마다 DynamoDB의 기본 진입점입니다.

일반적으로 테이블 전체의 파티션 키는 고유합니다. 따라서 하나의 테이블에 동일한 파티션 키를 가진 두 개 이상의 항목이 있는 것은 불가능하지만 인덱스에서 사용하면 그 반대가 발생할 수 있습니다. 게다가 파티션 키는 변경할 수 없기 때문에 테이블을 생성하면 변경할 수 없습니다.







이 문서에서는 파티션 키에 대해 설명합니다. 파티션 키가 필요한 이유와 이를 설정할 때 따라야 할 모범 사례에 중점을 둘 것입니다. 마지막으로 DynamoDB 파티션 키가 어떻게 필수적인지 살펴보겠습니다.



DynamoDB 파티션 키란 무엇이며 이것이 중요한 이유는 무엇입니까?

파티션 키는 DynamoDB의 단순한 기본 키이며 종종 단일 속성으로 구성됩니다. DynamoDB 테이블의 각 항목에는 빠르고 효율적인 쿼리 프로세스를 지원하는 고유한 파티션 키가 있습니다.



기본 키를 정렬 키와 쌍을 이루어 두 가지 속성을 포함하는 복합 기본 키를 만들 수 있습니다. 함께 사용하면 정렬 키 값을 사용하여 파티션 키 아래에 모든 데이터를 구성할 수 있습니다.





DynamoDB는 데이터를 항목이라는 속성의 컨소시엄으로 예약하므로 속성에는 쉽게 액세스할 수 있도록 고유한 기본 값 키가 있습니다. 특히 DynamoDB의 항목은 대부분의 데이터베이스 시스템의 레코드, 필드, 열 또는 행과 유사합니다.

또한 DynamoDB를 사용하면 데이터를 최대 10GB 스토리지 단위의 파티션으로 분산할 수 있습니다. 따라서 각 테이블은 하나 이상의 파티션을 가질 수 있습니다. 항목이 저장되는 파티션을 결정하는 해시 함수의 출력과 함께 파티션 키의 값을 데이터베이스의 내부 해시 함수에 대한 입력으로 사용할 수 있습니다. 게다가 항목의 위치에 따라 항목이 저장되는 파티션이 결정됩니다.



DynamoDB 파티션 키를 설정하는 방법

아직 개념을 이해하지 못한 경우 파티션 키를 설정하는 것은 힘든 작업이 될 수 있습니다. 그러나 필요한 팁과 요령을 모으면 이 프로세스가 쉽고 효율적일 수 있습니다. 다음은 파티션 키를 설정할 때 따라야 할 몇 가지 모범 사례입니다.

1. 올바른 파티션 키 선택

파티션 키의 종류에 따라 데이터 쿼리의 편의성과 효율성이 결정됩니다. 이는 데이터 쿼리를 위한 기본 진입점이며 각 애플리케이션의 액세스 패턴을 정의하는 것이 중요합니다.

DynamoDB 파티션 키를 설정할 때 높은 카디널리티 속성을 사용하는 것이 좋습니다. 높은 카디널리티 속성은 각 항목에 대한 고유 값을 특징으로 하며 employee_id, employee_no, order_id, emailid, customerid 또는 orderid를 포함할 수 있습니다.

2. PK 명명 규칙 사용

파티션 키는 종종 pk 명명 규칙을 사용합니다. 이 이름 지정 방법은 표시된 항목 유형 또는 모델을 기반으로 차별하지 않고 정확한 이름 지정 메커니즘을 보장합니다.

예를 들어 테이블의 Post 및 User 모델에 대한 파티션 키로 postID 및 userID를 사용하고 싶은 유혹이 있을 수 있지만 DynamoDB는 각 테이블에 대해 하나의 파티션 키만 허용합니다. 따라서 단일 테이블에서 두 개를 사용할 수 없습니다. 정렬 키가 없는 테이블은 ID 파티션 키를 가질 수 있습니다.

3. 복합 속성 사용

일부 테이블은 복합 키에서 더 많은 이점을 얻습니다. 즉, 고유 키를 형성하려면 단일 속성 이상이 필요합니다. 예를 들어, customer_ID, country_code 및 product_ID를 편리하게 사용하여 파티션 키(customerid#countrycode#productid)를 구성할 수 있습니다. 동시에 order_id를 정렬 키로 사용할 수 있습니다.

4. 임의의 숫자를 적절하게 추가

각 키에 대해 엄청난 양의 쓰기가 예상되는 경우 추가 접두사 또는 접미사를 사용하면 사용량이 많은 사례를 보다 효율적으로 만들 수 있습니다. 예를 들어 일련의 난수와 함께 송장 번호를 파티션 키로 사용할 수 있습니다. 파티션 키의 다양한 섹션을 분리해야 합니다. 예를 들어 InvoiceNumber#125656#0을 파티션 키로 사용하는 것은 초당 수천 건의 쓰기가 필요한 사용량이 많은 경우에 이상적입니다.

DynamoDB 파티션 키 생성

정렬 키와 마찬가지로 DynamoDB에서 파티션 키 생성에는 테이블에 대한 키 스키마 생성이 포함됩니다. 물론 이것은 테이블을 만들 때 발생합니다. 여기에는 종종 속성 유형과 함께 속성 이름을 사용하여 속성을 설명하는 것이 포함됩니다. 다음 구문이 도움이 될 것입니다.

AttributeName=문자열, 키 유형=문자열 ...

주어진 구문에서 속성 이름은 속성의 실제 이름이며 속성 유형은 String(S), Number(N) 또는 Binary(B)일 수 있습니다.

다음과 같이 JSON 구문을 사용하도록 선택할 수도 있습니다.

[

{

'속성 이름': '문자열',

'키 유형': '해시'

}

...

]

어떤 구문을 선택하든 파티션 키를 생성하므로 속성의 역할은 HASH 함수를 가정합니다. 반대로 키 유형은 정렬 키를 만들 때 RANGE 기능을 가정합니다.

마지막으로 다음 유틸리티를 사용하여 파티션 키를 변경할 수도 있습니다.

DynamoDBClient.updateItem({
'테이블 이름': 'myTable_Name',
'열쇠': {
'pk': {
'S': 'my_PartitionKey'
}
},
'UpdateExpression': 'SET #emailaddress = :emailaddress',
'표현 속성 이름': {
'#email': '이메일주소'
},
'ExpressionAttributeValues': {
':이메일 주소': {
'에스': ' [이메일 보호됨] '
}
}
})

주어진 유틸리티는 이메일 속성을 업데이트하여 [이메일 보호됨] 파티션 키(pk)가 my_PartitionKey와 동일한 항목의 경우.

결론

DynamoDB 파티션 키를 설정할 때 단일 범용 방법은 없습니다. 파티션 키 생성 및 사용은 사용 사례에 따라 다릅니다. 또한 사용 가능한 다양한 접근 방식을 살펴보고 응용 분야에 가장 적합한 접근 방식을 찾을 수 있습니다. 주어진 지침을 준수하는지 확인하십시오.