Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
DOTYCZY: NoSQL
Ważne
Globalne indeksy pomocnicze usługi Azure Cosmos DB for NoSQL są obecnie dostępne w wersji zapoznawczej. Ta wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług. Obecnie nie zalecamy używania globalnych indeksów pomocniczych dla obciążeń produkcyjnych. Niektóre funkcje tej wersji zapoznawczej mogą nie być obsługiwane lub mogą mieć ograniczone możliwości. Aby uzyskać więcej informacji, zobacz dodatkowe warunki użytkowania dla wersji zapoznawczych platformy Microsoft Azure.
Globalne indeksy pomocnicze zapewniają zaawansowany sposób optymalizowania wydajności zapytań i upraszczania logiki aplikacji przez przechowywanie danych przy użyciu innego klucza partycji i/lub modelu danych. W tym artykule opisano sposób tworzenia globalnych indeksów pomocniczych i sposobu ich używania w celu uniknięcia zapytań obejmujących wiele partycji.
Wymagania wstępne
- Istniejące konto usługi Azure Cosmos DB.
- Jeśli masz subskrypcję platformy Azure, utwórz nowe konto.
- Jeśli nie masz subskrypcji Azure, przed rozpoczęciem utwórz darmowe konto.
- Alternatywnie możesz wypróbować usługę Azure Cosmos DB bezpłatnie przed zatwierdzeniem.
Włączanie globalnych indeksów pomocniczych
Włącz globalną funkcję indeksu pomocniczego dla konta usługi Azure Cosmos DB. Przed włączeniem globalnych indeksów pomocniczych należy włączyć ciągłe kopie zapasowe dla konta.
Zaloguj się do witryny Azure Portal.
Przejdź do konta usługi Azure Cosmos DB for NoSQL.
W menu zasobów wybierz pozycję Ustawienia.
Przejdź do strony Funkcje . Następnie wybierz pozycję Globalny indeks pomocniczy dla interfejsu API NoSQL (wersja zapoznawcza) i włącz.
Tworzenie globalnego indeksu pomocniczego
Po włączeniu globalnej funkcji indeksu pomocniczego można utworzyć globalne indeksy pomocnicze.
Tworzenie kontenera źródłowego
Globalne indeksy pomocnicze przechowują kopię danych z kontenera źródłowego. Przed utworzeniem globalnego indeksu pomocniczego utwórz kontener źródłowy, na podstawie którego zostanie utworzony kontener indeksu. Jeśli masz już kontener na koncie usługi Azure Cosmos DB, którego chcesz użyć jako źródła, możesz pominąć te kroki.
Użyj portalu Azure, zestawów SDK platformy Azure, interfejsu wiersza polecenia Azure lub interfejsu API REST, aby utworzyć kontener źródłowy nazwany
gsi-src
, z/customerId
jako ścieżką klucza partycji.Uwaga / Notatka
Pole
/customerId
jest używane tylko jako przykład w tym artykule. W przypadku własnych kontenerów wybierz klucz partycji, który najlepiej odpowiada Twojemu rozwiązaniu.Wstaw kilka elementów w kontenerze źródłowym. Aby postępować zgodnie z przykładami przedstawionymi w tym artykule, upewnij się, że elementy mają
customerId
pola iemailAddress
. Przykładowy element może wyglądać następująco:{ "id": "eaf0338e-2b61-4163-822f-7bef75bf51de", "customerId": "36c7cc3d-1709-45c6-819f-10e5586a6cb7", "emailAddress": "justine@contoso.com", "name": "Justine" }
Wskazówka
W tym przykładzie kontener źródłowy zostanie wypełniony przykładowymi danymi przed dodaniem kontenera indeksów. Możesz również utworzyć globalny indeks pomocniczy z pustego kontenera źródłowego.
Tworzenie globalnego pomocniczego kontenera indeksów
Po utworzeniu kontenera źródłowego można utworzyć globalny kontener indeksu pomocniczego przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.
Przejdź do Eksploratora danych na koncie usługi Azure Cosmos DB. Wybierz kontener źródłowy,
gsi-src
w tym przykładzie i z listy rozwijanej wybierz pozycję Nowy globalny indeks pomocniczy .Identyfikator kontenera źródłowego zostanie automatycznie wypełniony. W polu Identyfikator kontenera indeksu wprowadź wartość
gsi-target
.W polu Definicja globalnego indeksu wtórnego wprowadź wartość
SELECT c.customerId, c.emailAddress FROM c
.W polu Klucz partycji wprowadź wartość
/emailAddress
.Globalne kontenery indeksów pomocniczych muszą używać przepływności z automatycznym skalowaniem. Skonfiguruj inne ustawienia kontenera, które chcesz, i wybierz przycisk OK , aby utworzyć globalny kontener indeksu pomocniczego.
Po utworzeniu globalnego pomocniczego kontenera indeksów dane są automatycznie synchronizowane z kontenera źródłowego. Spróbuj wykonać operacje tworzenia, aktualizowania i usuwania w kontenerze źródłowym. Zobaczysz te same zmiany propagowane do elementów w globalnym indeksie wtórnym.
Wykonywanie zapytań o dane z globalnych indeksów pomocniczych
W tym przykładzie mamy kontener źródłowy podzielony na partycje według customerId
oraz globalny kontener indeksu pomocniczego partycjonowany według emailAddress
. Bez kontenera indeksów zapytania, które obejmują tylko emailAddress
, byłyby zapytaniami krzyżowymi między partycjami. Teraz mogą być uruchamiane względem globalnego indeksu pomocniczego, aby zwiększyć wydajność.
Wykonywanie zapytań dotyczących danych z globalnych indeksów pomocniczych jest podobne do wykonywania zapytań dotyczących danych z dowolnego innego kontenera. Do wykonywania zapytań dotyczących danych w globalnych indeksach pomocniczych można użyć witryny Azure Portal, zestawów SDK platformy Azure lub interfejsu API REST.
Container container = client.GetDatabase("gsi-db").GetContainer("gsi-target");
FeedIterator<MyClass> myQuery = container.GetItemQueryIterator<MyClass>(new QueryDefinition("SELECT * FROM c WHERE c.emailAddress = 'justine@contoso.com'"));