Pensaernïaeth cof ar gyfer gwasanaethau gwe: hanfodion ac egwyddorion technoleg

Mae In-Memory yn set o gysyniadau ar gyfer storio data pan gaiff ei storio yn RAM y rhaglen, a defnyddir y ddisg ar gyfer gwneud copi wrth gefn. Mewn dulliau clasurol, mae data'n cael ei storio ar ddisg a chof yn cael ei storio yn y storfa. Er enghraifft, mae cymhwysiad gwe gydag ôl-wyneb ar gyfer prosesu data yn gofyn amdano i'w storio: mae'n ei dderbyn, yn ei drawsnewid, ac mae llawer o ddata'n cael ei drosglwyddo dros y rhwydwaith. Yn In-Memory, anfonir cyfrifiadau at y data - i storio, lle cânt eu prosesu ac mae'r rhwydwaith yn llai llwythog.

Diolch i'w bensaernïaeth, mae In-Memory yn cyflymu mynediad data sawl gwaith, ac weithiau hyd yn oed gorchmynion maint, yn gyflymach. Er enghraifft, mae dadansoddwyr banc am weld mewn cais dadansoddol adroddiad ar fenthyciadau a gyhoeddwyd mewn dynameg yn ystod y dydd ar gyfer y flwyddyn ddiwethaf. Bydd y broses hon yn cymryd munudau ar DBMS clasurol, ond gydag In-Memory bydd yn ymddangos bron ar unwaith. Mae hyn oherwydd bod y dull yn caniatáu ichi storio llawer mwy o wybodaeth ac mae'n cael ei storio mewn RAM “wrth law”. Nid oes angen i'r rhaglen ofyn am ddata o'r gyriant caled, y mae ei argaeledd wedi'i gyfyngu gan gyflymder rhwydwaith a disg.

Pa bosibiliadau eraill sydd ar gael gydag In-Memory a pha fath o ddull yw hwn? Vladimir Pligin - peiriannydd yn GridGain. Bydd y deunydd adolygu hwn yn ddefnyddiol i ddatblygwyr cefn rhaglenni gwe nad ydynt wedi gweithio gydag In-Memory ac sydd am geisio, neu sydd â diddordeb mewn tueddiadau modern mewn datblygu meddalwedd a dylunio pensaernïaeth.

Nodyn. Mae'r erthygl yn seiliedig ar drawsgrifiad o adroddiad Vladimir yn y #GetIT Conf. Cyn cyflwyno hunan-ynysu, fe wnaethom gynnal cyfarfodydd a chynadleddau yn rheolaidd ar gyfer datblygwyr ym Moscow a St Petersburg: buom yn trafod tueddiadau, materion datblygu cyfredol, problemau a'u hatebion. Nid yw'n bosibl cynnal cynhadledd nawr, ond mae'n bryd rhannu deunyddiau defnyddiol o rai'r gorffennol.

Pwy sy'n defnyddio In-Memory a sut

Mae In-Memory yn cael ei ddefnyddio amlaf lle mae angen rhyngweithio cyflym gan ddefnyddwyr neu brosesu symiau mawr o ddata.

  • Banks defnyddio In-Memory, er enghraifft, i leihau oedi pan fydd cleientiaid yn defnyddio ceisiadau neu i ddadansoddi'r cleient cyn rhoi benthyciad.
  • Fintech yn defnyddio In-Memory i wella perfformiad gwasanaethau a chymwysiadau ar gyfer banciau sy'n allanoli prosesu a dadansoddi data. 
  • Cwmnïau yswiriant: cyfrifo risgiau, er enghraifft, trwy ddadansoddi data cwsmeriaid dros nifer o flynyddoedd.
  • Cwmnïau logisteg. Maent yn prosesu llawer o ddata, er enghraifft, i gyfrifo'r llwybrau gorau posibl ar gyfer cludo nwyddau a theithwyr gyda miloedd o baramedrau, ac olrhain statws cludo nwyddau.
  • Manwerthu. Mae atebion In-Memory yn helpu i wasanaethu cwsmeriaid yn gyflymach ac yn prosesu llawer iawn o wybodaeth: llwythi, anfonebau, trafodion, presenoldeb miloedd o nwyddau mewn warysau, a pharatoi adroddiadau dadansoddol.
  • В IOT Mae In-Memory yn disodli cronfeydd data traddodiadol.
  • Fferyllol mae cwmnïau'n defnyddio In-Memory, er enghraifft, i ddidoli trwy gyfuniadau o gyfansoddiadau cyffuriau. 

Byddaf yn dweud wrthych rai enghreifftiau o sut mae ein cleientiaid yn defnyddio atebion In-Memory a sut y gallwch chi eu gweithredu eich hun.

Yn y cof fel storfa gynradd

