{"id":84755,"date":"2020-06-10T13:43:01","date_gmt":"2020-06-10T11:43:01","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/in-memory-arhitektura-dlya-veb-servisov-osnovy-tehnologii-i-princzipy"},"modified":"2020-06-10T13:43:01","modified_gmt":"2020-06-10T11:43:01","slug":"in-memory-arhitektura-dlya-veb-servisov-osnovy-tehnologii-i-princzipy","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/in-memory-arhitektura-dlya-veb-servisov-osnovy-tehnologii-i-princzipy","title":{"rendered":"In-memory architektura pro webov\u00e9 slu\u017eby: z\u00e1klady technologie a principy","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>In-Memory \u2014 soubor koncept\u016f pro ukl\u00e1d\u00e1n\u00ed dat, kdy jsou data uchov\u00e1v\u00e1na v opera\u010dn\u00ed pam\u011bti aplikace, zat\u00edmco disk slou\u017e\u00ed pro z\u00e1lohu. V tradi\u010dn\u00edch p\u0159\u00edstupech jsou data ukl\u00e1d\u00e1na na disku a pam\u011b\u0165 slou\u017e\u00ed jako cache. Nap\u0159\u00edklad webov\u00e1 aplikace s backendem pro zpracov\u00e1n\u00ed dat po\u017eaduje tato data ze skladu: p\u0159ij\u00edm\u00e1, transformuje a p\u0159es s\u00ed\u0165 p\u0159en\u00e1\u0161\u00ed velk\u00e9 objemy dat. V In-Memory se v\u00fdpo\u010dty pos\u00edlaj\u00ed k dat\u016fm \u2014 do skladu, kde se zpracov\u00e1vaj\u00ed, a zat\u00ed\u017een\u00ed s\u00edt\u011b je men\u0161\u00ed.<\/p>\n<p><center><div class=\"youtube-placeholder\" data-id=\"NRMFcnROTA0\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/NRMFcnROTA0\/hqdefault.jpg\" alt=\"P\u0159ehr\u00e1t video\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center>D\u00edky sv\u00e9 architektu\u0159e je v In-Memory rychlost p\u0159\u00edstupu k dat\u016fm mnohon\u00e1sobn\u011b, a n\u011bkdy a\u017e ordina\u010dn\u011b, rychlej\u0161\u00ed. Nap\u0159\u00edklad analytici banky cht\u011bj\u00ed v analytick\u00e9 aplikaci zobrazit zpr\u00e1vu o poskytnut\u00fdch \u00fav\u011brech v dynamice podle dn\u00ed za minul\u00fd rok. Tento proces v klasick\u00e9 datab\u00e1zi zabere minuty, zat\u00edmco s In-Memory je v\u00fdsledkem t\u00e9m\u011b\u0159 okam\u017eit\u011b. Je to d\u00edky tomu, \u017ee p\u0159\u00edstup umo\u017e\u0148uje cache mnohem v\u00edce informac\u00ed, kter\u00e9 jsou uchov\u00e1v\u00e1ny v opera\u010dn\u00ed pam\u011bti \u201epo ruce\u201c. Aplikace nemus\u00ed \u017e\u00e1dat o data z tvrd\u00e9ho disku, jejich\u017e dostupnost je omezena rychlost\u00ed s\u00edt\u011b a disku.<\/p>\n<p>Jak\u00e9 dal\u0161\u00ed mo\u017enosti jsou k dispozici s In-Memory a co to za p\u0159\u00edstup, pov\u00ed <b>Vladimir Pligin<\/b> \u2014 in\u017een\u00fdr spole\u010dnosti GridGain. Tento p\u0159ehledov\u00fd materi\u00e1l bude u\u017eite\u010dn\u00fd pro v\u00fdvoj\u00e1\u0159e backendu webov\u00fdch aplikac\u00ed, kte\u0159\u00ed dosud nepracovali s In-Memory a cht\u011bj\u00ed to vyzkou\u0161et, nebo se zaj\u00edmaj\u00ed o modern\u00ed trendy v\u00fdvoje softwarov\u00fdch \u0159e\u0161en\u00ed a n\u00e1vrhu architektury.<\/p>\n<p><b>Pozn\u00e1mka<\/b>. \u010cl\u00e1nek je zalo\u017een na p\u0159episu p\u0159ednesen\u00ed Vladimira na konferenci #GetIT Conf. P\u0159ed zaveden\u00edm izolace jsme pravideln\u011b po\u0159\u00e1dali meetupy a konference pro v\u00fdvoj\u00e1\u0159e v Moskv\u011b a Petrohradu: diskutovali jsme o trendech, aktu\u00e1ln\u00edch ot\u00e1zk\u00e1ch v\u00fdvoje, probl\u00e9mech a jejich \u0159e\u0161en\u00edch. Nyn\u00ed nen\u00ed mo\u017en\u00e9 konference po\u0159\u00e1dat, ale je skv\u011bl\u00fd \u010das pod\u011blit se o u\u017eite\u010dn\u00e9 materi\u00e1ly z minulosti.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Kdo a jak pou\u017e\u00edv\u00e1 In-Memory<\/h2>\n<p>\nIn-Memory se nej\u010dast\u011bji pou\u017e\u00edv\u00e1 tam, kde je vy\u017eadov\u00e1na rychl\u00e1 interakce s u\u017eivateli nebo zpracov\u00e1n\u00ed velk\u00fdch objem\u016f dat.<\/p>\n<ul>\n<li><b>Banky<\/b> pou\u017e\u00edvaj\u00ed In-Memory nap\u0159\u00edklad k minimalizaci latence p\u0159i pou\u017e\u00edv\u00e1n\u00ed aplikac\u00ed klienty nebo k anal\u00fdze klient\u016f p\u0159ed poskytov\u00e1n\u00edm \u00fav\u011br\u016f.\n<\/li>\n<li><b>FinTech<\/b> pou\u017e\u00edv\u00e1 In-Memory k zlep\u0161en\u00ed v\u00fdkonu slu\u017eeb a aplikac\u00ed pro banky, kter\u00e9 deleguj\u00ed zpracov\u00e1n\u00ed a anal\u00fdzu dat na outsourcing.\u00a0\n<\/li>\n<li><b>Poji\u0161\u0165ovac\u00ed spole\u010dnosti<\/b>: pro hodnocen\u00ed rizik, nap\u0159\u00edklad anal\u00fdzou dat z\u00e1kazn\u00edka za n\u011bkolik let.\n<\/li>\n<li><b>Logistick\u00e9 spole\u010dnosti<\/b>. Zpracov\u00e1vaj\u00ed velk\u00e9 mno\u017estv\u00ed dat, nap\u0159\u00edklad pro v\u00fdpo\u010det optim\u00e1ln\u00edch tras n\u00e1kladn\u00ed a osobn\u00ed dopravy s tis\u00edci parametry, sledov\u00e1n\u00ed stavu z\u00e1silek.\n<\/li>\n<li><b>Maloobchod<\/b>. In-Memory \u0159e\u0161en\u00ed pom\u00e1haj\u00ed rychleji obsluhovat z\u00e1kazn\u00edky a zpracov\u00e1vat velk\u00e9 objemy informac\u00ed: expedice, faktury, transakce, dostupnost tis\u00edc\u016f produkt\u016f na skladech, p\u0159\u00edprava analytick\u00fdch zpr\u00e1v.\n<\/li>\n<li>V <b>IoT<\/b> In-Memory nahrazuje tradi\u010dn\u00ed datab\u00e1ze.\n<\/li>\n<li><b>Farmaceutick\u00e9<\/b> spole\u010dnosti pou\u017e\u00edvaj\u00ed In-Memory, nap\u0159\u00edklad pro zkoum\u00e1n\u00ed kombinac\u00ed slo\u017een\u00ed l\u00e9\u010div.\u00a0\n<\/li>\n<\/ul>\n<p>\nUvedu n\u011bkolik p\u0159\u00edklad\u016f, jak na\u0161i z\u00e1kazn\u00edci vyu\u017e\u00edvaj\u00ed In-Memory \u0159e\u0161en\u00ed a jak je m\u016f\u017eete implementovat u sebe.<\/p>\n<h3>In-Memory jako hlavn\u00ed \u00falo\u017ei\u0161t\u011b<\/h3>\n<p>\nJedn\u00edm z na\u0161ich klient\u016f je velk\u00fd dodavatel l\u00e9ka\u0159sk\u00e9ho v\u011bdeck\u00e9ho vybaven\u00ed z USA. Pou\u017e\u00edvaj\u00ed In-Memory \u0159e\u0161en\u00ed jako hlavn\u00ed \u00falo\u017ei\u0161t\u011b dat. V\u0161echna data jsou ulo\u017eena na disku, a podmno\u017eina dat, kter\u00e1 jsou aktivn\u011b pou\u017e\u00edv\u00e1na, je uchov\u00e1v\u00e1na v opera\u010dn\u00ed pam\u011bti. Metody p\u0159\u00edstupu k \u00falo\u017ei\u0161ti jsou standardn\u00ed \u2014 GDBC (Generic Database Connector) a dotazovac\u00ed jazyk SQL.<\/p>\n<p><img decoding=\"async\" alt=\"In-memory architektura pro webov\u00e9 slu\u017eby: z\u00e1klady technologie a principy\" src=\"\/wp-content\/uploads\/2020\/06\/b6dbb963d2157a7588199fe85ab78e11.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nV\u0161e dohromady se naz\u00fdv\u00e1 In-Memory Database (IMDB) nebo Memory-Centric Storage. Tato t\u0159\u00edda \u0159e\u0161en\u00ed m\u00e1 mnoho n\u00e1zv\u016f, to nejsou jedin\u00e9.\u00a0<\/p>\n<p>Vlastnosti IMDB:<\/p>\n<ul>\n<li>Data, kter\u00e1 jsou ulo\u017eena v In-Memory a dostupn\u00e1 p\u0159es SQL, jsou stejn\u00e1 jako v jin\u00fdch p\u0159\u00edstupech. Jsou synchronizov\u00e1na, li\u0161\u00ed se pouze zp\u016fsobem prezentace, zp\u016fsobem, jak se k nim dostat. Mezi daty funguje transak\u010dnost.\n<\/li>\n<\/ul>\n<p><\/p>\n<ul>\n<li>IMDB je rychlej\u0161\u00ed ne\u017e rela\u010dn\u00ed datab\u00e1ze, proto\u017ee z\u00edskat informace z opera\u010dn\u00ed pam\u011bti je rychlej\u0161\u00ed ne\u017e z disku.\u00a0\n<\/li>\n<li>Vnit\u0159n\u00ed optimaliza\u010dn\u00ed algoritmy maj\u00ed m\u00e9n\u011b instrukc\u00ed.\n<\/li>\n<li>IMDB jsou vhodn\u00e1 pro spr\u00e1vu dat, ud\u00e1lost\u00ed a transakc\u00ed v aplikac\u00edch.\n<\/li>\n<\/ul>\n<p>\nIMDB \u010d\u00e1ste\u010dn\u011b podporuj\u00ed ACID: atomaritu, konzistenci a izolaci. Ale nepodporuj\u00ed \u201etrvalost\u201c \u2014 p\u0159i v\u00fdpadku nap\u00e1jen\u00ed data ztr\u00e1c\u00ed. Pro vy\u0159e\u0161en\u00ed probl\u00e9mu lze pou\u017e\u00edvat snapshoty \u2014 \u201esn\u00edmek\u201c datab\u00e1ze, analogie z\u00e1lohy datab\u00e1ze na pevn\u00fd disk, nebo zapisovat transakce (logy), aby bylo mo\u017en\u00e9 po restartu obnovit data.<\/p>\n<h3>Pro vytv\u00e1\u0159en\u00ed odoln\u00fdch aplikac\u00ed<\/h3>\n<p>\nP\u0159edstavme si klasickou architekturu odoln\u00e9ho webov\u00e9ho aplikace. Funguje to takto: ve\u0161ker\u00e9 po\u017eadavky rozd\u011bluje webov\u00fd vyva\u017eova\u010d mezi servery. Tento syst\u00e9m je odoln\u00fd, proto\u017ee servery se navz\u00e1jem duplikuj\u00ed a zaji\u0161\u0165uj\u00ed se v p\u0159\u00edpad\u011b incident\u016f.<\/p>\n<p><img decoding=\"async\" alt=\"In-memory architektura pro webov\u00e9 slu\u017eby: z\u00e1klady technologie a principy\" src=\"\/wp-content\/uploads\/2020\/06\/86d363d25cf2c0ac3c5811f3458b2133.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nVyva\u017eova\u010d sm\u011b\u0159uje v\u0161echny po\u017eadavky z jedn\u00e9 relace striktn\u011b na jeden server. To je mechanismus sticky sessions: ka\u017ed\u00e1 relace je p\u0159i\u0159azena k <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/cs\/server\/dts-shicago\/\"   title=\"serveru\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2876\">serveru<\/a>, kde je m\u00edstn\u011b ulo\u017eena a zpracov\u00e1v\u00e1na.\u00a0<\/p>\n<p>Co se stane, kdy\u017e sel\u017ee jeden z <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/cs\/server\/\"   title=\"servery\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1498\">servery<\/a>?<\/p>\n<p><img decoding=\"async\" alt=\"In-memory architektura pro webov\u00e9 slu\u017eby: z\u00e1klady technologie a principy\" src=\"\/wp-content\/uploads\/2020\/06\/414457e02812e8c087a1f2a24d8f5902.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Slu\u017eba nebude posti\u017eena, proto\u017ee architektura je duplikov\u00e1na. Ale ztrat\u00edme podmno\u017einu relac\u00ed zem\u0159el\u00e9ho serveru<\/b>. A sou\u010dasn\u011b i u\u017eivatele, kte\u0159\u00ed jsou v\u00e1z\u00e1ni na tyto relace. Nap\u0159\u00edklad klient prov\u00e1d\u00ed objedn\u00e1vku a n\u00e1hle je vyhozen z \u00fa\u010dtu. Bude nespokojen, kdy\u017e se znovu p\u0159ihl\u00e1s\u00ed a zjist\u00ed, \u017ee v\u0161e mus\u00ed prov\u00e1d\u011bt je\u0161t\u011b jednou.<\/p>\n<p>Od webov\u00e9 aplikace se vy\u017eaduje, aby podporovala velk\u00e9 mno\u017estv\u00ed u\u017eivatel\u016f a nezpomalovala, aby bylo pro n\u011b pohodln\u00e9 pracovat. Ale v p\u0159\u00edpad\u011b selh\u00e1n\u00ed, s ka\u017ed\u00fdm dal\u0161\u00edm po\u017eadavkem se doba komunikace s \u00falo\u017ei\u0161t\u011bm relac\u00ed bude st\u00e1le zvy\u0161ovat. To zvy\u0161uje pr\u016fm\u011brnou latenci pro ostatn\u00ed u\u017eivatele. Ale necht\u011bj\u00ed \u010dekat d\u00e9le, ne\u017e jsou zvykl\u00ed.<\/p>\n<p>Tento probl\u00e9m lze vy\u0159e\u0161it, jako to ud\u011blal n\u00e1\u0161 dal\u0161\u00ed klient \u2014 velk\u00fd poskytovatel PASS ze Spojen\u00fdch st\u00e1t\u016f. Pou\u017e\u00edv\u00e1 In-Memory, aby zklasteroval webov\u00e9 relace. K tomu je neukl\u00e1d\u00e1 m\u00edstn\u011b, ale centralizovan\u011b \u2014 v In-Memory klastru. V tomto p\u0159\u00edpad\u011b jsou relace dostupn\u00e9 mnohem rychleji, proto\u017ee jsou ulo\u017eeny v opera\u010dn\u00ed pam\u011bti.<\/p>\n<p><img decoding=\"async\" alt=\"In-memory architektura pro webov\u00e9 slu\u017eby: z\u00e1klady technologie a principy\" src=\"\/wp-content\/uploads\/2020\/06\/9569a62570288e1e9ec8a9af01fb42dc.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKdy\u017e server sel\u017ee, vyva\u017eova\u010d pos\u00edl\u00e1 po\u017eadavky z padaj\u00edc\u00edho serveru na jin\u00e9 servery, stejn\u011b jako v klasick\u00e9 architektu\u0159e. Ale je zde d\u016fle\u017eit\u00e9 rozli\u0161en\u00ed: <b>relace jsou uchov\u00e1v\u00e1ny v In-Memory cloudu<\/b> a servery maj\u00ed p\u0159\u00edstup k relac\u00edm selh\u00e1vaj\u00edc\u00edho serveru.<\/p>\n<p>Takov\u00e1 architektura zvy\u0161uje odolnost cel\u00e9ho syst\u00e9mu. Nav\u00edc je mo\u017en\u00e9 \u00fapln\u011b se vzd\u00e1t mechanismu sticky sessions.<\/p>\n<h3>Hybridn\u00ed transak\u010dn\u011b-analytick\u00e9 zpracov\u00e1n\u00ed (HTAP)<\/h3>\n<p>\nObvykle jsou transak\u010dn\u00ed a analytick\u00e9 syst\u00e9my dr\u017eeny odd\u011blen\u011b. Kdy\u017e jsou odd\u011bleny, hlavn\u00ed datab\u00e1ze dost\u00e1v\u00e1 z\u00e1t\u011b\u017e. Pro analytick\u00e9 zpracov\u00e1n\u00ed se data kop\u00edruj\u00ed do repliky, aby analytick\u00e9 zpracov\u00e1n\u00ed nenaru\u0161ovalo transak\u010dn\u00ed procesy. Ale kop\u00edrov\u00e1n\u00ed prob\u00edh\u00e1 se zpo\u017ed\u011bn\u00edm \u2014 bez zpo\u017ed\u011bn\u00ed nen\u00ed replikace mo\u017en\u00e1. Pokud bychom to d\u011blali synchronn\u011b, zpomalilo by to tak\u00e9 hlavn\u00ed datab\u00e1zi, a \u017e\u00e1dn\u00fd zisk bychom nez\u00edskali.<\/p>\n<p>V HTAP to funguje jinak \u2014 stejn\u00e9 datov\u00e9 \u00falo\u017ei\u0161t\u011b se pou\u017e\u00edv\u00e1 pro transak\u010dn\u00ed z\u00e1t\u011b\u017e z aplikac\u00ed a pro analytick\u00e9 dotazy, kter\u00e9 mohou trvat del\u0161\u00ed dobu. Kdy\u017e jsou data ulo\u017eena v opera\u010dn\u00ed pam\u011bti, analytick\u00e9 dotazy se prov\u00e1d\u011bj\u00ed rychleji a server s datab\u00e1z\u00ed je m\u00e9n\u011b zat\u011b\u017eov\u00e1n (v pr\u016fm\u011bru).<\/p>\n<p><img decoding=\"async\" alt=\"In-memory architektura pro webov\u00e9 slu\u017eby: z\u00e1klady technologie a principy\" src=\"\/wp-content\/uploads\/2020\/06\/0ae5ca63b8bca13eeb169cbfb01ab699.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHybridn\u00ed p\u0159\u00edstup \"drt\u00ed ze\u010f\" mezi zpracov\u00e1n\u00edm transakc\u00ed a analytikou. Pokud prov\u00e1d\u00edme analytiku na stejn\u00e9m \u00falo\u017ei\u0161ti, analytick\u00e9 dotazy jsou spu\u0161t\u011bny na datech z opera\u010dn\u00ed pam\u011bti. Jsou mnohem p\u0159esn\u011bj\u0161\u00ed, l\u00e9pe interpretovateln\u00e9 a adekv\u00e1tn\u00ed.<\/p>\n<h2>Integrace In-Memory \u0159e\u0161en\u00ed<\/h2>\n<p>\nJednoduch\u00fd (relativn\u011b) zp\u016fsob \u2014\u00a0<b>vyvinout v\u0161e od nuly<\/b>. Dr\u017e\u00edme data na disku a hork\u00e9 uchov\u00e1v\u00e1me v pam\u011bti. To pom\u00e1h\u00e1 zvl\u00e1dat restartov\u00e1n\u00ed server\u016f nebo v\u00fdpadky.<\/p>\n<p>Zde funguj\u00ed dva hlavn\u00ed sc\u00e9n\u00e1\u0159e, kdy jsou data ulo\u017eena na disku. V prvn\u00edm sc\u00e9n\u00e1\u0159i chceme p\u0159e\u017e\u00edt p\u00e1dy nebo b\u011b\u017en\u00e9 restarty clusteru nebo jeho \u010d\u00e1st\u00ed \u2014 chceme pou\u017e\u00edt jako jednoduchou datab\u00e1zi. Ve druh\u00e9m sc\u00e9n\u00e1\u0159i, kdy je dat p\u0159\u00edli\u0161 mnoho, n\u011bjak\u00e1 \u010d\u00e1st z nich je v pam\u011bti.<\/p>\n<p>Pokud nen\u00ed mo\u017enost v\u0161e postavit od nuly, je mo\u017en\u00e9 integrovat In-Memory do ji\u017e <b>existuj\u00edc\u00ed architektury<\/b>. Ale ne v\u0161echna In-Memory \u0159e\u0161en\u00ed jsou k tomu vhodn\u00e1. Existuj\u00ed t\u0159i nezbytn\u00e9 podm\u00ednky. In-Memory \u0159e\u0161en\u00ed mus\u00ed podporovat:<\/p>\n<ul>\n<li>standardn\u00ed zp\u016fsob p\u0159ipojen\u00ed k datab\u00e1zi, kter\u00e1 bude pod n\u00edm (nap\u0159\u00edklad MySQL);\n<\/li>\n<li>standardn\u00ed jazyk dotaz\u016f, aby nebylo nutn\u00e9 p\u0159episovat a m\u011bnit logiku interakce s \u00falo\u017ei\u0161t\u011bm;\n<\/li>\n<li>transak\u010dnost \u2014 zachov\u00e1vat v\u00fdznam interakce.\n<\/li>\n<\/ul>\n<p>\nPokud jsou spln\u011bny v\u0161echny t\u0159i podm\u00ednky, je integrace mo\u017en\u00e1. Um\u00edst\u00edme In-Memory Data Grid mezi aplikaci a datab\u00e1zi. Nyn\u00ed budou dotazy na z\u00e1pis delegov\u00e1ny do pod\u0159\u00edzen\u00e9 datab\u00e1ze, a dotazy na \u010dten\u00ed \u2014 do datab\u00e1ze, pokud data nejsou v cache.<\/p>\n<p><img decoding=\"async\" alt=\"In-memory architektura pro webov\u00e9 slu\u017eby: z\u00e1klady technologie a principy\" src=\"\/wp-content\/uploads\/2020\/06\/98edd440297e3b28aeae3326dc7fe3ef.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<blockquote><p>Pokud je pro v\u00e1s d\u016fle\u017eit\u00fd rychl\u00fd p\u0159\u00edstup k dat\u016fm a jejich zpracov\u00e1n\u00ed, nap\u0159\u00edklad pro obchodn\u00ed anal\u00fdzu, m\u011bli byste uva\u017eovat o implementaci In-Memory. A k realizaci m\u016f\u017eete p\u0159i navrhov\u00e1n\u00ed nov\u00e9 architektury pou\u017e\u00edt oba zp\u016fsoby.<\/p><\/blockquote>\n<p>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/505792\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>In-Memory \u2014\u00a0\u043d\u0430\u0431\u043e\u0440 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0439 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0433\u0434\u0430 \u043e\u043d\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0430 \u0434\u0438\u0441\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0431\u044d\u043a\u0430\u043f\u0430. \u0412 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u043e\u0434\u0445\u043e\u0434\u0430\u0445 \u0434\u0430\u043d\u043d\u044b\u0435 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u043d\u0430 \u0434\u0438\u0441\u043a\u0435, \u0430 \u043f\u0430\u043c\u044f\u0442\u044c \u2014 \u0432 \u043a\u044d\u0448\u0435. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u0435\u0431-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0441 \u0431\u044d\u043a\u0435\u043d\u0434\u043e\u043c \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u0442 \u0438\u0445 \u0432 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435: \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442, \u0442\u0440\u0430\u043d\u0441\u0444\u043e\u0440\u043c\u0438\u0440\u0443\u0435\u0442, \u0430 \u043f\u043e \u0441\u0435\u0442\u0438 \u043f\u0435\u0440\u0435\u0433\u043e\u043d\u044f\u0435\u0442\u0441\u044f \u043c\u043d\u043e\u0433\u043e \u0434\u0430\u043d\u043d\u044b\u0445. \u0412 In-Memory \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043a \u0434\u0430\u043d\u043d\u044b\u043c \u2014\u00a0\u0432 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":84756,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-84755","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"In-Memory \u2014 \u043d\u0430\u0431\u043e\u0440 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0439 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0433\u0434\u0430 \u043e\u043d\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0430 \u0434\u0438\u0441\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0431\u044d\u043a\u0430\u043f\u0430. \u0412 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u043e\u0434\u0445\u043e\u0434\u0430\u0445 \u0434\u0430\u043d\u043d\u044b\u0435 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u043d\u0430 \u0434\u0438\u0441\u043a\u0435, \u0430 \u043f\u0430\u043c\u044f\u0442\u044c \u2014 \u0432 \u043a\u044d\u0448\u0435.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/in-memory-arhitektura-dlya-veb-servisov-osnovy-tehnologii-i-princzipy\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47In-memory \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0434\u043b\u044f \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432: \u043e\u0441\u043d\u043e\u0432\u044b \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0438 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u044b | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"In-Memory \u2014 \u043d\u0430\u0431\u043e\u0440 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0439 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0433\u0434\u0430 \u043e\u043d\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0430 \u0434\u0438\u0441\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0431\u044d\u043a\u0430\u043f\u0430. \u0412 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u043e\u0434\u0445\u043e\u0434\u0430\u0445 \u0434\u0430\u043d\u043d\u044b\u0435 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u043d\u0430 \u0434\u0438\u0441\u043a\u0435, \u0430 \u043f\u0430\u043c\u044f\u0442\u044c \u2014 \u0432 \u043a\u044d\u0448\u0435.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/in-memory-arhitektura-dlya-veb-servisov-osnovy-tehnologii-i-princzipy\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-06-10T11:43:01+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-06-10T11:43:01+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Architektura In-memory pro webov\u00e9 slu\u017eby: z\u00e1klady technologie a principy | ProHoster","description":"In-Memory je soubor koncept\u016f ukl\u00e1d\u00e1n\u00ed dat, kdy jsou ulo\u017eena v opera\u010dn\u00ed pam\u011bti aplikace, zat\u00edmco disk slou\u017e\u00ed pro z\u00e1lohov\u00e1n\u00ed. V klasick\u00fdch p\u0159\u00edstupech jsou data ulo\u017eena na disku a pam\u011b\u0165 slou\u017e\u00ed jako cache.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/in-memory-arhitektura-dlya-veb-servisov-osnovy-tehnologii-i-princzipy","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47In-memory \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0434\u043b\u044f \u0432\u0435\u0431-\u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432: \u043e\u0441\u043d\u043e\u0432\u044b \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0438 \u0438 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u044b | ProHoster","og:description":"In-Memory \u2014 \u043d\u0430\u0431\u043e\u0440 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u0439 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u043a\u043e\u0433\u0434\u0430 \u043e\u043d\u0438 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u044e\u0442\u0441\u044f \u0432 \u043e\u043f\u0435\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0430 \u0434\u0438\u0441\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0431\u044d\u043a\u0430\u043f\u0430. \u0412 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u043e\u0434\u0445\u043e\u0434\u0430\u0445 \u0434\u0430\u043d\u043d\u044b\u0435 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u043d\u0430 \u0434\u0438\u0441\u043a\u0435, \u0430 \u043f\u0430\u043c\u044f\u0442\u044c \u2014 \u0432 \u043a\u044d\u0448\u0435.","og:url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/in-memory-arhitektura-dlya-veb-servisov-osnovy-tehnologii-i-princzipy","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-06-10T11:43:01+00:00","article:modified_time":"2020-06-10T11:43:01+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"84755","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 14:51:43","updated":"2026-02-09 21:41:53","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/84755","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=84755"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/84755\/revisions"}],"predecessor-version":[{"id":160156,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/84755\/revisions\/160156"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media\/84756"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=84755"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=84755"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=84755"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}