Przetwarzanie strumieniowe za pomocą w pełni zarządzanych aparatów danych typu open source

Azure Event Hubs
Azure Kubernetes Service (AKS)
Azure Cosmos DB
Azure Database for PostgreSQL
Azure Cache for Redis

W tym artykule przedstawiono przykład rozwiązania do przesyłania strumieniowego, które korzysta z w pełni zarządzanych usług danych platformy Azure.

Architektura

Diagram architektury przedstawiający przepływ danych przesyłanych strumieniowo przez system. Składniki platformy Kafka, Kubernetes, Cassandra, PostgreSQL i Redis składają się na system.

Pobierz [plik programu Visio][Diagram architektury wersji programu Visio] tej architektury.

Przepływ pracy

  1. Centra zdarzeń dla platformy Apache Kafka przesyła strumieniowo zdarzenia od producentów platformy Kafka.

  2. Platforma Apache Spark korzysta ze zdarzeń. Usługa Azure Kubernetes Service (AKS) udostępnia środowisko zarządzane dla zadań platformy Apache Spark.

  3. Aplikacja korzystająca z usługi Azure Cosmos DB dla bazy danych Apache Cassandra zapisuje zdarzenia w usłudze Cassandra. Ta baza danych służy jako platforma magazynu dla zdarzeń. Usługa AKS hostuje mikrousługi, które zapisują w usłudze Cassandra.

  4. Funkcja zestawienia zmian usługi Azure Cosmos DB przetwarza zdarzenia w czasie rzeczywistym.

  5. Zaplanowane aplikacje uruchamiają przetwarzanie wsadowe na zdarzeniach przechowywanych w systemie Cassandra.

  6. Przechowuje informacje o zdarzeniach wzbogacania danych referencyjnych. Aplikacje zorientowane na partie zapisują wzbogacone informacje o zdarzeniach w usłudze PostgreSQL. Typowe magazyny danych referencyjnych obejmują:

    • [Azure Data Lake Storage][Wprowadzenie do usługi Azure Data Lake Storage Gen2], które mogą przechowywać dane w otwartych formatach, takich jak [Parquet][Parquet].
    • Magazyny danych relacyjnych typu open source, takie jak [PostgreSQL][Co to jest usługa Azure Database for PostgreSQL?] i [MySQL][Co to jest usługa Azure Database for MySQL?].
  7. Aplikacja zorientowana na partie przetwarza dane Cassandra. Ta aplikacja przechowuje przetworzone dane w usłudze Azure Database for PostgreSQL. Ten relacyjny magazyn danych udostępnia dane aplikacjom podrzędnym, które wymagają wzbogaconych informacji.

  8. Aplikacje raportowania i narzędzia analizują dane bazy danych PostgreSQL. Na przykład [Power BI][Co to jest usługa Power BI?] nawiązuje połączenie z bazą danych przy użyciu łącznika usługi Azure Database for PostgreSQL. Następnie ta usługa raportowania wyświetla zaawansowane wizualizacje danych.

  9. Usługa Azure Cache for Redis udostępnia pamięć podręczną w pamięci. W tym rozwiązaniu pamięć podręczna zawiera dane dotyczące zdarzeń krytycznych. Aplikacja przechowuje dane w pamięci podręcznej i pobiera dane z pamięci podręcznej.

  10. Witryny internetowe i inne aplikacje używają buforowanych danych, aby poprawić czas odpowiedzi. Czasami dane nie są dostępne w pamięci podręcznej. W takich przypadkach aplikacje używają wzorca [z odkładania do pamięci podręcznej][Wzorzec z odkładania do pamięci podręcznej] lub podobnej strategii pobierania danych z bazy danych Cassandra w usłudze Azure Cosmos DB.

