The data dichotomy: ho nahana bocha kamano lipakeng tsa data le lits'ebeletso

Lumelang bohle! Re na le litaba tse monate, OTUS e qala thupelo hape ka Phuptjane "Software Architect", eo ka tloaelo re arolelanang litaba tse molemo le uena.

The data dichotomy: ho nahana bocha kamano lipakeng tsa data le lits'ebeletso

Haeba u kile ua kopana le ntho ena eohle ea li-microservices ntle le moelelo ofe kapa ofe, u tla tšoareloa ho nahana hore ea makatsa. Ho arola kopo ka likhechana tse hokahaneng ke marang-rang ho hlile ho bolela ho eketsa mekhoa e rarahaneng ea mamello ho sistimi e ajoang.

Le hoja mokhoa ona o kenyelletsa ho e arola litšebeletsong tse ngata tse ikemetseng, sepheo sa ho qetela ke se fetang feela ho ba le litšebeletso tseo tse tsamaisoang ka mechine e fapaneng. Mona re bua ka ho sebelisana le lefatše le ka ntle, e leng eona e ajoang ka moelelo oa eona. Eseng ka kutloisiso ea tekheniki, empa ka kutloisiso ea tikoloho ea tikoloho e nang le batho ba bangata, lihlopha, mananeo, 'me e' ngoe le e 'ngoe ea likarolo tsena e hloka ho etsa mosebetsi oa eona.

Likhamphani, mohlala, ke pokello ea litsamaiso tse ajoang tse kenyang letsoho ho fihlelleng sepheo se itseng. Re hlokomolohile taba ena ka lilemo tse mashome, re leka ho fihlela bonngoe ka lifaele tsa FTPing kapa ho sebelisa lisebelisoa tsa ho kopanya likhoebo ha re ntse re tsepamisitse maikutlo lipakaneng tsa rona tse ikhethileng. Empa ha litšebeletso li qala, tsohle li ile tsa fetoha. Litšebeletso li re thusitse ho sheba ka nģ'ane ho sepakapaka le ho bona lefats'e la mananeo a itšetlehileng ka bobeli a sebetsang 'moho. Leha ho le joalo, e le ho sebetsa ka katleho, hoa hlokahala ho lemoha le ho rala mafatše a mabeli a fapaneng haholo: lefats'e la kantle, moo re phelang tikolohong ea lits'ebeletso tse ling tse ngata, le lefats'e la rona la ka hare, moo re busang re le bang.

The data dichotomy: ho nahana bocha kamano lipakeng tsa data le lits'ebeletso

Lefatše lena le ajoang le fapane le leo re hōletseng ho lona le leo re le tloaetseng. Melao-motheo ea ho haha ​​​​mehaho ea setso ea monolithic ha e eme khahlanong le ho nyatsuoa. Kahoo ho fumana litsamaiso tsena hantle ho batla ho feta ho theha setšoantšo se pholileng sa boardboard kapa bopaki bo pholileng ba mohopolo. Taba ke ho netefatsa hore tsamaiso e joalo e sebetsa ka katleho ka nako e telele. Ka lehlohonolo, litšebeletso li bile teng ka nako e telele, leha li shebahala li fapane. Lithuto tsa SOA li ntse li sebetsa, li bile li entsoe ka Docker, Kubernetes le litelu tsa hipster tse senyehileng hanyane.

Kahoo kajeno re tla sheba hore na melao e fetohile joang, hore na ke hobane'ng ha re lokela ho nahana hape ka tsela eo re atamelang litšebeletso ka eona le data eo ba e fetisetsang ho e mong, le hore na ke hobane'ng ha re tla hloka lisebelisoa tse fapaneng ka ho feletseng ho e etsa.

Encapsulation e ke ke ea lula e le motsoalle oa hau

