In-memory dhizaini yewebhu masevhisi: tekinoroji yakakosha uye nheyo

In-Memory seti yemafungiro ekuchengetedza data kana yachengetwa mu RAM yekushandisa, uye dhisiki rinoshandiswa kuchengetedza. Mune maitiro echinyakare, data inochengetwa pa diski uye ndangariro inochengetwa mu cache. Semuenzaniso, web application ine backend yekugadzirisa data inoikumbira mukuchengetedza: inoigamuchira, inoshandura, uye yakawanda data inotamiswa pamusoro petiweki. MuIn-Memory, kuverenga kunotumirwa kune data - kukuchengetedza, kwavanogadziriswa uye network haina kuremerwa.

Nekuda kwekuvaka kwayo, In-Memory inomhanyisa kuwana data kakawanda, uye dzimwe nguva kunyangwe maodha ehukuru, nekukurumidza. Semuyenzaniso, vaongorori vebhanga vanoda kuona muchirongwa chekuongorora shumo pamusoro pezvikwereti zvakapihwa musimba nezuva regore rapfuura. Izvi zvinotora maminetsi pane yekirasi DBMS, asi neIn-Memory ichaonekwa nekukurumidza. Izvi zvinodaro nekuti iyo nzira inobvumidza iwe kuti uchengete ruzivo rwakawanda uye inochengetwa muRAM "padyo". Iko kushandiswa hakudi kukumbira data kubva kune hard drive, kuwanikwa kwayo kunogumira netiweki uye disk kumhanya.

Ndeapi mamwe mikana anowanikwa neIn-Memory uye rudzii rwemaitiro aya? Vladimir Pligin - injiniya kuGridGain. Ichi chinyorwa chekuongorora chichabatsira kune web application backend vagadziri vasina kushanda neIn-Memory uye vanoda kuedza, kana vanofarira maitiro emazuva ano mukuvandudza software uye dhizaini yekuvaka.

taura pfungwa. Chinyorwa chacho chakavakirwa pane chinyorwa chechirevo chaVladimir pa #GetIT Conf. Pamberi pekutanga kwekuzviparadzanisa nevamwe, taigara tichiita misangano uye misangano yevagadziri muMoscow neSt. Hazvigoneke kuita musangano izvozvi, asi inguva yekugovana zvinhu zvinobatsira kubva kune zvakapfuura.

Ndiani anoshandisa In-Memory uye sei

In-Memory ndiyo inonyanya kushandiswa apo kukurumidza kushandiswa kwevashandisi kana kugadzirisa kwehuwandu hwe data kunodiwa.

  • Mabhangi shandisa In-Memory, semuenzaniso, kuderedza kunonoka apo vatengi vanoshandisa zvikumbiro kana kuongorora mutengi vasati vapa chikwereti.
  • Fintech inoshandisa In-Memory kuvandudza mashandiro emasevhisi uye manyorerwo emabhangi ayo anoburitsa data kugadzirisa uye kuongorora. 
  • Makambani einishuwarenzi: kuverenga njodzi, semuenzaniso, nekuongorora data revatengi mumakore akati wandei.
  • Logistics makambani. Ivo vanogadzira data rakawanda, semuenzaniso, kuverenga nzira dzakakwana dzekutakura uye kutakura vatyairi nezviuru zvema paramita, uye kuteedzera mamiriro ekutakura.
  • Retail. In-Memory mhinduro dzinobatsira kushandira vatengi nekukurumidza uye kugadzirisa mavhoriyamu makuru eruzivo: kutumira, invoice, kutengeserana, kuvapo kwezviuru zvezvinhu mumatura, uye kugadzirira mishumo yekuongorora.
  • Π’ IoT In-Memory inotsiva zvechinyakare dhatabhesi.
  • Pharmaceutical makambani anoshandisa In-Memory, semuenzaniso, kuronga kuburikidza nemusanganiswa wezviumbwa zvezvinodhaka. 

Ini ndichakuudza mienzaniso mishoma yekuti vatengi vedu vanoshandisa sei In-Memory mhinduro uye kuti iwe unogona sei kuzviita iwe pachako.

In-Memory seyekutanga kuchengetedza