Składniki

  • Event Hubs to w pełni zarządzana platforma przesyłania strumieniowego, która może przetwarzać miliony zdarzeń na sekundę. Usługa Event Hubs udostępnia [punkt końcowy][Korzystanie z usługi Azure Event Hubs z aplikacji platformy Apache Kafka] dla platformy Apache Kafka, powszechnie używanej platformy przetwarzania strumienia typu open source. Gdy organizacje korzystają z funkcji punktu końcowego, nie muszą tworzyć i obsługiwać klastrów platformy Kafka na potrzeby przetwarzania strumieniowego. Zamiast tego mogą korzystać z w pełni zarządzanej implementacji platformy Kafka oferowanych przez usługę Event Hubs.

  • [Azure Cosmos DB][Witamy w usłudze Azure Cosmos DB] to w pełni zarządzana baza danych NoSQL i relacyjna baza danych, która oferuje replikację wielowzorcową. Usługa Azure Cosmos DB obsługuje interfejsy API typu open source dla wielu baz danych, języków i platform. Oto kilka przykładów:

    • Apache Cassandra.
    • [Gremlin][Gremlin Graph Przechodzenie maszyny i języka].
    • [MongoDB][MongoDB].

    Za pośrednictwem usługi [Azure Cosmos DB dla bazy danych Apache Cassandra][Wprowadzenie do usługi Azure Cosmos DB dla systemu Apache Cassandra] można uzyskać dostęp do danych usługi Azure Cosmos DB przy użyciu narzędzi, języków i sterowników apache Cassandra. Apache Cassandra to baza danych NoSQL typu open source, która jest odpowiednia dla obciążeń intensywnie korzystających z zapisu.

  • Usługa Azure Kubernetes Service (AKS) to usługa Kubernetes o wysokiej dostępności, bezpieczeństwo i w pełni zarządzana. [Kubernetes][Kubernetes] to szybko rozwijająca się platforma typu open source do zarządzania konteneryzowanymi obciążeniami. Usługa AKS hostuje aparaty przetwarzania danych big data typu open source, takie jak Apache Spark. Za pomocą usługi AKS można uruchamiać zadania przetwarzania strumienia na dużą skalę w środowisku zarządzanym.

  • Azure Database for PostgreSQL to w pełni zarządzana usługa relacyjnej bazy danych. Zapewnia on [wysoką dostępność, elastyczne skalowanie, stosowanie poprawek i inne możliwości zarządzania][Co to jest usługa Azure Database for PostgreSQL?] dla bazy danych PostgreSQL. [PostgreSQL][PostgreSQL] to powszechnie przyjęty system zarządzania relacyjnymi bazami danych typu open source.

  • Usługa Azure Cache for Redis udostępnia magazyn danych w pamięci oparty na oprogramowaniu Redis. [Redis][Redis] to popularny magazyn danych typu open source w pamięci. Magazyny sesji, pamięci podręczne zawartości i inne składniki magazynu używają usługi Redis do poprawy wydajności i skalowalności. Usługa Azure Cache for Redis udostępnia funkcje redis typu open source jako w pełni zarządzaną ofertę.

Alternatywy

W tym rozwiązaniu można zastąpić produkty i usługi zgodne ze źródłem open source innym. Aby uzyskać szczegółowe informacje na temat usług typu open source dostępnych na platformie Azure, zobacz [Open source na platformie Azure][Open source na platformie Azure].

Szczegóły scenariusza

W pełni zarządzane usługi danych platformy Azure, które uruchamiają aparaty open source, tworzą to rozwiązanie do przesyłania strumieniowego:

  • Usługa Azure Event Hubs oferuje implementację platformy Kafka na potrzeby pozyskiwania strumienia.
  • Usługa Azure Cosmos DB obsługuje magazyn zdarzeń w systemie Cassandra.
  • Hosty usługi AKS [Kubernetes][Kubernetes] mikrousługi do przetwarzania strumienia.
  • Usługa Azure Database for PostgreSQL zarządza magazynem danych relacyjnych w usłudze [PostgreSQL][PostgreSQL].
  • Usługa Azure Cache for Redis zarządza magazynami danych [Redis][Redis] w pamięci.

Technologie typu open source oferują wiele korzyści. Na przykład organizacje mogą używać technologii open source do:

  • Migrowanie istniejących obciążeń.
  • Wybierz się do szerokiej społeczności open source.
  • Ogranicz blokadę dostawcy.

Dzięki udostępnieniu technologii open source narzędzia i usługi platformy Azure pomagają organizacjom korzystać z tych korzyści i opracowywać wybrane przez siebie rozwiązania.

To rozwiązanie używa w pełni zarządzanego rozwiązania [platforma jako usługa (PaaS)][Co to jest PaaS?] finansowych. W związku z tym firma Microsoft obsługuje stosowanie poprawek, konserwację umowy dotyczącej poziomu usług (SLA) i inne zadania zarządzania. Kolejną korzyścią jest natywna integracja z infrastrukturą zabezpieczeń platformy Azure.

Potencjalne przypadki użycia