Li-Microservices li ka sebetsa ka thoko ho tse ling. Ke thepa ena e ba fang boleng bo boholo ka ho fetisisa. Thepa eona ena e lumella lits'ebeletso ho hola le ho hola. Ha ho joalo haholo ka kutloisiso ea ho eketsa li-quadrillion tsa basebelisi kapa li-petabyte tsa data (le hoja tseo li ka thusa moo hape), empa ka kutloisiso ea ho fokotsa batho ha lihlopha le mekhatlo e ntse e hōla ka ho tsoelang pele.

The data dichotomy: ho nahana bocha kamano lipakeng tsa data le lits'ebeletso

Leha ho le joalo, boipuso ke sabole e sehang ka nģa tse peli. Ke hore, tšebeletso ka boeona e ka sebetsa habonolo le ka tlhaho. Empa haeba ts'ebetso e etsoa ka har'a ts'ebeletso e hlokang ts'ebeliso ea ts'ebeletso e 'ngoe, re qetella re tlameha ho etsa liphetoho litšebeletsong tseo ka bobeli hoo e ka bang ka nako e le ngoe. Ho monolith sena se bonolo ho se etsa, u mpa u etsa phetoho le ho e romela ho lokolloa, empa tabeng ea ho lumellana le litšebeletso tse ikemetseng ho tla ba le mathata a mangata. Khokahano lipakeng tsa lihlopha le lipotoloho tsa tokollo e senya boqhetseke.

The data dichotomy: ho nahana bocha kamano lipakeng tsa data le lits'ebeletso

E le karolo ea mokhoa o tloaelehileng, ba mpa ba leka ho qoba liphetoho tse khopisang tsa ho qetela, ho arola ka ho hlaka tshebetso pakeng tsa litšebeletso. Tšebeletso ea ho saena a le mong e ka ba mohlala o motle mona. E na le karolo e hlalositsoeng ka ho hlaka e e khethollang ho litšebeletso tse ling. Karohano ena e hlakileng e bolela hore lefats'eng la litlhoko tse fetohang ka potlako litšebeletsong tse potolohileng, tšebeletso ea ho saena e le 'ngoe e ke ke ea fetoha. E teng ka har'a maemo a fokolang haholo.

The data dichotomy: ho nahana bocha kamano lipakeng tsa data le lits'ebeletso

Bothata ke hore lefatšeng la sebele, litšebeletso tsa khoebo li ke ke tsa boloka karohano e hloekileng ea mesebetsi ka linako tsohle. Ka mohlala, litšebeletso tse tšoanang tsa khoebo li sebetsa haholo ka boitsebiso bo tsoang litšebeletsong tse ling tse tšoanang. Haeba o kenya letsoho thekisong ea marang-rang, joale ho tsamaisa phallo ea tatellano, lethathamo la lihlahisoa kapa tlhaiso-leseling ea mosebelisi e tla ba tlhokahalo bakeng sa lits'ebeletso tsa hau tse ngata. E 'ngoe le e' ngoe ea litšebeletso e tla hloka ho fihlella data ena hore e sebetse.

The data dichotomy: ho nahana bocha kamano lipakeng tsa data le lits'ebeletso
Litšebeletso tse ngata tsa khoebo li arolelana molaetsa o tšoanang oa data, kahoo mosebetsi oa bona o lula o hokahane.

Kahoo re fihla ntlheng ea bohlokoa eo re lokelang ho bua ka eona. Le ha lits'ebeletso li sebetsa hantle bakeng sa likarolo tsa meralo tse sebetsang haholo ka thoko, lits'ebeletso tse ngata tsa khoebo li qetella li hokahane haholo.

Dichotomy ya data

Mekhoa e amanang le litšebeletso e kanna ea ba e se e ntse e le teng, empa ba ntse ba haelloa ke temohisiso ea ho arolelana lintlha tse ngata lipakeng tsa lits'ebeletso.

Bothata bo boholo ke hore data le lits'ebeletso ha li arohane. Ka lehlakoreng le leng, encapsulation e re khothalletsa ho pata data e le hore litšebeletso li ka aroloa ho tse ling 'me li bebofatse kholo ea tsona le liphetoho tse ling. Ka lehlakoreng le leng, re hloka ho khona ho arola le ho hlola data e arolelanoang ka bolokolohi, joalo ka data efe kapa efe. Taba ke ho khona ho qala ho sebetsa hang-hang, ka bolokolohi joaloka tsamaiso leha e le efe ea tlhahisoleseding.

