Jak działa usługa Azure Database for MySQL
W tej lekcji dowiesz się, jak działa usługa Azure Database for MySQL, począwszy od jej architektury. Dowiesz się również, jak usługa zapewnia wysoką dostępność, funkcje tworzenia kopii zapasowych i skalowanie w celu spełnienia wymagań obciążenia.
Architektura usługi Azure Database for MySQL
Na poniższym diagramie opisano architekturę wystąpienia usługi Azure Database for MySQL — serwer elastyczny.
- Wystąpienie mySQL działa na maszynie wirtualnej platformy Azure.
- Dane i dzienniki są przechowywane w usłudze Azure Premium Storage.
- Dane są replikowane trzy razy w magazynie lokalnie nadmiarowym na potrzeby tworzenia kopii zapasowych i odporności. Usługa udostępnia również opcje konfigurowania kopii zapasowych magazynu strefowo nadmiarowego lub geograficznie nadmiarowego.
- Ponadto istnieje możliwość współlokowania różnych aplikacji klienckich połączonych z serwerem elastycznym MySQL w tej samej strefie dostępności.
Możesz dodatkowo zdecydować się na wysoką dostępność w tej samej strefie lub strefie nadmiarowej, która automatycznie aprowizuje i utrzymuje replikę rezerwową.
Jak działa wysoka dostępność
W przypadku usługi Azure Database for MySQL — serwer elastyczny w ramach pojedynczej strefy dostępności następuje następujący proces po awarii serwera hostingu:
- Platforma Azure aprowizuje nową maszynę wirtualną.
- Platforma Azure mapuje pliki magazynu i danych na nowo aprowizowaną maszynę wirtualną.
- Aparat bazy danych MySQL jest wprowadzany w tryb online.
- Aplikacje klienckie ponownie łączą się z nowym wystąpieniem mySQL.
Uwaga
Jeśli aprowizujesz wysoką dostępność w różnych strefach, serwer rezerwowy jest utrzymywany w innej strefie dostępności w tym samym regionie świadczenia usługi Azure. Ten serwer jest w pełni zsynchronizowaną repliką serwera podstawowego. W przypadku awarii serwera podstawowego serwer rezerwowy może szybko przejąć z minimalnymi zakłóceniami, zapewniając tym samym dostępność usługi.
Jak działają kopie zapasowe
Za pomocą kopii zapasowych można przywrócić serwer do dowolnego punktu w czasie w okresie przechowywania (35 dni lub maksymalnie 10 lat z przechowywaniem długoterminowym w wersji zapoznawczej).
Jak działa skalowanie
Skalowanie w usłudze Azure Database for MySQL polega na dostosowaniu zasobów obliczeniowych zgodnie z potrzebami aplikacji, które mogą ulegać wahaniom na podstawie zapotrzebowania użytkownika, złożoności przetwarzanych operacji lub innych czynników, takich jak rozwój firmy. Ta elastyczność ma kluczowe znaczenie dla utrzymania optymalnej wydajności i wydajności kosztów.
Typy skalowania
- Skalowanie w pionie (skalowanie w górę/w dół)
- Skalowanie zasobów obliczeniowych: dotyczy to zmiany warstwy obliczeniowej serwera elastycznego MySQL. Platforma Azure oferuje kilka warstw obliczeniowych, z których każda jest przeznaczona do obsługi różnych typów obciążeń:
- Możliwość zwiększenia wydajności: nadaje się do środowisk z sporadycznymi wzrostami użycia procesora CPU, które nie wymagają ciągłej pełnej wydajności procesora CPU.
- Ogólnego przeznaczenia: zaprojektowana pod kątem szerokiej gamy aplikacji, zapewniając równowagę zasobów obliczeniowych, pamięci i operacji we/wy.
- Krytyczne dla działania firmy: oferuje najwyższą wydajność baz danych, z bardziej zaawansowanymi procesorami CPU i szybszymi operacjami we/wy, odpowiednimi dla obciążeń o dużych opóźnieniach i małych opóźnieniach.
- Alokacja pamięci i procesora CPU: w zależności od wybranej warstwy można skalować liczbę rdzeni wirtualnych i ilość pamięci RAM dostępnej dla bazy danych, co ma bezpośredni wpływ na możliwość obsługi większych lub bardziej złożonych zapytań i umożliwia uzyskanie większej liczby połączeń współbieżnych.
- Skalowanie zasobów obliczeniowych: dotyczy to zmiany warstwy obliczeniowej serwera elastycznego MySQL. Platforma Azure oferuje kilka warstw obliczeniowych, z których każda jest przeznaczona do obsługi różnych typów obciążeń:
- Skalowanie w poziomie
- Usługa Azure Database for MySQL może skalować w poziomie przez dodanie replik do odczytu w celu dystrybucji ruchu odczytu między wieloma serwerami, co zwiększa wydajność odczytu przy jednoczesnym zachowaniu dostępnego serwera podstawowego na potrzeby zapisu. Skalowanie w poziomie umożliwia bazie danych obsługę większego obciążenia zapytań, zwiększając czas odpowiedzi aplikacji.
- Skalowanie magazynu
- Dynamiczne skalowanie magazynu: dzięki usłudze Azure Database for MySQL można zwiększyć pojemność magazynu bez przestojów. Możesz zacząć od mniejszej alokacji i skalować w górę w miarę zwiększania się danych.
- Funkcja automatycznego zwiększania: ta funkcja automatycznie zwiększa rozmiar magazynu przed osiągnięciem limitu pojemności, uniemożliwiając w ten sposób wszelkie zakłócenia związane z ograniczeniami magazynu.
Automatyczne skalowanie operacji we/wy na sekundę
Automatyczne skalowanie operacji we/wy (operacje wejścia/wyjścia na sekundę) to funkcja, która dynamicznie dostosowuje przepływność we/wy na podstawie bieżącego obciążenia. Jest to szczególnie przydatne w przypadku nieprzewidywalnych lub podatnych na skoki wzorców obciążeń, ponieważ zapewnia, że baza danych może obsługiwać nagłe wzrosty obciążenia bez interwencji ręcznej.
- Skalowanie operacji we/wy na sekundę na podstawie obciążenia: gdy obciążenie zwiększa się i wymagana jest większa przepływność operacji we/wy, funkcja autoskalowania automatycznie zwiększa limit liczby operacji we/wy na sekundę do maksymalnej dozwolonej w wybranej warstwie obliczeniowej. Z drugiej strony liczba operacji we/wy na sekundę jest zmniejszana w okresach niskiej aktywności w celu zminimalizowania kosztów.
- Opłacalność: dzięki automatycznemu dostosowaniu liczby operacji we/wy na sekundę na podstawie rzeczywistego użycia płacisz tylko za używane operacje we/wy na sekundę, a nie za nadmierną aprowizację zasobów do obsługi obciążeń szczytowych, które mogą wystąpić tylko sporadycznie.
Najlepsze rozwiązania dotyczące skalowania
Aby skutecznie skalować usługę Azure Database for MySQL, monitorować metryki wydajności przy użyciu usługi Azure Monitor, konfigurować alerty krytyczne, planować przyszły wzrost, przeglądając wzorce użycia i testując skalowalność poza godzinami szczytu, aby zapewnić płynną wydajność pod zwiększonym obciążeniem.
Zrozumienie i użycie tych mechanizmów skalowania pozwala zagwarantować, że serwer elastyczny usługi Azure Database for MySQL będzie zawsze działać wydajnie, dostosowując się zarówno do bieżących, jak i przyszłych potrzeb twojej firmy.
Konfigurowanie i dostrajanie zachowania aparatu
Aby łatwo skonfigurować i dostosować zmienne i parametry serwera w usłudze Azure Database for MySQL, możesz użyć witryny Azure Portal, interfejsu wiersza polecenia platformy Azure lub interfejsu API REST, aby dostosować ustawienia, takie jak rozmiar pamięci podręcznej zapytań, limity czasu połączenia i preferencje aparatu magazynu, zapewniając optymalną wydajność i zachowanie dla określonego obciążenia.
Następnie zastanów się, czy usługa Azure Database for MySQL spełnia potrzeby organizacji, jej aplikacji i obciążeń baz danych.