Mae un o'n cleientiaid yn gyflenwr mawr o offer meddygol gwyddonol o UDA. Maent yn defnyddio datrysiad In-Memory fel eu prif storfa ddata. Mae'r holl ddata yn cael ei storio ar ddisg, ac mae'r is-set o ddata a ddefnyddir yn weithredol yn cael ei gadw yn RAM. Mae'r dulliau mynediad storio yn safonol - GDBC (Generic Database Connector) ac iaith ymholiad SQL.

Pensaernïaeth cof ar gyfer gwasanaethau gwe: hanfodion ac egwyddorion technoleg

Gyda'i gilydd gelwir hyn yn Gronfa Ddata Mewn Cof (IMDB) neu'n Storio Cof sy'n Ganolog. Mae gan y dosbarth hwn o atebion lawer o enwau, nid dyma'r unig rai. 

Nodweddion IMDB:

  • Mae'r data sy'n cael ei storio yn In-Memory a'i gyrchu trwy SQL yr un fath ag mewn dulliau eraill. Maent yn cael eu cydamseru, dim ond y ffordd o gyflwyno, mae'r ffordd o fynd i'r afael â nhw yn wahanol. Mae trafodion yn gweithio rhwng data.

  • Mae IMDB yn gyflymach na chronfeydd data perthynol oherwydd ei bod yn gyflymach i adalw gwybodaeth o RAM nag o ddisg. 
  • Mae gan algorithmau optimeiddio mewnol lai o gyfarwyddiadau.
  • Mae IMDBs yn addas ar gyfer rheoli data, digwyddiadau a thrafodion mewn cymwysiadau.

Mae IMDBs yn cefnogi ACID yn rhannol: Atomigrwydd, Cysondeb ac Arwahanrwydd. Ond nid ydynt yn cefnogi “gwydnwch” - pan fydd y pŵer yn cael ei ddiffodd, mae'r holl ddata yn cael ei golli. I ddatrys y broblem, gallwch ddefnyddio cipluniau - "ciplun" o'r gronfa ddata, sy'n cyfateb i gronfa ddata wrth gefn ar yriant caled, neu gofnodi trafodion (logiau) i adfer data ar ôl ailgychwyn.

Creu cymwysiadau sy'n goddef diffygion

Gadewch i ni ddychmygu pensaernïaeth glasurol cymhwysiad gwe sy'n goddef diffygion. Mae'n gweithio fel hyn: mae pob cais yn cael ei ddosbarthu gan gydbwysedd gwe rhwng gweinyddwyr. Mae'r system hon yn sefydlog oherwydd bod y gweinyddion yn dyblygu ei gilydd ac yn gwneud copi wrth gefn rhag ofn y bydd digwyddiadau.

Pensaernïaeth cof ar gyfer gwasanaethau gwe: hanfodion ac egwyddorion technoleg

Mae'r balancer yn cyfeirio pob cais o un sesiwn yn llym i un gweinydd. Mecanwaith sesiwn ffon yw hwn: mae pob sesiwn yn gysylltiedig â gweinydd lle mae'n cael ei storio a'i phrosesu'n lleol. 

Beth sy'n digwydd pan fydd un o'r gweinyddwyr yn methu?

Pensaernïaeth cof ar gyfer gwasanaethau gwe: hanfodion ac egwyddorion technoleg

Ni fydd y gwasanaeth yn cael ei effeithio oherwydd bod y bensaernïaeth yn cael ei dyblygu. Ond byddwn yn colli is-set o sesiynau'r gweinydd marw. Ac ar yr un pryd, y defnyddwyr sydd ynghlwm wrth y sesiynau hyn. Er enghraifft, mae cleient yn gosod archeb ac yn sydyn yn ei daflu allan o'r swyddfa. Bydd yn anhapus pan fydd yn mewngofnodi eto ac yn gweld y bydd yn rhaid gwneud popeth eto.

Mae angen cymhwysiad gwe i gefnogi nifer fawr o ddefnyddwyr ac nid arafu fel y gallant weithio'n gyfforddus. Ond os caiff ei wrthod, gyda phob cais dilynol bydd yr amser y mae'n ei gymryd i gyfathrebu â'r storfa sesiwn yn cynyddu. Mae hyn yn cynyddu'r hwyrni cyfartalog ar gyfer defnyddwyr eraill. Ond nid ydynt am aros yn hwy nag y maent wedi arfer.

Gellir datrys y broblem hon fel ein cleient arall, darparwr PASS mawr o UDA. Mae'n defnyddio In-Memory i glystyru sesiynau gwe. I wneud hyn, mae'n eu storio nid yn lleol, ond yn ganolog - mewn clwstwr In-Memory. Yn yr achos hwn, mae sesiynau ar gael yn gynt o lawer oherwydd eu bod eisoes mewn RAM.

