2017-07-12 36 views
5

Instaluję naszą pierwszą bazę danych Azure Cosmos DB - Będę importować do pierwszej kolekcji dane z tabeli w jednej z naszych baz danych SQL Server. Podczas konfigurowania kolekcji mam problemy ze zrozumieniem znaczenia i wymagań dotyczących klucza partycji, które muszę konkretnie nazwać podczas konfigurowania tej kolekcji początkowej.Baza danych Azure Cosmos - Understanding Partition Key

Przeczytałem dokumentację tutaj: (https://docs.microsoft.com/en-us/azure/cosmos-db/documentdb-partition-data) i nadal nie jestem pewien, jak postępować zgodnie z konwencją nazewnictwa tego klucza partycji.

Czy ktoś może mi pomóc zrozumieć, w jaki sposób powinienem myśleć o nazywaniu tego klucza partycji? Zobacz poniższy zrzut ekranu dla pola, które próbuję wypełnić. Partition Key Name

Jeśli to pomaga, importowana tabela składa się z 7 kolumn, w tym unikalnego klucza podstawowego, kolumny tekstów nieustrukturyzowanych, kolumny adresów URL i kilku innych identyfikatorów dodatkowych dla adresu URL tego rekordu. Nie wiem, czy któraś z tych informacji ma wpływ na to, jak powinienem nazwać mój klucz partycjonowania.

EDYCJA: Dodałem zrzut ekranu z kilku rekordów z tabeli, z której importuję, na żądanie @Porschiey.

enter image description here

Odpowiedz

5

Szczerze video here było głównym pomoc w zrozumieniu partycjonowanie w CosmosDb.

Ale w skrócie: PartitionKey jest właściwością, która będzie istnieć na każdego obiektu, który jest najlepiej użyć do grupowania podobnych obiektów razem.

Dobre przykłady obejmują lokalizację (np. Miasto), identyfikator klienta, zespół i inne. Oczywiście, to zależy od twojego rozwiązania; więc być może, gdybyś opublikował swój obiekt, moglibyśmy polecić dobry klucz partycjonowania.

EDYCJA: Należy zauważyć, że PartitionKey nie jest wymagany do kolekcji poniżej 10 GB. (dzięki David Makogon)

+1

W przypadku kolekcji większych niż 10 GB klucz partycji * jest * wymagany. –

+1

@DavidMakogon masz rację. Dzięki. Edytowane w celu poprawienia mojej odpowiedzi. Dziękuję Ci. – Porschiey

+0

@Porschiey wielkie informacje, dzięki za to, będę oglądać wideo. I tak, mój będzie miał ponad 10 GB, więc klucz partycji będzie wymagany. Opublikuję zrzut ekranu z kilku rzędów mojego stołu. – Stpete111

1

CosmosDB może być używany do przechowywania jakiegokolwiek limitu danych. Jak to działa na zapleczu, to używanie klucza partycji. Czy to jest to samo co klucz podstawowy? - NO

Klucz podstawowy: jednoznacznie identyfikuje dane. Klucz partycji pomaga w odczytywaniu danych (na przykład jedna partycja dla miasta Nowy Jork, gdy miasto jest kluczem partycji).

Partycje mają limit 10 GB i im lepiej rozkładamy dane na partycjach, tym więcej możemy z nich korzystać. Chociaż w końcu będzie potrzebować więcej połączeń, aby uzyskać dane ze wszystkich partycji. Przykład: pobieranie danych z tej samej partycji w zapytaniu będzie zawsze szybsze niż pobieranie danych z wielu partycji.