Udostępnij za pomocą


Repliki do odczytu w usłudze Azure Cosmos DB for PostgreSQL

Ważne

Usługa Azure Cosmos DB for PostgreSQL nie jest już obsługiwana w przypadku nowych projektów. Nie używaj tej usługi dla nowych projektów. Zamiast tego użyj jednej z tych dwóch usług:

Funkcja repliki do odczytu umożliwia replikowanie danych z klastra do klastra tylko do odczytu. Repliki są aktualizowane asynchronicznie za pomocą technologii replikacji fizycznej PostgreSQL. Z serwera podstawowego można uruchomić do pięciu replik.

Repliki to nowe klastry zarządzane podobnie do zwykłych klastrów. Dla każdej repliki do odczytu są naliczane opłaty za zasoby obliczeniowe rdzeni wirtualnych i magazynu w GiB/miesiąc. Koszty zasobów obliczeniowych i magazynowania dla klastrów replik są takie same jak w przypadku zwykłych klastrów.

Dowiedz się, jak tworzyć repliki i zarządzać nimi.

Kiedy używać repliki do odczytu

Funkcja repliki odczytowej ułatwia poprawę wydajności i skalowania obciążeń intensywnie korzystających z odczytu. Obciążenia odczytu mogą być odizolowane do replik, a obciążenia zapisu mogą być kierowane do serwera podstawowego.

W typowym scenariuszu obciążenia związane z Business Intelligence (BI) i analityką używają replik odczytowych jako źródła danych do raportowania.

Ponieważ repliki są przeznaczone tylko do odczytu, nie zmniejszają bezpośrednio obciążeń związanych z pojemnością zapisu na serwerze podstawowym.

Kwestie wymagające rozważenia

Ta funkcja jest przeznaczona dla scenariuszy, w których opóźnienie replikacji jest dopuszczalne i jest przeznaczone do odciążania zapytań. Nie jest przeznaczona dla scenariuszy replikacji synchronicznej, w których oczekuje się, że dane repliki będą aktualne. Między repliką główną a repliką wystąpi mierzalne opóźnienie. Opóźnienie może potrwać kilka minut, a nawet godzin, w zależności od obciążenia i opóźnienia między repliką podstawową a repliką. Dane repliki w końcu staną się spójne z danymi podstawowymi. Użyj tej funkcji w przypadku obciążeń, które mogą uwzględnić to opóźnienie.

Tworzenie repliki

Gdy rozpoczynasz tworzenie repliki, zostaje utworzony pusty klaster. Nowy klaster jest wypełniany danymi, które znajdowały się w klastrze podstawowym. Czas tworzenia zależy od ilości danych bazy podstawowej i czasu od ostatniego tygodniowego tworzenia pełnej kopii zapasowej. Czas może wahać się od kilku minut do kilku godzin.

Funkcja repliki do odczytu używa replikacji fizycznej PostgreSQL, a nie replikacji logicznej. Domyślnym trybem jest replikacja strumieniowa przy użyciu slotów replikacji. W razie potrzeby do nadrobienia zaległości używa się przesyłania dzienników.

Dowiedz się, jak utworzyć replikę do odczytu w portalu Azure.

Nawiązywanie połączenia z repliką

Podczas tworzenia repliki nie dziedziczy ona reguł zapory klastra podstawowego. Te reguły muszą być konfigurowane niezależnie dla repliki.

Replika dziedziczy konto administratora (citus) z klastra podstawowego. Wszystkie konta użytkowników są replikowane do replik do odczytu. Z repliką do odczytu można nawiązać połączenie tylko przy użyciu kont użytkowników dostępnych na serwerze podstawowym.

Możesz nawiązać połączenie z węzłem koordynacji repliki przy użyciu jego nazwy hosta i prawidłowego konta użytkownika, tak jak w przypadku zwykłego klastra. Na przykład, biorąc pod uwagę serwer o nazwie moja replika z nazwą użytkownika administratora citus, można nawiązać połączenie z węzłem koordynatora repliki używając psql:

psql -h c-myreplica.12345678901234.postgres.cosmos.azure.com -U citus@myreplica -d postgres

Po wyświetleniu monitu wprowadź hasło dla konta użytkownika.

Awansowanie repliki na niezależny klaster

Można awansować replikę do niezależnego klastra, który jest gotowy do odczytu i zapisu. Promowana replika nie otrzymuje już aktualizacji z oryginału, a promocja nie może zostać cofnięta. Repliki promowane mogą mieć własne repliki.

Istnieją dwa typowe scenariusze promowania repliki.

  1. Odzyskiwanie po awarii. Jeśli coś pójdzie nie tak z podstawowym lub z całym regionem, możesz otworzyć inny klaster na potrzeby zapisu jako procedury awaryjnej.

  2. Migrowanie do innego regionu. Jeśli chcesz przenieść się do innego regionu, utwórz replikę w nowym regionie, poczekaj na nadrobienie zaległości danych, a następnie podwyższ poziom repliki. Aby uniknąć ewentualnej utraty danych podczas podwyższania poziomu, można wyłączyć zapisy w oryginalnym klastrze po nadrobieniu zaległości danych repliki.

    Możesz zobaczyć, jak replika nadgoniła, używając metryki replication_lag. Aby uzyskać więcej informacji, zobacz metryki.

Kwestie wymagające rozważenia

Ta sekcja zawiera podsumowanie zagadnień dotyczących funkcji repliki do odczytu.

Nowe repliki

Replika odczytowa jest tworzona jako nowy klaster. Nie można przekształcić istniejącego klastra w replikę. Nie można utworzyć repliki czyjejś repliki do odczytu.

Konfiguracja repliki

Repliki dziedziczą ustawienia zasobów obliczeniowych, pamięci i węzłów roboczych od głównych. Niektóre ustawienia można zmienić— ale nie wszystkie — w repliki. Można na przykład zmienić zasoby obliczeniowe, reguły zapory dla dostępu publicznego i prywatne punkty końcowe na potrzeby dostępu prywatnego. Nie można zmienić rozmiaru magazynu ani liczby węzłów roboczych.

Pamiętaj, aby repliki były wystarczająco silne, aby nadążały za zmianami z głównego źródła. Na przykład należy pamiętać o skalowaniu mocy komputacyjnej w replikach, jeśli skalujesz ją w górę na serwerze podstawowym.

Reguły zapory i ustawienia parametrów nie są dziedziczone z serwera podstawowego do repliki, ani w momencie utworzenia repliki, ani później.

Replikacja między regionami

Repliki do odczytu można tworzyć w regionie klastra podstawowego lub w dowolnym innym regionie obsługiwanym przez usługę Azure Cosmos DB for PostgreSQL. Limit pięciu replik na klaster jest liczony we wszystkich regionach, co oznacza pięć łącznie, a nie pięć na region.

Następne kroki