Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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:
Użyj usługi Azure Cosmos DB for NoSQL dla rozproszonego rozwiązania bazy danych przeznaczonego dla scenariuszy o dużej skali z umową dotyczącą poziomu usług dostępności 99,999% (SLA), natychmiastowym skalowaniem automatycznym i automatycznym przejściem w tryb failover w wielu regionach.
Użyj funkcji Elastic Clusters usługi Azure Database for PostgreSQL na potrzeby fragmentowanej bazy danych PostgreSQL przy użyciu rozszerzenia Citus typu open source.
Uruchamianie wydajnych zapytań w klastrze wymaga prawidłowego dystrybuowania tabel między serwerami. Zalecana dystrybucja różni się w zależności od typu aplikacji i jej wzorców zapytań.
Istnieją zasadniczo dwa rodzaje aplikacji, które działają dobrze w usłudze Azure Cosmos DB for PostgreSQL. Pierwszym krokiem modelowania danych jest zidentyfikowanie, które z nich bardziej przypomina aplikację.
Na pierwszy rzut oka
| Aplikacje dla wielu lokatorów | Aplikacje działające w czasie rzeczywistym |
|---|---|
| Czasami dziesiątki lub setki tabel w schemacie | Mała liczba tabel |
| Zapytania dotyczące jednego najemcy (firmy/sklepu) na raz | Stosunkowo proste zapytania analityczne z agregacjami |
| Obciążenia OLTP obsługujące klientów internetowych | Duża ilość pozyskiwanych danych (zwykle niemodyfikowalnych) |
| Obciążenia OLAP obsługujące zapytania analityczne dla poszczególnych dzierżawców | Często skupiając się wokół dużej tabeli wydarzeń |
Przykłady i cechy
Aplikacja wieloznacznikowa
Są to zazwyczaj aplikacje SaaS, które obsługują inne firmy, konta lub organizacje. Większość aplikacji SaaS jest z natury relacyjna. Mają one naturalny wymiar dystrybucji danych między węzłami: po prostu fragmentowanie według tenant_id.
Usługa Azure Cosmos DB dla PostgreSQL umożliwia skalowanie horyzontalne bazy danych do milionów najemców bez konieczności ponownego tworzenia architektury aplikacji. Możesz zachować potrzebną semantykę relacyjną, na przykład sprzężenia, ograniczenia klucza obcego, transakcje, ACID i spójność.
- Przykłady: witryny internetowe hostujące fronty sklepów dla innych firm, takie jak rozwiązanie do marketingu cyfrowego lub narzędzie do automatyzacji sprzedaży.
- Cechy: Zapytania dotyczące pojedynczej dzierżawy zamiast dołączania informacji między dzierżawami. Obejmuje to obciążenia OLTP do obsługi klientów internetowych i obciążeń OLAP obsługujących zapytania analityczne dla poszczególnych dzierżaw. Posiadanie kilkudziesięciu lub setek tabel w schemacie bazy danych jest również wskaźnikiem modelu danych o wielu najemcach.
Skalowanie aplikacji wielodostępnej za pomocą usługi Azure Cosmos DB for PostgreSQL wymaga również minimalnych zmian w kodzie aplikacji. Mamy wsparcie dla popularnych struktur, takich jak Ruby on Rails i Django.
Analiza w czasie rzeczywistym
Aplikacje wymagające ogromnego równoległości, koordynujące setki rdzeni, aby szybko uzyskać wyniki liczbowe, statystyczne lub zliczające zapytania. Dzięki fragmentowaniu i równoległości zapytań SQL w wielu węzłach usługa Azure Cosmos DB for PostgreSQL umożliwia wykonywanie zapytań w czasie rzeczywistym w miliardach rekordów w ciągu sekundy.
Tabele w modelach danych analizy w czasie rzeczywistym są zwykle dystrybuowane według kolumn, takich jak user_id, host_id lub device_id.
- Przykłady: Analizacyjne pulpity nawigacyjne dostępne dla klientów wymagające czasu odpowiedzi w ułamkach sekundy.
- Cechy: Niewiele tabel, często zorganizowanych wokół dużej tabeli zdarzeń dotyczących urządzeń, lokalizacji lub użytkowników, wymagających dużego przetwarzania głównie niezmiennych danych. Stosunkowo proste (ale intensywnie korzystające z obliczeń) zapytania analityczne obejmujące kilka agregacji i grup BYs.
Jeśli sytuacja przypomina powyższy przypadek, następnym krokiem jest podjęcie decyzji o tym, jak fragmentować dane w klastrze. Wybór kolumn dystrybucji przez administratora bazy danych musi być zgodny z wzorcami dostępu typowych zapytań w celu zapewnienia wydajności.
Następne kroki
- Wybierz kolumnę dystrybucji dla tabel w aplikacji, aby efektywnie dystrybuować dane