Leha ho le joalo, litsamaiso tsa tlhahisoleseling ha li amane hakaalo le encapsulation. Ha e le hantle, ho fapane haholo. Li-database li etsa sohle se matleng a tsona ho fana ka phihlello ea data eo ba e bolokang. Ba tla le segokanyimmediamentsi sa sebolokigolo e matla hore lumella u ho fetola ya data ha u ntse u hloka. Ts'ebetso e joalo e bohlokoa sethaleng sa pele sa lipatlisiso, empa eseng bakeng sa ho laola ho rarahana ho ntseng ho hola ha ts'ebeletso e lulang e fetoha.

The data dichotomy: ho nahana bocha kamano lipakeng tsa data le lits'ebeletso

Mme mona ho hlaha bothata. Khanyetsano. Dichotomy. Ntle le moo, lits'ebetso tsa tlhahisoleseling li mabapi le ho fana ka data, mme lits'ebeletso li mabapi le ho pata.

Matla ana a mabeli ke a motheo. Ba tšehetsa boholo ba mosebetsi oa rona, ba lula ba loanela bokhabane lits'ebetsong tseo re li hahang.

Ha litsamaiso tsa lits'ebeletso li ntse li hola le ho fetoha, re bona litlamorao tsa dichotomy ea data ka mekhoa e mengata. Ekaba sebopeho sa lits'ebeletso se tla hola, se fane ka mefuta e mengata e ntseng e eketseha ea ts'ebetso 'me e qale ho shebahala joalo ka polokelo ea lehae e majabajaba, kapa re tla ferekana ebe re kenya tšebetsong mokhoa o mong oa ho khutlisa kapa ho tsamaisa lits'ebetso ka bongata ho tloha ts'ebeletso ho ea ho ts'ebeletso.

The data dichotomy: ho nahana bocha kamano lipakeng tsa data le lits'ebeletso

Ka lehlakoreng le leng, ho theha ntho e shebahalang eka ke polokelo ea polokelo ea lehae e majabajaba ho tla lebisa mathateng a mangata. Re ke ke ra fana ka lintlha tse qaqileng mabapi le hore na ke hobane'ng ha e le kotsi database e arolelanoang, ha re re feela e emela boenjiniere bo theko e boima haholo le ts'ebetso mathata bakeng sa k'hamphani e lekang ho e sebelisa.

Ho hobe le ho feta ke hore lipalo tsa data li holisa mathata a moeli oa litšebeletso. Lintlha tse arolelanoang haholoanyane li ka har'a ts'ebeletso, sebopeho se tla rarahana le ho feta 'me ho tla ba thata le ho feta ho kopanya lisebelisoa tsa data tse tsoang lits'ebeletso tse fapaneng.

Mokhoa o mong oa ho hula le ho tsamaisa lisebelisoa tsohle tsa data le ona o na le mathata. Mokhoa o tloaelehileng oa potso ena o shebahala joalo ka ho khutlisa le ho boloka dataset kaofela, ebe o e boloka sebakeng sa hau ts'ebeletso e ngoe le e ngoe e jang.

The data dichotomy: ho nahana bocha kamano lipakeng tsa data le lits'ebeletso

Bothata ke hore lits'ebeletso tse fapaneng li fetolela data eo ba e sebelisang ka tsela e fapaneng. Lintlha tsena li lula li le haufi. Li a fetoloa le ho sebetsoa sebakeng sa heno. Ka potlako ba khaotsa ho ba le letho le tšoanang le data e mohloling.

The data dichotomy: ho nahana bocha kamano lipakeng tsa data le lits'ebeletso
Ha likopi li fetoha haholoanyane, data e tla fetoha haholoanyane ha nako e ntse e feta.

