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.
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.
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.
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?
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.
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).
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.
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