2017-12-13 15 views
1

저는 Azure Cosmos DB에 익숙하지 않고 개념을 이해하려고합니다.Azure Cosmos DB 수집을위한 파티션 키

DocumentDB 컬렉션에 가능한 최상의 파티션 키를 결정하는 데 도움이 필요합니다. 가능한 파티션이있는 아래 이미지를 다른 파티션 키를 사용하여 참조하십시오.

블로그 게시물 here에서 언급 한 바와 같이

this

, 이상적인 파티션 키가 쿼리의 필터로 자주 나타나고 솔루션을 보장하기 위해 충분한 기수를 가지고 하나입니다

확장 성 입니다 .

필자의 경우 UserId를 파티션 키로 사용할 수 있습니다.

누가 어떤 키가 파티션 키의 가장 좋은 후보가 될 수 있습니까?

+0

왜 내 질문에 누가 투표를하지 않았는지 잘 모르겠습니다. 나는 이미 답을 찾기 위해 일부 연구를 해왔다. 나는 여기에 질문을 게시하여 DocumentDB에서 일하고 있으며 명확한 이해력을 가진 사람이 나를 제안 할 수 있도록합니다. – Ganesh

+0

데이터 액세스 방법 또한 중요합니다. 매우 첫 번째 단계 : 데이터를 자주 읽지 않는 경우 가능한 한 많은 값을 갖는 키를 사용하십시오. 데이터의 일부분을 정기적으로 읽는다면 가능한 한 적은 파티션 내에서 쿼리 결과를 유지하십시오. 양쪽 극단의 균형을 잡으면 시작하는 방법에 대해 좋은 생각을 갖게됩니다. query가 userId에 의해 필터링되는 경우, 이것은 좋은 후보가 될 것입니다. –

답변

-2

상황에 따라 다르다, 그러나 여기에는 몇 가지 고려해야 할 :

당신이 언급 한 블로그 게시물 말 :

또한, 같은 파티션 키에 속하는 문서의 저장 크기가 10기가바이트로 제한됩니다. 이상적인 파티션 키는 쿼리에 필터로 자주 나타나며 솔루션의 확장 성을 보장 할 수있는 충분한 카디널리티가있는 것입니다.

또한, 난 정말이 게시물 및 비디오, https://docs.microsoft.com/en-us/azure/cosmos-db/partition-data, 파티션 키의

선택은 디자인 타임에 확인해야하는 중요한 결정이다를 확인하는 것이 좋습니다. 값의 범위가 넓고 액세스 패턴이있는 속성 이름을 선택해야합니다.

많은 가치가 있고 그 요구 사항을 충족하는 파티션 키를 선택해야합니다.

0

10 things to know about DocumentDB Partitioned Collectionsmicro official document에서 파티셔닝 키 선택에 대한 많은 조언을 얻을 수 있으므로 여기에서 반복하지 않겠습니다.

분할 키의 선택은 데이터베이스에 저장된 데이터와 자주 수행되는 쿼리 필터링 기준에 따라 다릅니다.

경우에 따라 userid과 같이 파티션을 나누는 것이 좋습니다. 비즈니스 로직에 주어진 userid에 대한 많은 쿼리가 있고 수백 개 이상의 항목을 조회하려고한다고 가정합니다. 이 경우 파티션간에 데이터를 대조해야하는 오버 헤드없이 단일 파티션에서 데이터를 신속하게 추출 할 수 있습니다.

user에 대한 수백만 개의 레코드가있는 경우 userid에서 파티셔닝하는 것은 단일 파티션에서 많은 양의 데이터를 추출하는 것이 곧 데이터 정렬의 오버 헤드를 초과하므로 최악의 방법 일 수 있습니다. 이 경우 모든 파티션에서 가능한 한 균등하게 사용자 데이터를 배포하려고합니다. 파티션 키가 될 다른 열을 찾아야 할 수도 있습니다.

데이터 볼륨이 매우 큰 경우 비즈니스 로직을 기반으로 간단한 테스트를 수행하고 성능에 가장 적합한 파티셔닝 키를 선택하는 것이 좋습니다. 결국 파티션 키는 일단 설정되면 변경할 수 없습니다.

희망이 있으면 도움이됩니다.

+0

이 정보를 공유해 주신 Jay에게 감사드립니다. 예, 우리는 파티션 키를 선택하기 전에 기반을 수행 할 것입니다. – Ganesh

+0

@ 가네스 괜찮습니다. 포럼에서 다른 사람들의 참조에 대한 답을 표시 할 수 있습니다. –