Ho mpefatsa boemo le ho feta, data e joalo e thata ho e lokisa ha re khutlela morao (MDM Ke hona moo e hlileng e ka thusang). Ebile, mathata a mang a thekenoloji a ke keng a rarolloa ao likhoebo li tobanang le 'ona a hlaha ho tsoa ho data e fapaneng e atisang ho tloha ho ts'ebeliso ho isa ho ts'ebeliso.

Ho fumana tharollo bothateng bona, re hloka ho nahana ka tsela e fapaneng ka data e arolelanoang. E tlameha ho ba lintho tsa boemo ba pele meahong eo re e hahang. Pat Helland e bitsa data e joalo "ea kantle", 'me sena ke tšobotsi ea bohlokoa haholo. Re hloka encapsulation hore re se ke ra hlahisa ts'ebetso ea kahare ea ts'ebeletso, empa re hloka ho nolofalletsa lits'ebeletso ho fihlella data e arolelanoang hore ba tsebe ho etsa mesebetsi ea bona ka nepo.

The data dichotomy: ho nahana bocha kamano lipakeng tsa data le lits'ebeletso

Bothata ke hore ha ho na mokhoa o sebetsang kajeno, kaha li-interface tsa litšebeletso, kapa melaetsa, kapa Database e arolelanoang ha e fane ka tharollo e ntle ea ho sebetsa le data e ka ntle. Litšebeletso tsa marang-rang ha li tšoanelehe hantle bakeng sa phapanyetsano ea data ka tekanyo efe kapa efe. Melaetsa e tsamaisa data empa ha e boloke nalane ea eona, kahoo data e senyeha ha nako e ntse e ea. Li-database tse arolelanoang li shebana haholo le ntlha e le 'ngoe, e leng se sitisang tsoelo-pele. Ha ho potang hore re ts'oarella letotong la ho hloleha ha data:

The data dichotomy: ho nahana bocha kamano lipakeng tsa data le lits'ebeletso
Potoloho ea ho hloleha ha data

Lits'oants'o: mokhoa o ikhethileng oa data le lits'ebeletso

Ka nepo, re hloka ho fetola tsela eo litšebeletso li sebetsang ka eona ka data e arolelanoang. Mothating ona, mokhoa ofe kapa ofe o shebane le dichotomy e boletsoeng ka holimo, kaha ha ho lerōle la boselamose le ka fafatsoang ho eona ho etsa hore e nyamele. Leha ho le joalo, re ka nahana hape ka bothata boo ’me ra fihlela tumellano.

Ho sekisetsa hona ho kenyelletsa tekanyo e itseng ea centralization. Re ka sebelisa mochini oa li-log o abuoang hobane o fana ka melapo e tšepahalang, e qhekellang. Hona joale re batla hore lits'ebeletso li khone ho ikopanya le ho sebetsa likhoeleng tsena tse arolelanoang, empa re batla ho qoba lits'ebeletso tse rarahaneng tsa Molimo tse etsang tšebetso ena. Ka hona, khetho e ntle ka ho fetisisa ke ho aha ts'ebetso ea phallo ho ts'ebeletso e 'ngoe le e' ngoe ea bareki. Ka tsela ena, litšebeletso li tla khona ho kopanya lisebelisoa tsa data tse tsoang mehloling e fapaneng le ho sebetsa le tsona ka tsela eo li e hlokang.

Tsela e 'ngoe ea ho finyella mokhoa ona ke ka ho sebelisa sethala sa ho phallela. Ho na le likhetho tse ngata, empa kajeno re tla sheba Kafka, kaha ts'ebeliso ea eona ea Stateful Stream Processing e re lumella ho rarolla bothata bo hlahisitsoeng ka nepo.

The data dichotomy: ho nahana bocha kamano lipakeng tsa data le lits'ebeletso

