Dikotomiya daneyê: ji nû ve fikirîna têkiliya di navbera dane û karûbaran de

Silav hemû! Nûçeyên me yên mezin hene, OTUS di Hezîranê de dîsa qursê dide destpêkirin "Mîmarê Nermalavê", di pêwendiya ku em bi kevneşopî materyalên kêrhatî bi we re parve dikin.

Dikotomiya daneyê: ji nû ve fikirîna têkiliya di navbera dane û karûbaran de

Ger we bêyî çarçoveyek bi vê çîroka mîkroxizmetên tevahî re rû bi rû hatibe, hûn ê bihûrtin ku hûn hinekî ecêb bifikirin. Parçekirina serîlêdanek li perçeyên ku bi torê ve girêdayî ne, tê vê wateyê ku modên tolerasyona xeletiya tevlihev li pergala belavkirî ya encamkirî zêde dikin.

Her çend ev nêzîkatî di nav gelek karûbarên serbixwe de dabeş dibe, armanca dawîn ji tenê meşandina wan karûbaran li ser makîneyên cihêreng pir wêdetir e. Em li vir behsa danûstendina bi cîhana derve re dikin, ku ev jî di eslê xwe de belav bûye. Ne di warê teknîkî de, belkî di wateya ekosîstemeke ku ji gelek kesan, tîm, bernameyan pêk tê û her yek ji van beşan divê bi vî awayî karê xwe bike.

Mînakî, pargîdanî komek pergalên belavbûyî ne ku bi hev re beşdarî gihîştina hin armancê dibin. Em bi dehsalan vê rastiyê paşguh dikin, hewl didin ku bi veguheztina FTP an amûrên entegrasyona pargîdanî ve yekbûnê bi dest bixin, dema ku balê dikişînin ser armancên xwe yên cûda. Lê bi hatina xizmetguzariyan, her tişt guherî. Xizmet ji me re bûne alîkar ku em ji asoyê wêdetir binihêrin û cîhanek bernameyên bihevgirêdayî yên ku bi hev re dixebitin bibînin. Lêbelê, ji bo ku meriv bi serfirazî bixebite, pêdivî ye ku du cîhanên bingehîn ên cihêreng nas bikin û sêwiran bikin: cîhana derve, ku em di ekosîstemek gelek karûbarên din de dijîn, û cîhana meya kesane, hundurîn, ku em tenê lê hukum dikin.

Dikotomiya daneyê: ji nû ve fikirîna têkiliya di navbera dane û karûbaran de

Cîhanek wusa belavbûyî ji ya ku em tê de mezin bûne û tê de bi kar anîne cûda ye. Prensîbên avakirina mîmariya kevneşopî ya monolîtîk li ber rexneyê nabin. Ji ber vê yekê rastkirina van pergalan ji afirandina nexşeyek tabloya spî ya xweş an delîlek têgînek xweş wêdetir e. Fikir ew e ku pergalek weha dê demek dirêj bi serfirazî bixebite. Xwezî, karûbar ji bo demek dirêj li dora xwe hene, her çend ew cûda xuya dikin. Dersên SOA hîn jî têkildar e, tewra bi Docker, Kubernetes, û rîhên hipster ên piçek şilbûyî ve hatî xemilandin.

Ji ber vê yekê îro em ê binihêrin ka qaîdeyên çawa hatine guhertin, çima pêdivî ye ku em nêzîkatiya xwe ya ji karûbaran û daneyên ku ew ji hevûdu re derbas dikin ji nû ve bifikirin, û çima ji bo wê hewceyê amûrek bi tevahî cûda be.

Encapsulation dê her gav nebe hevalê we

Microservices dikarin ji hev serbixwe kar bikin. Ev milk e ku nirxa herî mezin dide wan. Ev heman xanî dihêle ku karûbar mezin bibin û mezin bibin. Ne ew qas di warê pîvandina bi quadrilyon bikarhêneran an petabytes daneyê de (her çend ew dikarin li vir jî bibin alîkar), lê di warê pîvandinê de di warê mirovan de wekî tîm û rêxistin bi domdarî mezin dibin.

Dikotomiya daneyê: ji nû ve fikirîna têkiliya di navbera dane û karûbaran de