To rozwiązanie ma zastosowanie do różnych scenariuszy:

  • Korzystanie z usług PaaS platformy Azure do tworzenia nowoczesnych rozwiązań do przesyłania strumieniowego korzystających z technologii open source
  • Migrowanie rozwiązań do przetwarzania strumieni open source na platformę Azure

Kwestie wymagające rozważenia

Te zagadnienia implementują filary struktury Azure Well-Architected Framework, która jest zestawem wytycznych, które mogą służyć do poprawy jakości obciążenia. Aby uzyskać więcej informacji, zobacz Microsoft Azure Well-Architected Framework.

Zaprojektuj i zaimplementuj każdą usługę, mając na uwadze najlepsze rozwiązania. Aby uzyskać wskazówki dotyczące każdej usługi, zobacz witrynę dokumentacji firmy Microsoft. Zapoznaj się również z informacjami w następujących sekcjach:

Wydajność

  • Zaimplementuj [buforowanie połączeń dla usługi Azure Database for PostgreSQL][Najlepsze rozwiązania dotyczące wydajności korzystania z usługi Azure Database for PostgreSQL — buforowanie połączeń]. W aplikacji można użyć biblioteki buforowania połączeń. Możesz też użyć modułu puli połączeń, takiego jak [PgBouncer][PgBouncer] lub [Pgpool][Pgpool Wiki]. Nawiązywanie połączenia z bazą danych PostgreSQL jest kosztowną operacją. Dzięki buforowaniu połączeń można uniknąć obniżenia wydajności aplikacji. PgBouncer to [wbudowany][PgBouncer w usłudze Azure Database for PostgreSQL — serwer elastyczny] w usłudze Azure Database for PostgreSQL — serwer elastyczny.

  • Skonfiguruj usługę Azure Cosmos DB dla bazy danych Apache Cassandra w celu uzyskania najlepszej wydajności przy użyciu odpowiedniej [strategii partycjonowania][Partycjonowanie w usłudze Azure Cosmos DB dla bazy danych Apache Cassandra]. Zdecyduj, czy używać pojedynczego klucza podstawowego pola, złożonego klucza podstawowego, czy klucza partycji złożonej podczas partycjonowania tabel.

Skalowalność

  • Weź pod uwagę wymagania dotyczące przesyłania strumieniowego podczas wybierania [warstwy usługi Event Hubs][Cennik usługi Event Hubs]:

    • W przypadku wymagań dotyczących przepływności średniej zakresu mniejszej niż 120 MB/s rozważ użycie warstwy [Premium][Omówienie usługi Event Hubs Premium (wersja zapoznawcza)]. Ta warstwa jest skalowana elastycznie w celu spełnienia wymagań dotyczących przesyłania strumieniowego.
    • W przypadku obciążeń przesyłania strumieniowego o wysokiej klasy z ruchem przychodzącym gigabajtów danych należy wziąć pod uwagę warstwę [Dedykowana][Omówienie dedykowanej usługi Event Hubs]. Ta warstwa jest ofertą z jedną dzierżawą z gwarantowaną pojemnością. Można skalować dedykowane klastry w górę i w dół.
  • Rozważ użycie [przepływności aprowizowania automatycznego skalowania][Tworzenie kontenerów i baz danych usługi Azure Cosmos z przepływnością autoskalowania] dla usługi Azure Cosmos DB, jeśli obciążenia są nieprzewidywalne i spiky. Usługę Azure Cosmos DB można skonfigurować tak, aby używała ręcznie aprowizowanej przepływności lub aprowizowanej automatycznie przepływności. Dzięki automatycznemu skalowaniu platforma Azure automatycznie i natychmiast skaluje jednostki żądań na sekundę zgodnie z użyciem.

Zabezpieczenia

Zabezpieczenia zapewniają ochronę przed celowymi atakami i nadużyciami cennych danych i systemów. Aby uzyskać więcej informacji, zobacz Omówienie filaru zabezpieczeń.

  • Użyj usługi [Azure Private Link][Co to jest usługa Azure Private Link?] aby uczynić usługi platformy Azure częścią sieci wirtualnej. W przypadku korzystania z usługi Private Link ruch między usługami i przepływami sieciowymi przez sieć szkieletową platformy Azure bez przechodzenia przez publiczny Internet. Usługi platformy Azure w tym rozwiązaniu obsługują usługę Private Link dla wybranych jednostek SKU.

  • Sprawdź zasady zabezpieczeń organizacji. Dzięki usłudze Azure Cosmos DB dla systemu Apache Cassandra klucze zapewniają dostęp do zasobów, takich jak przestrzenie kluczy i tabele. Wystąpienie usługi Azure Cosmos DB przechowuje te klucze. Zasady zabezpieczeń mogą wymagać [propagacji tych kluczy do usługi zarządzania kluczami][Zabezpieczanie kluczy usługi Azure Cosmos przy użyciu usługi Azure Key Vault], takich jak usługa Azure Key Vault. Pamiętaj również, aby [obracać klucze][Rotacja kluczy i regenerowanie] zgodnie z zasadami organizacji.