Ho sebelisa mokhoa o abuoang oa ho rema lifate ho re fa monyetla oa ho latela tsela e hatisitsoeng hantle le ho sebelisa melaetsa ho sebetsa ka eona moaho o tsamaiswang ke ketsahalo. Mokhoa ona o nkoa e le ho fana ka sekhahla se betere le ho arola ho feta mokhoa oa ho arabela kopo hobane o fana ka taolo ea phallo ho ea amohelang ho e-na le ho romela. Leha ho le joalo, bakeng sa ntho e 'ngoe le e' ngoe bophelong bona u tlameha ho lefa, 'me mona u hloka broker. Empa bakeng sa litsamaiso tse kholo, khoebo ea khoebo e bohlokoa (e ka 'nang ea se ke ea e-ba joalo bakeng sa ts'ebeliso ea hau ea marang-rang).

Haeba morekisi a ikarabella bakeng sa ho rema lifate ho e-na le mokhoa o tloaelehileng oa melaetsa, o ka nka monyetla ka likarolo tse ling. Sepalangoang se ka eketseha ka mokhoa o batlang o lekana le tsamaiso ea lifaele tse ajoang. Lintlha li ka bolokoa ka har'a li-log nako e telele, kahoo ha re fumane phapanyetsano ea molaetsa feela, empa hape le polokelo ea tlhahisoleseling. Scalable polokelo ntle le tshabo ya ho ka feto-fetoha abela boemo.

Joale o ka sebelisa ts'ebetso e hlakileng ea molapo ho eketsa lisebelisoa tsa polokelo ea litaba ho lits'ebeletso tse jang. Ena ke mohopolo oa bohlokoa haholo. Le ha data e bolokiloe melapong e arolelanoang eo lits'ebeletso tsohle li ka e fihlelang, pokello le ts'ebetso eo ts'ebeletso e e etsang ke ea lekunutu. Ba iphumana ba itšehla thajana ka har'a maemo a fokolang haholo.

The data dichotomy: ho nahana bocha kamano lipakeng tsa data le lits'ebeletso
Felisa dichotomy ya data ka ho arola molapo o sa fetoheng wa mmuso. Ebe u eketsa ts'ebetso ena ts'ebeletso e 'ngoe le e' ngoe u sebelisa Stateful Stream Processing.

Kahoo, haeba tšebeletso ea hau e hloka ho sebetsa ka litaelo, lethathamo la lihlahisoa, sebaka sa polokelo, e tla ba le phihlelo e feletseng: ke uena feela ea tla etsa qeto ea hore na u tla kopanya data efe, hore na u tla e sebetsa hokae le hore na e lokela ho fetoha joang ha nako e ntse e feta. Ho sa tsotellehe taba ea hore data e arolelanoa, sebetsa le eona e arotsoe ka ho feletseng. E hlahisoa ka hare ho ts'ebeletso e 'ngoe le e' ngoe, lefatšeng leo ntho e 'ngoe le e' ngoe e tsamaeang ho ea ka melao ea hau.

The data dichotomy: ho nahana bocha kamano lipakeng tsa data le lits'ebeletso
Arolelana lintlha ntle le ho senya botšepehi ba eona. Koahela tšebetso, eseng mohloli, tšebeletsong e 'ngoe le e 'ngoe e e hlokang.

Hoa etsahala hore data e lokela ho tsamaisoa ka bongata. Ka linako tse ling tšebeletso e hloka dataset ea sebaka sa lehae ka har'a enjene ea database e khethiloeng. Thetso ke hore u ka tiisa hore, haeba ho hlokahala, kopi e ka tsosolosoa ho tloha mohloling ka ho fumana mochine o abuoang oa ho rema lifate. Lihokelo tsa Kafka li etsa mosebetsi o motle oa sena.