Lêbelê serxwebûn şûrê dudevî ye. Ango karûbar bixwe dikare bi hêsanî û xwezayî bizivire. Lê ger fonksiyonek di hundurê karûbarek de were bicîh kirin ku hewce dike ku karûbarek din tevlê bibe, wê hingê em neçar dibin ku hema hema di heman demê de guhertinan li her du karûbaran bikin. Di monolîtek de, ev yek hêsan e, hûn tenê guhertinek çêbikin û wê bişînin serbestberdanê, lê di rewşa hevdemkirina karûbarên serbixwe de, dê bêtir pirsgirêk hebin. Koordînasyona di navbera tîmê û çerxên berdanê de nermbûnê hilweşîne.

Dikotomiya daneyê: ji nû ve fikirîna têkiliya di navbera dane û karûbaran de

Wekî beşek ji nêzîkatiya standard, ew tenê hewl didin ku ji guhertinên dawî-bi-dawî acizker dûr bikevin, bi zelalî fonksiyonê di navbera karûbaran de dabeş dikin. Karûbarê nîşana yekane dikare li vir mînakek baş be. Ew xwedî rolek diyarkirî ye ku wê ji karûbarên din veqetîne. Ev veqetandina zelal tê vê wateyê ku di cîhanek ku hewcedariyên bilez diguhezin ji bo karûbarên li dora wê, ne mimkûn e ku SSO were guheztin. Ew di çarçoveyek hişk de heye.

Dikotomiya daneyê: ji nû ve fikirîna têkiliya di navbera dane û karûbaran de

Pirsgirêk ev e ku di cîhana rastîn de, karûbarên karsaziyê nekarin her dem heman veqetandina rola paqij bihêlin. Mînakî, heman karûbarên karsaziyê bi daneyên ku ji karûbarên din ên wekhev têne bêtir dixebitin. Ger hûn firotgehek serhêl in, birêvebirina herikîna fermanê, kataloga hilberê, an agahdariya bikarhêner dê ji bo gelek karûbarên we bibe pêdivî. Her yek ji karûbaran ji bo ku bixebite dê hewceyê gihîştina vê daneyê be.

Dikotomiya daneyê: ji nû ve fikirîna têkiliya di navbera dane û karûbaran de
Piraniya karûbarên karsaziyê heman tîrêja daneyê bikar tînin, ji ber vê yekê xebata wan her gav bi hev ve girêdayî ye.

Bi vî awayî em hatin ser xaleke girîng ku hêjayî axaftinê ye. Digel ku karûbar ji bo hêmanên binesaziyê yên ku bi giranî veqetandî tevdigerin baş dixebitin, piraniya karûbarên karsaziyê di dawiyê de pir bi hevûdu ve girêdayî ne.

Daneyên Dichotomy

Dibe ku nêzîkatiyên karûbar jixwe hebin, lê hîna hindik agahdarî heye ku meriv çawa di navbera karûbaran de mîqdarên mezin dane hev.

Pirsgirêka sereke ev e ku dane û karûbar ji hev nayên veqetandin. Ji aliyekî ve, encapsulasyon me teşwîq dike ku em daneyan veşêrin da ku karûbar ji hevûdu veqetin û mezinbûna wan û guhertinên din hêsantir bikin. Ji hêla din ve, pêdivî ye ku em mîna hemî daneyên din, bi serbestî li ser daneyên hevpar parve bikin û bi ser bixin. Ew e ku meriv dikare tavilê dest bi xebatê bike, wekî her pergalên din ên agahdariyê bi azadî.

Lêbelê, pergalên agahdariyê bi encapsulation re hindik e. Bi rastî, ew jî berevajî ye. Database her tiştî dikin ku ew bigihîjin daneyên ku ew hilanînê. Ew bi navgînek ragihandinê ya hêzdar têne ku destûrê dide te ku hûn daneyan wekî ku hûn dixwazin biguhezînin. Karbidestiya weha di qonaxa lêkolîna pêşîn de girîng e, lê ne ji bo birêvebirina tevliheviya mezinbûna karûbarek herdem pêşveçûyî ye.

Dikotomiya daneyê: ji nû ve fikirîna têkiliya di navbera dane û karûbaran de

Û li vir dubendiyek derdikeve holê. Naqok. Dikotomî. Beriya her tiştî, pergalên agahdariyê di derbarê peydakirina daneyan de ne, û karûbar li ser veşartinê ne.

Ev her du hêz bingehîn in. Ew piraniya xebata me dişoxilînin, bi berdewamî ji bo serweriyê di pergalên ku em ava dikin de hevrikiyê dikin.