Odporność

Rozważ użycie stref dostępności, aby chronić aplikacje krytyczne dla działania firmy przed awariami centrum danych. Usługi tego rozwiązania obsługują strefy dostępności dla wybranych jednostek SKU w regionach z obsługą strefy dostępności. Aby uzyskać aktualne informacje, zapoznaj się z listą usług, które obsługują strefy dostępności.

Optymalizacja kosztów

Optymalizacja kosztów dotyczy sposobów zmniejszenia niepotrzebnych wydatków i poprawy wydajności operacyjnej. Aby uzyskać więcej informacji, zobacz Omówienie filaru optymalizacji kosztów.

Aby oszacować koszt tego rozwiązania, użyj kalkulatora cen platformy Azure. Należy również pamiętać o następujących kwestiach:

  • [Event Hubs][Cennik usługi Event Hubs] jest dostępny w warstwach Podstawowa, Standardowa, Premium i Dedykowana. Warstwa Premium lub Dedykowana jest najlepsza w przypadku obciążeń przesyłania strumieniowego na dużą skalę. Przepływność można skalować, więc rozważ rozpoczęcie małych, a następnie skalowanie w górę w miarę wzrostu zapotrzebowania.

  • Usługa Azure Cosmos DB oferuje dwa modele:

    • Model aprowizowanej przepływności, który idealnie nadaje się do wymagających obciążeń. Ten model jest dostępny w dwóch opcjach zarządzania pojemnościami: standardowe i automatyczne skalowanie.
    • Model bezserwerowy, który doskonale nadaje się do uruchamiania małych, ostrych obciążeń.
  • Klaster usługi AKS składa się z zestawu węzłów lub maszyn wirtualnych, które działają na platformie Azure. Koszt składników obliczeniowych, magazynu i sieci stanowią podstawowe koszty klastra.

  • Usługa Azure Database for PostgreSQL jest dostępna w warstwach Pojedynczy serwer i Serwer elastyczny. Różne warstwy zaspokajają różne scenariusze, takie jak predykowalne, możliwe do zwiększenia szybkości i obciążenia o wysokiej wydajności. Koszty zależą głównie od wyboru węzłów obliczeniowych i pojemności magazynu. W przypadku nowych obciążeń rozważ wybranie warstwy serwer elastyczny, ponieważ ma szerszy zakres [obsługiwanych możliwości][Porównanie między pojedynczym serwerem i serwerem elastycznym] w warstwie Pojedynczy serwer. Należy również pamiętać, że pojedynczy serwer znajduje się na ścieżce do wycofania.

  • Usługa Azure Cache for Redis jest dostępna w wielu warstwach. Te warstwy obejmują pamięci podręczne z zakresu od 250 megabajtów do kilku terabajtów. Oprócz rozmiaru inne wymagania wpływają również na wybór warstwy:

    • Klastrowanie
    • Trwałość
    • Aktywna replikacja geograficzna

Wdrażanie tego scenariusza

