Udostępnij przez


Wskazówki dotyczące korzystania z usługi Azure Database for PostgreSQL w rozwiązaniu wielodostępnym

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 opisano funkcje 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

Następujące tryby wdrażania są dostępne dla usługi Azure Database for PostgreSQL i są odpowiednie do użycia z aplikacjami wielodostępnymi:

  • Serwer elastyczny usługi Azure Database for PostgreSQL jest dobrym wyborem 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.

  • Elastyczny serwer usługi Azure Database for PostgreSQL z klastrami elastycznymi (wersja zapoznawcza) zapewnia skalowanie w poziomie w ramach usługi zarządzanej. Jest ona odpowiednia dla aplikacji dla wielu najemców, które muszą być skalowane od kilku najemców do dużej liczby najemców. Ta funkcja jest dostępna w wersji zapoznawczej i nie jest zalecana do użytku produkcyjnego. Można jednak zacząć oceniać ją pod kątem przyszłej implementacji.

  • Usługa Azure Cosmos DB for PostgreSQL to zarządzana przez platformę Azure usługa bazy danych przeznaczona dla rozwiązań wymagających wysokiego poziomu skalowania, takich jak aplikacje wielodostępne. Ta usługa jest częścią rodziny produktów usługi Azure Cosmos DB.

Uwaga

Pojedynczy serwer usługi Azure Database for PostgreSQL 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ść

Jeśli używasz usługi Azure Database for PostgreSQL do tworzenia aplikacji wielodostępnej, następujące funkcje mogą ulepszyć rozwiązanie.

Uwaga

Niektóre funkcje są dostępne tylko w określonych trybach wdrażania. Poniższe wskazówki opisują, które funkcje są dostępne.

Zabezpieczenia na poziomie wiersza

Zabezpieczenia na poziomie wiersza są przydatne, aby wymusić izolację na poziomie najemcy przy użyciu współdzielonych tabel. W PostgreSQL zaimplementujesz zabezpieczenia na poziomie wiersza, stosując zasady zabezpieczeń wierszy na tabelach, aby ograniczyć dostęp do wierszy przez najemcę.

Implementowanie zabezpieczeń na poziomie wiersza w tabeli może mieć wpływ na wydajność. Może być konieczne utworzenie innych indeksów w tabelach z włączonym zabezpieczeniem na poziomie wiersza, aby upewnić się, że wydajność nie ma wpływu. W przypadku korzystania z zabezpieczeń na poziomie wiersza ważne jest użycie technik testowania wydajnościowego w celu sprawdzenia, czy obciążenie spełnia podstawowe wymagania dotyczące wydajności.

Aby uzyskać więcej informacji, zobacz Zabezpieczanie serwera usługi Azure Database for PostgreSQL.

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 wymagające wysokiego poziomu skalowania mogą używać usługi Azure Cosmos DB for PostgreSQL. Ten tryb wdrażania umożliwia fragmentowanie w poziomie dzierżaw między wieloma serwerami lub węzłami. Użyj tabel rozproszonych w wielodostępnych bazach danych, aby upewnić się, że wszystkie dane najemcy są przechowywane w tym samym węźle. Takie podejście zwiększa wydajność zapytań.

Uwaga

W październiku 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 usługi Azure Cosmos DB.

Aby uzyskać więcej informacji, zobacz następujące artykuły:

Klastry elastyczne (wersja zapoznawcza)

Klastry elastyczne to funkcja serwera elastycznego usługi Azure Database for PostgreSQL. Zapewniają one możliwości skalowania w poziomie w ramach jednej usługi zarządzanej. Ta opcja wdrożenia korzysta z funkcji tabeli rozproszonej dla obciążeń wielodostępnych, które wymagają możliwości skalowania w poziomie.

W rozwiązaniach wielodostępnych elastyczne klastry umożliwiają dzielenie danych najemców między wiele węzłów. Tabele można dystrybuować według identyfikatora dzierżawcy, aby zapewnić kolokację danych dzierżawców w określonych węzłach. Takie podejście może zwiększyć wydajność zapytań specyficznych dla dzierżawców.

Uwaga

Klastry elastyczne są dostępne w wersji zapoznawczej i są dostępne tylko na serwerze elastycznym usługi Azure Database for PostgreSQL.

