PostgreSQL-tietokannan CDC-lähteen lisääminen tapahtumavirtaan

Tässä artikkelissa kerrotaan, miten voit lisätä PostgreSQL-tietokannan Change Data Capture (CDC) -lähteen tapahtumavirtaan.

PostgreSQL-tietokannan Change Data Capture (CDC) -lähdeliitin Microsoft Fabric -tapahtumavirtoille mahdollistaa nykyisen datan snapshotin tallentamisen PostgreSQL-tietokannassa. Tällä hetkellä PostgreSQL-tietokannan muutostietokantaa (CDC) tuetaan seuraavista palveluista, joissa tietokantoja voi käyttää julkisesti:

  • Azure-tietokanta PostgreSQL:lle
  • Amazon RDS PostgreSQL:lle
  • Amazon Aurora PostgreSQL
  • Google Cloud SQL PostgreSQL:lle

Kun PostgreSQL-tietokannan CDC-lähde on lisätty tapahtumavirtaan, se tallentaa rivitason muutokset määritettyihin taulukoihin. Nämä muutokset voidaan sitten käsitellä reaaliaikaisesti ja lähettää eri kohteisiin tarkempaa analysointia varten.

Muistiinpano

DeltaFlow'n (Preview) avulla voit muuntaa raaka Debezium CDC -tapahtumat analytiikkavalmiiksi virroiksi, jotka heijastavat lähdetaulun rakennetta. DeltaFlow automatisoi skeeman rekisteröinnin, kohdetaulujen hallinnan ja skeeman kehityksen käsittelyn. DeltaFlow'n käyttöä varten valitse Analytics-ready events & auto-updated schema skeeman käsittelyvaiheessa.

Edellytykset

CDC:n ottaminen käyttöön PostgreSQL-tietokannassa

Tässä osiossa käytetään esimerkkinä Azure Database for PostgreSQL.

CDC:n ottamiseksi käyttöön Azure Database for PostgreSQL joustavassa palvelimessasi noudata näitä ohjeita:

  1. Azure Database for PostgreSQL Flexible Server -sivullasi Azure-portaalissa valitse navigointivalikosta Server-parametrit.

  2. Palvelimen parametrit -sivulla:

    • Määritä wal_level loogisiksi.
    • Päivitä max_worker_processes vähintään arvoon 16.

    Näyttökuva CDC:n käyttöönotosta joustavaa palvelinkäyttöönottoa varten.

  3. Tallenna muutokset ja käynnistä palvelin uudelleen.

  4. Varmista, että Azure Database for PostgreSQL Flexible Server -instanssi sallii julkisen verkkoliikenteen.

  5. Myönnä järjestelmänvalvojan käyttäjien replikoinnin käyttöoikeudet suorittamalla seuraava SQL-lauseke. Jos haluat käyttää toista käyttäjätiliä yhdistääksesi PostgreSQL-tietokantasi (DB) saadaksesi CDC:n, varmista, että käyttäjä on taulun omistaja.

    ALTER ROLE <admin_user_or_table_owner_user> WITH REPLICATION;
    

Käynnistä ohjattu Tietolähteen valitseminen -toiminto

Jos et ole vielä lisännyt lähdettä tapahtumavirtaasi, valitse Yhdistä tietolähteet -ruutu. Voit myös valita Lisää lähde>Yhdistä tietolähteet nauhalla.

Kuvakaappaus, joka näyttää laatan valinnan ulkoisen lähteen käyttöön.

Jos lisäät lähdekoodin jo julkaistuun tapahtumavirtaan, vaihda muokkaustilaan . Nauhalta valitse Lisää lähde>Yhdistä tietolähteet.

Kuvakaappaus, joka näyttää vaihtoehtoja ulkoisten lähteiden lisäämiseen.

Etsi Valitse tietolähde -sivulta PostgreSQL DB (CDC) - Connect.

Screenshot, joka näyttää Azure tietokannan (DB) valinta PostgreSQL:lle (CDC) lähdetyypiksi Get events wizard.

PostgreSQL-tietokanta CDC:n määrittäminen ja siihen yhdistäminen

Siirrä muutostiedot PostgreSQL-tietokannoista automaattisella taulukkoskeeman rekisteröinnillä CDC:n kautta Eventstreamiin.

Muistiinpano

