Udostępnij za pośrednictwem


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

DOTYCZY: Usługa Azure Cosmos DB for PostgreSQL (obsługiwana przez rozszerzenie bazy danych Citus do bazy danych PostgreSQL)

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 do odczytu 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 analizy biznesowej i analizy używają replik do odczytu 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ą podstawową 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 rozpoczniesz tworzenie przepływu pracy repliki, zostanie 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 miejsc replikacji. W razie potrzeby do nadganiania służy wysyłanie dziennika.

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

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 citus nazwy użytkownika administratora, można nawiązać połączenie z węzłem koordynatora repliki przy użyciu narzędzia 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.

Podwyższanie poziomu repliki do niezależnego klastra

Poziom repliki można podwyższyć do niezależnego klastra, który umożliwia odczytywanie i zapisywanie. Replika o podwyższonym poziomie nie otrzymuje już aktualizacji z oryginalnej wersji, a podwyższenie poziomu nie może zostać cofnięte. Repliki o podwyższonym poziomie mogą mieć własne repliki.

Istnieją dwa typowe scenariusze podwyższania poziomu 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 daleko replika dogoniła przy użyciu replication_lag metryki. 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 do odczytu jest tworzona jako nowy klaster. Nie można utworzyć istniejącego klastra w replikę. Nie można utworzyć repliki innej repliki do odczytu.

Konfiguracja repliki

Repliki dziedziczą ustawienia zasobów obliczeniowych, magazynu i węzła roboczego z prawyborów. 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 zachować wystarczająco silne repliki, aby zachować zmiany przychodzące z bazy podstawowej. Na przykład należy pamiętać o skalowaniu mocy obliczeniowej w replikach w przypadku skalowania w górę na serwerze podstawowym.

Reguły zapory i ustawienia parametrów nie są dziedziczone z serwera podstawowego do repliki po utworzeniu repliki lub 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