Her ku pergalên karûbar mezin dibin û pêşve diçin, em diyardeyên cihêreng ên encamên dubendiya daneyê dibînin. An dê navbeynkariya karûbarê mezin bibe da ku bêtir û bêtir fonksiyon peyda bike û dest pê bike mîna databasek malmezindî ya pir xweşik xuya bike, an jî em ê dilteng bibin û rêyek bicîh bikin ku em tevahî danehevan bi girseyî ji karûbarê berbi karûbarê vegerînin an veguherînin.

Dikotomiya daneyê: ji nû ve fikirîna têkiliya di navbera dane û karûbaran de

Di encamê de, afirandina tiştek ku dişibihe databasek malperek xweşik, dê bibe sedema gelek pirsgirêkan. Em ê nekevin hûrguliyên ku xeternak e databasa hevpar, em tenê bibêjin ku ew endezyariyek giranbiha û xebitandinê temsîl dike tengasiyan ji bo pargîdaniya ku hewl dide wê bikar bîne.

Ya xirabtir, cildên daneyê pirsgirêkên bi sînorên karûbarê re zêde dikin. Daneyên gelemperî di hundurê karûbarê de hebe, dê navbeynkar ewqas tevlihevtir bibe û berhevkirina daneyên ku ji karûbarên cûda têne berhev kirin dê dijwartir be.

Nêzîkatiya alternatîf a derxistin û veguheztina tevahiya danehevan jî pirsgirêkên xwe hene. Nêzîkatiyek hevpar a ji bo vê pirsê wusa dixuye ku meriv bi tenê berhevoka databasê hilîne û hilîne, û dûv re wê di her karûbarê vexwarinê de herêmî hilîne.

Dikotomiya daneyê: ji nû ve fikirîna têkiliya di navbera dane û karûbaran de

Pirsgirêk ev e ku karûbarên cihêreng daneyên ku ew dixwin bi rengek cûda şîrove dikin. Ev dane her dem li ber dest e. Ew li herêmî têne guhertin û pêvajoyê kirin. Di demek nêzîk de ew dev ji ti têkiliya wan bi daneyên di çavkaniyê re dikin.

Dikotomiya daneyê: ji nû ve fikirîna têkiliya di navbera dane û karûbaran de
Her ku kopiyên guhezbar bin, dê bi demê re ew qas data diguhere.

Hê xerabtir, daneyên weha di paşverû de rastkirina dijwar e (MDM ev e ku ew bi rastî bikêr tê.) Di rastiyê de, hin kêşeyên teknolojiyê yên bêserûber ên ku karsazî pê re rû bi rû dimînin, ji daneyên heterojen ên ku ji serîlêdanê berbi serîlêdanê ve zêde dibin.

Ji bo ku hûn çareseriyek ji vê pirsgirêka daneya hevpar re bibînin, hûn hewce ne ku cûda bifikirin. Divê ew di mîmarên ku em ava dikin de bibin tiştên çîna yekem. Pat Helland van daneyan dibêje "derve", û ev taybetmendiyek pir girîng e. Ji bo ku em hundurê karûbarek dernekevin holê, pêdivî ye ku em encapsulasyonê bikin, lê divê em karûbaran hêsan bikin ku bigihîjin daneyên hevpar da ku ew karibin karê xwe rast bikin.

Dikotomiya daneyê: ji nû ve fikirîna têkiliya di navbera dane û karûbaran de

Pirsgirêk ev e ku ne nêzîkatî îro ne têkildar e, ji ber ku ne pêwendiya karûbar, ne peyam, ne jî Daneya Hevbeş çareseriyek baş ji bo xebata bi daneyên derveyî re pêşkêş dikin. Têkiliyên karûbar ji bo danûstendina daneyan di her astê de nebaş in. Mesaj daneyan diguhezîne lê dîroka xwe hilnagire, ji ber vê yekê data bi demê re xera dibe. Daneyên Hevbeş pir li ser yek xalê ye, ku pêşkeftinê diparêze. Em bê guman di çerxek têkçûna daneyê de asê dibin:

Dikotomiya daneyê: ji nû ve fikirîna têkiliya di navbera dane û karûbaran de
çerxa têkçûna daneyan

Herikîn: nêzîkatiyek nenavendî ya dane û karûbaran

Bi îdeal, pêdivî ye ku em awayê ku karûbar bi daneyên hevpar re dixebitin biguhezînin. Di vê gavê de, her nêzîkatî dikeve nav dubendiya jorîn, ji ber ku tu tozek sêhrbaz tune ku bi comerdî li ser were rijandin û were winda kirin. Lêbelê, em dikarin pirsgirêkê ji nû ve bifikirin û bigihîjin lihevhatinekê.