DeltaFlow (Preview): Kun valitset Analytics-ready events & auto-updated skeeman skeeman skeeman käsittelyvaiheessa, DeltaFlow muuntaa raaka Debezium CDC -tapahtumat analytiikkavalmiiksi virroiksi, jotka peilaavat lähdetaulun rakennetta. DeltaFlow automatisoi myös kohdetaulujen luomisen ja skeeman kehityksen käsittelyn.

  1. Valitse Yhdistä-sivullaUusi yhteys.

    Kuvakaappaus, joka näyttää Connect-sivun PostgreSQL-tietokannalle, jossa on Uusi yhteyslinkki korostettuna.

  2. Anna Yhteysasetukset-osiossa seuraavat tiedot.

    • Palvelin: PostgreSQL-tietokannan palvelinosoite, esimerkiksi my-pgsql-server.postgres.database.azure.com.

    • Tietokanta: Tietokannan nimi, esimerkiksi my_database.

      Kuvakaappaus, joka näyttää PostgreSQL-tietokantaliittimen Yhteysasetukset-osion.

    • Yhteyden nimi: Anna yhteyden nimi.

    • Todennuslaji: valitse Perus ja anna tietokannan käyttäjänimi ja salasana .

      Muistiinpano

      Tällä hetkellä Fabric tapahtumavirrat tukevat vain Basic -tunnistautumista.

    • Viimeistele yhteysasetukset valitsemalla Yhdistä . Kuvakaappaus, joka näyttää PostgreSQL-tietokantaliittimen Connection credentials -osion.

  3. Portti: Anna palvelimesi porttinumero. Oletusarvo on 5432. Jos valittu pilviyhteys on määritetty kohdassa Yhteyksien ja yhdyskäytävien hallinta, varmista, että porttinumero vastaa siinä määritettyä. Jos ne eivät täsmää, pilviyhteyden porttinumero Yhteyksien ja yhdyskäytävien hallinta etusijalla.

  4. Voit valita kahdesta vaihtoehdosta, kun sieppaat muutoksia tietokantataulukoista:

    • Kaikki taulukot: Sieppaa muutokset tietokannan jokaisesta taulukosta.
    • Anna taulukon nimet: Voit määrittää taulukoiden alijoukon käyttämällä pilkuin eroteltua luetteloa. Voit käyttää joko: täydellisiä taulukkotunnisteita muodossa schemaName.tableName tai päteviä säännöllisiä lausekkeita. Esimerkkejä:
    • dbo.test.*: Valitse kaikki taulukot, joiden nimi alkaa testdbo rakenteen mukaan.
    • dbo\.(test1|test2): Valitse dbo.test1 ja dbo.test2.

    Voit yhdistää molemmat muodot luettelossa. Koko merkinnän merkkirajoitus on 102 400 merkkiä.

  5. Paikan nimi (valinnainen): Anna PostgreSQL:n loogisen koodauksen koodauksen paikan nimi, joka luotiin tietojen suoratoiston muutoksille tietystä laajennuksesta tietylle tietokannalle tai rakenteelle. Palvelin käyttää tätä ajanjaksoa tapahtumien suoratoistoon Eventstream-suoratoistoyhdistimeen. Sen tulee sisältää vain pieniä kirjaimia, numeroita ja alaviivoja.

    • Jos tätä ei määritetä, paikan luomiseen käytetään GUID-tunnusta, joka edellyttää asianmukaiset tietokannan käyttöoikeudet.
    • Jos määritetty paikan nimi on olemassa, liitin käyttää sitä suoraan.
  6. Laajenna Lisäasetukset saadaksesi lisää konfiguraatiovaihtoehtoja PostgreSQL-tietokannan CDC-lähteelle:

    • Julkaisun nimi: Määrittää käytettävän PostgreSQL:n loogisen replikoinnin julkaisun nimen. Tämän arvon täytyy vastata olemassa olevaa julkaisua tietokannassa, tai se luodaan automaattisesti automaattiluontitilan mukaan. Oletusarvo: dbz_publication.

      Muistiinpano

      Liittimen käyttäjällä on oltava yläkäyttäjän käyttöoikeudet julkaisun luomiseksi. Suosittelemme, että luot julkaisun manuaalisesti ennen liittimen aloittamista ensimmäistä kertaa, jotta vältät käyttöoikeusongelmat.

    • Julkaisun automaattinen luontitila: Määrittää, luodaanko julkaisu automaattisesti ja miten se luodaan. Vaihtoehtoja ovat seuraavat:

      • Filtered (oletus): Jos määritettyä julkaisua ei ole, liitin luo sellaisen, joka sisältää vain valitut taulukot (kuten taulukon sisällytysluettelossa on määritetty).
      • AllTables: Jos määritetty julkaisu on olemassa, liitin käyttää sitä. Jos sitä ei ole olemassa, liitin luo sellaisen, joka sisältää kaikki tietokannan taulukot.
      • Disabled: Yhdistin ei luo julkaisua. Jos määritetty julkaisu puuttuu, liitin aiheuttaa poikkeuksen ja pysähtyy. Tässä tapauksessa julkaisu on luotava tietokannassa manuaalisesti.

      Lisätietoja on julkaisun automaattisen luonnin tilan Debezium-dokumentaatiossa

    • Desimaalikäsittelytila: Määrittää, miten liitin käsittelee PostgreSQL DECIMAL - ja NUMERIC sarakearvot:

      • Precise: Esittää arvoja käyttäen tarkkoja desimaalityyppejä (esimerkiksi Java BigDecimal) varmistaakseen täyden tarkkuuden ja tarkkuuden datan esittämisessä.
      • Double: muuntaa arvot kaksoistarkoiksi liukupisteluvuiksi. Tämä vaihtoehto parantaa käytettävyyttä ja suorituskykyä, mutta voi johtaa tarkkuuden heikkenemiseen.
      • String: Koodaa arvot muotoiltuina merkkijonoina. Tämä vaihtoehto tekee niistä helppoja kuluttaa alavirran järjestelmissä, mutta menettää semanttista tietoa alkuperäisestä numeerisesta tyypistä.
    • Snapshot-tila: Määritä kriteerit snapshotin suorittamiselle, kun liitin käynnistyy:

      • Initial: Liitin suorittaa snapshotin vain, kun loogisen palvelimen nimelle ei ole tallennettu offsetteja, tai jos se havaitsee, että aiempi snapshotti ei valmistunut. Snapshotin valmistuttua liitin alkaa striimata tapahtumatietueita myöhempiä tietokantamuutoksia varten.
      • InitialOnly: Liitin suorittaa snapshotin vain, kun loogisen palvelimen nimelle ei ole tallennettu offsetteja. Snapshotin valmistuttua liitin pysähtyy. Se ei siirry suoratoistoon lukeakseen muutoksia binlogista.
      • NoData: Liitin suorittaa snapshotin, joka tallentaa vain skeeman, mutta ei taulukkodataa. Aseta tämä asetus, jos et tarvitse johdonmukaista tilannekuvaa datasta, mutta tarvitset vain ne muutokset, jotka tapahtuvat liittimen käynnistymisen jälkeen.
    • Heartbeat-toimintokysely: Määrittää kyselyn, jonka liitin suorittaa lähdetietokannassa, kun liitin lähettää heartbeat-viestin.

    • Snapshot-valintalauseen ohitus: Määrittää taulukon rivit, jotka sisällytetään snapshot-kuvaan. Käytä ominaisuutta, jos haluat, että tilannekuva sisältää vain osan taulukon riveistä. Tämä ominaisuus vaikuttaa vain snapshot-otoksiin. Se ei koske tapahtumia, joita liitin lukee lokista.