Kahoo, mokhoa oo ho buisanoang ka oona kajeno o na le melemo e mengata:

  • Lintlha li sebelisoa ka mokhoa oa melapo e tloaelehileng, e ka bolokoang ka har'a li-log ka nako e telele, 'me mochine oa ho sebetsa le data e tloaelehileng o thatafalloa ka mokhoa o mong le o mong, o lumellang litšebeletso ho sebetsa habonolo le ka potlako. Ka tsela ena, dichotomy ea data e ka ba e leka-lekaneng.
  • Lintlha tse tsoang lits'ebeletso tse fapaneng li ka kopanngoa habonolo ho ba lihlopha. Sena se nolofatsa tšebelisano le lintlha tse arolelanoang le ho felisa tlhoko ea ho boloka li-database tsa lehae sebakeng sa polokelo ea litaba.
  • Stateful Stream Processing feela caches data, 'me mohloli oa' nete e ntse e le lintlha tse akaretsang, kahoo bothata ba bobolu ba data ha nako e ntse e ea ha bo bobe hakaalo.
  • Motheong oa bona, lits'ebeletso li tsamaisoa ke data, ho bolelang hore leha ho na le palo e ntseng e eketseha ea data, lits'ebeletso li ntse li ka arabela ka potlako liketsahalong tsa khoebo.
  • Litaba tsa scalability li oela ho broker, eseng litšebeletso. Sena se fokotsa haholo ho rarahana ha litšebeletso tsa ho ngola, kaha ha ho hlokahale hore u nahane ka scalability.
  • Ho eketsa lits'ebeletso tse ncha ha ho hloke ho fetola tsa khale, kahoo ho hokahanya lits'ebeletso tse ncha ho ba bonolo.

Joalokaha u bona, sena hase feela REST. Re fumane lisebelisoa tse u lumellang ho sebetsa le data e arolelanoang ka mokhoa o ikhethileng.

Ha se lintlha tsohle tse ileng tsa tšohloa sehloohong sa kajeno. Re ntse re hloka ho fumana mokhoa oa ho leka-lekanya lipakeng tsa paradigm ea karabelo le paradigm e tsamaisoang ke ketsahalo. Empa re tla sebetsana le sena nakong e tlang. Ho na le lihlooho tseo u hlokang ho li tseba hamolemo, mohlala, hore na hobaneng Stateful Stream Processing e le ntle hakana. Re tla bua ka sena sehloohong sa boraro. 'Me ho na le lihahi tse ling tse matla tseo re ka li sebelisang haeba re ka li sebelisa, mohlala, Hantle Hang Ho sebetsa. Ke phetoho ea papali bakeng sa litsamaiso tsa khoebo tse ajoang hobane e fana ka tiisetso ea transaction bakeng sa XA ka sebopeho sa scalable. Sena se tla tšohloa sehloohong sa bone. Qetellong, re tla hloka ho hlahloba lintlha tsa ts'ebetsong ea melao-motheo ena.

The data dichotomy: ho nahana bocha kamano lipakeng tsa data le lits'ebeletso

Empa hajoale, hopola feela sena: data dichotomy ke matla ao re tobanang le ona ha re theha lits'ebeletso tsa khoebo. Mme re lokela ho hopola sena. Leqheka ke ho fetola ntho e 'ngoe le e' ngoe hloohong ea eona ebe o qala ho tšoara data e arolelanoang e le lintho tsa boemo ba pele. Stateful Stream Processing e fana ka ho sekisetsa ho ikhethang bakeng sa sena. E qoba "Likaroloana tsa Molimo" tse thibelang tsoelo-pele. Ho feta moo, e netefatsa bokhabane, scalability le botsitso ba liphaephe tsa phallo ea data mme e li eketsa ts'ebeletso e ngoe le e ngoe. Ka hona, re ka tsepamisa maikutlo ho kakaretso ea tsebo eo tšebeletso leha e le efe e ka e hokahanyang le ho sebetsa le data ea eona. Sena se etsa hore litšebeletso li fokotsehe, li feto-fetohe le ho ikemela. Kahoo ba ke ke ba shebahala hantle feela ka li-whiteboards le liteko tsa hypothesis, empa hape ba tla sebetsa le ho fetoha ka lilemo tse mashome.

Ithute haholoanyane ka thupelo.

Source: www.habr.com

Eketsa ka tlhaloso