Zintegrowana pamięć podręczna usługi Azure Cosmos DB — często zadawane pytania
DOTYCZY: NoSQL
Zintegrowana pamięć podręczna usługi Azure Cosmos DB to pamięć podręczna w pamięci wbudowana w usługę Azure Cosmos DB. Ten artykuł zawiera odpowiedzi na często zadawane pytania dotyczące zintegrowanej pamięci podręcznej usługi Azure Cosmos DB.
Często zadawane pytania
Dlaczego zintegrowana pamięć podręczna wymaga dedykowanej bramy?
Jeśli nawiązaliśmy połączenie z usługą Azure Cosmos DB przy użyciu trybu bramy, użyto bramy standardowej. Chociaż zaplecze usługi Azure Cosmos DB (aprowizowana przepływność i magazyn) ma dedykowaną pojemność na kontener, standardowa brama jest współdzielona przez wielu klientów. Wielu klientów korzysta z bramy standardowej, ponieważ zasoby obliczeniowe zużywane przez poszczególnych klientów są minimalne. Ponieważ zintegrowana pamięć podręczna jest specyficzna dla konta usługi Azure Cosmos DB i wymaga znacznego użycia procesora CPU i pamięci, wymaga dedykowanych węzłów bramy.
Co to jest dedykowana brama?
Dedykowana brama to obliczenia po stronie serwera, które są frontonem danych na koncie usługi Azure Cosmos DB. Po nawiązaniu połączenia z dedykowanym punktem końcowym bramy przy użyciu trybu bramy aplikacja wysyła żądanie do dedykowanej bramy, która następnie kieruje żądanie do różnych partycji zaplecza. Używanie trybu bezpośredniego z dedykowaną bramą jest obsługiwane, ale te żądania nie będą używać zintegrowanej pamięci podręcznej.
Czy użycie dedykowanej bramy zapewnia jakiekolwiek inne korzyści z wydajności w zakresie korzystania z bramy standardowej?
Ogólnie rzecz biorąc, żądania kierowane przez dedykowaną bramę będą miały nieco mniejsze i bardziej spójne opóźnienie niż żądania kierowane przez bramę standardową. Nawet żądania, które nie korzystają ze zintegrowanej pamięci podręcznej, nadal będą miały nieco mniejsze opóźnienie niż brama standardowa.
Jakiego rodzaju opóźnienie należy oczekiwać od zintegrowanej pamięci podręcznej?
Żądanie obsługiwane przez zintegrowaną pamięć podręczną jest szybkie, ponieważ buforowane dane są przechowywane w pamięci w dedykowanej bramie, a nie na zapleczu.
W przypadku odczytów punktów buforowanych należy oczekiwać mediany opóźnienia 2–4 ms. W przypadku zapytań buforowanych opóźnienie zależy od zapytania. Pamięć podręczna zapytań działa przez buforowanie odpowiedzi aparatu zapytań dla określonego zapytania. Ta odpowiedź jest następnie wysyłana z powrotem po stronie klienta do zestawu SDK w celu przetworzenia. W przypadku prostych zapytań wymagana jest minimalna praca w zestawie SDK, a mediany opóźnień 2–4 ms są typowe. Bardziej złożone zapytania z GROUP BY
lub DISTINCT
wymagają większego przetwarzania w zestawie SDK, więc opóźnienie może być wyższe, nawet w przypadku pamięci podręcznej zapytań.
Jeśli wcześniej nawiązano połączenie z usługą Azure Cosmos DB w trybie bezpośrednim i przełączysz się w celu nawiązania połączenia z dedykowaną bramą, możesz zaobserwować niewielki wzrost opóźnienia dla niektórych żądań. Użycie trybu bramy wymaga wysłania żądania do bramy (w tym przypadku dedykowanej bramy), a następnie przekierowania odpowiednio do zaplecza. Tryb bezpośredni, jak sugeruje nazwa, umożliwia klientowi bezpośrednie komunikowanie się z zapleczem, usunięcie dodatkowego przeskoku. Brak umowy SLA z opóźnieniem dla żądań korzystających z dedykowanej bramy.
Jeśli aplikacja wcześniej korzystała z trybu bezpośredniego, zalety opóźnienia zintegrowanej pamięci podręcznej będą istotne tylko w następujących scenariuszach:
- Opóźnienie odczytu punktów dla dużych elementów (> 16 KB)
- Wysokie jednostki RU lub złożone zapytania
Jeśli aplikacja wcześniej używała trybu bramy ze standardową bramą, zintegrowana pamięć podręczna zapewni zmniejszenie opóźnienia niemal wszystkich scenariuszy.
Czy umowa SLA dotycząca dostępności usługi Azure Cosmos DB rozszerza się na dedykowaną bramę i zintegrowaną pamięć podręczną?
W przypadku scenariuszy wymagających wysokiej dostępności i w celu objęcia umową SLA dotyczącej dostępności usługi Azure Cosmos DB należy aprowizować co najmniej 3 dedykowane węzły bramy. Jeśli na przykład potrzebny jest jeden dedykowany węzeł bramy w środowisku produkcyjnym, należy aprowizować dwa dodatkowe dedykowane węzły bramy, aby uwzględnić ewentualne przestoje, awarie i uaktualnienia. Jeśli aprowizowana jest tylko jedna dedykowana brama, w tych scenariuszach tymczasowo utracisz dostępność. Ponadto upewnij się, że dedykowana brama ma wystarczającą liczbę węzłów do obsługi obciążenia.
Zintegrowana pamięć podręczna jest teraz dostępna tylko dla interfejsu API noSQL. Planujesz również wydanie go dla innych interfejsów API?
Rozszerzenie zintegrowanej pamięci podręcznej poza interfejs API dla NoSQL jest planowane w długoterminowym harmonogramie działania, ale wykracza poza początkowy zakres zintegrowanej pamięci podręcznej.
Jaka spójność obsługuje zintegrowana pamięć podręczna?
Zintegrowana pamięć podręczna obsługuje zarówno sesję, jak i spójność ostateczną. Możesz również skonfigurować opcjonalną wartość MaxIntegratedCacheStaleness, która umieszcza górną granicę dla danych w pamięci podręcznej.
Następne kroki
- Zintegrowana pamięć podręczna
- Konfigurowanie zintegrowanej pamięci podręcznej
- Dedykowana brama
- Próbujesz zaplanować pojemność migracji do usługi Azure Cosmos DB? Informacje o istniejącym klastrze bazy danych można użyć do planowania pojemności.
- Jeśli wszystko, co wiesz, to liczba rdzeni wirtualnych i serwerów w istniejącym klastrze bazy danych, przeczytaj o szacowaniu jednostek żądań przy użyciu rdzeni wirtualnych lub procesorów wirtualnych
- Jeśli znasz typowe stawki żądań dla bieżącego obciążenia bazy danych, przeczytaj o szacowaniu jednostek żądań przy użyciu planisty pojemności usługi Azure Cosmos DB