Striimin tai lähteen tiedot

  1. Connect-sivulla seuraa jotakin näistä vaiheista sen mukaan, käytätkö Eventstreamia vai Real-Time hubia.

    • Eventstream:

      Lähdetiedot-paneelissa oikealla seuraa seuraavia ohjeita:

      1. Lähdenimeä varten valitse Kynäpainike vaihtaaksesi nimen.

      2. Huomaa, että Eventstreamin nimi ja Streamin nimi ovat vain luku -tilassa.

    • Real-Time keskus:

      Oikealla olevassa Stream-tiedot-osiossa seuraa näitä vaiheita:

      1. Valitse Fabric workspace johon haluat luoda eventstreamin.

      2. Eventstreamin nimeä varten valitse Kynäpainike ja syötä tapahtumavirran nimi.

      3. Virran nimiarvo luodaan automaattisesti lisäämällä -stream tapahtumavirran nimeen. Tämä virta ilmestyy reaaliaikaisen hubin Kaikki datavirrat -sivulle, kun ohjattu on valmis.

  2. Valitse Seuraava Määritä-sivun alareunasta.

Kertaile ja yhdistä

Review + connect -näytöllä käy läpi yhteenveto ja valitse Add (Eventstream) tai Connect (Real-Time hub).

Skeeman käsittelysivu

  1. Skeeman käsittelyvaiheessa valitse jokin seuraavista vaihtoehdoista:

    • Analytiikkavalmiit tapahtumat ja automaattisesti päivittyvät skeemat (DeltaFlow Preview): Liitin muuntaa raaka CDC-tapahtumat analytiikkavalmiiksi virroiksi, jotka heijastavat lähdetaulun rakennetta. DeltaFlow rikastuttaa tapahtumia metatiedolla, kuten muutostyypillä (lisää, päivitä tai poista) ja aikaleimoilla, ja hallinnoi automaattisesti kohdetauluja ja skeeman kehitystä.
    • Raaka-CDC-tapahtumat: Liitin vastaanottaa ja tekee raaka-CDC-tapahtumat saataville. Hallinnaisesti liitin voi automaattisesti löytää taulukkoskeemat ja rekisteröidä ne skeemarekisteriin. Käytä tätä vaihtoehtoa, kun haluat skeematietoisuutta ilman DeltaFlow-muunnosta.

    Muistiinpano

    Seuraava kuvakaappaus näyttää Azure SQL Database CDC:n. Skeeman käsittelyvaihtoehdot ovat samat kaikille tuetuille CDC-lähdeliittimille.

    Kuvakaappaus, jossa näkyy skeeman käsittelyvaihe DeltaFlow- ja Raw CDC -tapahtumaasetuksilla CDC-lähdeliittimelle.

  2. Ota tapahtumarakenteen yhdistäminen käyttöön.

  3. Workspace Fabric workspace skeemajoukolle.

  4. Rakennejoukossa on oletusarvoisesti valittuna + Luo, mikä luo uuden rakennejoukon. Voit muuttaa sitä valitaksesi aiemmin luodun tapahtumarakennejoukon.

  5. Jos valitsit + Luo -vaihtoehdon edellisessä vaiheessa, kirjoita rakennejoukon nimi.

  6. Review + connect -sivulla tarkista yhteenveto ja valitse sitten Add (Eventstream) tai Connect (Real-Time hub).

    Kuvakaappaus, joka näyttää PostgreSQL-tietokantaliittimen Review and Create -sivun laajennetuilla ominaisuuksilla.

    Kaikille PostgreSQL-tietokannan tauluille tai valituille tauluille liitin löytää ja luo skeemat automaattisesti ja rekisteröi ne skeemarekisteriin.