Pensaernïaeth cof ar gyfer gwasanaethau gwe: hanfodion ac egwyddorion technoleg

Pan fydd gweinydd yn damwain, mae'r balansydd yn anfon ceisiadau o'r gweinydd sydd wedi chwalu i weinyddion eraill, fel yn y bensaernïaeth glasurol. Ond mae gwahaniaeth pwysig: cedwir sesiynau mewn clwstwr Er cof ac mae gan y gweinyddwyr fynediad i sesiynau'r gweinydd syrthiedig.

Mae'r bensaernïaeth hon yn cynyddu goddefgarwch bai y system gyfan. Ar ben hynny, mae'n bosibl rhoi'r gorau i fecanwaith y sesiwn ffon yn gyfan gwbl.

Prosesu Dadansoddol Trafodol Hybrid (HTAP)

Yn nodweddiadol, cedwir systemau trafodaethol a dadansoddol ar wahân. Pan fyddant yn gwahanu, daw'r prif sylfaen dan lwyth. Ar gyfer prosesu dadansoddol, caiff data ei gopïo i replica fel nad yw prosesu dadansoddol yn ymyrryd â phrosesau trafodion. Ond mae copïo'n digwydd gydag oedi - mae'n amhosibl ei ddyblygu heb oedi. Os gwnawn hyn yn gydamserol, bydd hefyd yn arafu'r brif sylfaen ac ni chawn unrhyw enillion.

Yn HTAP, mae popeth yn gweithio'n wahanol - defnyddir yr un storfa ddata ar gyfer llwyth trafodion o geisiadau, ac ar gyfer ymholiadau dadansoddol a all gymryd amser hir i'w cwblhau. Pan fydd y data mewn RAM, mae ymholiadau dadansoddol yn cael eu gweithredu'n gyflymach, ac mae'r gweinydd gyda'r gronfa ddata yn llai llwythog (ar gyfartaledd).

Pensaernïaeth cof ar gyfer gwasanaethau gwe: hanfodion ac egwyddorion technoleg

Mae dull hybrid yn chwalu'r wal rhwng prosesu trafodion a dadansoddeg. Os byddwn yn cynnal dadansoddeg ar yr un storfa, yna mae ymholiadau dadansoddol yn cael eu lansio ar ddata o RAM. Maent yn llawer mwy cywir, yn fwy dehongliadwy a digonol.

Integreiddio atebion Mewn Cof

Ffordd (gymharol) syml - datblygu popeth o'r dechrau. Rydym yn cadw data ar ddisg ac yn storio data poeth yn y cof. Mae hyn yn helpu i oroesi ailgychwyn neu doriadau gweinydd.

Mae dwy brif senario ar waith yma pan fydd data'n cael ei storio ar ddisg. Yn y cyntaf, rydym am oroesi damweiniau neu reboots rheolaidd o'r clwstwr neu rannau - rydym am ei ddefnyddio fel cronfa ddata syml. Yn yr ail senario, pan fo gormod o ddata, mae rhywfaint ohono yn y cof.

Os nad yw'n bosibl adeiladu popeth o'r dechrau, mae'n bosibl integreiddio In-Memory i mewn i eisoes pensaernïaeth bresennol. Ond nid yw pob datrysiad In-Memory yn addas ar gyfer hyn. Mae tri amod gorfodol. Rhaid i'r datrysiad Mewn Cof gefnogi:

  • ffordd safonol o gysylltu â'r gronfa ddata a fydd wedi'i lleoli oddi tani (er enghraifft, MySQL);
  • iaith ymholiad safonol, er mwyn peidio ag ailysgrifennu a newid rhesymeg rhyngweithio â'r storfa;
  • trafodaethol - cadw semanteg rhyngweithio.

Os bodlonir y tri amod, yna mae integreiddio yn bosibl. Rydym yn gosod y Grid Data Mewn Cof rhwng y cais a'r gronfa ddata. Nawr bydd ceisiadau ysgrifennu yn cael eu dirprwyo i'r gronfa ddata sylfaenol, a bydd ceisiadau darllen yn cael eu dirprwyo i'r gronfa ddata sylfaenol os nad yw'r data yn y storfa.

Pensaernïaeth cof ar gyfer gwasanaethau gwe: hanfodion ac egwyddorion technoleg

Os yw mynediad cyflym at ddata a'i brosesu yn bwysig i chi, er enghraifft, ar gyfer dadansoddeg busnes, gallwch feddwl am weithredu In-Memory. Ac ar gyfer gweithredu, gallwch ddefnyddio'r ddau ddull wrth ddylunio pensaernïaeth newydd.

Ffynhonnell: hab.com

Ychwanegu sylw