Mumwe wevatengi vedu mutengesi mukuru wemidziyo yesainzi yekurapa kubva kuUSA. Ivo vanoshandisa In-Memory mhinduro seyavo huru yekuchengetedza data. Yese data inochengetwa padhisiki, uye iyo subset yedata inoshandiswa zvakanyanya inochengetwa muRAM. Nzira dzekuwana dzekuchengetera dzakajairwa - GDBC (Generic Database Connector) uye SQL mutauro wemubvunzo.

In-memory dhizaini yewebhu masevhisi: tekinoroji yakakosha uye nheyo

Pamwe chete izvi zvinonzi In-Memory Database (IMDB) kana Memory-Centric Storage. Iyi kirasi yemhinduro ine mazita akawanda, aya haasi iwo ega. 

IMDB Zvimiro:

  • Iyo data inochengetwa muIn-Memory uye inowanikwa kuburikidza neSQL yakafanana mune dzimwe nzira. Iwo anowiriraniswa, chete nzira yekuratidzira, nzira yekutaura nayo yakasiyana. Transactionality inoshanda pakati pe data.

  • IMDB inokurumidza kupfuura dhatabhesi rehukama nekuti inokurumidza kutora ruzivo kubva kuRAM pane kubva kudhisiki. 
  • Internal optimization algorithms ane mirairo mishoma.
  • IMDBs dzakakodzera kubata data, zviitiko uye kutengeserana mumashandisirwo.

IMDBs inotsigira zvishoma ACID: Atomicity, Consistency, uye Isolation. Asi ivo havatsigire "kugara" - kana simba radzimwa, data rese rinorasika. Kuti ugadzirise dambudziko, unogona kushandisa snapshots - "snapshot" yedhatabhesi, inofananidzira kune yekuchengetedza dhatabhesi pane hard drive, kana kurekodha kutengeserana (logs) kudzoreredza data mushure mekutangazve.

Kugadzira zvikumbiro zvinoshivirira kukanganisa

Ngatimbofungidzirai dhizaini yezvivakwa zvewebhu inoshivirira kukanganisa. Inoshanda seizvi: zvikumbiro zvese zvinogoverwa newebhu balancer pakati pemaseva. Iyi sisitimu yakagadzikana nekuti maseva anoteedzerana uye anotsigira kana zviitiko.

In-memory dhizaini yewebhu masevhisi: tekinoroji yakakosha uye nheyo

Iyo balancer inotungamira zvese zvikumbiro kubva kune imwe sesheni zvakaringana kune imwe server. Iyi idhizaini yechirongwa chetsvimbo: chikamu chega chega chinosanganiswa nesevha iyo inochengeterwa munharaunda nekugadziriswa. 

Chii chinoitika kana imwe sevha ikatadza?

In-memory dhizaini yewebhu masevhisi: tekinoroji yakakosha uye nheyo

Iyo sevhisi haizokanganiswe nekuti iyo dhizaini inodzokororwa. Asi isu ticharasikirwa nechikamu cheiyo yakafa server masesheni. Uye panguva imwecheteyo, vashandisi vakasungirirwa kune izvi zvikamu. Semuenzaniso, mutengi anoisa odha uye kamwe kamwe anomukanda kunze kwehofisi. Achange asina mufaro paanopinda zvakare uye anoona kuti zvinhu zvose zvinofanira kuitwa zvakare.

Chishandiso chewebhu chinodiwa kutsigira nhamba huru yevashandisi uye kwete kunonoka kuitira kuti vashande zvakanaka. Asi kana zvikarambwa, nechikumbiro chega chega chinotevera nguva yainotora kutaurirana nechitoro chechikamu ichawedzera. Izvi zvinowedzera avhareji latency yevamwe vashandisi. Asi havadi kumirira kwenguva yakareba kupfuura zvavakajaira.

Dambudziko iri rinogona kugadziriswa semumwe mutengi wedu, hombe PASS mupi kubva kuUSA. Inoshandisa In-Memory kuunganidza mawebhusaiti. Kuti uite izvi, inovachengeta kwete munharaunda, asi nechepakati - muIn-Memory cluster. Muchiitiko ichi, zvikamu zvinowanikwa nekukurumidza nekuti dzatove muRAM.

In-memory dhizaini yewebhu masevhisi: tekinoroji yakakosha uye nheyo

