Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Zrcadlení v Fabricu (nyní obecně dostupné) poskytuje snadné prostředí, které vám umožní vyhnout se složitým procesům ETL (Extrahování, Transformace, Načítání) a integrovat vaši stávající databázi Azure Database for PostgreSQL se zbytkem vašich dat v Microsoft Fabric. Stávající službu Azure Database for PostgreSQL můžete průběžně replikovat přímo do Fabric OneLake. V rámci platformy Fabric můžete odemknout výkonné funkce business intelligence, umělé inteligence, datového inženýrství, datové vědy a scénáře sdílení dat.
Důležité
Nově vytvořené servery po Ignite 2025 automaticky zahrnují nejnovější verzi obecné dostupnosti komponent zrcadlení. Stávající servery se postupně upgraduje jako součást dalších cyklů údržby bez nutnosti ručního zásahu. Nemusíte zakazovat a znovu povolovat zrcadlení pro příjem aktualizací.
Architektura
Zrcadlení fabric ve službě Azure Database for PostgreSQL je postavené na konceptech, jako je logická replikace a design pattern CDC (Change Data Capture).
Po vytvoření zrcadlení pro databázi v instanci flexibilního serveru Azure Database for PostgreSQL vytvoří proces na pozadí PostgreSQL počáteční snímek pro zrcadlení vybraných tabulek. Snímek se odesílá do cílové zóny Fabric OneLake ve formátu Parquet. Proces Replicator spuštěný ve Fabricu vezme tyto počáteční snímky a vytvoří Delta tabulky v artefaktu zrcadlené databáze.
Zdrojová databáze zachycuje následné změny použité u vybraných tabulek. Tyto změny se odesílají do cílové zóny OneLake v dávkách, které se použijí na příslušné tabulky Delta v artefaktu zrcadlené databáze.
Co je Change Data Capture (CDC)?
Change Data Capture (CDC) je metoda, která umožňuje aplikacím zjišťovat a zaznamenávat změny provedené v databázi.
Ke sledování změn se nespoléhá na explicitní dotazy SQL.
Místo toho zahrnuje nepřetržitý stream událostí změn publikovaných databázovým serverem.
Klienti se můžou přihlásit k odběru tohoto datového proudu, aby mohli monitorovat změny, zaměřit se na konkrétní databáze, jednotlivé tabulky nebo dokonce podmnožinu sloupců v tabulce.
V případě zrcadlení Fabric se model CDC implementuje v proprietárním rozšíření PostgreSQL označovaném jako azure_cdc. Řídicí rovina pro instanci flexibilního serveru služby Azure Database for PostgreSQL je nainstalována a zaregistrována ve zdrojových databázích během procesu umožnění zrcadlení v rámci Fabric.
Rozšíření Azure Change Data Capture (CDC)
Azure CDC je rozšíření pro PostgreSQL, které vylepšuje možnosti logického dekódování.
Interpretuje a transformuje data Write-Ahead Log (WAL) do srozumitelného logického formátu.
Rozšíření převádí úpravy databáze na posloupnost logických operací, jako jsou INSERT, UPDATE a DELETE.
Azure CDC je vrstva nad integrovaným modulem plug-in logického dekódování PostgreSQL. pgoutput
Azure CDC exportuje snímky a úpravy tabulek jako soubory Parquet a zkopíruje je do cílové zóny Microsoft Fabric OneLake pro následné zpracování.
Povolení zrcadlení služby Fabric v Azure portálu
Zrcadlení prostředí v portálu Azure pro flexibilní server Azure Database pro PostgreSQL umožňuje replikaci vašich databází PostgreSQL do Microsoft Fabric. Tato funkce vám pomůže bezproblémově integrovat data s dalšími službami v Microsoft Fabric, což umožňuje pokročilé analýzy, business intelligence a scénáře datových věd. Pomocí několika jednoduchých kroků na webu Azure Portal můžete nakonfigurovat nezbytné požadavky a začít zrcadlit databáze tak, aby využívaly plný potenciál Microsoft Fabricu.
Podporované verze
Azure Database for PostgreSQL podporuje PostgreSQL 14 a novější pro Fabric mirroring.
Požadavky
Než budete moct používat zrcadlení Fabric v instanci flexibilního serveru Azure Database for PostgreSQL, musíte nakonfigurovat několik předpokladů.
-
Musí být povolená spravovaná identita přiřazená systémem (SAMI).
- Azure CDC používá tuto identitu k autentizaci komunikace s Fabric OneLake, zkopírování počátečních snímků a změně šarží pro výstupní zónu.
Další požadavky nakonfigurujete prostřednictvím vyhrazeného pracovního postupu povolení popsaného v následující části. Mezi tyto požadavky patří:
parametr serveru wal_level musí být nastaven na "logickou".
- Povolí logickou replikaci zdrojového serveru.
parametr serveru max_worker_processes musí být zvýšen tak, aby vyhovoval více procesům na pozadí pro zrcadlení.
rozšíření azure_cdc . Rozšíření Azure CDC (azure_cdc) je předem načtené na zdrojovém serveru a zaregistrované pro vybrané databáze určené k zrcadlení (vyžaduje restartování).
Na webu Azure Portal je k dispozici nová stránka pro automatizaci těchto požadovaných konfigurací na zdrojovém serveru.
Výběrem Začínáme zahájíte pracovní postup povolení.
Tato stránka zobrazuje aktuální stav požadovaných požadavků. Pokud pro tento server není povolená spravovaná identita přiřazená systémem (SAMI), vyberte odkaz, který se má přesměrovat na stránku, na kterou můžete tuto funkci povolit.
Až budete hotovi, vyberte databáze, abyste povolili zrcadlení Fabric (ve výchozím nastavení až tři, ale tento limit můžete zvýšit změnou parametru serveru max_mirrored_databases) a pak vyberte Připravit.
Pracovní postup zobrazí automaticky otevírané okno Restart Server. Výběrem možnosti Restartovat zahájíte proces. Pracovní postup automatizuje všechny zbývající kroky konfigurace. Zrcadlenou databázi můžete začít vytvářet z uživatelského rozhraní Fabric.
Vytvoření databázové role pro Fabric Mirroring
Dále musíte poskytnout nebo vytvořit roli PostgreSQL pro službu Fabric pro připojení k flexibilnímu serveru Azure Database for PostgreSQL.
Tuto úlohu můžete provést zadáním databázové role pro připojení ke zdrojovému systému.
Poznámka:
Pro připojení zrcadlení Fabric ke službě Azure Database for PostgreSQL se podporují role Entra ID a role místní databáze. Vyberte metodu ověřování, která nejlépe odpovídá vašim potřebám.
Použití databázové role
Připojte se ke službě Azure Database for PostgreSQL pomocí nástroje Visual Studio Code nebo pgAdmin. Spojte se s principálem, který je členem role
azure_pg_admin.Vytvořte roli PostgreSQL s názvem
fabric_user. Pro tuto roli můžete zvolit libovolný název. Zadejte vlastní silné heslo. Udělte oprávnění potřebná pro zrcadlení prostředků infrastruktury v databázi. Spuštěním následujícího skriptu SQL udělteCREATEDBnovou roli s názvemCREATEROLE,LOGINREPLICATION,azure_cdc_adminafabric_useroprávněním .-- create a new user to connect from Fabric CREATE ROLE fabric_user CREATEDB CREATEROLE LOGIN REPLICATION PASSWORD '<strong password>'; -- grant role for replication management to the new user GRANT azure_cdc_admin TO fabric_user; -- grant create permission on the database to mirror to the new user GRANT CREATE ON DATABASE <database_to_mirror> TO fabric_user;Uživatel databáze, kterého vytvoříte, musí být také
ownerz tabulek, které se mají replikovat do zrcadlené databáze. Tento požadavek znamená, že uživatel vytvoří tabulky nebo změní vlastnictví těchto tabulek pomocí .ALTER TABLE <table name here> OWNER TO fabric_user;- Při přechodu vlastnictví na nového uživatele možná budete muset uživateli udělit všechna oprávnění ke
publicschématu dříve. Další informace o správě uživatelských účtů najdete v dokumentaci ke správě uživatelů služby Azure Database for PostgreSQL, dokumentaci k produktu PostgreSQL pro databázové role a oprávnění, syntaxi GRANT a oprávnění.
- Při přechodu vlastnictví na nového uživatele možná budete muset uživateli udělit všechna oprávnění ke
Důležité
Chybějící jeden z předchozích kroků konfigurace zabezpečení způsobuje selhání následných zrcadlených operací na portálu Fabric se zprávou Internal error .
Parametry serveru
Tyto parametry serveru přímo ovlivňují zrcadlení v rámci Fabric pro Azure Database for PostgreSQL a lze je použít k ladění procesu replikace do Fabric OneLake.
Azure.fabric_mirror_enabled: Výchozí hodnota je vypnutá. Tento parametr určuje příznak, který označuje, zda je na serveru aktivováno zrcadlení. Nastaví se automaticky na konci pracovního postupu povolení serveru, takže byste ho neměli měnit ručně.
max_replication_slots: Výchozí 10. Používáme jeden slot replikace na zrcadlenou databázi, ale zákazníci můžou zvážit zvýšení, pokud vytvoří více zrcadlení nebo mají jiné sloty replikace vytvořené pro jiné účely (logickou replikaci).
max_wal_senders: Výchozí hodnota je 10. Stejně jako u předchozího parametru používáme jeden
walproces odesílatele na každé zrcadlo. Tento počet by měl narůstat při zrcadlení více databází.max_worker_processes: Výchozí hodnota je 8. Po počátečním snímku použijeme jeden proces na každou databázi nastavenou pro zrcadlení nebo tam, kde je povoleno zrcadlení (ale ve Fabricu se zatím nevytvořil žádný zrcadlený artefakt). Tuto hodnotu musíte zvýšit, pokud máte jiná rozšíření nebo úlohy využívající více pracovních procesů.
max_parallel_workers: Výchozí hodnota je 8, což omezuje počet pracovních procesů, které mohou běžet současně. Pokud povolíte více relací zrcadlení na stejném serveru, můžete zvážit zvýšení tohoto nastavení, abyste umožnili více paralelních operací (například zvýšení počtu paralelních operací při pořizování počátečních snímků).
azure_cdc.max_fabric_mirrors Výchozí hodnota je 3. Zákazníci můžou tuto hodnotu zvýšit, pokud potřebují zrcadlit více než tři databáze na tomto serveru. Je důležité vzít v úvahu, že každá nová zrcadlená databáze využívá prostředky serveru (pět procesů na pozadí využívajících prostředky procesoru a paměti pro vytváření snímků a dávkování změn), takže v závislosti na tom, jak je server zaneprázdněný, byste měli monitorovat využití prostředků a vertikálně navýšit kapacitu výpočetních prostředků na další dostupnou velikost, pokud využití procesoru a paměti neustále překračuje 80% nebo výkonu, co očekáváte.
azure_cdc.max_snapshot_workers: Výchozí hodnota je 3. Maximální počet pracovních procesů použitých při počátečním vytvoření snímku Chcete-li urychlit počáteční vytvoření snímku při zvýšení počtu zrcadlených databází, zvyšte tuto hodnotu. Než to uděláte, měli byste zvážit všechny ostatní procesy na pozadí spuštěné v systému.
azure_cdc.change_batch_buffer_size: Výchozí hodnota je 16 MB. Maximální velikost vyrovnávací paměti (v MB) pro dávku změn. Tabulka ukazuje, kolik dat je do tohoto bodu uchováno ve vyrovnávací paměti, než jsou zapsána na místní disk. V závislosti na četnosti změn dat v zrcadlených databázích můžete tuto hodnotu upravit, abyste snížili frekvenci dávky změn nebo ji zvýšili, pokud chcete určit prioritu celkové propustnosti.
azure_cdc.change_batch_export_timeout: Výchozí hodnota je 30. Maximální doba nečinnosti (v sekundách) mezi změnami dávkových zpráv. Po překročení označíme aktuální dávku jako dokončenou. V závislosti na četnosti změn dat v zrcadlených databázích můžete tuto hodnotu upravit, abyste snížili frekvenci dávky změn nebo ji zvýšili, pokud chcete určit prioritu celkové propustnosti.
azure_cdc.parquet_compression: Výchozí hodnota je ZSTD. Tento parametr je určený jenom pro interní použití, takže byste ho neměli upravovat.
azure_cdc.snapshot_buffer_size: Výchozí hodnota je 1 000. Maximální velikost (v MB) počáteční vyrovnávací paměti snímku. V souladu s tabulkou je mnoho dat ukládáno do vyrovnávací paměti, než je odesláno do Fabric. Nezapomeňte, že azure_cdc.snapshot_buffer_size*azure_cdc.max_snapshot_worker je celková paměťová paměť použitá při počátečním snímku.
azure_cdc.snapshot_export_timeout: Výchozí hodnota je 180. Maximální doba (v minutách) k exportu počátečního snímku Pokud je překročena maximální doba, restartuje se.
azure_cdc.prune_local_batches: Výchozí hodnota je True. Pokud je nastaveno, odeberte dávková data z místního disku, jakmile se úspěšně nahrají a potvrdí do wal_sender.
Monitor
Monitorování zrcadlení Fabric v instancích serverů s flexibilním nasazením Azure Database for PostgreSQL je nezbytné k zajištění bezproblémového a efektivního fungování procesu zrcadlení. Monitorováním stavu zrcadlených databází můžete identifikovat případné problémy a provést nápravné akce.
Pomocí několika uživatelsky definovaných funkcí a tabulek můžete monitorovat důležité metriky CDC v instancích flexibilních serverů Azure Database for PostgreSQL a řešit potíže s procesem duplikace dat do Fabric.
Monitorovací funkce
Funkce zrcadlení typu Fabric ve službě Azure Database for PostgreSQL plynule replikuje vaše databáze PostgreSQL do Microsoft Fabric, takže můžete využít pokročilou analytiku a scénáře integrace dat.
azure_cdc.list_tracked_publications():: Pro každou publikaci ve zdrojové instanci flexibilního serveru vrátí řetězec oddělený čárkami obsahující následující informace.
- publicationName (text)
- includeData (bool)
- includeChanges (bool)
- active (bool)
- baseSnapshotDone (bool)
- generationId (int)
azure_cdc.publication_status('pub_name'): Pro každou publikaci ve zdroji vrátí instance flexibilního serveru řetězec oddělený čárkami s následujícími informacemi.
- <stav, start_lsn, stop_lsn, flush_lsn>.
- Stav se skládá z ["Název slotu", "Název zdroje", "Cílová cesta k datům CDC", "Aktivní", "Snímek hotovo", "Procento průběhu", "ID generování", "Dokončené ID dávky", "Nahrané ID dávky", "Čas spuštění CDC"]
azure_cdc.is_table_mirrorable('schema_name','table_name'): Dané schéma a název tabulky vrátí, pokud je tabulka zrcadlitelná. Aby byla tabulka zrcadlitelná, musí splňovat následující podmínky:
- Názvy sloupců neobsahují žádný z následujících znaků:
[ ;{}\n\t=()] - Typy sloupců jsou jedním z následujících typů:
bigintbigserialbooleanbytescharactercharacter varyingdatedouble precisionintegernumericrealserialoidmoneysmallintsmallserialtexttime without time zonetime with time zonetimestamp without time zonetimestamp with time zoneuuid
- Tabulka není zobrazení, materializované zobrazení, cizí tabulka, tabulka TOAST nebo dělená tabulka.
- Tabulka obsahuje primární klíč nebo jedinečný, nenulový a nepartiální index. Pokud tyto požadavky nejsou splněné, zrcadlení bude i nadále fungovat s použitím identity repliky FULL, ale to bude mít významný dopad na celkový výkon replikace a na využití WAL. Doporučujeme mít primární klíč nebo jedinečný index pro tabulky netriviální velikosti.
- Názvy sloupců neobsahují žádný z následujících znaků:
Tabulky sledování
- azure_cdc.tracked_publications: jeden řádek pro každou existující zrcadlenou databázi ve Fabric. Zadejte dotaz na tuto tabulku, abyste porozuměli stavu každé publikace.
| Název sloupce | Typ Postgres | Vysvětlení |
|---|---|---|
| publication_id | oid | Oid té publikace |
| destination_path | poslat SMS | Cesta k cílové zóně v Fabric OneLake |
| destination_format | azure_cdc.data_format | Formát dat v Azure CDC |
| include_data | bool | Zda zahrnout počáteční data snímku do publikace |
| include_changes | bool | Zda zahrnout změny v publikaci |
| aktivní | bool | Zda je publikace aktivní |
| snapshot_done | bool | Zda je snímek dokončen |
| snapshot_progress | smallint | Průběh snímku |
| snapshot_progress_percentage | poslat SMS | Procento průběhu snímku |
| generation_id | int | Identifikátor generace |
| stream_start_lsn | pg_lsn | Číslo posloupnosti protokolu, kde se tok změn spustil |
| stream_start_time | časové razítko | Časové razítko při spuštění streamu změn |
| stream_stop_lsn | pg_lsn | Pořadové číslo protokolu, kde se stream změn zastavil |
| snapshot_size | bigint | Celková velikost snímku (v bajtech) |
| total_time | int | Celková doba (v sekundách) potřebná pro publikaci |
-
azure_cdc.tracked_batches: jeden řádek pro každou dávku změn zachycenou a odesílanou do Fabric OneLake. Zadejte dotaz na tuto tabulku, abyste pochopili, která dávka je už zachycená a nahraná do Fabric OneLake. Pomocí sloupce
last_written_lsnmůžete zjistit, jestli je daná transakce ve zdrojové databázi již odeslána do platformy Fabric.
| Název | Typ Postgres | Vysvětlení |
|---|---|---|
| publication_id | oid | Oid té publikace |
| completed_batch_id | bigint | Pořadové číslo dávky, začínající od 1. Jedinečná pro každou publikaci |
| last_written_lsn | pg_lsn | LSN z posledního zápisu této dávky |
- azure_cdc.tracked_tables: jeden řádek pro každou tabulku sledovaný napříč všemi publikacemi. Obsahuje následující pole pro všechny publikované tabulky ve všech publikacích. Pokud je tabulka součástí dvou publikací, bude uvedena dvakrát.
| Název | Typ Postgres | Vysvětlení |
|---|---|---|
| publication_id | oid | Oid té publikace |
| table_oid | oid | Oid tabulky |
| sequence_number | bigint | pořadové číslo vygenerovaného souboru |
Související obsah
- Systémem přiřazená spravovaná identita
- Pravidla brány firewall ve službě Azure Database for PostgreSQL
- Přehled sítí pro instance Azure Database for PostgreSQL s veřejným přístupem