Podczas wdrażania tego rozwiązania należy pamiętać o następujących kwestiach:

  • Podczas wdrażania usługi Event Hubs dla platformy Kafka zapoznaj się z tematem [Szybki start: przesyłanie strumieniowe danych za pomocą usługi Event Hubs przy użyciu protokołu Kafka][Szybki start: przesyłanie strumieniowe danych za pomocą usługi Event Hubs przy użyciu protokołu Kafka]. Ten artykuł zawiera następujące informacje:

    • Jak wysyłać i odbierać komunikaty za pomocą platformy Kafka w usłudze Event Hubs
    • Przykładowy kod dla aplikacji do publikowania
    • Jak przełączyć istniejące aplikacje platformy Kafka na usługę Event Hubs dla platformy Kafka, wprowadzając zmiany konfiguracji
  • Dotyczy platformy Apache Spark:

    • Aby uzyskać informacje na temat tworzenia podstawowej aplikacji Spark, zobacz [Connect your Apache Spark application with Azure Event Hubs][Connect your Apache Spark application with Azure Event Hubs (Łączenie aplikacji platformy Apache Spark za pomocą usługi Azure Event Hubs).
    • Aby hostować aplikację Spark w usłudze AKS, zobacz [Uruchamianie zadań platformy Apache Spark w usłudze AKS][Uruchamianie zadań platformy Apache Spark w usłudze AKS].
  • Rozważ użycie aplikacji Java do zapisywania zdarzeń w systemie Cassandra. Aby uzyskać więcej informacji, zobacz [Quickstart: Build a Java app to manage Azure Cosmos DB for Apache Cassandra data (v4 Driver)][Quickstart: Build a Java app to manage Azure Cosmos DB for Apache Cassandra data (v4 Driver)[Quickstart: Build a Java app to manage Azure Cosmos DB for Apache Cassandra data (v4 Driver)][Quickstart: Build a Java app to manage Azure Cosmos DB for Apache Cassandra data (v4 Driver)].

  • Jeśli używasz [zestawienia zmian usługi Azure Cosmos DB][Zestawienie zmian w usłudze Azure Cosmos DB], zobacz [Zestawienie zmian w usłudze Azure Cosmos DB dla bazy danych Apache Cassandra][Zestawienie zmian w usłudze Azure Cosmos DB dla bazy danych Apache Cassandra] w celu uzyskania następujących informacji:

    • Jak używać predykatów zapytań w języku [Cassandra Query Language (CQL)][Cassandra Query Language] w celu wykonywania zapytań względem interfejsu API zestawienia zmian
    • Przykładowy kod dla aplikacji Java
  • Aby uzyskać informacje na temat przetwarzania zdarzeń przechowywanych w systemie Cassandra, zobacz [Samouczek: wykonywanie zapytań o dane z usługi Azure Cosmos DB dla bazy danych Apache Cassandra][Samouczek: wykonywanie zapytań o dane z usługi Azure Cosmos DB dla bazy danych Apache Cassandra]. Ten artykuł zawiera również przykładowy kod Java do pobierania danych z tabel przy użyciu poleceń języka CQL.

  • Aby uzyskać informacje na temat zapisywania danych w usłudze Azure Database for PostgreSQL z aplikacją zorientowaną na partie, zobacz [Szybki start: używanie języka Java i JDBC z usługą Azure Database for PostgreSQL][Szybki start: używanie języka Java i JDBC z usługą Azure Database for PostgreSQL]. Ten artykuł zawiera również przykładowy kod Java do przechowywania danych.

  • Aby uzyskać informacje na temat magazynu danych i pobierania za pomocą usługi Azure Cache for Redis, zobacz [Szybki start: korzystanie z usługi Azure Cache for Redis w języku Java][Szybki start: korzystanie z usługi Azure Cache for Redis w języku Java]. Ten artykuł zawiera również przykładowy kod Java na potrzeby uzyskiwania dostępu do pamięci podręcznej.

Współautorzy

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

Główny autor:

Następne kroki

Aby dowiedzieć się więcej o powiązanych rozwiązaniach, zobacz następujące informacje:

  • Projekt architektury analizy
  • [Wybierz magazyn danych analitycznych na platformie Azure][Wybierz magazyn danych analitycznych na platformie Azure]
  • [Wybieranie technologii analizy danych na platformie Azure][Wybieranie technologii analizy danych na platformie Azure]
  • Usługa Azure Kubernetes w przetwarzaniu strumienia zdarzeń
  • [Przesyłanie strumieniowe danych za pomocą usługi AKS][Przesyłanie strumieniowe danych za pomocą usługi AKS]

[ wzorzecCache-Aside]: .. /.. /patterns/cache-aside.yml [Cassandra Query Language (CQL)]: https://cassandra.apache.org/doc/latest/cassandra/cql/index.html [Cassandra Query Language]: https://cassandra.apache.org/doc/latest/cassandra/cql/index.html [Zestawienie zmian w usłudze Azure Cosmos DB]: /azure/cosmos-db/change-feed [zestawienie zmian w usłudze Azure Cosmos DB dla bazy danych Apache Cassandra]: /azure/cosmos-db/cassandra/cassandra-change-feed?tabs=java [wybierz magazyn danych analitycznych na platformie Azure]: .. /.. /data-guide/technology-choices/analytical-data-stores.md [Wybierz technologię analizy danych na platformie Azure]: .. /.. /data-guide/technology-choices/analysis-visualizations-reporting.md [Connect your Apache Spark application with Azure Event Hubs]: /azure/event-hubs/event-hubs-kafka-spark-tutorial [Create Azure Cosmos containers and databases with autoscale throughput]: /azure/cosmos-db/provision-throughput-autoscale [Data streaming with AKS]: .. /.. /solution-ideas/articles/data-streaming-scenario.yml [Cennik usługi Event Hubs]: https://azure.microsoft.com/pricing/details/event-hubs [Często zadawane pytania dotyczące usługi Azure Cosmos DB dla apache Cassandra]: /azure/cosmos-db/cassandra/cassandra-faq [Maszyna i język przechodzenia grafu Gremlin]: https://tinkerpop.apache.org/gremlin.html [Gremlin Graph Traversal Machine and Language]: https://tinkerpop.apache.org/gremlin.html [Introduction to Azure Cosmos DB for Apache Cassandra]: /azure/cosmos-db/cassandra-introduction [Introduction to Azure Data Lake Storage Gen2]: /azure/storage/blobs/data-lake-storage-introduction [Rotacja i regenerowanie kluczy]: /azure/cosmos-db/secure-access-to-data?tabs=using-primary-key#key-rotation [Kubernetes]: https://kubernetes.io [MongoDB]: https://www.mongodb.com [Open source na platformie Azure]: https://azure.microsoft.com/overview/open-source/https://www.mongodb.com [Overview of Event Hubs Dedicated]: /azure/event-hubs/event-hubs-dedicated-overview [Overview of Event Hubs Premium (Preview)]: /azure/event-hubs-premium-overview [Parquet]: https://parquet.apache.org [Partitioning in Azure Cosmos DB for Apache Cassandra]: /azure/cosmos-db/cassandra/cassandra-partitioning [Performance best practices for using Azure Database for PostgreSQL — Connection Pooling]: https://azure.microsoft.com/blog/performance-best-practices-for-using-azure-database-for-postgresql-connection-pooling [PgBouncer]: https://www.pgbouncer.org [Pgpool Wiki]: https://www.pgpool.net/mediawiki/index.php/Main_Page [PostgreSQL]: https://www.postgresql.org [Szybki start: tworzenie aplikacji Java do zarządzania usługą Azure Cosmos DB) dla danych apache Cassandra (sterownik w wersji 4)]: /azure/cosmos-db/cassandra/manage-data-java-v4-sdk [Szybki start: przesyłanie strumieniowe danych za pomocą usługi Event Hubs przy użyciu protokołu Kafka]: /azure/event-hubs/event-hubs-quickstart-kafka-enabled-event-hubs [Szybki start: Używanie usługi Azure Cache for Redis w języku Java]: /azure/azure-cache-for-redis/cache-java-get-started [Szybki start: używanie języka Java i JDBC z usługą Azure Database for PostgreSQL]: /azure/postgresql/flexible-server/connect-java?tabs=passwordless [Redis]: https://redis.io [Running Apache Spark jobs on AKS]: /azure/aks/spark-job [Secure Azure Cosmos keys using Azure Key Vault]: /azure/cosmos-db/access-secrets-from-keyvault [Tutorial: Query data from Azure Cosmos DB for Apache Cassandra]: /azure/cosmos-db/cassandra/query-data [Use Azure Event Hubs from Apache Kafka applications]: /azure/event-hubs/event-hubs-for-kafka-ecosystem-overview [Visio version of architecture diagram]: https://arch-center.azureedge.net/US-1874059-open-source-data-engine-stream-processing-architecture.vsdx [Welcome to Azure Cosmos DB]: /azure/well-architected/service-guides/cosmos-db [What is Azure Database for MySQL?]: /azure/mysql/overview [What is Azure Database for PostgreSQL?]: /azure/postgresql/overview [What is Azure Private Link?]: /azure/private-link/private-link-overview [What is PaaS?]: https://azure.microsoft.com/overview/what-is-paas/ [Co to jest usługa Power BI?]: /power-bi/fundamentals/power-bi-overview [Porównanie między pojedynczym serwerem i serwerem elastycznym]: /azure/postgresql/flexible-server/concepts-compare-single-server-flexible-server#compare-table [PgBouncer w usłudze Azure Database for PostgreSQL — elastyczny serwer]: /azure/postgresql/flexible-server/concepts-pgbouncer