{"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\/pt\/blog\/administrirovanie\/in-memory-arhitektura-dlya-veb-servisov-osnovy-tehnologii-i-princzipy","title":{"rendered":"Arquitetura em mem\u00f3ria para servi\u00e7os web: fundamentos da tecnologia e princ\u00edpios","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>In-Memory \u2014 um conjunto de conceitos de armazenamento de dados em que eles s\u00e3o mantidos na mem\u00f3ria RAM da aplica\u00e7\u00e3o, enquanto o disco \u00e9 usado para backup. Em abordagens tradicionais, os dados s\u00e3o armazenados no disco e a mem\u00f3ria atua como cache. Por exemplo, um aplicativo web com backend para processamento de dados solicita esses dados do armazenamento: recebe, transforma e, ao longo da rede, trafega uma grande quantidade de informa\u00e7\u00f5es. No In-Memory, os c\u00e1lculos s\u00e3o enviados para os dados \u2013 no armazenamento, onde s\u00e3o processados, diminuindo a carga da rede.<\/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=\"Por que no hosting comum a administra\u00e7\u00e3o do PrestaShop \u00e9 lenta, e no seu n\u00e3o \u00e9?\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center>Gra\u00e7as \u00e0 sua arquitetura, o In-Memory proporciona um acesso aos dados muito mais r\u00e1pido, sendo v\u00e1rias vezes, ou at\u00e9 mesmo ordens de magnitude, mais veloz. Por exemplo, analistas de um banco desejam visualizar em um aplicativo de an\u00e1lise um relat\u00f3rio sobre os empr\u00e9stimos concedidos em din\u00e2mica di\u00e1ria do ano passado. Esse processo em um SGBD tradicional levaria minutos, enquanto que no In-Memory seria quase instant\u00e2neo. Isso acontece porque a abordagem permite armazenar muito mais informa\u00e7\u00f5es em cache, que ficam dispon\u00edveis na mem\u00f3ria RAM \"\u00e0 m\u00e3o\". O aplicativo n\u00e3o precisa solicitar dados ao disco r\u00edgido, cuja acessibilidade \u00e9 limitada pela velocidade da rede e do disco.<\/p>\n<p>Quais outras possibilidades est\u00e3o dispon\u00edveis com o In-Memory e que tipo de abordagem \u00e9 essa, ser\u00e1 explicado por <b>Vladimir Pligin<\/b> \u2014 engenheiro da empresa GridGain. Este material de revis\u00e3o ser\u00e1 \u00fatil para desenvolvedores de backend de aplicativos web que n\u00e3o trabalharam com In-Memory e desejam experimentar, ou que est\u00e3o interessados nas tend\u00eancias atuais de desenvolvimento de solu\u00e7\u00f5es de software e arquiteturas.<\/p>\n<p><b>Nota<\/b>. O artigo \u00e9 baseado na transcri\u00e7\u00e3o da palestra de Vladimir na confer\u00eancia #GetIT Conf. Antes da introdu\u00e7\u00e3o do isolamento social, costum\u00e1vamos realizar meetups e confer\u00eancias para desenvolvedores em Moscovo e S\u00e3o Petersburgo: discut\u00edamos tend\u00eancias, quest\u00f5es atuais de desenvolvimento, problemas e suas solu\u00e7\u00f5es. Agora, n\u00e3o podemos realizar confer\u00eancias, mas \u00e9 o momento perfeito para compartilhar materiais \u00fateis do passado.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Quem e como utiliza o In-Memory<\/h2>\n<p>\nO In-Memory \u00e9 mais utilizado onde a intera\u00e7\u00e3o r\u00e1pida com o usu\u00e1rio ou o processamento de grandes volumes de dados \u00e9 necess\u00e1rio.<\/p>\n<ul>\n<li><b>Bancos<\/b> usam In-Memory, por exemplo, para reduzir a lat\u00eancia ao usar aplicativos pelos clientes ou para an\u00e1lise de clientes antes da concess\u00e3o de cr\u00e9dito.\n<\/li>\n<li><b>Fintechs<\/b> usam In-Memory para melhorar o desempenho de servi\u00e7os e aplicativos banc\u00e1rios, que terceirizam o processamento e an\u00e1lise de dados.\u00a0\n<\/li>\n<li><b>Companhias de seguros<\/b>: para calcular riscos, por exemplo, analisando os dados do cliente ao longo de v\u00e1rios anos.\n<\/li>\n<li><b>Empresas log\u00edsticas<\/b>. Elas processam muitos dados, por exemplo, para calcular as rotas ideais para o transporte de cargas e passageiros com milhares de par\u00e2metros, monitorando o status das remessas.\n<\/li>\n<li><b>Varejo<\/b>. Solu\u00e7\u00f5es In-Memory ajudam a atender os clientes mais rapidamente e a processar grandes volumes de informa\u00e7\u00f5es: remessas, faturas, transa\u00e7\u00f5es, disponibilidade de milhares de produtos em estoque, gerando relat\u00f3rios anal\u00edticos.\n<\/li>\n<li>Em <b>IoT<\/b> In-Memory substitui bancos de dados tradicionais.\n<\/li>\n<li><b>Empresas farmac\u00eauticas<\/b> usam In-Memory, por exemplo, para testar combina\u00e7\u00f5es de insumos medicamentosos.\u00a0\n<\/li>\n<\/ul>\n<p>\nVou compartilhar alguns exemplos de como nossos clientes usam solu\u00e7\u00f5es In-Memory e como voc\u00ea pode implement\u00e1-las em sua empresa.<\/p>\n<h3>In-Memory como armazenamento principal<\/h3>\n<p>\nUm de nossos clientes \u00e9 um grande fornecedor de equipamentos m\u00e9dicos cient\u00edficos dos EUA. Eles usam a solu\u00e7\u00e3o In-Memory como armazenamento de dados principal. Todos os dados s\u00e3o armazenados no disco, enquanto um subconjunto de dados que \u00e9 ativado fica na mem\u00f3ria RAM. Os m\u00e9todos de acesso ao armazenamento s\u00e3o padr\u00e3o\u2014 GDBC (Generic Database Connector) e linguagem de consultas SQL.<\/p>\n<p><img decoding=\"async\" alt=\"Arquitetura em mem\u00f3ria para servi\u00e7os web: fundamentos da tecnologia e princ\u00edpios\" src=\"\/wp-content\/uploads\/2020\/06\/b6dbb963d2157a7588199fe85ab78e11.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTudo isso \u00e9 chamado de In-Memory Database (IMDB) ou Armazenamento Centrado na Mem\u00f3ria. Essa classe de solu\u00e7\u00f5es tem muitos nomes, n\u00e3o s\u00e3o os \u00fanicos.\u00a0<\/p>\n<p>Caracter\u00edsticas do IMDB:<\/p>\n<ul>\n<li>Os dados armazenados no In-Memory e acess\u00edveis via SQL s\u00e3o os mesmos que em outras abordagens. Eles est\u00e3o sincronizados, a \u00fanica diferen\u00e7a \u00e9 a forma de apresenta\u00e7\u00e3o e o modo de acess\u00e1-los. A transacionalidade opera entre os dados.\n<\/li>\n<\/ul>\n<p><\/p>\n<ul>\n<li>O IMDB \u00e9 mais r\u00e1pido do que os bancos de dados relacionais, pois acessar informa\u00e7\u00f5es da mem\u00f3ria RAM \u00e9 mais r\u00e1pido do que do disco.\u00a0\n<\/li>\n<li>Os algoritmos internos de otimiza\u00e7\u00e3o t\u00eam menos instru\u00e7\u00f5es.\n<\/li>\n<li>O IMDB \u00e9 adequado para gerenciar dados, eventos e transa\u00e7\u00f5es em aplica\u00e7\u00f5es.\n<\/li>\n<\/ul>\n<p>\nO IMDB suporta parcialmente ACID: atomicidade, consist\u00eancia e isolamento. Mas n\u00e3o suporta 'durabilidade' \u2014 ao desligar a energia, todos os dados se perdem. Para resolver esse problema, podem ser usados snapshots \u2014 'imagens' do banco de dados, semelhante a um backup do BD no disco r\u00edgido, ou registrar transa\u00e7\u00f5es (logs) para recuperar dados ap\u00f3s reinicializa\u00e7\u00e3o.<\/p>\n<h3>Para criar aplica\u00e7\u00f5es tolerantes a falhas<\/h3>\n<p>\nVamos apresentar a arquitetura cl\u00e1ssica de um aplicativo web com alta disponibilidade. Ela funciona assim: todas as solicita\u00e7\u00f5es s\u00e3o distribu\u00eddas por um balanceador de carga entre os servidores. Este sistema \u00e9 resistente, pois os servidores se duplicam e se protegem mutuamente em caso de incidentes.<\/p>\n<p><img decoding=\"async\" alt=\"Arquitetura em mem\u00f3ria para servi\u00e7os web: fundamentos da tecnologia e princ\u00edpios\" src=\"\/wp-content\/uploads\/2020\/06\/86d363d25cf2c0ac3c5811f3458b2133.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nO balanceador direciona todas as solicita\u00e7\u00f5es de uma sess\u00e3o para um \u00fanico servidor. Este \u00e9 o mecanismo de sticky sessions: cada sess\u00e3o \u00e9 vinculada a <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pt\/server\/dts-shicago\/\"   title=\"servidor\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"2876\">servidor<\/a>, onde \u00e9 armazenada e processada localmente.\u00a0<\/p>\n<p>O que acontecer\u00e1 quando um dos <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/pt\/server\/\"   title=\"servidores\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1498\">servidores<\/a>?<\/p>\n<p><img decoding=\"async\" alt=\"Arquitetura em mem\u00f3ria para servi\u00e7os web: fundamentos da tecnologia e princ\u00edpios\" src=\"\/wp-content\/uploads\/2020\/06\/414457e02812e8c087a1f2a24d8f5902.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Servi\u00e7os n\u00e3o ser\u00e1 afetado, pois a arquitetura \u00e9 redundante. Mas perderemos um subconjunto de sess\u00f5es do servidor que falhou<\/b>. E tamb\u00e9m os usu\u00e1rios que est\u00e3o vinculados a essas sess\u00f5es. Por exemplo, um cliente finaliza um pedido e, de repente, \u00e9 desconectado da sua conta. Ele ficar\u00e1 insatisfeito ao ter que se autorizar novamente e descobrir que precisa fazer tudo de novo.<\/p>\n<p>O aplicativo web precisa suportar um grande n\u00famero de usu\u00e1rios e n\u00e3o 'engasgar', para que seja confort\u00e1vel para eles trabalharem. Mas em caso de falha, a cada nova solicita\u00e7\u00e3o, o tempo de comunica\u00e7\u00e3o com o armazenamento de sess\u00f5es aumentar\u00e1. Isso aumenta a lat\u00eancia m\u00e9dia para os demais usu\u00e1rios. Mas eles n\u00e3o querem esperar mais do que est\u00e3o acostumados.<\/p>\n<p>Esse problema pode ser resolvido, como fez outro de nossos clientes \u2014 um grande provedor de PASS dos EUA. Ele utiliza In-Memory para clusterizar sess\u00f5es web. Para isso, armazena-as n\u00e3o localmente, mas de forma centralizada \u2014 em um cluster In-Memory. Nesse caso, as sess\u00f5es est\u00e3o dispon\u00edveis muito mais rapidamente, pois j\u00e1 est\u00e3o na mem\u00f3ria operacional.<\/p>\n<p><img decoding=\"async\" alt=\"Arquitetura em mem\u00f3ria para servi\u00e7os web: fundamentos da tecnologia e princ\u00edpios\" src=\"\/wp-content\/uploads\/2020\/06\/9569a62570288e1e9ec8a9af01fb42dc.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nQuando um servidor falha, o balanceador direciona as solicita\u00e7\u00f5es do servidor falhou para outros servidores, como na arquitetura cl\u00e1ssica. Mas h\u00e1 uma diferen\u00e7a importante: <b>as sess\u00f5es s\u00e3o armazenadas em um cluster In-Memory<\/b> e os servidores t\u00eam acesso \u00e0s sess\u00f5es do servidor que falhou.<\/p>\n<p>Essa arquitetura aumenta a resili\u00eancia de todo o sistema. Al\u00e9m disso, \u00e9 poss\u00edvel at\u00e9 mesmo abrir m\u00e3o do mecanismo de sticky sessions.<\/p>\n<h3>Processamento transacional-anal\u00edtico h\u00edbrido (HTAP)<\/h3>\n<p>\nNormalmente, sistemas transacionais e anal\u00edticos s\u00e3o mantidos separados. Quando eles s\u00e3o separados, a base de dados principal \u00e9 sobrecarregada. Para o processamento anal\u00edtico, os dados s\u00e3o copiados para uma r\u00e9plica, para que o processamento anal\u00edtico n\u00e3o interfira nos processos transacionais. No entanto, a c\u00f3pia ocorre com atraso \u2014 sem atraso, a replica\u00e7\u00e3o n\u00e3o \u00e9 poss\u00edvel. Se fizermos isso de forma s\u00edncrona, tamb\u00e9m ir\u00e1 desacelerar a base de dados principal, e n\u00e3o teremos ganhos.<\/p>\n<p>No HTAP, tudo funciona de maneira diferente \u2014 o mesmo reposit\u00f3rio de dados \u00e9 utilizado para a carga transacional dos aplicativos e para as consultas anal\u00edticas, que podem levar mais tempo para serem conclu\u00eddas. Quando os dados est\u00e3o na mem\u00f3ria, as consultas anal\u00edticas s\u00e3o executadas mais rapidamente, e o servidor com o banco de dados \u00e9 menos sobrecarregado (em m\u00e9dia).<\/p>\n<p><img decoding=\"async\" alt=\"Arquitetura em mem\u00f3ria para servi\u00e7os web: fundamentos da tecnologia e princ\u00edpios\" src=\"\/wp-content\/uploads\/2020\/06\/0ae5ca63b8bca13eeb169cbfb01ab699.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA abordagem h\u00edbrida \"quebra a barreira\" entre o processamento de transa\u00e7\u00f5es e a an\u00e1lise. Se realizamos a an\u00e1lise no mesmo reposit\u00f3rio, as consultas anal\u00edticas s\u00e3o executadas sobre dados que est\u00e3o na mem\u00f3ria. Elas s\u00e3o muito mais precisas, interpret\u00e1veis e adequadas.<\/p>\n<h2>Integra\u00e7\u00e3o de solu\u00e7\u00f5es In-Memory<\/h2>\n<p>\nUma forma (relativamente) simples \u2014\u00a0<b>desenvolver tudo do zero<\/b>. Mantemos os dados no disco, enquanto os dados quentes s\u00e3o armazenados na mem\u00f3ria. Isso ajuda a suportar reinicializa\u00e7\u00f5es de servidores ou quedas.<\/p>\n<p>Aqui, funcionam dois cen\u00e1rios principais, quando os dados s\u00e3o armazenados no disco. No primeiro, queremos suportar falhas ou reinicializa\u00e7\u00f5es planejadas do cluster ou de partes \u2014 queremos usar como um banco de dados simples. No segundo cen\u00e1rio, quando h\u00e1 muitos dados, parte deles fica na mem\u00f3ria.<\/p>\n<p>Se n\u00e3o h\u00e1 possibilidade de construir tudo do zero, \u00e9 poss\u00edvel integrar In-Memory na j\u00e1 <b>arquitetura existente<\/b>. Mas nem todas as solu\u00e7\u00f5es In-Memory s\u00e3o adequadas para isso. Existem tr\u00eas condi\u00e7\u00f5es obrigat\u00f3rias. A solu\u00e7\u00e3o In-Memory deve suportar:<\/p>\n<ul>\n<li>um m\u00e9todo padr\u00e3o de conex\u00e3o com o banco de dados que ficar\u00e1 abaixo dele (por exemplo, MySQL);\n<\/li>\n<li>uma linguagem de consulta padr\u00e3o, para n\u00e3o reescrever ou alterar a l\u00f3gica de intera\u00e7\u00e3o com o reposit\u00f3rio;\n<\/li>\n<li>transacionalidade \u2014 manter a sem\u00e2ntica da intera\u00e7\u00e3o.\n<\/li>\n<\/ul>\n<p>\nSe todas as tr\u00eas condi\u00e7\u00f5es forem atendidas, a integra\u00e7\u00e3o \u00e9 poss\u00edvel. Colocamos o In-Memory Data Grid entre o aplicativo e o banco de dados. Agora, as consultas de escrita ser\u00e3o delegadas para o banco de dados inferior, enquanto as consultas de leitura v\u00e3o para o banco de dados, caso os dados n\u00e3o estejam no cache.<\/p>\n<p><img decoding=\"async\" alt=\"Arquitetura em mem\u00f3ria para servi\u00e7os web: fundamentos da tecnologia e princ\u00edpios\" src=\"\/wp-content\/uploads\/2020\/06\/98edd440297e3b28aeae3326dc7fe3ef.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<blockquote><p>Se voc\u00ea valoriza o acesso r\u00e1pido a dados e seu processamento, por exemplo, para an\u00e1lise de neg\u00f3cios, pode considerar a implementa\u00e7\u00e3o de In-Memory. Para a implementa\u00e7\u00e3o, voc\u00ea pode usar ambas as abordagens ao projetar uma nova arquitetura.<\/p><\/blockquote>\n<p>Fonte: <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\/pt\/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=\"pt_PT\" \/>\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\/pt\/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\udd47Arquitetura In-memory para servi\u00e7os web: fundamentos da tecnologia e princ\u00edpios | ProHoster","description":"In-Memory \u00e9 um conjunto de conceitos de armazenamento de dados, onde eles s\u00e3o armazenados na mem\u00f3ria operacional do aplicativo, enquanto o disco \u00e9 usado para backup. Nos m\u00e9todos cl\u00e1ssicos, os dados s\u00e3o armazenados no disco e a mem\u00f3ria \u00e9 usada como cache.","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/in-memory-arhitektura-dlya-veb-servisov-osnovy-tehnologii-i-princzipy","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pt_PT","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\/pt\/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\/pt\/wp-json\/wp\/v2\/posts\/84755","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=84755"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/84755\/revisions"}],"predecessor-version":[{"id":160156,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/84755\/revisions\/160156"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/84756"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=84755"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=84755"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=84755"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}