Ev lihevkirin tê wateya asteke navendîbûnê. Em dikarin ji mekanîzmaya têketinê ya belavbûyî sûd werbigirin ji ber ku ew herikên pêbawer, berbelav peyda dike. Naha em dixwazin karûbar karibin li ser van mijarên hevbeş tevlê bibin û bimeşînin, lê em dixwazin ji Karûbarên Xwedê yên navendîkirî yên tevlihev ên ku vê pêvajoyê dikin dûr bixin. Ji ber vê yekê, vebijarka çêtirîn ev e ku meriv pêvajoya streaming di her karûbarê xerîdar de ava bike. Ev rê dide karûbaran ku berhevokên daneyan ji çavkaniyên cihêreng berhev bikin û bi awayê ku ew hewce ne bi wan re bixebitin.

Yek rê ji bo gihîştina vê nêzîkbûnê bi karanîna platformek streaming ye. Gelek vebijark hene, lê îro em ê Kafka binirxînin, ji ber ku bi karanîna Pêvajoya Stream ya Dewletê rê dide me ku em pirsgirêka pêşkêşkirî bi bandor çareser bikin.

Dikotomiya daneyê: ji nû ve fikirîna têkiliya di navbera dane û karûbaran de

Bikaranîna mekanîzmaya têketinê ya belavkirî dihêle ku em riya lêdanê bişopînin û ji bo xebatê peyaman bikar bînin mîmariya-bûyerê. Ev nêzîkatî tête hesibandin ku ji mekanîzmaya daxwaz-bersivê çêtir pîvandin û veqetandinê peyda dike ji ber ku ew kontrola herikînê dide wergir û ne şander. Lêbelê, divê hûn di vê jiyanê de ji bo her tiştî bidin, û li vir hûn hewceyê brokerek hewce ne. Lê ji bo pergalên mezin, ev danûstendin hêjayî wê ye (ya ku hûn nekarin di derheqê serîlêdanên xweya webê ya navîn de bibêjin).

Ger brokerek ji têketina belavkirî berpirsiyar e, û ne pergalek mesajên kevneşopî ye, hûn dikarin ji taybetmendiyên din sûd werbigirin. Veguheztinek dikare hema hema û hem jî pergala pelê ya belavkirî bi xêzikî pîvan bike. Daneyên dikarin ji bo demek dirêj ve di têketinê de werin hilanîn, ji ber vê yekê em ne tenê peyaman, lê di heman demê de depoyek agahdariyê jî digirin. Hilberîna berbelav bêyî tirsa ji rewşa hevbeş a guhêrbar.

Dûv re hûn dikarin mekanîzmaya pêvajoyek tîrêjê ya dewletî bikar bînin da ku amûrên databasa daxuyandî li karûbarên xweya xwerû zêde bikin. Ev ramanek pir girîng e. Heya ku dane di nav çemên hevpar ên ku ji hêla hemî karûbaran ve têne gihîştin têne hilanîn, kombûn û pêvajoya ku karûbar dike taybet e. Ew di nav çarçoveyek hişk a sînorkirî de têne veqetandin.

Dikotomiya daneyê: ji nû ve fikirîna têkiliya di navbera dane û karûbaran de
Bi veqetandina herikîna dewleta neguhêrbar ji dubendiya daneyê xilas bibin. Dûv re vê fonksiyonê li her karûbarê bi karanîna Pêvajoya Stream Stateful zêde bikin.

Ji ber vê yekê, heke karûbarê we pêdivî ye ku bi fermanan, katalogek hilberek, depoyek bixebite, ew ê gihîştina tam hebe: tenê hûn ê biryar bidin ka kîjan daneyan berhev bikin, li ku derê pêvajo bikin û bi demê re çawa biguhere. Tevî rastiya ku dane têne parve kirin, xebata pê re bi tevahî nenavendî ye. Ew di nav her karûbar de, li cîhanek ku her tişt li gorî qaîdeyên we diçe, tê hilberandin.

Dikotomiya daneyê: ji nû ve fikirîna têkiliya di navbera dane û karûbaran de
Daneyên parve bikin bêyî ku yekparebûna wê têk bibin. Di her karûbarê ku jê re hewce dike de fonksiyonek, ne çavkaniyek vehewînin.

Ji ber vê yekê diqewime ku pêdivî ye ku dane bi girseyî werin veguheztin. Carinan karûbarek di motora databasê ya bijartî de hewceyê databasek dîrokî ya herêmî ye. Xefet ev e ku meriv dikare were garantî kirin ku, ger hewce be, kopiyek ji çavkaniyê bi têkiliya mekanîzmaya têketinê ya belavkirî ve were sererast kirin. Girêdanên li Kafka ji vê yekê re karekî mezin dikin.

