Udostępnij za pośrednictwem


Obsługa wielu dzierżaw i usługa Azure Database for PostgreSQL

Wiele wielodostępnych rozwiązań na platformie Azure korzysta z systemu zarządzania relacyjnymi bazami danych typu open source w usłudze Azure Database for PostgreSQL. W tym artykule zapoznamy się z funkcjami usługi Azure Database for PostgreSQL, które są przydatne podczas pracy z systemami wielodostępnymi. Ten artykuł zawiera również linki do wskazówek i przykładów dotyczących korzystania z usługi Azure Database for PostgreSQL w rozwiązaniu wielodostępnym.

Tryby wdrażania

Istnieją dwa tryby wdrażania dostępne dla usługi Azure Database for PostgreSQL, które są odpowiednie do użycia z aplikacjami wielodostępnymi:

  • Azure Database for PostgreSQL — serwer elastyczny — jest to dobry wybór w przypadku większości wdrożeń wielodostępnych, które nie wymagają wysokiej skalowalności zapewnianej przez usługę Azure Cosmos DB for PostgreSQL.
  • Azure Cosmos DB for PostgreSQL — zarządzana usługa bazy danych platformy Azure przeznaczona dla rozwiązań wymagających wysokiego poziomu skali, która często obejmuje aplikacje wielodostępne. Ta usługa jest częścią rodziny produktów usługi Azure Cosmos DB.

Uwaga

Azure Database for PostgreSQL — pojedynczy serwer znajduje się na ścieżce wycofania i ma zostać wycofany do 28 marca 2025 r. Nie zaleca się obsługi nowych obciążeń wielodostępnych.

Funkcje usługi Azure Database for PostgreSQL, które obsługują wielodostępność

Podczas tworzenia aplikacji wielodostępnej przy użyciu usługi Azure Database for PostgreSQL istnieje wiele funkcji, których można użyć do ulepszenia rozwiązania.

Uwaga

Niektóre funkcje są dostępne tylko w określonych trybach wdrażania. Te funkcje są wskazane w poniższych wskazówkach.

Zabezpieczenia na poziomie wiersza

Zabezpieczenia na poziomie wiersza są przydatne do wymuszania izolacji na poziomie dzierżawy podczas korzystania z tabel udostępnionych. W usłudze PostgreSQL zabezpieczenia na poziomie wiersza są implementowane przez zastosowanie zasad zabezpieczeń wierszy do tabel w celu ograniczenia dostępu do wierszy według dzierżawy.

Może to mieć niewielki wpływ na wydajność podczas implementowania zabezpieczeń na poziomie wiersza w tabeli. W związku z tym może być konieczne utworzenie dodatkowych indeksów w tabelach z włączonymi zabezpieczeniami na poziomie wiersza, aby zapewnić, że wydajność nie ma wpływu. Zaleca się użycie technik testowania wydajnościowego w celu sprawdzenia, czy obciążenie spełnia wymagania dotyczące wydajności punktu odniesienia po włączeniu zabezpieczeń na poziomie wiersza.

Więcej informacji:

Skalowanie w poziomie przy użyciu fragmentowania

Wzorzec fragmentowania umożliwia skalowanie obciążenia między wieloma bazami danych lub serwerami baz danych.

Rozwiązania, które wymagają bardzo wysokiego poziomu skali, mogą używać usługi Azure Cosmos DB for PostgreSQL. Ten tryb wdrażania umożliwia fragmentowanie w poziomie dzierżaw na wielu serwerach (węzłach). Korzystając z tabel rozproszonych w wielodostępnych bazach danych, można upewnić się, że wszystkie dane dzierżawy są przechowywane w tym samym węźle, co zwiększa wydajność zapytań.

Uwaga

Od października 2022 r. usługa Azure Database for PostgreSQL Hiperskala (Citus) została przemianowana na usługę Azure Cosmos DB for PostgreSQL i przeniesiona do rodziny produktów Cosmos DB.

Więcej informacji:

Buforowanie połączeń

Baza danych Postgres używa modelu opartego na procesie dla połączeń. Ten model sprawia, że nieefektywne zachowanie dużej liczby bezczynnych połączeń. Niektóre architektury wielodostępne wymagają dużej liczby aktywnych połączeń, co negatywnie wpłynie na wydajność serwera Postgres.

Buforowanie połączeń za pośrednictwem narzędzia PgBouncer jest instalowane domyślnie w usłudze Azure Database for PostgreSQL — serwer elastyczny.

Więcej informacji:

Uwierzytelnianie Microsoft Entra

Azure Database for PostgreSQL — serwer elastyczny obsługuje uwierzytelnianie połączeń przy użyciu identyfikatora Entra firmy Microsoft. Ta funkcja umożliwia obciążenia aplikacji w środowisku wielodostępnym w celu uwierzytelniania w bazie danych przy użyciu jednostki usługi specyficznej dla dzierżawy lub tożsamości zarządzanej, co oznacza, że dostęp do bazy danych można ograniczyć do pojedynczej dzierżawy. Łącząc uwierzytelnianie identyfikatora Entra firmy Microsoft z zasadami zabezpieczeń wierszy specyficznych dla dzierżawy, można zmniejszyć ryzyko uzyskania dostępu do danych innej dzierżawy z poziomu wielodostępnej bazy danych. Więcej informacji:

Współautorzy

Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.

Główny autor:

Inni współautorzy:

  • John Downs | Główny inżynier oprogramowania
  • Arsen Vladimirskiy | Główny inżynier klienta, fasttrack dla platformy Azure
  • Paul Burpo | Główny inżynier klienta, fasttrack dla niezależnych dostawców oprogramowania platformy Azure
  • Assaf Fraenkel | Starszy inżynier/architekt danych, usługa Azure FastTrack dla niezależnych dostawców oprogramowania i start-up

Aby wyświetlić niepubalne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.

Następne kroki

Przejrzyj metody magazynowania i danych pod kątem wielodostępności.