DeltaFlow: Analytiikkavalmis tapahtumamuunnos (Esikatselu)

Kun otat käyttöön Analytics-valmiit tapahtumat ja automaattisesti päivitettävän skeeman (DeltaFlow), liitin tarjoaa seuraavat ominaisuudet:

  • Analytiikkavalmis tapahtumamuoto: Raaka Debezium CDC -tapahtumat muunnetaan taulukkomuotoon, joka heijastaa lähdetaulun rakennetta. Tapahtumat rikastetaan metatietosarakkeilla, kuten muutostyyppi (insert, update, tai delete) ja tapahtuman aikaleima.
  • Automaattinen kohdetaulujen hallinta: Kun reitität DeltaFlow-yhteensopivat virrat tuettuun kohteeseen, kuten eventhouseen, kohdetaulut luodaan automaattisesti vastaamaan lähdetauluskeemaa. Sinun ei tarvitse luoda tai konfiguroida kohdetauluja manuaalisesti.
  • Skeeman kehityksen käsittely: Kun lähdetietokantataulut muuttuvat (esimerkiksi uusia sarakkeita lisätään tai tauluja luodaan), DeltaFlow tunnistaa muutokset automaattisesti, päivittää rekisteröidyt skeemat ja säätää kohdetauluja sen mukaisesti. Tämä käyttäytyminen minimoi manuaalisen puuttumisen, joka johtuu skeemamuutoksista.

Muistiinpano

DeltaFlow (Preview) on tällä hetkellä tuettu Azure SQL Database CDC:llä, Azure SQL Managed Instance CDC:llä, SQL Server on virtual machine CDC:llä sekä PostgreSQL CDC source connector -liittimillä.

Lisätietoja siitä, miten DeltaFlow muuntaa raaka-CDC-tapahtumat analytiikkavalmiiksi tuloksiksi, mukaan lukien operaatiotyypit ja metatietosarakkeet, löytyy DeltaFlow-tulostusmuunnoksesta.

Näytä päivitetty tapahtumavirta

  1. Näet PostgreSQL-tietokannan CDC-lähteen lisättynä tapahtumavirtaasi Muokkaa-tilassa.

    Kuvakaappaus suoratoistosta PostgreSQL DB CDC -lähteestä muokkausnäkymässä laajennetuilla ominaisuuksilla.

  2. Jos haluat ottaa käyttöön tämän äskettäin lisätyn PostgreSQL DB CDC -lähteen, valitse Julkaise. Kun olet suorittanut nämä vaiheet, PostgreSQL DB CDC -lähde on visualisoitavissa reaaliaikaisessa näkymässä.

    Kuvakaappaus suoratoistosta PostgreSQL DB CDC -lähteestä live-näkymässä laajennetuilla ominaisuuksilla.

