Vrednost podatkov je časovno občutljiva. Obdelava v realnem času naredi odločitve, ki temeljijo na podatkih, natančne in izvedljive v sekundah ali minutah namesto v urah ali dnevih. Zajem podatkov o spremembah (CDC) se nanaša na postopek prepoznavanja in zajemanja sprememb podatkov v zbirki podatkov in nato dostavljanje teh sprememb v realnem času v nadaljnji sistem. Zajetje vsake spremembe iz transakcij v izvorni bazi podatkov in njihovo premikanje v cilj v realnem času ohranja sisteme sinhronizirane in pomaga pri primerih uporabe analitike v realnem času in migracijah baz podatkov brez izpadov. Sledi nekaj prednosti CDC:
- Odpravlja potrebo po posodabljanju množičnega nalaganja in neprijetnih paketnih oknih z omogočanjem postopnega nalaganja ali pretakanja sprememb podatkov v realnem času v vaše ciljno skladišče.
- Zagotavlja, da so podatki v več sistemih sinhronizirani. To je še posebej pomembno, če sprejemate časovno občutljive odločitve v okolju visoke hitrosti prenosa podatkov.
Kafka Connect je odprtokodna komponenta Apache Kafka, ki deluje kot centralizirano podatkovno središče za preprosto integracijo podatkov med bazami podatkov, shrambami ključev in vrednosti, iskalnimi indeksi in datotečnimi sistemi. The AWS Glue Schema Registry omogoča centralno odkrivanje, nadzor in razvoj shem podatkovnega toka. Kafka Connect in Schema Registry se integrirata za zajemanje informacij o shemi iz konektorjev. Kafka Connect ponuja mehanizem za pretvorbo podatkov iz notranjih tipov podatkov, ki jih uporablja Kafka Connect, v tipe podatkov, predstavljene kot Avro, Protobuf ali JSON Schema. AvroConverter, ProtobufConverter in JsonSchemaConverter samodejno registrirajo sheme, ki jih generirajo priključki Kafka (vir), ki proizvajajo podatke v Kafki. Konektorji (ponor), ki porabljajo podatke iz Kafke, poleg podatkov za vsako sporočilo prejmejo še informacije o shemi. To omogoča priključkom ponora, da poznajo strukturo podatkov, da zagotovijo zmogljivosti, kot je vzdrževanje sheme tabele baze podatkov v katalogu podatkov.
Objava prikazuje, kako zgraditi CDC od konca do konca z uporabo Amazon MSK Connect, upravljana storitev AWS za uvajanje in izvajanje aplikacij Kafka Connect in registra shem AWS Glue, ki vam omogoča centralno odkrivanje, nadzor in razvoj shem podatkovnega toka.
Pregled rešitev
Na strani proizvajalca za ta primer izberemo združljiv z MySQL Amazonska Aurora baza podatkov kot vir podatkov in imamo a Debezij Konektor MySQL za izvajanje CDC. Konektor Debezium nenehno spremlja baze podatkov in potiska spremembe na ravni vrstic v temo Kafka. Povezovalnik pridobi shemo iz baze podatkov, da serializira zapise v binarno obliko. Če shema še ne obstaja v registru, bo shema registrirana. Če shema obstaja, vendar serializator uporablja novo različico, register sheme preveri združljivostni način sheme pred posodobitvijo sheme. V tej rešitvi uporabljamo način združljivosti nazaj. Register sheme vrne napako, če nova različica sheme ni združljiva s prejšnjimi različicami, Kafka Connect pa lahko konfiguriramo za pošiljanje nezdružljivih sporočil v čakalno vrsto mrtvih pisem.
Na strani potrošnikov uporabljamo an Preprosta storitev shranjevanja Amazon (Amazon S3) ponorni priključek za deserializacijo zapisa in shranjevanje sprememb v Amazon S3. Konektor Debezium in ponor Amazon S3 izdelamo in postavimo s pomočjo MSK Connect.
Primer sheme
Za to objavo uporabljamo naslednjo shemo kot prvo različico tabele:
Predpogoji
Preden konfiguriramo priključke proizvajalca in potrošnika MSK, moramo najprej nastaviti vir podatkov, gručo MSK in nov register shem. Nudimo Oblikovanje oblaka AWS predloga za ustvarjanje podpornih virov, potrebnih za rešitev:
- Baza podatkov Aurora, združljiva z MySQL, kot vir podatkov. Za izvedbo CDC vklopimo binarno beleženje v Skupina parametrov gruče DB.
- Grozd MSK. Za poenostavitev omrežne povezave uporabljamo isti VPC za podatkovno bazo Aurora in gručo MSK.
- Dva registra shem za obdelavo shem za ključ sporočila in vrednost sporočila.
- Eno vedro S3 kot ponor podatkov.
- Za to predstavitev so potrebni vtičniki MSK Connect in delovna konfiguracija.
- One Amazonski elastični računalniški oblak (Amazon EC2) primerek za izvajanje ukazov zbirke podatkov.
Če želite nastaviti vire v svojem računu AWS, dokončajte naslednje korake v regiji AWS, ki podpira Amazon MSK, MSK Connect in register sheme lepila AWS:
- Izberite Izstrelite sklad:
- Izberite Naslednji.
- za Ime skladovnice, vnesite primerno ime.
- za Geslo baze podatkov, vnesite geslo, ki ga želite za uporabnika baze podatkov.
- Druge vrednosti naj bodo privzete.
- Izberite Naslednji.
- Na naslednji strani izberite Naslednji.
- Preglejte podrobnosti na zadnji strani in izberite Priznavam, da lahko AWS CloudFormation ustvari vire IAM.
- Izberite Ustvari sklad.
Vtičnik po meri za izvorni in ciljni konektor
Vtičnik po meri je nabor datotek JAR, ki vsebujejo izvedbo enega ali več konektorjev, transformacij ali pretvornikov. Amazon MSK bo namestil vtičnik na delavce gruče MSK Connect, kjer se izvaja priključek. Kot del te predstavitve za izvorni konektor uporabljamo odprtokodni JAR-ji konektorja Debezium MySQL, za ciljni konektor pa uporabljamo licenco skupnosti Confluent JAR-ji za priključke za pomivalno korito Amazon S3. Oba vtičnika sta dodani tudi s knjižnicami za Serializatorji in deserializatorji Avro registra AWS Glue Schema Registry. Ti vtičniki po meri so že ustvarjeni kot del predloge CloudFormation, uvedene v prejšnjem koraku.
Uporabite AWS Glue Schema Registry s konektorjem Debezium na MSK Connect kot proizvajalec MSK
Najprej razmestimo izvorni konektor z uporabo vtičnika Debezium MySQL za pretakanje podatkov iz Izdaja, združljiva z Amazon Aurora MySQL baze podatkov v Amazon MSK. Izvedite naslednje korake:
- Na konzoli Amazon MSK v navigacijskem podoknu pod MSK Connect, izberite Priključki.
- Izberite Ustvari konektor.
- Izberite Uporabite obstoječi vtičnik po meri in nato izberite vtičnik po meri z začetkom imena
msk-blog-debezium-source-plugin
. - Izberite Naslednji.
- Vnesite primerno ime, npr
debezium-mysql-connector
in neobvezen opis. - za Grozd Apache Kafka, izberite Grozd MSK in izberite gručo, ki jo je ustvarila predloga CloudFormation.
- In Konfiguracija priključka, izbrišite privzete vrednosti in uporabite naslednje konfiguracijske pare ključ-vrednost in z ustreznimi vrednostmi:
- Ime – Ime, uporabljeno za priključek.
- baza podatkov.imegostiteljev – Izhod CloudFormation za Končna točka baze podatkov.
- baza podatkov.uporabnik in baza podatkov.geslo – Parametri, posredovani v predlogi CloudFormation.
- baza podatkov.zgodovina.kafka.bootstrap.servers – Izhod CloudFormation za Kafka Bootstrap.
- key.converter.region in value.converter.region – Vaša regija.
Nekatere od teh nastavitev so splošne in jih je treba določiti za vsak priključek. Na primer:
- connector.class je razred Java konektorja
- tasks.max je največje število opravil, ki jih je treba ustvariti za ta konektor
Nekatere nastavitve (database.*
, transforms.*
) so specifični za konektor Debezium MySQL. Nanašati se na Lastnosti konfiguracije izvornega konektorja Debezium MySQL za več informacij.
Nekatere nastavitve (key.converter.*
in value.converter.*
) so specifični za register shem. Uporabljamo AWSKafkaAvroConverter
Iz Registrska knjižnica AWS Glue Schema kot pretvornik formatov. Za konfiguracijo AWSKafkaAvroConverter
, uporabimo vrednost lastnosti konstante niza v AWSSchemaRegistryConstants razred:
key.converter
invalue.converter
nadzirajte format podatkov, ki bodo zapisani v Kafko za izvorne konektorje ali prebrani iz Kafke za ponorne konektorje. UporabljamoAWSKafkaAvroConverter
za format Avro.key.converter.registry.name
invalue.converter.registry.name
določite, kateri register shem naj uporabite.key.converter.compatibility
invalue.converter.compatibility
določite model združljivosti.
Nanašati se na Uporaba Kafka Connect z AWS Glue Schema Registry za več informacij.
- Nato konfiguriramo Kapaciteta priključka. Lahko izbiramo Zagotovljeno druge lastnosti pa pustite kot privzete
- za Konfiguracija delavca, izberite konfiguracijo delavca po meri z začetkom imena
msk-gsr-blog
ustvarjen kot del predloge CloudFormation. - za Dovoljenja za dostop, uporabi AWS upravljanje identitete in dostopa (IAM), ustvarjeno s predlogo CloudFormation
MSKConnectRole
. - Izberite Naslednji.
- za Varnost, izberite privzete nastavitve.
- Izberite Naslednji.
- za Dostava hlodovtako, da izberete Dostava v Amazon CloudWatch Logs in poiščite skupino dnevnikov, ki jo je ustvarila predloga CloudFormation (
msk-connector-logs
). - Izberite Naslednji.
- Preglejte nastavitve in izberite Ustvari konektor.
Po nekaj minutah konektor preide v stanje delovanja.
Uporabite register sheme lepila AWS s konektorjem ponora Confluent S3, ki se izvaja na MSK Connect kot potrošnik MSK
Konektor ponora uvedemo z uporabo vtičnika ponora Confluent S3 za pretakanje podatkov iz Amazon MSK v Amazon S3. Izvedite naslednje korake:
-
- Na konzoli Amazon MSK v navigacijskem podoknu pod MSK Connect, izberite Priključki.
- Izberite Ustvari konektor.
- Izberite Uporabite obstoječi vtičnik po meri in izberite vtičnik po meri z začetkom imena
msk-blog-S3sink-plugin
. - Izberite Naslednji.
- Vnesite primerno ime, npr
s3-sink-connector
in neobvezen opis. - za Grozd Apache Kafka, izberite Grozd MSK in izberite gručo, ki jo je ustvarila predloga CloudFormation.
- In Konfiguracija priključka, izbrišite podane privzete vrednosti in uporabite naslednje konfiguracijske pare ključ-vrednost z ustreznimi vrednostmi:
-
- Ime – Isto ime za konektor.
- s3.bucket.name – Izhod CloudFormation za Ime vedra.
- s3.region, key.converter.region in value.converter.region – Vaša regija.
-
- Nato konfiguriramo Kapaciteta priključka. Lahko izbiramo Zagotovljeno druge lastnosti pa pustite kot privzete
- za Konfiguracija delavca, izberite konfiguracijo delavca po meri z začetkom imena
msk-gsr-blog
ustvarjen kot del predloge CloudFormation. - za Dovoljenja za dostop, uporabite vlogo IAM, ki jo ustvari predloga CloudFormation
MSKConnectRole
. - Izberite Naslednji.
- za Varnost, izberite privzete nastavitve.
- Izberite Naslednji.
- za Dostava hlodovtako, da izberete Dostava v Amazon CloudWatch Logs in poiščite skupino dnevnikov, ki jo je ustvarila predloga CloudFormation
msk-connector-logs
. - Izberite Naslednji.
- Preglejte nastavitve in izberite Ustvari konektor.
Po nekaj minutah konektor deluje.
Preizkusite tok dnevnika CDC od konca do konca
Zdaj, ko sta priključka ponora Debezium in S3 pripravljena in delujeta, dokončajte naslednje korake, da preizkusite CDC od konca do konca:
- Na konzoli Amazon EC2 se pomaknite do Varnostne skupine stran.
- Izberite varnostno skupino
ClientInstanceSecurityGroup
In izberite Uredite vhodna pravila. - Dodajte vhodno pravilo, ki omogoča povezavo SSH iz vašega lokalnega omrežja.
- o Primeri strani izberite primerek
ClientInstance
In izberite Connect. - o EC2 Instance Connect izberite jeziček Connect.
- Prepričajte se, da je vaš trenutni delovni imenik
/home/ec2-user
in ima datotekecreate_table.sql
,alter_table.sql
,initial_insert.sql
ininsert_data_with_new_column.sql
. - Ustvarite tabelo v svoji zbirki podatkov MySQL tako, da zaženete naslednji ukaz (vnesite ime gostitelja baze podatkov iz izhodov predloge CloudFormation):
- Ko boste pozvani k vnosu gesla, vnesite geslo iz parametrov predloge CloudFormation.
- V tabelo vstavite nekaj vzorčnih podatkov z naslednjim ukazom:
- Ko boste pozvani k vnosu gesla, vnesite geslo iz parametrov predloge CloudFormation.
- Na konzoli AWS Glue izberite Registri shem v podoknu za krmarjenje in nato izberite Sheme.
- Pomaknite se na
db1.sampledatabase.movies
različica 1, da preverite novo shemo, ustvarjeno za tabelo filmov:
Za vsako particijo teme Kafka se ustvari ločena mapa S3 in podatki za temo so zapisani v to mapo.
- Na konzoli Amazon S3 preverite podatke, zapisane v formatu Parquet, v mapi za vašo temo Kafka.
Razvoj sheme
Ko je začetna shema definirana, jo bodo aplikacije morda morale sčasoma razviti. Ko se to zgodi, je za uporabnike na nižji stopnji ključnega pomena, da lahko nemoteno ravnajo s podatki, kodiranimi s staro in novo shemo. Načini združljivosti vam omogočajo nadzor nad tem, kako se sheme lahko ali ne morejo razvijati skozi čas. Ti načini tvorijo pogodbo med aplikacijami, ki proizvajajo in uporabljajo podatke. Za podrobne informacije o različnih načinih združljivosti, ki so na voljo v registru sheme lepila AWS, glejte AWS Glue Schema Registry. V našem primeru uporabljamo česanje za nazaj, da zagotovimo, da lahko potrošniki preberejo tako trenutno kot prejšnjo različico sheme. Izvedite naslednje korake:
- Dodajte nov stolpec v tabelo tako, da zaženete naslednji ukaz:
- V tabelo vstavite nove podatke tako, da zaženete naslednji ukaz:
- Na konzoli AWS Glue izberite Registri shem v podoknu za krmarjenje in nato izberite Sheme.
- Pomaknite se do sheme
db1.sampledatabase.movies
različica 2, da preverite novo različico sheme, ustvarjene za filme tabele filmov, vključno s stolpcem države, ki ste ga dodali:
- Na konzoli Amazon S3 preverite podatke, zapisane v formatu Parquet v mapi za temo Kafka.
Čiščenje
Če želite preprečiti neželene bremenitve vašega računa AWS, izbrišite vire AWS, ki ste jih uporabili v tej objavi:
- Na konzoli Amazon S3 se pomaknite do vedra S3, ki ga je ustvarila predloga CloudFormation.
- Izberite vse datoteke in mape in izberite Brisanje.
- Vnesite trajno brisanje po navodilih in izberite Izbrišite predmete.
- Na konzoli AWS CloudFormation izbrišite sklad, ki ste ga ustvarili.
- Počakajte, da se stanje sklada spremeni v DELETE_COMPLETE.
zaključek
Ta objava je pokazala, kako uporabiti Amazon MSK, MSK Connect in register shem lepila AWS za izdelavo toka dnevnika CDC in razvoj shem za tokove podatkov, ko se poslovne potrebe spreminjajo. Ta arhitekturni vzorec lahko uporabite za druge vire podatkov z različnimi povezovalniki Kafka. Za več informacij glejte Primeri MSK Connect.
O Author
Kalyan Janaki je višji strokovnjak za velike podatke in analitiko pri Amazon Web Services. Strankam pomaga pri arhitekturi in izgradnji visoko razširljivih, zmogljivih in varnih rešitev v oblaku na AWS.
- Distribucija vsebine in PR s pomočjo SEO. Okrepite se še danes.
- Platoblockchain. Web3 Metaverse Intelligence. Razširjeno znanje. Dostopite tukaj.
- vir: https://aws.amazon.com/blogs/big-data/build-an-end-to-end-change-data-capture-with-amazon-msk-connect-and-aws-glue-schema-registry/
- : je
- $GOR
- 1
- 10
- 11
- 7
- 8
- a
- Sposobna
- O meni
- dostop
- Račun
- natančna
- potrditi
- dodano
- Poleg tega
- vsi
- Dovoli
- omogoča
- že
- Amazon
- Amazon EC2
- Amazon Web Services
- analitika
- in
- Apache
- Apache Kafka
- aplikacije
- Uporabi
- primerno
- Arhitektura
- SE
- AS
- aurora
- samodejno
- Na voljo
- AWS
- Oblikovanje oblaka AWS
- AWS lepilo
- BE
- pred
- Prednosti
- med
- Big
- Big Podatki
- Bootstrap
- izgradnjo
- poslovni
- by
- CAN
- Zmogljivosti
- zajemanje
- Zajemanje
- primeri
- Katalog
- CDC
- centralizirano
- spremenite
- Spremembe
- Stroški
- preveriti
- Pregledi
- Izberite
- razred
- Grozd
- Stolpec
- skupnost
- združljivost
- združljiv
- dokončanje
- komponenta
- Izračunajte
- konfiguracija
- Sotočje
- Connect
- povezava
- Konzole
- stalna
- porabijo
- Potrošnik
- Potrošniki
- stalno
- Naročilo
- nadzor
- država
- ustvarjajo
- ustvaril
- kritično
- Trenutna
- po meri
- Stranke, ki so
- datum
- integracija podatkov
- Podatkov usmerjenih
- Baze podatkov
- baze podatkov
- Dnevi
- odločitve
- privzeto
- privzeto
- opredeljen
- dostavo
- Predstavitev
- Dokazano
- dokazuje,
- razporedi
- razporejeni
- opis
- destinacija
- podrobno
- Podrobnosti
- drugačen
- odkriti
- Ne
- Drop
- vsak
- odpravlja
- omogočanje
- konec koncev
- zagotovitev
- zagotavlja
- Vnesite
- okolje
- Napaka
- zlasti
- Eter (ETH)
- Tudi vsak
- razvijajo
- Primer
- obstoječih
- obstaja
- Nekaj
- Področja
- file
- datoteke
- končna
- prva
- po
- za
- obrazec
- format
- iz
- ustvarjajo
- ustvarila
- skupina
- Skupine
- ročaj
- Ravnanje
- se zgodi
- Imajo
- pomoč
- Pomaga
- zelo
- zgodovina
- gostitelj
- URE
- Kako
- Kako
- HTML
- http
- HTTPS
- Hub
- IAM
- identifikacijo
- identiteta
- Izvajanje
- Pomembno
- in
- Vključno
- indekse
- Podatki
- začetna
- namestitev
- primer
- Namesto
- integrirati
- integracija
- notranji
- IT
- Java
- jpg
- json
- kafka
- Ključne
- Vedite
- pustite
- knjižnice
- Licencirano
- kot
- obremenitev
- nalaganje
- lokalna
- Long
- je
- IZDELA
- Izdelava
- upravlja
- mojster
- max
- največja
- Mehanizem
- Sporočilo
- sporočil
- morda
- min
- Model
- načini
- monitorji
- več
- filmi
- premikanje
- več
- MySQL
- Ime
- Krmarjenje
- ostalo
- Nimate
- potrebna
- potrebe
- mreža
- Novo
- Naslednja
- Številka
- of
- Staro
- on
- ONE
- open source
- Ostalo
- izhod
- Stran
- parov
- podokno
- parameter
- parametri
- del
- opravil
- Geslo
- Vzorec
- opravlja
- trajno
- kramp
- platon
- Platonova podatkovna inteligenca
- PlatoData
- vključiti
- plugins
- Prispevek
- preprečiti
- prejšnja
- Postopek
- obravnavati
- proizvodnjo
- Proizvajalec
- Lastnosti
- zagotavljajo
- če
- zagotavlja
- Preberi
- pravo
- v realnem času
- prejeti
- zapis
- evidence
- nanaša
- okolica
- Registracija
- registriranih
- registra
- Skladišče
- zastopan
- viri
- vrne
- vloga
- Pravilo
- Run
- tek
- Enako
- razširljive
- brez težav
- Iskalnik
- sekund
- zavarovanje
- varnost
- višji
- občutljiva
- ločena
- Storitev
- Storitve
- nastavite
- nastavitve
- shouldnt
- Enostavno
- poenostavitev
- Rešitev
- rešitve
- nekaj
- vir
- Viri
- specialist
- specifična
- določeno
- sveženj
- Začetek
- Status
- Korak
- Koraki
- shranjevanje
- trgovina
- trgovine
- tok
- pretakanje
- tokovi
- Struktura
- primerna
- Podpora
- Podpira
- sinhronizacijo.
- sistem
- sistemi
- miza
- ciljna
- Naloge
- Predloga
- Test
- da
- O
- Vir
- Njih
- te
- čas
- časovno občutljiv
- Naslov
- do
- temo
- Transakcije
- OBRAT
- Vrste
- pod
- nezaželen
- posodabljanje
- uporaba
- uporabnik
- vrednost
- Vrednote
- različica
- web
- spletne storitve
- ki
- bo
- okna
- z
- delavec
- delavci
- deluje
- deluje
- pisni
- Vaša rutina za
- zefirnet