Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Usługa Azure DocumentDB oferuje możliwość skalowania klastrów zarówno w pionie, jak i w poziomie. Mimo że warstwa klastra obliczeniowego i dysk magazynu są zależne od siebie, skalowalność i koszt zasobów obliczeniowych i magazynu są oddzielone.
Skalowanie w pionie
Skalowanie w pionie zapewnia następujące korzyści:
- Zespoły aplikacji mogą nie zawsze mieć wyraźną ścieżkę do logicznego fragmentowania swoich danych. Co więcej, logiczne fragmentowanie jest definiowane dla kolekcji. W zestawie danych z kilkoma kolekcjami bez podziału na fragmenty modelowanie danych dla partycjonowania może szybko stać się mozolne. Po prostu zwiększenie rozmiaru klastra może obejść konieczność stosowania logicznego dzielenia na fragmenty, a jednocześnie spełniać rosnące potrzeby magazynu i zasobów obliczeniowych aplikacji.
- Skalowanie w pionie nie wymaga ponownego równoważenia danych. Liczba fragmentów fizycznych pozostaje taka sama i zwiększa się tylko pojemność klastra bez wpływu na aplikację.
- Skalowanie w górę i w dół to operacje bez czasu przestoju, które nie powodują zakłóceń w działaniu usługi. Nie są potrzebne żadne zmiany aplikacji, a operacje stanu stałego mogą być kontynuowane bez zmian.
- Zasoby obliczeniowe można również skalować w dół w znanych oknach czasu niskiej aktywności. Skalowanie w dół pozwala uniknąć konieczności równoważenia danych na nowo w mniejszej liczbie fizycznych fragmentów i jest to operacja bez przestojów bez zakłóceń dla usługi. W tym przypadku po przeskalowaniu klastra nie są wymagane żadne zmiany aplikacji.
- Co najważniejsze, obliczenia i magazyn można skalować niezależnie. Jeśli potrzebne są więcej rdzeni i pamięci, rozmiar dysku można pozostawić tak samo jak i warstwę klastra można skalować w górę. Podobnie, jeśli potrzebujesz większej ilości przestrzeni dyskowej i liczby operacji we/wy na sekundę, warstwa klastra może pozostać bez zmian, a rozmiar magazynu można skalować w górę niezależnie. W razie potrzeby zarówno zasoby obliczeniowe, jak i magazyn można skalować niezależnie, aby zoptymalizować wymagania poszczególnych składników indywidualnie bez wpływu na wymagania dotyczące elastyczności każdego składnika.
Skalowanie w poziomie
W końcu aplikacja rośnie do punktu, w którym skalowanie w pionie nie jest wystarczające. Wymagania dotyczące obciążeń mogą przekraczać pojemność największej warstwy klastra i ostatecznie potrzebne są więcej fragmentów. Skalowanie w poziomie w usłudze Azure DocumentDB zapewnia następujące korzyści:
- Logicznie podzielone na fragmenty zestawy danych nie wymagają interwencji użytkownika w celu zrównoważenia danych w podstawowych fragmentach fizycznych. Usługa automatycznie mapuje fragmenty logiczne na fizyczne fragmenty. Po dodaniu lub usunięciu węzłów dane są automatycznie ponownie zrównoważone w bazie danych w tle.
- Żądania są automatycznie kierowane do odpowiedniego fizycznego fragmentu, który jest właścicielem zakresu skrótów dla danych, których dotyczy zapytanie.
- Klastry rozproszone geograficznie mają homogeniczną konfigurację z wieloma węzłami. W związku z tym mapowania logiczno-fizyczne fragmentów są spójne w głównych i replikowanych obszarach klastra.
Skalowanie zasobów obliczeniowych i magazynu
Zasoby obliczeniowe i zasoby pamięci wpływają na operacje odczytu w usłudze Azure DocumentDB więcej niż liczba operacji we/wy na sekundę dysku.
- Operacje odczytu najpierw konsultują się z pamięcią podręczną w warstwie obliczeniowej, a następnie sięgają do dysku, gdy nie można pobrać danych z pamięci podręcznej. W przypadku obciążeń o wyższej szybkości operacji odczytu na sekundę skalowanie w górę warstwy klastra w celu uzyskania większej ilości zasobów procesora CPU i pamięci prowadzi do większej przepływności.
- Oprócz przepływności odczytu obciążenia z dużą ilością danych na operację odczytu również korzystają ze skalowania zasobów obliczeniowych klastra. Na przykład warstwy klastra z większą ilością pamięci umożliwiają większe rozmiary pakietów danych dla każdego dokumentu i większą liczbę mniejszych dokumentów na odpowiedź.
IOPS dysku wpływa na operacje zapisu w usłudze Azure DocumentDB bardziej niż wydajność procesora i pamięci zasobów obliczeniowych.
- Operacje zapisu zawsze utrwalają dane na dysku (oprócz utrwalania danych w pamięci w celu zoptymalizowania operacji odczytu). Większe dyski z większymi wartościami IOPS zapewniają wyższą szybkość zapisu, szczególnie w przypadku pracy na dużą skalę.
- Usługa obsługuje maksymalnie 32 TB dysków na fragment, przy większej liczbie operacji we/wy na sekundę na fragment, co zapewnia wsparcie dla intensywnych operacji zapisu, szczególnie w przypadku uruchamiania na dużą skalę.
Duże obciążenia magazynu i duże dyski
Brak minimalnych wymagań dotyczących magazynu na warstwę klastra
Jak wspomniano wcześniej, zasoby magazynu i zasobów obliczeniowych są oddzielone od rozliczeń i aprowizacji. Chociaż działają one jako jednostka spójna, można je skalować niezależnie. Warstwa klastra M30 może mieć aprowizowane 32 TB dysków. Podobnie warstwa klastra M200 może mieć aprowizowane 32 GB dysków w celu optymalizacji zarówno pod kątem kosztów magazynowania, jak i zasobów obliczeniowych.
Niższy poziom TCO z dużymi dyskami (32 TB i więcej)
Zazwyczaj bazy danych NoSQL ograniczają magazyn na fizyczny fragment do 4 TB. Usługa Azure DocumentDB zapewnia maksymalnie 8 razy pojemność z dyskami o pojemności 32 TB. Dla obciążeń wymagających dużej pamięci masowej, pojemność 4 TB na fragment fizyczny wymaga ogromnej floty zasobów obliczeniowych, aby po prostu zaspokoić wymagania związane z przechowywaniem danych obciążenia. Obliczenia są droższe niż magazyn i nadmierna aprowizacja zasobów obliczeniowych ze względu na limity pojemności w usłudze mogą szybko zwiększać koszty.
Rozważmy obciążenie związane z przechowywaniem danych o wielkości 200 TB.
| Rozmiar pamięci magazynowej na część | Minimalna liczba fragmentów potrzebnych do utrzymania 200 TB |
|---|---|
| 4 TiB | 50 |
| 32 TiB | 7 |
Zmniejszenie wymagań obliczeniowych znacznie zmniejsza się wraz z większymi dyskami. Chociaż do utrzymania wymagań dotyczących przepływności obciążenia może być potrzebna większa niż minimalna liczba fragmentów fizycznych, nawet podwojenie liczby fragmentów jest bardziej opłacalne niż 50 klastrów fragmentów z mniejszymi dyskami.
Pomijanie warstw magazynowania z dużymi dyskami
Aby natychmiast reagować na koszty obliczeniowe w scenariuszach o dużym zapotrzebowaniu na zasoby magazynowe, należy "warstwować" dane. Dane w transakcyjnej bazie danych są ograniczone do najczęściej używanych "gorących" danych, podczas gdy większa ilość "zimnych" danych jest odłączona od magazynu zimnego. Powoduje to złożoność operacyjną. Wydajność jest również nieprzewidywalna i zależna od warstwy danych, do którego uzyskuje się dostęp. Ponadto dostępność całego systemu zależy od odporności zarówno gorących, jak i zimnych magazynów danych połączonych. W przypadku dużych dysków w usłudze nie ma potrzeby przechowywania warstwowego, ponieważ koszty obciążeń związanych z przechowywaniem są zminimalizowane.