Andmete väärtus on ajatundlik. Reaalajas töötlemine muudab andmepõhised otsused täpseks ja teostatavaks mõne sekundi või minutiga, mitte tundide või päevadega. Muudatuste andmehõive (CDC) viitab protsessile, mille käigus tuvastatakse ja jäädvustatakse andmebaasis andmetes tehtud muudatused ning seejärel edastatakse need muudatused reaalajas allavoolusüsteemi. Lähteandmebaasis olevate tehingute iga muudatuse jäädvustamine ja nende reaalajas sihtmärki teisaldamine hoiab süsteemid sünkroniseerituna ning aitab reaalajas analüüsida kasutusjuhtumeid ja andmebaaside nullseisundi migreerimist. Siin on mõned CDC eelised:
- See välistab vajaduse hulgilaadimise värskendamise ja ebamugavate pakettakende järele, võimaldades järkjärgulist laadimist või andmete muudatuste reaalajas voogesitust teie sihthoidlasse.
- See tagab, et mitme süsteemi andmed jäävad sünkroonis. See on eriti oluline, kui teete suure kiirusega andmekeskkonnas ajatundlikke otsuseid.
Kafka Connect on Apache Kafka avatud lähtekoodiga komponent, mis töötab tsentraliseeritud andmekeskusena andmete lihtsaks integreerimiseks andmebaaside, võtmeväärtuste hoidlate, otsinguindeksite ja failisüsteemide vahel. The AWS-i liimiskeemi register võimaldab tsentraalselt avastada, juhtida ja arendada andmevooskeeme. Kafka Connect ja Schema Registry integreeruvad, et koguda konnektoritest skeemiteavet. Kafka Connect pakub mehhanismi andmete teisendamiseks Kafka Connecti kasutatavatest sisemistest andmetüüpidest andmetüüpideks, mis on esindatud kui Avro, Protobuf või JSON Schema. AvroConverter, ProtobufConverter ja JsonSchemaConverter registreerivad automaatselt Kafka konnektorite (allikas) loodud skeemid, mis toodavad Kafkale andmeid. Konnektorid (valamu), mis tarbivad Kafka andmeid, saavad lisaks iga sõnumi andmetele ka skeemiteavet. See võimaldab valamu konnektoritel teada andmete struktuuri, et pakkuda selliseid võimalusi nagu andmebaasitabeli skeemi haldamine andmekataloogis.
Postitus näitab, kuidas luua otsast lõpuni CDC-d kasutades Amazon MSK Connect, AWS-i hallatav teenus Kafka Connecti rakenduste ja AWS-i liimiskeemide registri juurutamiseks ja käitamiseks, mis võimaldab teil andmevoogude skeeme tsentraalselt avastada, juhtida ja arendada.
Lahenduse ülevaade
Tootja poolel valime selle näite jaoks MySQL-iga ühilduva Amazonase Aurora andmeallikana andmebaas ja meil on a Debezium MySQL-i pistik CDC teostamiseks. Debeziumi pistik jälgib pidevalt andmebaase ja edastab reatasemel muudatusi Kafka teemasse. Konnektor tõmbab skeemi andmebaasist, et serialiseerida kirjed kahendvormingusse. Kui skeemi registris veel pole, registreeritakse skeem. Kui skeem on olemas, kuid serialiseerija kasutab uut versiooni, kontrollib skeemi register ühilduvusrežiimis enne skeemi värskendamist. Selles lahenduses kasutame tagasiühilduvusrežiim. Skeemiregister tagastab veateate, kui skeemi uus versioon ei ole tagasiühilduv, ja saame konfigureerida Kafka Connecti saatma mitteühilduvaid sõnumeid surnud kirjade järjekorda.
Tarbija poolel kasutame an Amazoni lihtne salvestusteenus (Amazon S3) valamu pistik kirje deserialiseerimiseks ja Amazon S3 muudatuste salvestamiseks. Ehitame ja juurutame Debeziumi pistiku ja Amazon S3 valamu MSK Connecti abil.
Näidisskeem
Selle postituse jaoks kasutame tabeli esimese versioonina järgmist skeemi:
Eeldused
Enne MSK tootja- ja tarbijakonnektorite konfigureerimist peame esmalt seadistama andmeallika, MSK klastri ja uue skeemiregistri. Pakume an AWS CloudFormation mall lahenduse jaoks vajalike tugiressursside loomiseks:
- Andmeallikana MySQL-iga ühilduv Aurora andmebaas. CDC teostamiseks lülitame sisse binaarse logimise DB klastri parameetrite rühm.
- MSK klaster. Võrguühenduse lihtsustamiseks kasutame Aurora andmebaasi ja MSK klastri jaoks sama VPC-d.
- Kaks skeemiregistrit sõnumivõtme ja sõnumi väärtuse skeemide käsitlemiseks.
- Andmevalamuks üks S3 ämber.
- Selle demo jaoks on vajalikud MSK Connecti pistikprogrammid ja töötaja konfiguratsioon.
- Üks Amazon Elastic Compute Cloud (Amazon EC2) eksemplar andmebaasi käskude käitamiseks.
Ressursside seadistamiseks oma AWS-i kontol tehke järgmised sammud AWS-i piirkonnas, mis toetab Amazon MSK-d, MSK Connecti ja AWS-i liimiskeemide registrit.
- Vali Käivitage Stack:
- Vali järgmine.
- eest Virna nimi, sisestage sobiv nimi.
- eest Andmebaasi parool, sisestage andmebaasi kasutaja jaoks soovitud parool.
- Hoidke muud väärtused vaikeväärtusena.
- Vali järgmine.
- Järgmisel lehel valige järgmine.
- Vaadake viimasel lehel üksikasjad üle ja valige Tunnistan, et AWS CloudFormation võib luua IAM-i ressursse.
- Vali Loo virn.
Kohandatud pistikprogramm allika ja sihtkoha konnektori jaoks
Kohandatud pistikprogramm on JAR-failide komplekt, mis sisaldab ühe või mitme konnektori, teisenduse või muunduri rakendamist. Amazon MSK installib pistikprogrammi MSK Connecti klastri töötajatele, kus konnektor töötab. Selle demo osana kasutame lähtekoodi konnektori jaoks avatud lähtekoodiga Debezium MySQL konnektori JAR-idja sihtkoha konnektori jaoks kasutame litsentsitud Confluenti kogukonda Amazon S3 valamu pistiku JAR-id. Mõlemale pistikprogrammile on lisatud ka teegid Avro serialiseerijad ja deserialiseerijad AWS-i liimiskeemide registrist. Need kohandatud pistikprogrammid on juba loodud eelmises etapis juurutatud CloudFormationi malli osana.
Kasutage MSK Connecti MSK tootjana AWS-i liimiskeemi registrit Debeziumi pistikuga
Esmalt juurutame lähtekonnektori, kasutades Debezium MySQL-i pistikprogrammi, et andmeid voogesitada Amazon Aurora MySQL-iga ühilduv väljaanne andmebaas Amazon MSK-le. Tehke järgmised sammud.
- Amazon MSK konsooli navigeerimispaanil all MSK ühendus, vali Pistikud.
- Vali Loo pistik.
- Vali Kasutage olemasolevat kohandatud pistikprogrammi ja seejärel valige kohandatud pistikprogramm, mille nimi algab
msk-blog-debezium-source-plugin
. - Vali järgmine.
- Sisesta sobiv nimi nagu
debezium-mysql-connector
ja valikuline kirjeldus. - eest Apache Kafka klaster, vali MSK klaster ja valige CloudFormationi malliga loodud klaster.
- In Pistiku konfiguratsioon, kustutage vaikeväärtused ja kasutage järgmisi konfiguratsiooni võtme-väärtuse paare ja sobivate väärtustega:
- nimi – konnektori nimi.
- andmebaas.hostinimi – CloudFormationi väljund Andmebaasi lõpp-punkt.
- andmebaas.kasutaja ja andmebaas.parool – CloudFormationi mallis edastatud parameetrid.
- database.history.kafka.bootstrap.servers – CloudFormationi väljund Kafka Bootstrap.
- key.converter.region ja value.converter.region – Teie piirkond.
Mõned neist sätetest on üldised ja tuleks määrata iga konnektori jaoks. Näiteks:
- connector.class on konnektori Java klass
- task.max on maksimaalne ülesannete arv, mis tuleks selle konnektori jaoks luua
Mõned seadistused (database.*
, transforms.*
) on spetsiifilised Debezium MySQL-konnektorile. Viitama Debeziumi MySQL-i allika konnektori konfiguratsiooni atribuudid rohkem informatsiooni.
Mõned seadistused (key.converter.*
ja value.converter.*
) on spetsiifilised skeemiregistri jaoks. Me kasutame AWSKafkaAvroConverter
alates AWS-i liimiskeemi registriteek vormingu muundurina. Seadistamiseks AWSKafkaAvroConverter
, kasutame stringi konstandi omaduste väärtust AWSSchemaRegistryConstants klass:
key.converter
javalue.converter
juhtida nende andmete vormingut, mis kirjutatakse Kafkasse lähtekonnektorite jaoks või loetakse Kafkast valamupistikute jaoks. Me kasutameAWSKafkaAvroConverter
Avro formaadi jaoks.key.converter.registry.name
javalue.converter.registry.name
määrake, millist skeemiregistrit kasutada.key.converter.compatibility
javalue.converter.compatibility
määratleda ühilduvusmudel.
Viitama Kafka Connecti kasutamine koos AWS Glue Schema Registry'iga rohkem informatsiooni.
- Järgmisena konfigureerime Pistiku võimsus. Saame valida Ettenähtud ja jätke muud omadused vaikeväärtusteks
- eest Töötaja konfiguratsioon, valige kohandatud töötaja konfiguratsioon, mille nimi algab
msk-gsr-blog
loodud CloudFormationi malli osana. - eest Juurdepääsuõigused, kasuta AWS-i identiteedi- ja juurdepääsuhaldus (IAM) rolli, mille loob CloudFormationi mall
MSKConnectRole
. - Vali järgmine.
- eest TURVALISUS, valige vaikeseaded.
- Vali järgmine.
- eest Palkide kohaletoimetaminevalige Edastage Amazon CloudWatchi logidesse ja sirvige CloudFormationi malliga loodud logirühma (
msk-connector-logs
). - Vali järgmine.
- Vaadake seaded üle ja valige Loo pistik.
Mõne minuti pärast lülitub konnektor tööolekusse.
Kasutage MSK-i tarbijana AWS-i liimiskeemi registrit Confluent S3 valamupistikuga, mis töötab MSK Connectis
Rakendame valamu pistiku, kasutades Confluent S3 valamu pistikprogrammi, et voogesitada andmeid Amazon MSK-st Amazon S3-le. Tehke järgmised sammud.
-
- Amazon MSK konsooli navigeerimispaanil all MSK ühendus, vali Pistikud.
- Vali Loo pistik.
- Vali Kasutage olemasolevat kohandatud pistikprogrammi ja valige kohandatud pistikprogramm, mille nimi algab
msk-blog-S3sink-plugin
. - Vali järgmine.
- Sisesta sobiv nimi nagu
s3-sink-connector
ja valikuline kirjeldus. - eest Apache Kafka klaster, vali MSK klaster ja valige CloudFormationi malliga loodud klaster.
- In Pistiku konfiguratsioon, kustutage pakutud vaikeväärtused ja kasutage sobivate väärtustega järgmisi konfiguratsioonivõtme-väärtuse paare:
-
- nimi – Sama nime, mida kasutatakse pistikul.
- s3.ämber.nimi – CloudFormationi väljund Kopa nimi.
- s3.region, key.converter.region ja value.converter.region – Teie piirkond.
-
- Järgmisena konfigureerime Pistiku võimsus. Saame valida Ettenähtud ja jätke muud omadused vaikeväärtusteks
- eest Töötaja konfiguratsioon, valige kohandatud töötaja konfiguratsioon, mille nimi algab
msk-gsr-blog
loodud CloudFormationi malli osana. - eest Juurdepääsuõigused, kasutage CloudFormationi malli loodud IAM-i rolli
MSKConnectRole
. - Vali järgmine.
- eest TURVALISUS, valige vaikeseaded.
- Vali järgmine.
- eest Palkide kohaletoimetaminevalige Edastage Amazon CloudWatchi logidesse ja sirvige CloudFormationi malliga loodud logirühma
msk-connector-logs
. - Vali järgmine.
- Vaadake seaded üle ja valige Loo pistik.
Mõne minuti pärast konnektor töötab.
Testige otsast lõpuni CDC logivoogu
Nüüd, kui nii Debeziumi kui ka S3 valamu pistikud on valmis ja töötavad, tehke otsast lõpuni CDC testimiseks järgmised sammud.
- Navigeerige Amazon EC2 konsoolil valikule Turvarühmad lehel.
- Valige turvarühm
ClientInstanceSecurityGroup
Ja vali Muutke sissetulevaid reegleid. - Lisage sissetulev reegel, mis võimaldab SSH-ühendust teie kohalikust võrgust.
- Kohta Juhtumitest lehel, valige eksemplar
ClientInstance
Ja vali Võta meiega ühendust. - Kohta EC2 Instance Connect valige vahekaart Võta meiega ühendust.
- Veenduge, et teie praegune töökataloog on olemas
/home/ec2-user
ja sellel on failidcreate_table.sql
,alter_table.sql
,initial_insert.sql
jainsert_data_with_new_column.sql
. - Looge oma MySQL-i andmebaasis tabel, käivitades järgmise käsu (sisestage andmebaasi hostinimi CloudFormationi malli väljunditest):
- Kui küsitakse parooli, sisestage parool CloudFormationi malli parameetritest.
- Sisestage tabelisse mõned näidisandmed järgmise käsuga:
- Kui küsitakse parooli, sisestage parool CloudFormationi malli parameetritest.
- Valige AWS Glue konsoolil Skeemiregistrid navigeerimispaanil, seejärel valige Skeemid.
- Liigu
db1.sampledatabase.movies
versioon 1, et kontrollida filmide tabeli jaoks loodud uut skeemi:
Iga Kafka teema sektsiooni jaoks luuakse eraldi S3 kaust ja sellesse kausta kirjutatakse teema andmed.
- Kontrollige Amazon S3 konsoolis oma Kafka teema kaustas Parketi formaadis kirjutatud andmeid.
Skeemi areng
Pärast esialgse skeemi määratlemist võivad rakendused seda aja jooksul edasi arendada. Kui see juhtub, on kriitilise tähtsusega, et alltarbijad saaksid sujuvalt käsitseda nii vana kui ka uue skeemiga kodeeritud andmeid. Ühilduvusrežiimid võimaldavad teil kontrollida, kuidas skeemid võivad aja jooksul areneda või mitte. Need režiimid moodustavad lepingu andmeid tootvate ja tarbivate rakenduste vahel. Üksikasjaliku teabe saamiseks AWS-i liimiskeemide registris saadaolevate erinevate ühilduvusrežiimide kohta vt AWS-i liimiskeemi register. Meie näites kasutame tagurpidi kammitavust, et tarbijad saaksid lugeda nii praegust kui ka eelmist skeemi versiooni. Tehke järgmised sammud.
- Lisage tabelisse uus veerg, käivitades järgmise käsu:
- Sisestage tabelisse uued andmed, käivitades järgmise käsu:
- Valige AWS Glue konsoolil Skeemiregistrid navigeerimispaanil, seejärel valige Skeemid.
- Liikuge skeemi juurde
db1.sampledatabase.movies
versioon 2, et kontrollida filmide tabeli filmide jaoks loodud skeemi uut versiooni, sealhulgas teie lisatud riigi veergu:
- Kontrollige Amazon S3 konsoolis Kafka teema kaustas Parketi formaadis kirjutatud andmeid.
Koristage
AWS-i konto soovimatute tasude vältimiseks kustutage selles postituses kasutatud AWS-i ressursid:
- Navigeerige Amazon S3 konsoolis CloudFormationi malliga loodud S3 ämbrisse.
- Valige kõik failid ja kaustad ning valige kustutama.
- Sisestage juhendi kohaselt lõplik kustutamine ja valige Kustuta objektid.
- Kustutage AWS CloudFormationi konsoolil loodud virn.
- Oodake, kuni virna olek muutub DELETE_COMPLETE.
Järeldus
See postitus näitas, kuidas kasutada Amazon MSK-d, MSK Connecti ja AWS-i liimiskeemide registrit CDC logivoo loomiseks ja andmevoogude skeemide arendamiseks, kui ettevõtte vajadused muutuvad. Saate seda arhitektuurimustrit rakendada muudele andmeallikatele, millel on erinevad Kafka konnektorid. Lisateabe saamiseks vaadake MSK Connecti näited.
Teave Autor
Kalyan Janaki on Amazon Web Servicesi suurandmete ja analüüside vanemspetsialist. Ta aitab klientidel AWS-is väga skaleeritavaid, tõhusaid ja turvalisi pilvepõhiseid lahendusi välja töötada ja luua.
- SEO-põhise sisu ja PR-levi. Võimenduge juba täna.
- Platoblockchain. Web3 metaversiooni intelligentsus. Täiustatud teadmised. Juurdepääs siia.
- Allikas: https://aws.amazon.com/blogs/big-data/build-an-end-to-end-change-data-capture-with-amazon-msk-connect-and-aws-glue-schema-registry/
- :on
- $ UP
- 1
- 10
- 11
- 7
- 8
- a
- Võimalik
- MEIST
- juurdepääs
- konto
- täpne
- kinnitada
- lisatud
- lisamine
- Materjal: BPA ja flataatide vaba plastik
- Lubades
- võimaldab
- juba
- Amazon
- Amazon EC2
- Amazon Web Services
- analytics
- ja
- Apache
- Apache Kafka
- rakendused
- kehtima
- asjakohane
- arhitektuur
- OLEME
- AS
- Aurora
- automaatselt
- saadaval
- AWS
- AWS CloudFormation
- AWS liim
- BE
- enne
- Kasu
- vahel
- Suur
- Big andmed
- Bootstrap
- ehitama
- äri
- by
- CAN
- võimeid
- lüüa
- Püüdmine
- juhtudel
- kataloog
- CDC
- tsentraliseeritud
- muutma
- Vaidluste lahendamine
- koormuste
- kontrollima
- Kontroll
- Vali
- klass
- Cluster
- Veerg
- kogukond
- ühilduvus
- kokkusobiv
- täitma
- komponent
- Arvutama
- konfiguratsioon
- Konfidentsiaalne
- Võta meiega ühendust
- ühendus
- konsool
- pidev
- tarbima
- tarbija
- Tarbijad
- pidevalt
- leping
- kontrollida
- riik
- looma
- loodud
- kriitiline
- Praegune
- tava
- Kliendid
- andmed
- andmete integreerimine
- andmepõhistele
- andmebaas
- andmebaasid
- Päeva
- otsused
- vaikimisi
- vaikimisi
- määratletud
- edastamine
- Demo
- Näidatud
- näitab
- juurutada
- lähetatud
- kirjeldus
- sihtkoht
- üksikasjalik
- detailid
- erinev
- avastama
- Ei tee
- Drop
- iga
- kõrvaldab
- võimaldades
- Lõpuks-lõpuni
- tagama
- tagab
- sisene
- keskkond
- viga
- eriti
- Eeter (ETH)
- Iga
- arenema
- näide
- olemasolevate
- olemas
- vähe
- Valdkonnad
- fail
- Faile
- lõplik
- esimene
- Järel
- eest
- vorm
- formaat
- Alates
- tekitama
- loodud
- Grupp
- Grupi omad
- käepide
- Käsitsemine
- juhtub
- Olema
- aitama
- aitab
- kõrgelt
- ajalugu
- võõrustaja
- Lahtiolekuajad
- Kuidas
- Kuidas
- HTML
- http
- HTTPS
- Keskus
- IAM
- identifitseerimiseks
- Identity
- täitmine
- oluline
- in
- Kaasa arvatud
- indeksid
- info
- esialgne
- paigaldama
- Näiteks
- selle asemel
- integreerima
- integratsioon
- sisemine
- IT
- Java
- jpg
- Json
- Kafka
- Võti
- Teadma
- Lahkuma
- raamatukogud
- Litsentseeritud
- nagu
- koormus
- laadimine
- kohalik
- Pikk
- tehtud
- TEEB
- Tegemine
- juhitud
- meister
- max
- maksimaalne
- mehhanism
- sõnum
- kirjad
- võib
- protokoll
- mudel
- režiimid
- monitorid
- rohkem
- Filmid
- liikuv
- mitmekordne
- MySQL
- nimi
- Navigate
- NAVIGATSIOON
- Vajadus
- vaja
- vajadustele
- võrk
- Uus
- järgmine
- number
- of
- Vana
- on
- ONE
- avatud lähtekoodiga
- Muu
- väljund
- lehekülg
- paari
- pane
- parameeter
- parameetrid
- osa
- Vastu võetud
- Parool
- Muster
- täitma
- püsivalt
- valima
- Platon
- Platoni andmete intelligentsus
- PlatoData
- plugin
- pluginad
- post
- vältida
- eelmine
- protsess
- töötlemine
- tootma
- tootja
- omadused
- anda
- tingimusel
- annab
- Lugenud
- reaalne
- reaalajas
- saama
- rekord
- andmed
- viitab
- piirkond
- registreerima
- registreeritud
- registri
- Hoidla
- esindatud
- Vahendid
- Tulu
- Roll
- Eeskiri
- jooks
- jooksmine
- sama
- skaalautuvia
- sujuvalt
- Otsing
- sekundit
- kindlustama
- turvalisus
- vanem
- tundlik
- eri
- teenus
- Teenused
- komplekt
- seaded
- peaks
- lihtne
- lihtsustama
- lahendus
- Lahendused
- mõned
- allikas
- Allikad
- spetsialist
- konkreetse
- määratletud
- Kestab
- Käivitus
- olek
- Samm
- Sammud
- ladustamine
- salvestada
- kauplustes
- oja
- streaming
- ojad
- struktuur
- sobiv
- Toetamine
- Toetab
- sünkroonida.
- süsteem
- süsteemid
- tabel
- sihtmärk
- ülesanded
- šabloon
- test
- et
- .
- Allikas
- Neile
- Need
- aeg
- ajaliselt tundlik
- Kapslid
- et
- teema
- Tehingud
- Pöörake
- liigid
- all
- soovimatu
- ajakohastamine
- kasutama
- Kasutaja
- väärtus
- Väärtused
- versioon
- web
- veebiteenused
- mis
- will
- aknad
- koos
- töötaja
- töötajate
- töö
- töötab
- kirjalik
- Sinu
- sephyrnet