Ji ber vê yekê, nêzîkatiya ku îro hatî nîqaş kirin çend avantajên xwe hene:

  • Dane di şiklê çemên hevpar ên ku ji bo demek dirêj ve di têketin de têne hilanîn têne bikar anîn, û mekanîzmaya xebata bi daneya hevbeş di her çarçoveyek kesane de hişk e, ku dihêle karûbar bi hêsanî û zû bixebitin. Bi vî awayî, dubendiya daneyan dikare hevseng bibe.
  • Daneyên ku ji karûbarên cihêreng têne bi hêsanî di nav koman de têne hev kirin. Ev danûstendina bi daneyên hevpar re hêsan dike û hewcedariya domandina daneyên herêmî di databasê de ji holê radike.
  • Pêvajoya Stream ya Dewletê tenê daneyan vedişêre, û têketinên hevpar çavkaniya rastiyê dimînin, ji ber vê yekê pirsgirêka xirabkirina daneyan bi demê re ne ew qas tûj e.
  • Di bingeha wan de, karûbar bi daneyê ve têne rêve kirin, ku tê vê wateyê ku tevî mezinbûna domdar a hêjmarên daneyê, karûbar hîn jî dikarin bilez bersivê bidin bûyerên karsaziyê.
  • Pirsgirêkên mezinbûnê dikevin ser brokerê, ne karûbaran. Ev tevliheviya karûbarên nivîsandinê pir kêm dike, ji ber ku ne hewce ye ku meriv li ser mezinbûnê bifikire.
  • Zêdekirina karûbarên nû hewce nake ku yên kevin biguhezînin, ji ber vê yekê girêdana karûbarên nû hêsantir dibe.

Wekî ku hûn dikarin bibînin, ew ji REST bêtir e. Me komek amûr wergirtine ku dihêle hûn bi daneyên hevpar bi rengek nenavendî bixebitin.

Di gotara îro de hemî alî nehatine eşkere kirin. Em hîna jî hewce ne ku fêhm bikin ka meriv çawa di navbera paradîgmaya daxwaz-bersiv û paradîgmaya bûyer-rêveber de hevseng dike. Lê em ê carek din bi vê yekê re mijûl bibin. Mijar hene ku hûn hewce ne ku çêtir nas bikin, mînakî, çima Pêvajoya Stream Stateful ew qas baş e. Em ê di gotara sêyemîn de li ser vê yekê biaxivin. Û avahiyên din ên hêzdar hene ku em dikarin bikar bînin heke em serî li wan bidin, mînakî, Tam Carekê Pêvajo. Ew ji bo pergalên karsaziya belavbûyî guhezkarek lîstikê ye ji ber ku ew garantiyên danûstendinê peyda dike XA di forma scalable. Ev dê di gotara çaremîn de bê nîqaş kirin. Di dawiyê de, divê em li ser hûrguliyên pêkanîna van prensîban biçin.

Dikotomiya daneyê: ji nû ve fikirîna têkiliya di navbera dane û karûbaran de

Lê ji bo naha, tenê vê yekê ji bîr mekin: dubendiya daneyê hêzek e ku em di dema avakirina karûbarên karsaziyê de rû bi rû dimînin. Û divê em vê bîr bînin. Xefet ev e ku meriv her tiştî li ser serê xwe bizivirîne û dest bi dermankirina daneyên hevpar wekî tiştên pola yekem bike. Processing Stream Stateful ji bo vê yekê lihevkirinek bêhempa peyda dike. Ew ji "Pêkhateyên Xwedê" yên navendîparêz ên ku pêşkeftinê diparêzin dûr dikeve. Digel vê yekê, ew pêbawerî, pîvanbûn, û rehetiya lûleyên danûstendina daneyê peyda dike û wan li her karûbarê zêde dike. Ji ber vê yekê, em dikarin balê bikişîne ser şiyana giştî ya hişmendiyê ku her karûbar dikare pê ve girêbide û bi daneyên xwe re bixebite. Ev karûbaran berfirehtir, guhezbar û xwesertir dike. Ji ber vê yekê, ew ê ne tenê li ser tabloyên spî û dema ceribandina hîpotezan baş xuya bikin, lê di heman demê de bi dehan salan jî bixebitin û pêşve bibin.

Di derbarê qursê de bêtir fêr bibin.

Source: www.habr.com

Add a comment