Konfigurowanie trwałości danych dla wystąpienia usługi Azure Cache for Redis
Trwałość Redis umożliwia utrwalanie danych przechowywanych w wystąpieniu pamięci podręcznej. Jeśli wystąpi awaria sprzętowa, wystąpienie pamięci podręcznej zostanie ponownie wypełnione danymi z pliku trwałości, gdy wróci do trybu online. Możliwość utrwalania danych jest ważnym sposobem zwiększenia trwałości wystąpienia pamięci podręcznej, ponieważ wszystkie dane pamięci podręcznej są przechowywane w pamięci. Utrata danych jest możliwa, jeśli wystąpi awaria, w wyniku której węzły pamięci podręcznej nie będą działać. Trwałość powinna być kluczową częścią strategii wysokiej dostępności i odzyskiwania po awarii za pomocą usługi Azure Cache for Redis.
Ostrzeżenie
Jeśli używasz trwałości w warstwie Premium, sprawdź, czy konto magazynu ma włączone usuwanie nietrwałe przed użyciem funkcji trwałości danych. Używanie utrwalania danych z usuwaniem nietrwałym powoduje bardzo wysokie koszty magazynowania. Aby uzyskać więcej informacji, zobacz czy należy włączyć usuwanie nietrwałe?.
Ostrzeżenie
Opcja always write for AOF persistence on the Enterprise and Enterprise Flash tiers (Zawsze zapis dla trwałości AOF w warstwach Flash Enterprise i Enterprise) ma zostać wycofana 1 kwietnia 2025 r. Ta opcja ma znaczące ograniczenia wydajności nie jest już zalecana. Zamiast tego zaleca się używanie opcji zapisu co sekundę lub używania trwałości bazy danych RDB.
Zakres dostępności
Warstwa | Podstawowa, Standardowa | Premium | Enterprise, Enterprise Flash |
---|---|---|---|
Dostępny | Nie. | Tak | Tak (wersja zapoznawcza) |
Typy trwałości danych w usłudze Redis
Dostępne są dwie opcje trwałości w usłudze Azure Cache for Redis: format bazy danych Redis (RDB) i format tylko do dołączania pliku (AOF):
- Trwałość bazy danych RDB — w przypadku używania trwałości bazy danych RDB usługa Azure Cache for Redis utrwala migawkę pamięci podręcznej w formacie binarnym. Migawka jest zapisywana na koncie usługi Azure Storage. Konfigurowalna częstotliwość tworzenia kopii zapasowych określa częstotliwość utrwalania migawki. Jeśli wystąpi katastrofalne zdarzenie, które wyłącza zarówno pamięć podręczną podstawową, jak i replikę, pamięć podręczna zostanie zrekonstruowana automatycznie przy użyciu najnowszej migawki. Dowiedz się więcej o zaletach i wadach utrwalania RDB.
- Trwałość AOF — w przypadku korzystania z trwałości AOF usługa Azure Cache for Redis zapisuje każdą operację zapisu w dzienniku. Dziennik jest zapisywany co najmniej raz na sekundę na koncie usługi Azure Storage. Jeśli wystąpi katastrofalne zdarzenie, które wyłączy zarówno pamięć podręczną podstawową, jak i replikę, pamięć podręczna zostanie zrekonstruowana automatycznie przy użyciu przechowywanych operacji zapisu. Dowiedz się więcej o zaletach i wadach utrwalania AOF.
Funkcje trwałości usługi Azure Cache for Redis mają być używane do automatycznego przywracania danych do tej samej pamięci podręcznej po utracie danych. Nie można zaimportować plików danych utrwalonej bazy danych RDB/AOF do nowej pamięci podręcznej ani istniejącej pamięci podręcznej. Aby przenieść dane między pamięciami podręcznymi, użyj funkcji Importowanie i eksportowanie. Aby uzyskać więcej informacji, zobacz Importowanie i eksportowanie danych w usłudze Azure Cache for Redis.
Aby wygenerować wszystkie kopie zapasowe danych, które można dodać do nowej pamięci podręcznej, możesz pisać zautomatyzowane skrypty przy użyciu programu PowerShell lub interfejsu wiersza polecenia, które okresowo eksportują dane.
Wymagania wstępne i ograniczenia
Funkcje trwałości są przeznaczone do przywracania danych do tej samej pamięci podręcznej po utracie danych.
- Nie można zaimportować plików danych utrwalonej bazy danych RDB/AOF do nowej pamięci podręcznej ani istniejącej pamięci podręcznej. Zamiast tego użyj funkcji Importuj/Eksportuj.
- Trwałość nie jest obsługiwana w przypadku pamięci podręcznych przy użyciu pasywnej replikacji geograficznej ani aktywnej replikacji geograficznej.
- W warstwie Premium trwałość AOF nie jest obsługiwana w przypadku wielu replik.
- W warstwie Premium dane muszą być utrwalane na koncie magazynu w tym samym regionie co wystąpienie pamięci podręcznej.
- W warstwie Premium konta magazynu w różnych subskrypcjach mogą służyć do utrwalania danych, jeśli tożsamość zarządzana jest używana do nawiązywania połączenia z kontem magazynu.
Różnice między trwałością w warstwach Premium i Enterprise
W warstwie Premium dane są utrwalane bezpośrednio na koncie usługi Azure Storage, które jesteś właścicielem i którymi zarządzasz. Usługa Azure Storage automatycznie szyfruje dane podczas ich utrwalania, ale możesz również użyć własnych kluczy do szyfrowania. Aby uzyskać więcej informacji, zobacz Klucze zarządzane przez klienta na potrzeby szyfrowania usługi Azure Storage.
Ostrzeżenie
Jeśli używasz trwałości w warstwie Premium, sprawdź, czy konto magazynu ma włączone usuwanie nietrwałe przed użyciem funkcji trwałości danych. Używanie utrwalania danych z usuwaniem nietrwałym powoduje bardzo wysokie koszty magazynowania. Aby uzyskać więcej informacji, zobacz czy należy włączyć usuwanie nietrwałe?.
W warstwach Flash Enterprise i Enterprise dane są utrwalane na dysku zarządzanym dołączonym bezpośrednio do wystąpienia pamięci podręcznej. Lokalizacja nie jest konfigurowalna ani dostępna dla użytkownika. Użycie dysku zarządzanego zwiększa wydajność trwałości. Dysk jest szyfrowany przy użyciu kluczy zarządzanych przez firmę Microsoft (MMK) domyślnie, ale można również używać kluczy zarządzanych przez klienta (CMK). Aby uzyskać więcej informacji, zobacz Zarządzanie szyfrowaniem danych.
Jak skonfigurować trwałość danych przy użyciu witryny Azure Portal
Jak skonfigurować trwałość danych przy użyciu programu PowerShell i interfejsu wiersza polecenia platformy Azure
Zarządzanie szyfrowaniem danych
Ponieważ trwałość usługi Redis tworzy dane magazynowane, szyfrowanie tych danych jest ważnym problemem dla wielu użytkowników. Opcje szyfrowania różnią się w zależności od używanej warstwy usługi Azure Cache for Redis.
W warstwie Premium dane są przesyłane strumieniowo bezpośrednio z wystąpienia pamięci podręcznej do usługi Azure Storage po zainicjowaniu trwałości. Różne metody szyfrowania mogą być używane z usługą Azure Storage, w tym kluczami zarządzanymi przez firmę Microsoft, kluczami zarządzanymi przez klienta i kluczami dostarczonymi przez klienta. Aby uzyskać informacje na temat metod szyfrowania, zobacz Szyfrowanie usługi Azure Storage dla danych magazynowanych.
Dzięki warstwom Enterprise i Enterprise Flash dane są przechowywane na dysku zarządzanym zainstalowanym w wystąpieniu pamięci podręcznej. Domyślnie dysk przechowujący dane trwałości i dysk systemu operacyjnego są szyfrowane przy użyciu kluczy zarządzanych przez firmę Microsoft. Klucz zarządzany przez klienta może być również używany do kontrolowania szyfrowania danych. Aby uzyskać instrukcje, zobacz Szyfrowanie w pamięciach podręcznych warstwy przedsiębiorstwa.
Stan trwały — często zadawane pytania
Poniższa lista zawiera odpowiedzi na często zadawane pytania dotyczące trwałości usługi Azure Cache for Redis.
- Czy mogę włączyć trwałość we wcześniej utworzonej pamięci podręcznej?
- Czy mogę jednocześnie włączyć trwałość AOF i RDB?
- Jak działa trwałość z replikacją geograficzną?
- Który model trwałości należy wybrać?
- Co się stanie w przypadku skalowania do innego rozmiaru i przywrócenia kopii zapasowej wykonanej przed operacją skalowania?
- Czy mogę użyć tego samego konta magazynu do trwałości w dwóch różnych pamięciach podręcznych?
- Czy za magazyn używany w trwałości danych będą naliczane opłaty
- Jak często bazy danych RDB i AOF zapisują w obiektach blob i czy należy włączyć usuwanie nietrwałe?
- Czy wyjątki zapory na koncie magazynu mają wpływ na trwałość
- Jak mogę sprawdzić, czy na moim koncie magazynu włączono usuwanie nietrwałe?
Stan trwały RDB
- Czy mogę zmienić częstotliwość tworzenia kopii zapasowej bazy danych RDB po utworzeniu pamięci podręcznej?
- Dlaczego występuje więcej niż 60 minut między kopiami zapasowymi, gdy mam ustawioną częstotliwość tworzenia kopii zapasowych RDB 60 minut?
- Co się stanie ze starymi kopiami zapasowymi bazy danych RDB po utworzeniu nowej kopii zapasowej?
Stan trwały AOF
- Kiedy należy użyć drugiego konta magazynu?
- Czy trwałość AOF wpływa na przepływność, opóźnienie lub wydajność mojej pamięci podręcznej?
- Jak usunąć drugie konto magazynu?
- Co to jest ponowny zapis i jak ma to wpływ na moją pamięć podręczną?
- Czego należy oczekiwać podczas skalowania pamięci podręcznej z włączoną funkcją AOF?
- W jaki sposób moje dane AOF są zorganizowane w magazynie?
- Czy mogę włączyć trwałość AOF, jeśli mam więcej niż jedną replikę?
Czy mogę włączyć trwałość we wcześniej utworzonej pamięci podręcznej?
Tak, trwałość można skonfigurować zarówno podczas tworzenia pamięci podręcznej, jak i w istniejących pamięciach podręcznych Flash w warstwie Premium, Enterprise lub Enterprise.
Czy mogę jednocześnie włączyć trwałość AOF i RDB?
Nie, można włączyć RDB lub AOF, ale nie obie w tym samym czasie.
Jak działa trwałość z replikacją geograficzną?
Jeśli włączysz trwałość danych, nie można włączyć replikacji geograficznej pamięci podręcznej.
Który model trwałości należy wybrać?
Trwałość AOF zapisuje każdy zapis w dzienniku, co ma znaczący wpływ na przepływność. W porównaniu AOF z trwałością bazy danych RDB, która zapisuje kopie zapasowe na podstawie skonfigurowanego interwału tworzenia kopii zapasowych z minimalnym wpływem na wydajność. Wybierz trwałość AOF, jeśli głównym celem jest zminimalizowanie utraty danych i można zaakceptować niższą przepływność pamięci podręcznej. Wybierz trwałość RDB, jeśli chcesz zachować optymalną przepływność w pamięci podręcznej, ale chcesz mieć mechanizm odzyskiwania danych.
- Dowiedz się więcej o zaletach i wadach utrwalania RDB.
- Dowiedz się więcej o zaletach i wadach utrwalania AOF.
Aby uzyskać więcej informacji na temat wydajności podczas korzystania z trwałości AOF, zobacz Czy trwałość AOF wpływa na przepływność, opóźnienie lub wydajność mojej pamięci podręcznej?
Czy trwałość AOF wpływa na przepływność, opóźnienie lub wydajność mojej pamięci podręcznej?
Trwałość AOF ma wpływ na przepływność. Funkcja AOF działa zarówno w procesie podstawowym, jak i repliki, dlatego widać wyższe obciążenie procesora CPU i serwera dla pamięci podręcznej z trwałością AOF niż identyczna pamięć podręczna bez trwałości AOF. Funkcja AOF zapewnia najlepszą spójność z danymi w pamięci, ponieważ każdy zapis i usuwanie są utrwalane z opóźnieniem zaledwie kilku sekund. Kompromis polega na tym, że AOF bardziej intensywnie obciąża środowisko obliczeniowe.
Tak długo, jak obciążenie procesora CPU i serwera jest mniejsze niż 90%, istnieje kara za przepływność, ale pamięć podręczna działa normalnie, w przeciwnym razie. Ponad 90% procesora CPU i obciążenia serwera, kara za przepływność może być znacznie wyższa, a opóźnienie wszystkich poleceń przetwarzanych przez pamięć podręczną wzrasta. Opóźnienie zwiększa się, ponieważ trwałość AOF jest uruchamiana zarówno w procesie podstawowym, jak i replikowym, zwiększając obciążenie używanego węzła i umieszczając trwałość na krytycznej ścieżce danych.
Co się stanie w przypadku skalowania do innego rozmiaru i przywrócenia kopii zapasowej wykonanej przed operacją skalowania?
Zarówno w przypadku trwałości RDB, jak i AOF:
- W przypadku skalowania do większego rozmiaru nie ma żadnego efektu.
- Jeśli rozmiar został przeskalowany do mniejszego rozmiaru i masz niestandardowe ustawienie baz danych większe niż limit baz danych dla nowego rozmiaru, dane w tych bazach danych nie zostaną przywrócone. Aby uzyskać więcej informacji, zobacz Czy moje niestandardowe ustawienia baz danych mają wpływ na skalowanie?
- Jeśli przeskalowano do mniejszego rozmiaru i nie ma wystarczającej ilości miejsca do przechowywania wszystkich danych z ostatniej kopii zapasowej, klucze są eksmitowane podczas procesu przywracania. Zazwyczaj klucze są eksmitowane przy użyciu zasad eksmisji allkeys-lru.
Czy mogę użyć tego samego konta magazynu do trwałości w dwóch różnych pamięciach podręcznych?
Nie, należy używać różnych kont magazynu dla różnych pamięci podręcznych. Każda pamięć podręczna musi mieć własne konto magazynu do skonfigurowania pod kątem trwałości.
Ważne
Używaj oddzielnych kont magazynu na potrzeby trwałości i wykonywania okresowych operacji eksportowania w pamięci podręcznej.
Czy zostaną naliczone opłaty za magazyn używany w trwałości danych?
- W przypadku pamięci podręcznych Premium opłaty są naliczane za używany magazyn zgodnie z modelem cenowym używanego konta magazynu.
- W przypadku pamięci podręcznych Flash enterprise i Enterprise nie są naliczane opłaty za magazyn dysków zarządzanych. Jest on uwzględniony w cenie.
Jak często bazy danych RDB i AOF zapisują w obiektach blob i czy należy włączyć usuwanie nietrwałe?
Zalecamy unikanie włączania usuwania nietrwałego na kontach magazynu w przypadku użycia z trwałością danych usługi Azure Cache for Redis w warstwie Premium. Trwałość baz danych RDB i AOF może zapisywać w obiektach blob tak często, jak co godzinę, co kilka minut lub co sekundę. Ponadto włączenie usuwania nietrwałego na koncie magazynu oznacza, że usługa Azure Cache for Redis nie może zminimalizować kosztów magazynowania, usuwając stare dane kopii zapasowej.
Usuwanie nietrwałe szybko staje się kosztowne dzięki typowym rozmiarom danych pamięci podręcznej, która wykonuje również operacje zapisu co sekundę. Aby uzyskać więcej informacji na temat kosztów usuwania nietrwałego, zobacz Cennik i rozliczenia.
Czy mogę zmienić częstotliwość tworzenia kopii zapasowej bazy danych RDB po utworzeniu pamięci podręcznej?
Tak, można zmienić częstotliwość tworzenia kopii zapasowych trwałości RDB przy użyciu portalu Azure, interfejsu wiersza polecenia lub programu PowerShell.
Dlaczego występuje więcej niż 60 minut między kopiami zapasowymi, gdy mam ustawioną częstotliwość tworzenia kopii zapasowych RDB 60 minut?
Interwał częstotliwości tworzenia kopii zapasowej trwałości RDB nie jest uruchamiany do momentu pomyślnego ukończenia poprzedniego procesu tworzenia kopii zapasowej. Jeśli częstotliwość tworzenia kopii zapasowej wynosi 60 minut i ukończenie procesu tworzenia kopii zapasowej trwa 15 minut, następna kopia zapasowa zostanie uruchomiona po 75 minutach od czasu rozpoczęcia poprzedniej kopii zapasowej.
Co się stanie ze starymi kopiami zapasowymi bazy danych RDB po utworzeniu nowej kopii zapasowej?
Wszystkie kopie zapasowe trwałości RDB, z wyjątkiem najnowszej, są automatycznie usuwane. Usunięcie może nie nastąpić natychmiast, ale starsze kopie zapasowe nie są utrwalane w nieskończoność. Jeśli używasz warstwy Premium na potrzeby trwałości, a usuwanie nietrwałe jest włączone dla konta magazynu, stosowane jest ustawienie usuwania nietrwałego, a istniejące kopie zapasowe nadal znajdują się w stanie usuwania nietrwałego.
Kiedy należy użyć drugiego konta magazynu?
Użyj drugiego konta magazynu dla trwałości AOF, jeśli uważasz, że masz wyższe niż oczekiwano operacje ustawiania w pamięci podręcznej. Skonfigurowanie pomocniczego konta magazynu pomaga zapewnić, że pamięć podręczna nie osiągnie limitów przepustowości magazynu. Ta opcja jest dostępna tylko dla pamięci podręcznych w warstwie Premium.
Jak usunąć drugie konto magazynu?
Możesz usunąć pomocnicze konto magazynu AOF, ustawiając drugie konto magazynu tak samo jak pierwsze konto magazynu. W przypadku istniejących pamięci podręcznych uzyskaj dostęp do trwałości danych z menu Zasób dla pamięci podręcznej. Aby wyłączyć trwałość AOF, wybierz pozycję Wyłączone.
Co to jest ponowny zapis i jak ma to wpływ na moją pamięć podręczną?
Gdy plik AOF stanie się wystarczająco duży, ponowne zapisywanie jest automatycznie kolejkowane w pamięci podręcznej. Ponowne zapisywanie zmienia rozmiar pliku AOF z minimalnym zestawem operacji potrzebnych do utworzenia bieżącego zestawu danych. Podczas ponownego zapisywania można spodziewać się wcześniejszego osiągnięcia limitów wydajności, zwłaszcza w przypadku obsługi dużych zestawów danych. Ponowne zapisywanie występuje rzadziej, ponieważ plik AOF staje się większy, a przez to zajmuje to dużo czasu.
Czego należy oczekiwać podczas skalowania pamięci podręcznej z włączoną funkcją AOF?
Jeśli plik AOF w momencie skalowania jest duży, spodziewaj się, że operacja skalowania będzie trwać dłużej niż oczekiwano, ponieważ ponownie załaduje plik po zakończeniu skalowania.
Aby uzyskać więcej informacji na temat skalowania, zobacz Co się stanie w przypadku skalowania do innego rozmiaru i przywrócenia kopii zapasowej wykonanej przed operacją skalowania?
W jaki sposób moje dane AOF są zorganizowane w magazynie?
W przypadku korzystania z warstwy Premium dane przechowywane w plikach AOF są podzielone na wiele stronicowych obiektów blob na fragmenty. Domyślnie połowa obiektów blob jest zapisywana na podstawowym koncie magazynu, a połowa jest zapisywana na pomocniczym koncie magazynu. Dzielenie danych między wiele stronicowych obiektów blob i dwóch różnych kont magazynu zwiększa wydajność.
Jeśli szczytowa szybkość zapisu w pamięci podręcznej nie jest zbyt wysoka, ta dodatkowa wydajność może nie być potrzebna. W takim przypadku można usunąć konfigurację pomocniczego konta magazynu. Wszystkie pliki AOF są zamiast tego przechowywane na jednym podstawowym koncie magazynu. W poniższej tabeli przedstawiono liczbę łącznych stronicowych obiektów blob używanych dla każdej warstwy cenowej:
Warstwa Premium | Obiekty blob |
---|---|
P1 | 8 na fragment |
P2 | 16 na fragment |
P3 | 32 na fragment |
P4 | 40 na fragment |
Po włączeniu klastrowania każdy fragment w pamięci podręcznej ma własny zestaw stronicowych obiektów blob, jak wskazano w poprzedniej tabeli. Na przykład pamięć podręczna P2 z trzema fragmentami dystrybuuje swój plik AOF w 48 stronicowych obiektach blob: szesnaście obiektów blob na fragment, z trzema fragmentami.
Po ponownym zapisaniu w magazynie istnieją dwa zestawy plików AOF. Ponowne zapisywanie występuje w tle i dołączanie do pierwszego zestawu plików. Ustaw operacje, wysyłane do pamięci podręcznej podczas ponownego zapisywania, dołączanie do drugiego zestawu. Kopia zapasowa jest tymczasowo przechowywana podczas ponownego zapisywania, jeśli wystąpi błąd. Kopia zapasowa zostanie natychmiast usunięta po zakończeniu ponownego zapisywania. Jeśli usuwanie nietrwałe jest włączone dla konta magazynu, ustawienie usuwania nietrwałego ma zastosowanie, a istniejące kopie zapasowe nadal pozostają w stanie usuwania nietrwałego.
Czy na koncie magazynu będą występować wyjątki zapory?
Tak. Korzystanie z ustawień zapory na koncie magazynu może uniemożliwić działanie funkcji trwałości. Możesz sprawdzić, czy występują błędy w utrwalaniu danych, wyświetlając metryki Błędy. Ta metryka wskazuje, czy pamięć podręczna nie może utrwałać danych z powodu ograniczeń zapory na koncie magazynu lub innych problemów.
Aby używać trwałości danych z kontem magazynu, które ma skonfigurowaną zaporę, użyj uwierzytelniania opartego na tożsamości zarządzanej w celu nawiązania połączenia z magazynem. Użycie tożsamości zarządzanej dodaje wystąpienie pamięci podręcznej do listy zaufanych usług, co ułatwia wykonywanie wyjątków zapory. Jeśli nie używasz tożsamości zarządzanej i zamiast tego autoryzujesz je na koncie magazynu przy użyciu klucza, wówczas wyjątki zapory na koncie magazynu zwykle przerywają proces trwałości. Dotyczy to tylko trwałości w warstwie Premium.
Czy mogę włączyć trwałość AOF, jeśli mam więcej niż jedną replikę?
W warstwie Premium nie można używać trwałości pliku tylko do dołączania (AOF) z wieloma replikami. W warstwach Enterprise i Enterprise Flash architektura repliki jest bardziej skomplikowana, ale trwałość AOF jest obsługiwana, gdy pamięci podręczne przedsiębiorstwa są używane we wdrożeniu strefowo nadmiarowym.
Jak mogę sprawdzić, czy na moim koncie magazynu włączono usuwanie nietrwałe?
Wybierz konto magazynu używane przez pamięć podręczną na potrzeby trwałości. Wybierz pozycję Ochrona danych z menu Zasób. W okienku roboczym sprawdź stan Włącz usuwanie nietrwałe dla obiektów blob. Aby uzyskać więcej informacji na temat usuwania nietrwałego na kontach usługi Azure Storage, zobacz Włączanie usuwania nietrwałego dla obiektów blob.
Następne kroki
Dowiedz się więcej o funkcjach usługi Azure Cache for Redis.