Kana sevha ikaparara, muyero anotumira zvikumbiro kubva kune yakaputsika sevha kune mamwe maseva, sezvakaita mukirasi yekuvaka. Asi pane musiyano unokosha: zvikamu zvinochengetwa muIn-Memory cluster uye maseva anokwanisa kuwana masesheni eserver yakadonha.

Ichi chivakwa chinowedzera kukanganisa kushivirira kweiyo system yese. Uyezve, zvinokwanisika kusiya mashandiro echimuti zvachose.

Hybrid Transactional Analytical Processing (HTAP)

Kazhinji, transactional uye analytical masisitimu anochengetwa akaparadzana. Pavanoparadzana, nheyo huru inouya pasi pemutoro. Pakugadziriswa kwekuongorora, data inokopwa kune replica kuitira kuti analytical process irege kukanganisa maitiro ekutengeserana. Asi kukopa kunoitika nekunonoka-hazvibviri kudzokorora pasina lag. Kana isu tikaita izvi synchronously, zvinozononotsa iyo huru base uye isu hatizowana chero winnings.

MuHTAP, zvese zvinoshanda zvakasiyana - iyo dhata dhata imwe chete inoshandiswa kutakurisa mutoro kubva kune maapplication, uye kune yekuongorora mibvunzo inogona kutora nguva yakareba kuti ipere. Kana iyo data iri mu RAM, mibvunzo yekuongorora inoitwa nekukurumidza, uye sevha ine dhatabhesi haina kuremerwa (paavhareji).

In-memory dhizaini yewebhu masevhisi: tekinoroji yakakosha uye nheyo

Nzira yakasanganiswa inoputsa madziro pakati pekutengeserana kugadzirisa uye analytics. Kana tikaita analytics pane imwechete yekuchengetedza, ipapo mibvunzo yekuongorora inotangwa pane data kubva ku RAM. Iwo akanyanya kururama, anodudzira zvakanyanya uye akakwana.

Kubatanidzwa kweIn-Memory mhinduro

A (zvishoma) nzira iri nyore - gadzira zvese kubva pakutanga. Isu tinochengeta data pane dhisiki uye tinochengeta inopisa data mundangariro. Izvi zvinobatsira kupona server reboots kana kubuda.

Pane maviri makuru mamiriro ekushanda pano kana data rakachengetwa padhisiki. Mune yekutanga, isu tinoda kupona nekukoromoka kana kugara kudzokororwa kwesumbu kana zvikamu - isu tinoda kuishandisa senge nyore dhatabhesi. Muchiitiko chechipiri, kana paine data rakawandisa, mamwe acho ari mundangariro.

Kana zvisingaite kuvaka zvese kubva pakutanga, zvinokwanisika kubatanidza In-Memory mune yatove. zvivakwa zviripo. Asi haasi ese e-In-Memory mhinduro akakodzera izvi. Pane zvinhu zvitatu zvinosungirwa. Iyo In-Memory mhinduro inofanirwa kutsigira:

  • nzira yakajairika yekubatanidza kune dhatabhesi ichave iri pasi payo (semuenzaniso, MySQL);
  • mutauro wemubvunzo wakajairwa, kuitira kuti urege kunyora zvakare uye kushandura pfungwa yekudyidzana nekuchengetedza;
  • kutengeserana - chengetedza semantics yekudyidzana.

Kana zvose zviri zvitatu zvakasangana, ipapo kubatanidzwa kunogoneka. Isu tinoisa iyo In-Memory Data Grid pakati pekushandisa uye dhatabhesi. Iye zvino nyora zvikumbiro zvichaendeswa kune iyo dhatabhesi yepasi, uye kuverenga zvikumbiro zvinozopihwa kune iri pasi dhatabhesi kana iyo data isiri mu cache.

In-memory dhizaini yewebhu masevhisi: tekinoroji yakakosha uye nheyo

Kana kukurumidza kuwana data uye kugadzirisa kwayo kwakakosha kwauri, semuenzaniso, kune bhizinesi analytics, unogona kufunga nezve kuita In-Memory. Uye kuti uite, unogona kushandisa nzira mbiri paunenge uchigadzira chivakwa chitsva.

Source: www.habr.com

Voeg