Määritä Eventstreamin kohdekohdat käyttämään skeemoja

Tällä hetkellä vain Eventhouse, mukautettu päätepiste ja johdetut virtakohteet ovat tuettuina Eventstreameille, joihin liittyy skeemoja. Tässä osiossa kerrotaan, miten voit lisätä ja määrittää Eventhouse-kohteen, kun laajennetut ominaisuudet (kuten rakennetuki) ovat käytössä tapahtumavirrassa.

Muistiinpano

Kun käytät DeltaFlow'ta (Preview) tuetulla Change Data Capture (CDC) -lähteellä, Eventhousen kohdetaulut luodaan ja hallitaan automaattisesti vastaamaan lähdetaulun rakennetta. Kohdetauluskeemaa ei tarvitse konfiguroida manuaalisesti. DeltaFlow käsittelee myös skeeman kehityksen automaattisesti, kun lähdetaulut muuttuvat.

Määritä skeema mukautetulle päätepisteelle

  1. Valitse Muunna tapahtumat tai lisää kohde, ja valitse sitten CustomEndpoint.

  2. Mukautettu päätepiste -paneelissa määritä kohde nimeksi.

  3. Valitse Syöterakenne-kohdassa tapahtumien rakenne. Teet valinnan tässä laatikossa, kun otat skeematuen käyttöön tapahtumavirralle.

Kuvakaappaus, joka näyttää paneelin mukautetun päätepisteen konfigurointia varten.

Yksityiskohtaiset ohjeet mukautetun päätepisteen kohteen määrittämiseen ovat artikkelissa Mukautetun päätepisteen tai mukautetun sovelluksen kohteen lisääminen tapahtumavirtaan.

Tapahtumatalon kohteen rakenteiden määrittäminen

  1. Valitse Muunna tapahtumat tai Lisää kohde ja valitse sitten Eventhouse.

  2. Eventhouse-paneelissa määritä seuraavat skeema-asetukset:

    1. Syöteskeemalle valitse yksi tai useampi skeema pudotusvalikosta.

      Kuvakaappaus, joka näyttää tapahtumatalon konfiguraatiopaneelin, jossa syöteskeema on valittuna.

      Muistiinpano

      Jos valitsit Dynamic skeeman otsikoiden kautta -vaihtoehdon konfiguroidessasi Event Hubsin lähdekoodia, saatat olla konfiguroinut useita skeemoja lähteelle ja kartoittanut ne eri ominaisuuksiin ja arvoihin.

    2. Taulun luontitapaa varten valitse Yksi taulu, jossa kaikki skeemat on yhdistetty, tai Erilliset taulukot jokaiselle skeemalle tarpeidesi mukaan.

      Kuvakaappaus, joka näyttää tapahtumatalon konfiguraatiopaneelin taulun luontimenetelmineen.

    3. Valitse Kirjoita tiedot -kohdassa jokin seuraavista vaihtoehdoista:

      • Vain hyötykuorma: Kirjoita purettu hyötykuorma taulukkoon. Jos syöterakenteita on useita, tiedot lähetetään useisiin taulukoihin.
      • Metatiedot ja hyötykuorma: Kirjoita metatiedot ja tietosisältötiedot yhteen taulukkoon. Esimerkkisarakkeita ovat source , subject, type, ja data.

      Kuvakaappaus, joka näyttää tapahtumatalon konfiguraatiopaneelin, jossa on asetukset datan kirjoittamiseen.

Yksityiskohtaiset vaiheet tapahtumatalon kohteen konfigurointiin löydät kohdasta Lisää tapahtumatalon kohde tapahtumavirtaan.

Katso DeltaFlow-analytiikkavalmiit tulokset (Esikatselu)

Jos otit käyttöön Analytics-valmiit tapahtumat ja automaattisesti päivittyvät skeemat (DeltaFlow), kohdetaulut luodaan automaattisesti muotoon, joka peilaa lähdetietokantataulujasi. Jokainen taulukko sisältää alkuperäiset sarakkeet sekä metatietosarakkeet muutostyypille ja aikaleimalle.

Muistiinpano

Seuraava kuvakaappaus näyttää Azure SQL Database CDC:n. DeltaFlow-kohdetaulun lähtö on sama kaikille tuetuille CDC-lähdeliittimille.

Kuvakaappaus, jossa DeltaFlow on luonut Eventhouse-kohdetaulut analytiikkavalmiissa muodoissa.

Voit hakea näitä tauluja Kusto Query Language (KQL) -työkalulla tai muilla analytiikkatyökaluilla ilman, että sinun tarvitsee jäsentää raakaa Debezium CDC -hyötykuormaa.

Muut liittimet: