Mar ullachadh airson sruth cĂšrsa Ăšr a chur air bhog Tha sinn air eadar-theangachadh de stuth inntinneach ullachadh.

sealladh farsaing
Bruidhnidh sinn air pĂ tran gu math cumanta anns am bi aplacaidean aâ cleachdadh iomadh stòr dĂ ta, gach fear aâ frithealadh adhbhar sònraichte, leithid stòradh dĂ ta canònach (MySQL, msaa.), aâ toirt seachad comasan rannsachaidh adhartach (ElasticSearch, msaa.), tasgadh (Memcached, msaa.), agus barrachd. Mar as trice, nuair a thathar aâ cleachdadh iomadh stòr dĂ ta, bidh aon ag obair mar aâ phrĂŹomh stòr, agus bidh na feadhainn eile ag obair mar stòran tĂšsail. Is e an aon dĂšbhlan mar a nĂŹ thu sioncronachadh air na stòran dĂ ta seo.
Tha sinn air grunn phĂ tranan eadar-dhealaichte a sgrĂšdadh a dhâfheuch ri fuasgladh fhaighinn air duilgheadas sioncronachadh iomadh inneal stòraidh, leithid sgrĂŹobhadh dĂšbailte gu dĂ ta, gnothaichean sgaoilte, agus mar sin air adhart. Ach, tha crĂŹochan mòra aig na dòighean-obrach sin a thaobh cleachdadh san t-saoghal fhĂŹor, earbsachd agus cumail suas. A bharrachd air sioncronachadh dĂ ta, feumaidh cuid de thagraidhean dĂ ta a neartachadh le bhith aâ gairm sheirbheisean taobh a-muigh.
Chaidh Delta a leasachadh gus dèiligeadh ris na cĂšisean seo. Mu dheireadh, tha Delta aâ toirt seachad Ă rd-Ăšrlar cunbhalach, stèidhichte air tachartasan, airson sioncronachadh dĂ ta agus beairteachadh.
Fuasglaidhean a thâ ann mar-thĂ
Inntrigeadh dĂšbailte
Gus dĂ stòr dĂ ta a shioncronachadh, faodaidh tu sgrĂŹobhadh dĂšbailte a chleachdadh, a bhios aâ sgrĂŹobhadh gu aon stòr agus an uairsin aâ sgrĂŹobhadh sa bhad chun an stòr eile. Faodar aâ chiad sgrĂŹobhadh ath-fheuchainn, agus faodar an dĂ rna fear a stad ma dhâfhailicheas air aâ chiad fhear Ă s deidh dhut an Ă ireamh oidhirpean a chrĂŹochnachadh. Ach, dhâ fhaodadh an dĂ stòr dĂ ta a bhith a-mach Ă sioncronachadh ma dhâfhailicheas sgrĂŹobhadh chun dĂ rna stòr. Mar as trice, thèid an duilgheadas seo fhuasgladh le bhith aâ cruthachadh modh-obrach ath-bheothachaidh as urrainn dĂ ta ath-ghluasad bho Ă m gu Ă m bhon chiad stòr chun an dĂ rna fear, no dĂŹreach sin a dhèanamh ma lorgar eadar-dhealachaidhean.
Duilgheadasan:
âS e obair shònraichte a thâ ann am modh-obrach ath-bheothachaidh nach gabh ath-chleachdadh. A bharrachd air sin, bidh dĂ ta eadar Ă iteachan stòraidh a-mach Ă sioncronachadh gus an tèid am modh-obrach ath-bheothachaidh a chrĂŹochnachadh. Bidh am fuasgladh nas iom-fhillte ma thèid barrachd air dĂ Ă ite stòraidh dĂ ta a chleachdadh. Mu dheireadh, faodaidh am modh-obrach ath-bheothachaidh cuideam a chur air an stòr dĂ ta tĂšsail.
ClĂ r loga atharrachaidh
Nuair a thachras atharrachaidhean ann an seata de chlĂ ran (leithid clĂ r a chur a-steach, Ăšrachadh no a dhubhadh Ă s), thèid na clĂ ran atharrachaidh a chur ris aâ chlĂ r loga mar phĂ irt den aon ghnothach. Bidh snĂ thainn no pròiseas eile aâ cur ceist leantainneach air aâ chlĂ r loga agus gan sgrĂŹobhadh gu aon stòr dĂ ta no barrachd, agus faodaidh tu na tachartasan a thoirt air falbh bhon chlĂ r loga Ă s deidh dha na stòran uile na sgrĂŹobhaidhean a dhearbhadh.
Duilgheadasan:
Bu chòir am pà tran seo a chur an gnÏomh mar leabharlann, gu h-iomchaidh gun atharrachadh a dhèanamh air còd an aplacaid a bhios ga chleachdadh. Ann an à rainneachd ioma-chà nanach, bu chòir cur an gnÏomh leabharlainn mar sin a bhith ann an cà nan sam bith a tha a dhÏth, ach tha e gu math dÚbhlanach dèanamh cinnteach à cunbhalachd ghnÏomhan agus giÚlain thar chà nanan.
Is e cĂšis eile a thâ ann a bhith aâ faighinn atharrachaidhean sgeama ann an siostaman nach eil aâ toirt taic do atharrachaidhean sgeama malairteach [1][2], leithid MySQL. Mar sin, cha bhith am pĂ tran airson atharrachadh a dhèanamh (mar eisimpleir, atharrachadh sgeama) agus a sgrĂŹobhadh gu malairteach chun chlĂ r loga atharrachaidhean an-còmhnaidh ag obair.
GnĂŹomhan Sgaoilte
Faodar gnothaichean sgaoilte a chleachdadh gus gnothach a roinn thar iomadh stòr dà ta eadar-dhealaichte gus am bi an gnÏomhachd air a gealltainn anns na stòran uile a tha an sàs no nach eil air a ghealltainn ann an gin dhiubh.
Duilgheadasan:
Tha gnothaichean sgaoilte aâ cur dĂšbhlan mòr air stòran dĂ ta eadar-dhealaichte. Leis an nĂ dar fhèin, chan urrainn dhaibh ach a bhith an urra ris an t-seòrsaichear cumanta as ĂŹsle de na siostaman a tha aâ gabhail pĂ irt. Mar eisimpleir, bidh gnothaichean XA aâ cur bacadh air cur an gnĂŹomh ma dhâ fhailicheas pròiseas tagraidh rè na h-ĂŹre ullachaidh. A bharrachd air an sin, chan eil XA aâ toirt seachad lorg bacadh no aâ toirt taic do sgeamaichean smachd co-aimsireil dòchasach. A bharrachd air an sin, chan eil cuid de shiostaman mar ElasticSearch aâ toirt taic do XA no modail gnothaichean eadar-dhealaichte sam bith eile. Mar sin, tha dèanamh cinnteach gu bheil sgrĂŹobhaidh atamach thar diofar theicneòlasan stòraidh dĂ ta fhathast na dhĂšbhlan mòr dha tagraidhean [3].
Delta
Chaidh Delta a dhealbhadh gus dèiligeadh ri crĂŹochan fhuasglaidhean sioncronachaidh dĂ ta a tha ann mar-thĂ agus gus beairteachadh dĂ ta a chomasachadh air-loidhne. Bâ e ar n-amas na duilgheadasan seo uile a thoirt air falbh bho luchd-leasachaidh aplacaidean, aâ leigeil leotha fòcas a chuir gu tur air gnĂŹomhachd gnĂŹomhachais a chuir an gnĂŹomh. Gu h-ĂŹosal, mĂŹnichidh sinn âLorg Movie,â cĂšis cleachdaidh fhĂŹor airson Delta bho Netflix.
Bidh Netflix aâ cleachdadh ailtireachd microservice gu farsaing, agus mar as trice bidh gach microservice aâ riaghladh aon seòrsa dĂ ta. Tha fiosrachadh bunaiteach mu fhilmichean ann am microservice ris an canar Seirbheis Fhilmichean, agus tha dĂ ta co-cheangailte, leithid fiosrachadh mu riochdairean, cleasaichean, luchd-reic, agus mar sin air adhart, air a riaghladh le grunn microservices eile (is iad sin, Seirbheis CĂšmhnantan, Seirbheis ThĂ lant, agus Seirbheis Reiceadair).
Feumaidh luchd-cleachdaidh gnÏomhachais aig Netflix Studios gu tric filmichean a lorg a rèir diofar shlatan-tomhais, agus mar sin tha e deatamach dhaibh a bhith comasach air sgrÚdadh a dhèanamh air feadh an dà ta gu lèir co-cheangailte ri filmichean.
Mus tĂ inig Delta, bâ fheudar don sgioba rannsachaidh fhilmichean dĂ ta fhaighinn bho ghrunn mhicro-sheirbheisean mus deach dĂ ta film a chlĂ r-amais. A bharrachd air an sin, bâ fheudar don sgioba siostam a leasachadh a bhiodh ag Ăšrachadh clĂ r-amais an rannsachaidh bho Ă m gu Ă m le bhith aâ faighneachd do mhicro-sheirbheisean eile airson atharrachaidhean, eadhon ged nach deach atharrachaidhean sam bith a dhèanamh. Gu luath dhâfhĂ s an siostam seo iom-fhillte agus duilich a chumail suas.

Figear 1. Siostam bhòtaidh ron Delta
Ăs dèidh Delta a chur an gnĂŹomh, chaidh an siostam a dhèanamh nas sĂŹmplidhe gu siostam stèidhichte air tachartasan, mar a chithear san fhigear a leanas. Thèid tachartasan Atharrachadh-Glacadh-DĂ ta (CDC) a chur gu cuspairean Keystone Kafka aâ cleachdadh an Delta Connector. Bidh tagradh Delta, air a thogail aâ cleachdadh Frèam-obrach Giullachd Sruth Delta (stèidhichte air Flink), aâ faighinn tachartasan CDC bhon chuspair, gan neartachadh le bhith aâ gairm microservices eile, agus mu dheireadh aâ putadh an dĂ ta neartaichte chun chlĂ r-amais rannsachaidh ann an Elasticsearch. Bidh am pròiseas gu lèir aâ tachairt cha mhòr ann an Ă m fĂŹor, aâ ciallachadh cho luath âs a thèid atharrachaidhean a ghealltainn don taigh-tasgaidh dĂ ta, thèid na clĂ ran-amais rannsachaidh Ăšrachadh.

Figear 2. PĂŹob-loidhne dĂ ta aâ cleachdadh Delta
Anns na h-earrannan a leanas, mĂŹnichidh sinn an Delta Connector, a cheanglas ris an stòradh agus a dhâfhoillsicheas tachartasan CDC chun an ĂŹre còmhdhail, is e sin am bun-structar gluasaid dĂ ta fĂŹor-Ăšine a bhios aâ stiĂšireadh tachartasan CDC gu cuspairean Kafka. Mu dheireadh, bruidhnidh sinn air frèam-obrach giullachd sruth Delta, as urrainn do luchd-leasachaidh aplacaidean a chleachdadh airson giullachd dĂ ta agus loidsig beairteachaidh.
CDC (Atharrachadh-Glacadh-DĂ ta)
Leasaich sinn seirbheis CDC ris an canar Delta-Connector, a dhâ fhaodas atharrachaidhean dealasach a ghlacadh bho thaigh-tasgaidh dĂ ta ann an Ă m fĂŹor agus an sgrĂŹobhadh gu sruth. Thèid atharrachaidhean fĂŹor-Ăšine a thoirt bhon loga malairt agus bho na dumpan taigh-tasgaidh. Bithear aâ cleachdadh dumpan leis nach bi logaichean malairt mar as trice aâ stòradh eachdraidh iomlan an atharrachaidh. Mar as trice bidh atharrachaidhean air an sreathachadh mar thachartasan Delta, agus mar sin chan fheum an neach a gheibh e a bhith draghail mu cò Ă s a thĂ inig an t-atharrachadh.
Tha Delta-Connector aâ toirt taic do ghrunn fheartan a bharrachd, leithid:
- Comas sgrĂŹobhadh gu dĂ ta toraidh gnĂ thaichte taobh a-muigh Kafka.
- Comas dumps là imhe a ghnÏomhachadh aig à m sam bith airson a h-uile clà r, clà r sònraichte, no airson prÏomh iuchraichean sònraichte.
- Faodar cruinneachadh ann am pÏosan beaga, agus mar sin chan eil feum air tòiseachadh bhon fhÏor thoiseach ma thachras tubaist.
- Chan eil feum air glasan a chur air clà ran, rud a tha glè chudromach gus dèanamh cinnteach nach tèid trafaic sgrÏobhaidh stòr-dà ta a bhacadh leis an t-seirbheis againn a-riamh.
- Ruigsinneachd à rd le taing do eisimpleirean cÚl-taic ann an Sònaichean Ruigsinneachd AWS.
Tha sinn an-drĂ sta aâ toirt taic do MySQL agus Postgres, aâ gabhail a-steach cleachdaidhean air AWS RDS agus Aurora. Tha sinn cuideachd aâ toirt taic do Cassandra (multi-master). Faodaidh tu barrachd ionnsachadh mu Delta-Connector san artaigil seo. .
Kafka agus an Ïre còmhdhail
Tha sreath còmhdhail thachartasan Delta air a thogail air seirbheis teachdaireachdan an à rd-Úrlair. .
Gu h-eachdraidheil, chaidh postadh Netflix a bharrrachadh airson ruigsinneachd seach fad-beatha (faic ). Bâ e an co-rèiteachadh an neo-chunbhalachd a dhâ fhaodadh a bhith ann an dĂ ta brocairean ann an diofar shuidheachaidhean crĂŹche. Mar eisimpleir, taghadh ceannard neo-ghlan tha e an urra ris an neach a gheibh e tachartasan a dhĂšblachadh no a chall.
Le Delta, bha sinn ag iarraidh geallaidhean seasmhachd nas lĂ idire gus dèanamh cinnteach Ă lĂŹbhrigeadh tachartais CDC gu stòradh tĂšsail. Gus seo a choileanadh, thairg sinn cruinneachadh Kafka a chaidh a dhealbhadh gu sònraichte mar shaoranach den chiad ĂŹre. ChĂŹ thu cuid de roghainnean aâ bhrocair san chlĂ r gu h-ĂŹosal:

Ann an cruinneachaidhean Keystone Kafka, taghadh ceannard neo-ghlan Mar as trice air a chomasachadh gus dèanamh cinnteach gu bheil foillsichear ri fhaighinn. Faodaidh seo leantainn gu call teachdaireachd ma thèid leth-bhreac nach eil sioncronaichte a thaghadh mar an stiÚiriche. Airson cruinneachadh Kafka Úr a tha ri fhaighinn gu mòr, am paramadair taghadh ceannard neo-ghlan air a dhÏ-chomasachadh gus casg a chur air call teachdaireachd.
Mheudaich sinn cuideachd factar ath-riochdachadh bho 2 gu 3 agus leth-bhreacan neo-shioncronaichte as ĂŹsle bho 1 gu 2. Feumaidh foillsichearan a tha aâ sgrĂŹobhadh chun aâ chnuasaich seo dearbhaidhean bho na feadhainn eile uile, aâ dèanamh cinnteach gu bheil na teachdaireachdan as Ăšire a chuir am foillsichear a-mach ann an 2 de na 3 leth-bhreacan.
Nuair a thig crĂŹoch air eisimpleir brocair, bidh eisimpleir Ăšr aâ dol an Ă ite an tè a bhâ ann roimhe. Ach, feumaidh am brocair Ăšr grèim fhaighinn air leth-bhreacan nach eil sioncronaichte, agus faodaidh seo grunn uairean a thĂŹde a thoirt. Gus an Ăšine ath-bheothachaidh a lughdachadh airson an t-suidheachaidh seo, thòisich sinn aâ cleachdadh stòradh bloc (Amazon Elastic Block Store) an Ă ite diosgan ionadail nam brocairean. Nuair a thig eisimpleir Ăšr an Ă ite eisimpleir aâ bhrocair a chaidh a thoirt gu crĂŹch, bidh e aâ ceangal an tomhas-lĂŹonaidh EBS a bhuineadh don eisimpleir a chaidh a thoirt gu crĂŹch agus aâ tòiseachadh aâ glacadh suas le teachdaireachdan Ăšra. Tha am pròiseas seo aâ lughdachadh na h-Ăšine airson grèim fhaighinn air ais bho grunn uairean a thĂŹde gu beagan mhionaidean, leis nach fheum an eisimpleir Ăšr ath-riochdachadh bho staid falamh tuilleadh. Gu h-iomlan, tha na cearcallan-beatha fa leth den stòradh agus den bhrocair aâ lughdachadh buaidh atharrachadh brocair gu mòr.
Gus gealltanas lĂŹbhrigeadh dĂ ta a mheudachadh tuilleadh, chleachd sinn gus call teachdaireachdan sam bith a lorg fo chumhachan anabarrach (m.e. dĂŹ-shioncronachadh cloca ann an stiĂširiche na roinne).
Frèam-obrach Giullachd Sruth
Tha sreath giullachd Delta air a thogail air Ă rd-Ăšrlar Netflix SPaaS, a bhios ag amalachadh Apache Flink le eag-shiostam Netflix. Tha an t-Ă rd-Ăšrlar aâ toirt seachad eadar-aghaidh cleachdaiche a bhios aâ riaghladh cleachdadh obraichean Flink agus co-òrdanachadh cruinneachadh Flink air mullach an Ă rd-Ăšrlar riaghlaidh container Titus againn. Bidh an eadar-aghaidh cuideachd aâ riaghladh rèiteachaidhean obraichean agus aâ leigeil le luchd-cleachdaidh atharrachaidhean rèiteachaidh a dhèanamh gu dinamach gun obraichean Flink ath-chruinneachadh.
Tha Delta aâ toirt seachad frèam-obrach giullachd sruthan stèidhichte air Flink agus SPaaS a bhios aâ cleachdadh stèidhichte air notaichean Bithear aâ cleachdadh DSL (CĂ nan Sònraichte Ărainn) gus mion-fhiosrachadh teicnigeach a thoirt a-mach. Mar eisimpleir, gus an ceum a mhĂŹneachadh leis am bi tachartasan air an neartachadh le bhith aâ gairm sheirbheisean taobh a-muigh, feumaidh luchd-cleachdaidh an DSL a leanas a sgrĂŹobhadh, agus cruthaichidh am frèam-obrach modail stèidhichte air, a thèid a chur an gnĂŹomh le Flink.

Figear 3. Eisimpleir de bheairteachadh air DSL ann an Delta
Chan e a-mhĂ in gu bheil am frèam-obrach giullachd aâ lughdachadh aâ lĂšb ionnsachaidh, ach tha e cuideachd aâ toirt seachad feartan giullachd sruth cumanta leithid dĂŹ-dhĂšblachadh, sgeamatachadh, a bharrachd air sĂšbailteachd agus fulangas locht gus fuasgladh fhaighinn air duilgheadasan obrachaidh cumanta.
Tha Frèam-obrach Giullachd Sruth Delta air a dhèanamh suas de dhĂ phrĂŹomh mhodal: am modal DSL & API agus am modal Runtime. Tha am modal DSL & API aâ toirt seachad APIan DSL agus UDF (User-Defined-Function) gus an urrainn do luchd-cleachdaidh an loidsig giullachd fhèin a sgrĂŹobhadh (leithid sĂŹoladh no cruth-atharrachaidhean). Bidh am modal Runtime aâ cur an gnĂŹomh am parser DSL, a bhios aâ togail riochdachadh a-staigh de cheumannan giullachd ann am modalan DAG. Bidh am pĂ irt Execution aâ mĂŹneachadh modalan DAG gus na gnĂŹomhaichean Flink fhèin a thòiseachadh agus mu dheireadh an tagradh Flink a ruith. Tha ailtireachd an fhrèam-obrach air a mhĂŹneachadh san fhigear a leanas.

Figear 4. Ailtireachd Frèam-obrach Giullachd Sruth Delta
Tha grunn bhuannachdan aig an dòigh-obrach seo:
- Faodaidh luchd-cleachdaidh fòcas a chur air loidsig aâ ghnĂŹomhachais aca gun a bhith aâ dol a-steach do mhion-fhiosrachadh Flink no structar SPaaS.
- Faodar an leasachadh a dhèanamh ann an dòigh fhollaiseach do luchd-cleachdaidh, agus faodar mearachdan a chà radh gun a bhith feumach air atharrachaidhean sam bith air còd an neach-cleachdaidh (UDF).
- Tha aplacaidean Delta air an dèanamh nas sĂŹmplidhe do luchd-cleachdaidh leis gu bheil an Ă rd-Ăšrlar aâ toirt seachad sĂšbailteachd agus seasmhachd dĂŹreach Ă s aâ bhogsa agus aâ cruinneachadh pailteas de mheatrachdan mionaideach a ghabhas cleachdadh airson rabhaidhean.
Cleachdadh cinneasachaidh
Tha Delta air a bhith ag obair ann an riochdachadh airson còrr is bliadhna agus tha pĂ irt chudromach aige ann am mòran aplacaidean Netflix Studio. Tha e air sgiobaidhean a chuideachadh le bhith aâ cur an gnĂŹomh cĂšisean cleachdaidh leithid clĂ r-amais rannsachaidh, stòradh dĂ ta, agus sruthan-obrach stèidhichte air tachartasan. Gu h-ĂŹosal tha sealladh farsaing air ailtireachd Ă rd-ĂŹre Ă rd-Ăšrlar Delta.

Figear 5. Ailtireachd Ă rd-ĂŹre Delta.
Buidheachas
Bu mhath leinn taing a thoirt do na daoine a leanas a bha an sĂ s ann an cruthachadh is leasachadh Delta aig Netflix: Allen Wang, Charles Zhao, Jaebin Yoon, Josh Snyder, Kasturi Chatterjee, Mark Cho, Olof Johansson, Piyush Goyal, Prashanth Ramdas, Raghuram Onti Srinivasan, Sandeep Gupta, Steven Wu, Tharanga Gamaethige, Yun Wang, agus Zhenzhong Xu.
Stòran
- MĂ rtainn Kleppmann, Alastair R. Beresford, Boerge Svingen: Giullachd thachartasan air-loidhne. Comunn. ACM 62(5): 43â49 (2019). DOI:
âInneal Togail DĂ ta airson Stòradh Amazon Redshift.â
Source: www.habr.com
