{"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\/pl\/blog\/administrirovanie\/in-memory-arhitektura-dlya-veb-servisov-osnovy-tehnologii-i-princzipy","title":{"rendered":"Architektura in-memory dla us\u0142ug internetowych: podstawy technologii i zasady","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>In-Memory \u2014 zestaw koncepcji przechowywania danych, gdzie s\u0105 one przechowywane w pami\u0119ci operacyjnej aplikacji, a dysk s\u0142u\u017cy do backupu. W tradycyjnych podej\u015bciach dane s\u0105 przechowywane na dysku, a pami\u0119\u0107 pe\u0142ni funkcj\u0119 bufora. Na przyk\u0142ad, aplikacja internetowa z backendem do przetwarzania danych pobiera je z magazynu: otrzymuje, przekszta\u0142ca, a przez sie\u0107 przesy\u0142a du\u017c\u0105 ilo\u015b\u0107 danych. W In-Memory obliczenia s\u0105 przesy\u0142ane do danych \u2014 do magazynu, gdzie s\u0105 przetwarzane, przez co sie\u0107 jest mniej obci\u0105\u017cona.<\/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=\"Odtwarzaj wideo\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center>Dzi\u0119ki swojej architekturze, w In-Memory pr\u0119dko\u015b\u0107 dost\u0119pu do danych jest wielokrotnie szybsza, a czasami wr\u0119cz o rz\u0119dy. Na przyk\u0142ad, analitycy banku chc\u0105 spojrze\u0107 w aplikacji analitycznej na raport dotycz\u0105cy przyznanych kredyt\u00f3w w dynamicznym uj\u0119ciu dziennym za ubieg\u0142y rok. Ten proces w tradycyjnej bazie danych zajmie minuty, podczas gdy w In-Memory pojawi si\u0119 niemal natychmiast. Wszystko dlatego, \u017ce podej\u015bcie to pozwala na buforowanie znacznie wi\u0119kszej ilo\u015bci informacji, kt\u00f3re s\u0105 przechowywane w pami\u0119ci operacyjnej \u201ew zasi\u0119gu r\u0119ki\u201d. Aplikacja nie musi pobiera\u0107 danych z twardego dysku, kt\u00f3rych dost\u0119pno\u015b\u0107 ograniczona jest przez szybko\u015b\u0107 sieci i dysku.<\/p>\n<p>Jakie jeszcze mo\u017cliwo\u015bci daje In-Memory i na czym polega to podej\u015bcie, opowie <b>W\u0142adimir Pligin<\/b> \u2014 in\u017cynier w firmie GridGain. Ten przegl\u0105dowy materia\u0142 b\u0119dzie przydatny dla deweloper\u00f3w backendu aplikacji internetowych, kt\u00f3rzy nie pracowali z In-Memory i chc\u0105 spr\u00f3bowa\u0107, lub interesuj\u0105 si\u0119 nowoczesnymi trendami w rozwoju rozwi\u0105za\u0144 programowych i projektowaniu architektury.<\/p>\n<p><b>Uwaga<\/b>. Artyku\u0142 oparty jest na transkrypcji wyst\u0105pienia W\u0142adimira na konferencji #GetIT Conf. Przed wprowadzeniem izolacji spo\u0142ecznej regularnie organizowali\u015bmy spotkania i konferencje dla programist\u00f3w w Moskwie i Petersburgu: omawiali\u015bmy trendy, aktualne problemy w rozwoju, ich rozwi\u0105zania. Teraz nie mo\u017cna zorganizowa\u0107 konferencji, wi\u0119c to idealny czas, aby podzieli\u0107 si\u0119 przydatnymi materia\u0142ami z przesz\u0142o\u015bci.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Kto i jak wykorzystuje In-Memory<\/h2>\n<p>\nIn-Memory najcz\u0119\u015bciej wykorzystuje si\u0119 tam, gdzie wymagane jest szybkie interakcje z u\u017cytkownikiem lub przetwarzanie du\u017cych zbior\u00f3w danych.<\/p>\n<ul>\n<li><b>Banki<\/b> wykorzystuj\u0105 In-Memory, na przyk\u0142ad, aby zmniejszy\u0107 op\u00f3\u017anienia w dost\u0119pie do aplikacji przez klient\u00f3w lub do analizy klienta przed przyznaniem kredytu.\n<\/li>\n<li><b>Fintech<\/b> wykorzystuje In-Memory, aby poprawi\u0107 wydajno\u015b\u0107 us\u0142ug i aplikacji dla bank\u00f3w, kt\u00f3re zlecaj\u0105 przetwarzanie i analiz\u0119 danych na zewn\u0105trz.\u00a0\n<\/li>\n<li><b>Firmy ubezpieczeniowe<\/b>: do oceny ryzyk, na przyk\u0142ad analizuj\u0105c dane klienta z kilku lat.\n<\/li>\n<li><b>Firmy logistyczne<\/b>. Przetwarzaj\u0105 wiele danych, na przyk\u0142ad, aby oblicza\u0107 optymalne trasy transportu towar\u00f3w i pasa\u017cer\u00f3w z tysi\u0105cami parametr\u00f3w, \u015bledzi\u0107 status przesy\u0142ek.\n<\/li>\n<li><b>Handel detaliczny<\/b>. Rozwi\u0105zania In-Memory pomagaj\u0105 szybciej obs\u0142ugiwa\u0107 klient\u00f3w i przetwarza\u0107 du\u017ce ilo\u015bci informacji: dostawy, faktury, transakcje, dost\u0119pno\u015b\u0107 tysi\u0119cy produkt\u00f3w w magazynach, przygotowywa\u0107 raporty analityczne.\n<\/li>\n<li>W <b>IoT<\/b> In-Memory zast\u0119puje tradycyjne bazy danych.\n<\/li>\n<li><b>Firmy farmaceutyczne<\/b> u\u017cywaj\u0105 In-Memory, na przyk\u0142ad, do przeszukiwania kombinacji sk\u0142adu lek\u00f3w.\u00a0\n<\/li>\n<\/ul>\n<p>\nPrzedstawi\u0119 kilka przyk\u0142ad\u00f3w, jak nasi klienci wykorzystuj\u0105 rozwi\u0105zania In-Memory i jak mo\u017cesz je wdro\u017cy\u0107 u siebie.<\/p>\n<h3>In-Memory jako g\u0142\u00f3wne magazynowanie<\/h3>\n<p>\nJednym z naszych klient\u00f3w jest du\u017cy dostawca medycznego sprz\u0119tu naukowego z USA. U\u017cywaj\u0105 rozwi\u0105zania In-Memory jako g\u0142\u00f3wnego magazynu danych. Wszystkie dane s\u0105 przechowywane na dysku, a podzbi\u00f3r danych, kt\u00f3re s\u0105 aktywnie u\u017cywane, jest trzymany w pami\u0119ci operacyjnej. Metody dost\u0119pu do magazynu s\u0105 standardowe \u2013 GDBC (Generic Database Connector) oraz j\u0119zyk zapyta\u0144 SQL.<\/p>\n<p><img decoding=\"async\" alt=\"Architektura in-memory dla us\u0142ug internetowych: podstawy technologii i zasady\" src=\"\/wp-content\/uploads\/2020\/06\/b6dbb963d2157a7588199fe85ab78e11.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nWszystko razem nazywa si\u0119 In-Memory Database (IMDB) lub Memory-Centric Storage. Ta klasa rozwi\u0105za\u0144 ma wiele nazw, to nie s\u0105 jedyne.\u00a0<\/p>\n<p>Cechy IMDB:<\/p>\n<ul>\n<li>Dane, kt\u00f3re s\u0105 przechowywane w In-Memory i dost\u0119pne przez SQL, s\u0105 takie same jak w innych podej\u015bciach. S\u0105 synchronizowane, r\u00f3\u017cni si\u0119 jedynie spos\u00f3b ich prezentacji oraz spos\u00f3b dost\u0119pu. Mi\u0119dzy danymi dzia\u0142a transakcyjno\u015b\u0107.\n<\/li>\n<\/ul>\n<p><\/p>\n<ul>\n<li>IMDB dzia\u0142a szybciej ni\u017c relacyjne bazy danych, poniewa\u017c dost\u0119p do informacji z pami\u0119ci operacyjnej jest szybszy ni\u017c z dysku.\u00a0\n<\/li>\n<li>Wewn\u0119trzne algorytmy optymalizacji maj\u0105 mniej instrukcji.\n<\/li>\n<li>IMDB nadaj\u0105 si\u0119 do zarz\u0105dzania danymi, zdarzeniami i transakcjami w aplikacjach.\n<\/li>\n<\/ul>\n<p>\nIMDB cz\u0119\u015bciowo wspieraj\u0105 ACID: atomowo\u015b\u0107, sp\u00f3jno\u015b\u0107 i izolacj\u0119. Jednak nie wspieraj\u0105 \u00abtrwa\u0142o\u015bci\u00bb \u2014 przy zga\u015bni\u0119ciu zasilania wszystkie dane znikaj\u0105. Aby rozwi\u0105za\u0107 ten problem, mo\u017cna u\u017cywa\u0107 zrzut\u00f3w \u2014 \u00abzrzut\u00bb bazy danych, analogiczny do kopii zapasowej bazy danych na dysku twardym, lub rejestrowa\u0107 transakcje (logi), aby przywr\u00f3ci\u0107 dane po ponownym uruchomieniu.<\/p>\n<h3>Do tworzenia aplikacji odpornych na b\u0142\u0119dy<\/h3>\n<p>\nPrzedstawmy klasyczn\u0105 architektur\u0119 odpornego na awarie webowego aplikacji. Dzia\u0142a to tak: wszystkie zapytania s\u0105 rozdzielane przez balansator obci\u0105\u017cenia pomi\u0119dzy serwery. Ten system jest odporny, poniewa\u017c serwery duplikuj\u0105 si\u0119 nawzajem i zabezpieczaj\u0105 w przypadku incydent\u00f3w.<\/p>\n<p><img decoding=\"async\" alt=\"Architektura in-memory dla us\u0142ug internetowych: podstawy technologii i zasady\" src=\"\/wp-content\/uploads\/2020\/06\/86d363d25cf2c0ac3c5811f3458b2133.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBalansator kieruje wszystkie zapytania z jednej sesji \u015bci\u015ble do jednego serwera. To jest mechanizm sticky session: ka\u017cda sesja jest powi\u0105zana z <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pl\/server\/dts-shicago\/\"   title=\"serwera\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2876\">serwera<\/a>, w kt\u00f3rym jest lokalnie przechowywana i przetwarzana.\u00a0<\/p>\n<p>Co si\u0119 stanie, gdy jeden z <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pl\/server\/\"   title=\"serwer\u00f3w\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1498\">serwer\u00f3w<\/a>?<\/p>\n<p><img decoding=\"async\" alt=\"Architektura in-memory dla us\u0142ug internetowych: podstawy technologii i zasady\" src=\"\/wp-content\/uploads\/2020\/06\/414457e02812e8c087a1f2a24d8f5902.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Serwis nie ucierpi, poniewa\u017c architektura jest duplikowana. Ale stracimy podzbi\u00f3r sesji zmar\u0142ego serwera,<\/b>A tak\u017ce u\u017cytkownik\u00f3w, kt\u00f3rzy s\u0105 zwi\u0105zani z tymi sesjami. Na przyk\u0142ad klient sk\u0142ada zam\u00f3wienie i nagle zostaje wyrzucony z panelu. B\u0119dzie niezadowolony, gdy ponownie si\u0119 zaloguje i odkryje, \u017ce musi wszystko za\u0142atwia\u0107 od nowa.<\/p>\n<p>Od webowego aplikacji wymaga si\u0119, aby obs\u0142ugiwa\u0142a du\u017c\u0105 liczb\u0119 u\u017cytkownik\u00f3w i nie \"spowalnia\u0142a\", aby by\u0142o im wygodnie pracowa\u0107. Ale przy awarii, z ka\u017cdym kolejnym zapytaniem czas do komunikacji z magazynem sesji b\u0119dzie coraz d\u0142u\u017cszy. To zwi\u0119ksza \u015brednie op\u00f3\u017anienie (latency) dla pozosta\u0142ych u\u017cytkownik\u00f3w. Ale nie chc\u0105 czeka\u0107 d\u0142u\u017cej, ni\u017c s\u0105 przyzwyczajeni.<\/p>\n<p>Ten problem mo\u017cna rozwi\u0105za\u0107, jak inny nasz klient \u2014 du\u017cy dostawca PASS z USA. U\u017cywa In-Memory, aby zgrupowa\u0107 sesje webowe. W tym celu przechowuje je nie lokalnie, a centralnie \u2014 w klastrze In-Memory. W takim przypadku sesje s\u0105 dost\u0119pne znacznie szybciej, poniewa\u017c znajduj\u0105 si\u0119 w pami\u0119ci operacyjnej.<\/p>\n<p><img decoding=\"async\" alt=\"Architektura in-memory dla us\u0142ug internetowych: podstawy technologii i zasady\" src=\"\/wp-content\/uploads\/2020\/06\/9569a62570288e1e9ec8a9af01fb42dc.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nGdy serwer pada, balansator wysy\u0142a zapytania zmar\u0142ego na inne serwery, podobnie jak w klasycznej architekturze. Ale istnieje istotna r\u00f3\u017cnica: <b>sesje s\u0105 przechowywane w klastrze In-Memory<\/b> i serwery maj\u0105 dost\u0119p do sesji zmar\u0142ego serwera.<\/p>\n<p>Taka architektura zwi\u0119ksza odporno\u015b\u0107 ca\u0142ego systemu. Co wi\u0119cej, mo\u017cna ca\u0142kowicie zrezygnowa\u0107 z mechanizmu sticky session.<\/p>\n<h3>Hybrydowe przetwarzanie transakcyjno-analityczne (HTAP)<\/h3>\n<p>\nZazwyczaj systemy transakcyjne i analityczne s\u0105 oddzielane. Gdy s\u0105 rozdzielone, g\u0142\u00f3wna baza danych jest obci\u0105\u017cona. Aby przeprowadza\u0107 przetwarzanie analityczne, dane s\u0105 kopiowane do repliki, aby procesy analityczne nie zak\u0142\u00f3ca\u0142y proces\u00f3w transakcyjnych. Kopiowanie odbywa si\u0119 jednak z op\u00f3\u017anieniem \u2014 nie mo\u017cna replikowa\u0107 bez op\u00f3\u017anienia. Je\u015bli b\u0119dziemy to robi\u0107 synchronicznie, to r\u00f3wnie\u017c spowolni g\u0142\u00f3wn\u0105 baz\u0119 i nie uzyskamy \u017cadnych korzy\u015bci.<\/p>\n<p>W HTAP wszystko dzia\u0142a inaczej \u2014 to samo repozytorium danych jest u\u017cywane dla obci\u0105\u017cenia transakcyjnego z aplikacji oraz dla zapyta\u0144 analitycznych, kt\u00f3re mog\u0105 trwa\u0107 d\u0142ugo. Gdy dane s\u0105 w pami\u0119ci operacyjnej, zapytania analityczne s\u0105 realizowane szybciej, a serwer bazy danych jest mniej obci\u0105\u017cony (\u015brednio).<\/p>\n<p><img decoding=\"async\" alt=\"Architektura in-memory dla us\u0142ug internetowych: podstawy technologii i zasady\" src=\"\/wp-content\/uploads\/2020\/06\/0ae5ca63b8bca13eeb169cbfb01ab699.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHybrdowe podej\u015bcie \u201e\u0142amie mur\u201d mi\u0119dzy przetwarzaniem transakcji a analiz\u0105. Gdy wykonujemy analityk\u0119 na tym samym repozytorium, zapytania analityczne s\u0105 uruchamiane na danych z pami\u0119ci operacyjnej. S\u0105 one znacznie bardziej precyzyjne, \u0142atwiejsze do interpretacji i adekwatne.<\/p>\n<h2>Integracja rozwi\u0105za\u0144 In-Memory<\/h2>\n<p>\nProsty (wzgl\u0119dnie) spos\u00f3b \u2014\u00a0<b>opracowa\u0107 wszystko od zera<\/b>. Przechowujemy dane na dysku, a te najwa\u017cniejsze w pami\u0119ci. To pomaga przetrwa\u0107 ponowne uruchomienia serwer\u00f3w lub ich awarie.<\/p>\n<p>Dzia\u0142aj\u0105 tutaj dwa g\u0142\u00f3wne scenariusze, gdy dane s\u0105 przechowywane na dysku. W pierwszym przypadku chcemy przetrwa\u0107 awarie lub planowe ponowne uruchomienia klastra lub jego cz\u0119\u015bci \u2014 chcemy u\u017cywa\u0107 go jak podstawowej bazy danych. W drugim scenariuszu, gdy danych jest zbyt du\u017co, jaka\u015b ich cz\u0119\u015b\u0107 znajduje si\u0119 w pami\u0119ci.<\/p>\n<p>Je\u015bli nie ma mo\u017cliwo\u015bci zbudowania wszystkiego od podstaw, mo\u017cna zintegrowa\u0107 In-Memory w ju\u017c <b>istniej\u0105c\u0105 architektur\u0119<\/b>. Ale nie wszystkie rozwi\u0105zania In-Memory s\u0105 do tego odpowiednie. Istniej\u0105 trzy obowi\u0105zkowe warunki. Rozwi\u0105zanie In-Memory musi wspiera\u0107:<\/p>\n<ul>\n<li>standardowy spos\u00f3b \u0142\u0105czenia z baz\u0105, kt\u00f3ra b\u0119dzie znajdowa\u0107 si\u0119 pod nim (na przyk\u0142ad MySQL);\n<\/li>\n<li>standardowy j\u0119zyk zapyta\u0144, aby nie przepisywa\u0107 ani nie zmienia\u0107 logiki interakcji z repozytorium;\n<\/li>\n<li>transakcyjno\u015b\u0107 \u2014 zachowywa\u0107 semantyk\u0119 interakcji.\n<\/li>\n<\/ul>\n<p>\nJe\u015bli wszystkie trzy warunki s\u0105 spe\u0142nione, to integracja jest mo\u017cliwa. Umieszczamy In-Memory Data Grid mi\u0119dzy aplikacj\u0105 a baz\u0105. Teraz zapytania o zapis b\u0119d\u0105 delegowane do ni\u017cszej bazy, a zapytania o odczyt \u2014 do bazy, je\u015bli danych brakuje w pami\u0119ci podr\u0119cznej.<\/p>\n<p><img decoding=\"async\" alt=\"Architektura in-memory dla us\u0142ug internetowych: podstawy technologii i zasady\" src=\"\/wp-content\/uploads\/2020\/06\/98edd440297e3b28aeae3326dc7fe3ef.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<blockquote><p>Je\u015bli szybki dost\u0119p do danych i ich przetwarzanie jest dla Ciebie wa\u017cne, na przyk\u0142ad do analizy biznesowej \u2014 warto rozwa\u017cy\u0107 wdro\u017cenie In-Memory. Przy projektowaniu nowej architektury mo\u017cesz wykorzysta\u0107 obie metody.<\/p><\/blockquote>\n<p>\u0179r\u00f3d\u0142o: <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.1.1 - 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\/pl\/blog\/administrirovanie\/in-memory-arhitektura-dlya-veb-servisov-osnovy-tehnologii-i-princzipy\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\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\/pl\/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 dla serwis\u00f3w internetowych: podstawy technologii i zasady | ProHoster","description":"In-Memory to zestaw koncepcji przechowywania danych, gdzie s\u0105 one zapisywane w pami\u0119ci operacyjnej aplikacji, a dysk s\u0142u\u017cy jako kopia zapasowa. W klasycznych podej\u015bciach dane przechowywane s\u0105 na dysku, a pami\u0119\u0107 dzia\u0142a jako cache.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/in-memory-arhitektura-dlya-veb-servisov-osnovy-tehnologii-i-princzipy","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","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\/pl\/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\/pl\/wp-json\/wp\/v2\/posts\/84755","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=84755"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/84755\/revisions"}],"predecessor-version":[{"id":160156,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/84755\/revisions\/160156"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media\/84756"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=84755"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=84755"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=84755"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}