Udostępnij za pośrednictwem


Tworzenie kontenerów i baz danych usługi Azure Cosmos DB z przepływnością autoskalowania

DOTYCZY: NoSQL MongoDB Kasandra Gremlin Stół

W usłudze Azure Cosmos DB można skonfigurować standardową (ręczną) lub aprowizowaną przepływność autoskalowania w bazach danych i kontenerach. Automatyczne skalowanie aprowizowanej przepływności w usłudze Azure Cosmos DB umożliwia automatyczne i natychmiastowe skalowanie przepływności (RU/s) bazy danych lub kontenera. Przepływność jest skalowana na podstawie użycia bez wpływu na dostępność, opóźnienie, przepływność lub wydajność obciążenia.

Aprowizowana przepływność autoskalowania jest odpowiednia dla obciążeń o znaczeniu krytycznym, które mają zmienne lub nieprzewidywalne wzorce ruchu, i wymagają umów SLA na dużą wydajność i skalę. Dynamiczne skalowanie automatyczne jest zalecane do skalowania przepływności (RU/s) obciążeń niezależnie na podstawie użycia, na poziomie poszczególnych regionów i na poziomie partycji. W tym artykule opisano zalety i przypadki użycia przepływności aprowizowanej przez autoskalowanie.

Zalety autoskalowania

Bazy danych i kontenery usługi Azure Cosmos DB skonfigurowane z aprowizowaną przepływnością autoskalowania mają następujące korzyści:

  • Proste: autoskalowanie eliminuje złożoność zarządzania jednostkami RU/s przy użyciu niestandardowego skryptu lub ręcznego skalowania pojemności.

  • Skalowalne: bazy danych i kontenery automatycznie skalują aprowizowaną przepływność zgodnie z potrzebami. Nie ma żadnych zakłóceń w połączeniach klienckich, aplikacjach ani umowy SLA usługi Azure Cosmos DB.

  • Ekonomiczne: autoskalowanie pomaga zoptymalizować użycie jednostek RU/s i użycie kosztów przez skalowanie w dół, gdy nie jest używane. Płacisz tylko za zasoby, których potrzebują obciążenia na godzinę. Ze wszystkich godzin w miesiącu, jeśli ustawisz maksymalną wartość RU/s(Tmax) autoskalowania i użyj pełnej ilości Tmax przez 66% godzin lub mniej, możesz zapisać przy użyciu autoskalowania. Oprócz skalowania dynamicznego dodanie regionu pomocniczego w celu zapewnienia wysokiej dostępności jest bardziej ekonomiczne, ponieważ każdy region i partycje są skalowane niezależnie na podstawie rzeczywistego użycia. Aby dowiedzieć się więcej, zobacz artykuł Jak wybrać między standardową (ręczną) i aprowizowaną przepływnością autoskalowania.

  • Wysoka dostępność: bazy danych i kontenery korzystające z automatycznego skalowania używają tego samego globalnie rozproszonego, odpornego na uszkodzenia, wysoce dostępnego zaplecza usługi Azure Cosmos DB w celu zapewnienia trwałości danych i wysokiej dostępności.

Przypadki użycia autoskalowania

Przypadki użycia autoskalowania obejmują:

  • Zmienne lub nieprzewidywalne obciążenia: jeśli obciążenia mają zmienne lub nieprzewidywalne skoki użycia, autoskalowanie pomaga automatycznie skalować w górę i w dół na podstawie użycia. Przykłady obejmują witryny internetowe handlu detalicznego, które mają różne wzorce ruchu w zależności od sezonowości; Obciążenia IOT, które mają skoki w różnych porach dnia; aplikacje biznesowe, które widzą szczytowe użycie kilka razy w miesiącu lub roku i nie tylko. W przypadku automatycznego skalowania nie trzeba już ręcznie aprowizować pod kątem szczytowej lub średniej pojemności.

  • Nowe aplikacje: jeśli tworzysz nową aplikację i nie masz pewności co do potrzebnej przepływności (RU/s), autoskalowanie ułatwia rozpoczęcie pracy. Możesz zacząć od punktu wejścia autoskalowania 100–1000 RU/s, monitorować użycie i określać odpowiednie jednostki RU/s w czasie.

  • Rzadko używane aplikacje: jeśli masz aplikację, która jest używana tylko przez kilka godzin kilka razy dziennie, tydzień lub miesiąc — na przykład aplikacja o niskim woluminie/witryna internetowa/blog — automatyczne skalowanie dostosowuje pojemność do obsługi szczytowego użycia i skalowania w dół, gdy się skończy.

  • Obciążenia programistyczne i testowe: jeśli ty lub twój zespół korzystasz z baz danych i kontenerów usługi Azure Cosmos DB w godzinach pracy, ale nie potrzebujesz ich w nocy lub weekendach, autoskalowanie pomaga zaoszczędzić koszty, skalując w dół do minimum, gdy nie są używane.

  • Zaplanowane obciążenia produkcyjne/zapytania: jeśli masz serię zaplanowanych żądań, operacji lub zapytań, które mają być uruchamiane w okresach bezczynności, możesz to łatwo wykonać za pomocą skalowania automatycznego. Gdy musisz uruchomić obciążenie, przepływność automatycznie skaluje się do wymaganej wartości i skaluje w dół.

Tworzenie niestandardowego rozwiązania tych problemów nie tylko wymaga ogromnego czasu, ale także wprowadza złożoność konfiguracji lub kodu aplikacji. Autoskalowanie umożliwia korzystanie z powyższych scenariuszy i eliminuje potrzebę niestandardowego lub ręcznego skalowania pojemności.

