Udostępnij za pośrednictwem


Jak skonfigurować globalne indeksy pomocnicze usługi Azure Cosmos DB for NoSQL (wersja zapoznawcza)

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

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.

  1. Zaloguj się do witryny Azure Portal.

  2. Przejdź do konta usługi Azure Cosmos DB for NoSQL.

  3. W menu zasobów wybierz pozycję Ustawienia.

  4. Przejdź do strony Funkcje . Następnie wybierz pozycję Globalny indeks pomocniczy dla interfejsu API NoSQL (wersja zapoznawcza) i włącz.

    Zrzut ekranu przedstawiający włączanie funkcji globalnego indeksu pomocniczego w witrynie Azure Portal.

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.

  1. 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.

  2. 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 i emailAddress . 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.

  1. 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 .

    Zrzut ekranu przedstawiający sposób tworzenia globalnego indeksu pomocniczego na stronie Eksplorator danych w witrynie Azure Portal.

  2. Identyfikator kontenera źródłowego zostanie automatycznie wypełniony. W polu Identyfikator kontenera indeksu wprowadź wartość gsi-target.

  3. W polu Definicja globalnego indeksu wtórnego wprowadź wartość SELECT c.customerId, c.emailAddress FROM c.

  4. W polu Klucz partycji wprowadź wartość /emailAddress.

    Zrzut ekranu przedstawiający sposób konfigurowania globalnego indeksu pomocniczego na stronie Eksplorator danych w witrynie Azure Portal.

  5. 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.

  6. 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'"));

Dalsze kroki