Tworzenie kontenerów i baz danych usługi Azure Cosmos DB z przepływnością autoskalowania
DOTYCZY: Nosql Mongodb Cassandra Gremlin Tabeli
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ę. 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 wpływie na 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żyjesz pełnej ilości Tmax przez 66% godzin lub mniej, zapiszesz autoskalowanie. 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ń.
Każda godzina będzie naliczana opłata za najwyższą przepływność T
, do której system jest skalowany w ciągu godziny.
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 Tmax
baza danych lub kontener może przechowywać łącznie 0.1 * Tmax GB
wartość . Po osiągnięciu tej ilości miejsca do magazynowania maksymalna wartość RU/s zostanie automatycznie zwiększona na podstawie nowej wartości miejsca do magazynowania, 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 (skala 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 będzie się zdarzyć, jeśli używasz jednostek RU/s w skonfigurowanym zakresie przepływności autoskalowania. |
Planowanie pojemności | Należy zaplanować pojemność i aprowizować 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 |
Następne kroki
- Przejrzyj często zadawane pytania dotyczące automatycznego skalowania.
- Dowiedz się, jak wybrać przepływność ręczną i automatyczną.
- Dowiedz się, jak aprowizować przepływność skalowania automatycznego w bazie danych lub kontenerze usługi Azure Cosmos DB.
- Dowiedz się więcej na temat partycjonowania w usłudze Azure Cosmos DB.
- 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 wiesz, ile rdzeni wirtualnych i serwerów znajduje się 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