Aby uzyskać więcej informacji, zobacz Elastic clusters in Azure Database for PostgreSQL flexible server (preview) (Elastyczne klastry w usłudze Azure Database for PostgreSQL —wersja zapoznawcza).

Buforowanie połączeń

Baza danych Postgres używa modelu opartego na procesie dla połączeń. Ten model czyni nieefektywnym utrzymywanie dużej liczby bezczynnych połączeń. Niektóre architektury wielodostępne wymagają wielu aktywnych połączeń, które negatywnie wpływają na wydajność serwera Postgres.

Buforowanie połączeń za pomocą PgBouncer jest domyślnie instalowane na elastycznym serwerze Azure Database for PostgreSQL.

Aby uzyskać więcej informacji, zobacz następujące artykuły:

Uwierzytelnianie Microsoft Entra

Serwer elastyczny usługi Azure Database for PostgreSQL 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. Dostęp do bazy danych można ograniczyć do konkretnego klienta. Łącząc uwierzytelnianie za pomocą Microsoft Entra ID z zasadami zabezpieczeń wierszy specyficznymi dla dzierżawy, można zmniejszyć ryzyko uzyskania dostępu do danych innej dzierżawy w wielodostępnej bazie danych.

Aby uzyskać więcej informacji, zobacz następujące artykuły:

Poufne przetwarzanie na platformie Azure (wersja zapoznawcza)

Serwer elastyczny usługi Azure Database for PostgreSQL obsługuje poufne przetwarzanie na platformie Azure za pośrednictwem zaufanych środowisk wykonywania (TEE), które zapewniają sprzętową ochronę danych w użyciu. Ta funkcja chroni dane dzierżawy przed nieautoryzowanym dostępem przez system operacyjny, funkcję hypervisor lub inne aplikacje.

W przypadku wielodostępnych rozwiązań obsługujących poufne dane, komputeryzacja poufna zapewnia ochronę danych na poziomie sprzętu w trakcie przetwarzania. Korzystanie z przetwarzania poufnego, gdy dzierżawcy mają ścisłe wymagania dotyczące ochrony danych lub wymagania dotyczące zgodności z przepisami lub gdy musisz upewnić się, że dostawca aplikacji nie może uzyskać dostępu do danych dzierżawy.

Uwaga

Poufne przetwarzanie jest obecnie w wersji zapoznawczej i wymaga konkretnych SKU maszyn wirtualnych.

Aby uzyskać więcej informacji, zobacz Poufne przetwarzanie na platformie Azure dla usługi Azure Database for PostgreSQL (wersja zapoznawcza).

Szyfrowanie

Dane przechowywane na serwerze elastycznym usługi Azure Database for PostgreSQL są domyślnie szyfrowane przy użyciu kluczy zarządzanych przez firmę Microsoft, ale można również użyć kluczy zarządzanych przez klienta (CMK), aby umożliwić dzierżawcom określanie własnych kluczy szyfrowania.

W przypadku korzystania z kluczy cmKs możesz podać własne klucze szyfrowania przechowywane w usłudze Azure Key Vault. W środowiskach wielodostępnych takie podejście umożliwia używanie różnych kluczy szyfrowania dla różnych dzierżaw, nawet jeśli ich dane są przechowywane na tym samym serwerze bazy danych. Ta funkcja zapewnia również dzierżawcom kontrolę nad własnymi kluczami szyfrowania. Jeśli najemca zdecyduje się dezaktywować swoje konto, usunięcie skojarzonego klucza gwarantuje, że ich dane nie będą już dostępne.

Serwer elastyczny usługi Azure Database for PostgreSQL obsługuje automatyczne aktualizacje wersji kluczy zarządzanych przez klienta. Ta funkcja automatycznie aktualizuje nowe wersje kluczy po rotacji w usłudze Key Vault i nie wymaga ręcznego zarządzania wersjami kluczy. W środowiskach wielodostępnych, w których zgodność z przepisami wymaga regularnej rotacji kluczy, ta automatyzacja zmniejsza ręczne zadania operacyjne i utrzymuje ochronę danych bez przerw w działaniu usługi.

Aby uzyskać więcej informacji, zobacz następujące artykuły:

Współautorzy

Firma Microsoft utrzymuje ten artykuł. Następujący współautorzy napisali ten artykuł.

Główny autor:

Inni współautorzy:

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

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