Jak działa aprowizowana przepływność autoskalowania

Podczas konfigurowania kontenerów i baz danych za pomocą autoskalowania należy określić maksymalną wymaganą przepływność Tmax . Usługa Azure Cosmos DB skaluje przepływność T , taką jak 0.1*Tmax <= T <= Tmax. Jeśli na przykład ustawisz maksymalną przepływność na 20 000 RU/s, przepływność będzie skalowana między 2000 a 20 000 RU/s. Ponieważ skalowanie jest automatyczne i natychmiastowe, w dowolnym momencie można zużyć do aprowizowania Tmax bez opóźnień.

Za każdą godzinę są naliczane opłaty za najwyższą przepływność T systemu skalowaną do wartości w ciągu godziny. Po włączeniu dynamicznego skalowania skalowanie jest oparte na użyciu jednostek RU/s w każdej partycji fizycznej i regionie. W miarę niezależnego skalowania poszczególnych partycji i regionów może to prowadzić do obniżenia kosztów w przypadku nieuprzyzwoitych obciążeń, ponieważ unika się niepotrzebnych skalowania w poziomie.

Punkt wejścia dla maksymalnej przepływności Tmax autoskalowania rozpoczyna się od 1000 RU/s, który skaluje się między 100 a 1000 RU/s. Można ustawić Tmax przyrosty 1000 RU/s i zmienić wartość w dowolnym momencie.

Włączanie automatycznego skalowania w istniejących zasobach

Użyj witryny Azure Portal, interfejsu wiersza polecenia lub programu PowerShell, aby włączyć skalowanie automatyczne w istniejącej bazie danych lub kontenerze. W dowolnym momencie możesz przełączać się między aprowizowaną przepływnością autoskalowania i standardową (ręczną). Aby uzyskać więcej informacji, zapoznaj się z tą dokumentacją , aby uzyskać więcej informacji.

Limity przepływności i magazynowania dla autoskalowania

W przypadku dowolnej wartości Tmaxbaza danych lub kontener może przechowywać łącznie 0.1 * Tmax GBwartość . Po osiągnięciu tej ilości magazynu maksymalna liczba jednostek RU/s zostanie automatycznie zwiększona na podstawie nowej wartości magazynu bez wpływu na aplikację.

Jeśli na przykład zaczniesz od maksymalnej wartości RU/s wynoszącej 50 000 RU/s (skaluje się między 5000 a 50 000 RU/s), możesz przechowywać maksymalnie 5000 GB danych. Jeśli przekroczysz 5000 GB — na przykład magazyn wynosi teraz 6000 GB, nowa maksymalna liczba JEDNOSTEK RU/s stanie się 60 000 RU/s (skaluje się między 6000 a 60 000 RU/s).

Jeśli używasz przepływności na poziomie bazy danych z autoskalowaniem, możesz mieć 25 pierwszych kontenerów współużytkujących maksymalną wartość 1000 RU/s autoskalowania (skalowanie między 100– 1000 RU/s), o ile nie przekraczasz 100 GB magazynu. Aby uzyskać więcej informacji, zapoznaj się z tą dokumentacją.

Porównanie — kontenery skonfigurowane przy użyciu przepływności ręcznej i automatycznej skalowania

Aby uzyskać więcej informacji, zobacz tę dokumentację dotyczącą wybierania między standardową (ręczną) i automatyczną przepływnością.

Kontenery ze standardową (ręczną) przepływnością Kontenery z przepływnością autoskalowania
Aprowizowana przepływność (RU/s) Ręcznie zainicjowano aprowizację. Automatyczne i natychmiastowe skalowanie na podstawie wzorców użycia obciążenia.
Ograniczanie szybkości żądań/operacji (429) Może się zdarzyć, jeśli użycie przekroczy aprowizowaną pojemność. Nie występuje, jeśli używasz jednostek RU/s w skonfigurowanym zakresie przepływności autoskalowania.
Planowanie pojemności Musisz zaplanować pojemność i ustawić dokładną potrzebną przepływność. System automatycznie zajmuje się planowaniem pojemności i zarządzaniem pojemnością.
Cennik Płacisz za ręcznie aprowizowaną jednostkę RU/s na godzinę przy użyciu standardowej (ręcznej ) stawki RU/s za godzinę. Płacisz za godzinę za najwyższą liczbę jednostek RU/s, które system skalował w górę do godziny.

W przypadku kont z pojedynczym regionem zapisu płacisz za jednostki RU/s używane co godzinę, korzystając z stawki ru/s skalowania automatycznego na godzinę.

W przypadku kont z wieloma regionami zapisu nie są naliczane dodatkowe opłaty za skalowanie automatyczne. Płacisz za przepływność używaną co godzinę przy użyciu tej samej stawki ru/s zapisu w wielu regionach na godzinę.

Najlepsze rozwiązanie dla typów obciążeń Przewidywalne i stabilne obciążenia Nieprzewidywalne i zmienne obciążenia

Migrowanie standardowej aprowizowanej przepływności do skalowania automatycznego

Użytkownicy, którzy chcą migrować dużą liczbę zasobów ze standardowej aprowizowanej przepływności do automatycznego skalowania, mogą użyć skryptu interfejsu wiersza polecenia platformy Azure do migrowania każdego zasobu przepływności w subskrypcji platformy Azure do automatycznego skalowania. Aby uzyskać więcej informacji, zobacz Konwertowanie na autoskalowania.

Następne kroki