{"id":52728,"date":"2019-11-15T00:00:00","date_gmt":"2019-11-14T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/data-mesh-kak-rabotat-s-dannymi-bez-monolita"},"modified":"2020-02-18T14:00:31","modified_gmt":"2020-02-18T11:00:31","slug":"data-mesh-kak-rabotat-s-dannymi-bez-monolita","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/data-mesh-kak-rabotat-s-dannymi-bez-monolita","title":{"rendered":"Data Mesh: como trabalhar com dados sem monolito","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ol\u00e1, Habr! Na Dodo Pizza Engineering, amamos dados (quem n\u00e3o ama hoje em dia?). Agora, vou contar como coletar todos os dados do universo Dodo Pizza e fornecer a qualquer funcion\u00e1rio da empresa acesso conveniente a esse vasto conjunto de dados. O desafio \u00e9: manter a calma da equipe de Data Engineering.<\/p>\n<p>\n<img decoding=\"async\" alt=\"Data Mesh: como trabalhar com dados sem monolito\" src=\"\/wp-content\/uploads\/2019\/11\/f796b2caaa9dce1ad5e5317dd7d79b16.jpeg\" style=\"display:block;margin: 0 auto;\" \/><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Como verdadeiros acumuladores, coletamos todas as informa\u00e7\u00f5es sobre o funcionamento das nossas pizzarias:<\/p>\n<p><\/p>\n<ul>\n<li>lembramos todos os pedidos dos usu\u00e1rios; <\/li>\n<li>sabemos quanto tempo levou para fazer a primeira pizza em Syktyvkar;<\/li>\n<li>vemos quanto tempo a pizza est\u00e1 esfriando na prateleira t\u00e9rmica em Voronezh agora mesmo; <\/li>\n<li>armazenamos dados sobre a baixa de produtos;<\/li>\n<li>e muito, muito mais. <\/li>\n<\/ul>\n<p><\/p>\n<p>Hoje, v\u00e1rias equipes est\u00e3o encarregadas de trabalhar com dados na Dodo Pizza, sendo uma delas a equipe de Data Engineering. Agora, temos a tarefa de fornecer a qualquer funcion\u00e1rio da empresa acesso conveniente a esse conjunto de dados. <\/p>\n<p><\/p>\n<p>Quando come\u00e7amos a pensar em como fazer isso e a discutir a tarefa, encontramos uma abordagem muito interessante para a gest\u00e3o de dados \u2013 <noindex><a rel=\"nofollow\" href=\"https:\/\/martinfowler.com\/articles\/data-monolith-to-mesh.html\">Data Mesh<\/a><\/noindex> (no link voc\u00ea encontrar\u00e1 um artigo incr\u00edvel). As ideias dele se encaixaram muito bem na nossa vis\u00e3o sobre como queremos construir nosso sistema. A seguir, nesta artigo, apresentaremos nossa reinterpreta\u00e7\u00e3o da abordagem e como vemos sua implementa\u00e7\u00e3o na Dodo Pizza Engineering.<\/p>\n<p><\/p>\n<h2 id=\"chto-my-imeem-v-vidu-pod-dannymi\">O que queremos dizer com \"dados\"<\/h2>\n<p><\/p>\n<p>Primeiro, vamos esclarecer o que entendemos por dados na Dodo Pizza Engineering:<\/p>\n<p><\/p>\n<ul>\n<li>Eventos que os servi\u00e7os enviam (temos um barramento comum constru\u00eddo com RabbitMQ);<\/li>\n<li>Registros dentro do banco de dados (para n\u00f3s \u00e9 MySQL e CosmosDB);<\/li>\n<li>Clickstream do aplicativo m\u00f3vel e do site.<\/li>\n<\/ul>\n<p><\/p>\n<p>Para que os neg\u00f3cios da Dodo Pizza possam utilizar esses dados e confiar neles, \u00e9 importante que as seguintes condi\u00e7\u00f5es sejam atendidas:<\/p>\n<p><\/p>\n<ul>\n<li><strong>Eles devem ser \u00edntegros.<\/strong> Devemos ter certeza de que n\u00e3o alteramos os dados durante seu processamento, armazenamento e exibi\u00e7\u00e3o. Se o neg\u00f3cio n\u00e3o puder confiar em nossos dados, n\u00e3o haver\u00e1 utilidade neles.<\/li>\n<li><strong>Eles devem ter um carimbo de data\/hora e n\u00e3o devem ser sobrescritos.<\/strong> Isso significa que, a qualquer momento, queremos ter a capacidade de retroceder e olhar os dados daquele per\u00edodo. Por exemplo, descobrir quantas pizzas foram vendidas em 8 de julho de 2018.<\/li>\n<li><strong>Eles devem ser confi\u00e1veis.<\/strong> Durante a coleta e armazenamento de dados, devemos n\u00e3o apenas manter a integridade, mas tamb\u00e9m a confiabilidade. N\u00e3o podemos perder dados, intervalos de tempo, porque com eles perdemos a confian\u00e7a de nossos clientes (tanto externos quanto internos).<\/li>\n<li><strong>Eles devem ter um esquema est\u00e1vel \u2013 escrevemos consultas para esses dados.<\/strong> N\u00e3o gostar\u00edamos que, com a mudan\u00e7a do c\u00f3digo do aplicativo e a refatora\u00e7\u00e3o, eles mudassem tanto que nossas consultas parassem de funcionar. Aqueles que escrevem consultas nunca saber\u00e3o que voc\u00ea fez refatora\u00e7\u00e3o at\u00e9 que tudo quebre completamente. N\u00e3o gostaria de descobrir isso atrav\u00e9s dos clientes.<\/li>\n<\/ul>\n<p><\/p>\n<p>Considerando todos esses requisitos, chegamos \u00e0 conclus\u00e3o de que os dados no Dodo s\u00e3o um produto. Assim como a API p\u00fablica do servi\u00e7o. Portanto, a equipe que possua os dados deve ser a mesma que possui o servi\u00e7o. Al\u00e9m disso, as altera\u00e7\u00f5es no esquema de dados devem ser sempre compat\u00edveis com vers\u00f5es anteriores.<\/p>\n<p><\/p>\n<h2 id=\"tradicionnyy-podhod--data-lake\">Abordagem tradicional \u2013 Data Lake<\/h2>\n<p><\/p>\n<p>Para resolver problemas de armazenamento e processamento confi\u00e1veis de grandes dados, existe uma abordagem tradicional adotada por muitas empresas que trabalham com esse volume de informa\u00e7\u00f5es \u2013 Data Lake. Dentro dessa abordagem, os engenheiros de dados coletam informa\u00e7\u00f5es de todos os componentes do sistema e as armazenam em um grande reposit\u00f3rio (pode ser, por exemplo, Hadoop, Azure Kusto, Apache Cassandra ou at\u00e9 mesmo uma r\u00e9plica do MySQL, se os dados couberem). <\/p>\n<p><\/p>\n<p>Em seguida, esses mesmos engenheiros escrevem consultas para esse reposit\u00f3rio. A implementa\u00e7\u00e3o dessa abordagem na engenharia do Dodo Pizza implica que a equipe de Data Engineering possua o esquema de dados no reposit\u00f3rio anal\u00edtico. <\/p>\n<p><\/p>\n<p>Nesse cen\u00e1rio, a equipe se torna muito triste e aqui est\u00e1 o porqu\u00ea:<\/p>\n<p><\/p>\n<ul>\n<li>Ela deve acompanhar as mudan\u00e7as em <strong>TODOS<\/strong> os servi\u00e7os dentro da empresa. E h\u00e1 muitos servi\u00e7os e muitas mudan\u00e7as (em m\u00e9dia, mesclamos ~100 pull requests por semana, sendo que muitos servi\u00e7os n\u00e3o fazem pull requests de forma alguma).<\/li>\n<li>Quando ocorre uma altera\u00e7\u00e3o no esquema de dados, o product owner e a equipe que altera o esquema de dados devem esperar at\u00e9 que a Data Engineering escreva o c\u00f3digo necess\u00e1rio para que as mudan\u00e7as sejam suportadas. E j\u00e1 faz tempo que estamos em uma situa\u00e7\u00e3o em que uma equipe espera pela outra \u2013 algo muito raro. E n\u00e3o queremos que isso se torne uma parte \u00abnormal\u00bb do processo de desenvolvimento.<\/li>\n<li>Ela deve estar imersa em <strong>TODAS <\/strong> neg\u00f3cio da empresa. A rede de pizzarias pode parecer um neg\u00f3cio simples, mas isso \u00e9 apenas uma impress\u00e3o. \u00c9 muito dif\u00edcil reunir em uma \u00fanica equipe as compet\u00eancias necess\u00e1rias para construir um modelo de dados adequado para toda a empresa.<\/li>\n<li>Ela \u00e9 o \u00fanico ponto de falha. Sempre que \u00e9 necess\u00e1rio modificar os dados que o servi\u00e7o retorna ou redigir uma consulta, todas essas tarefas recaem sobre a equipe de Engenharia de Dados. Como resultado, a equipe fica com um backlog sobrecarregado.<\/li>\n<\/ul>\n<p><\/p>\n<blockquote><p>Assim, a equipe se encontra em uma interse\u00e7\u00e3o de muitas necessidades e dificilmente conseguir\u00e1 atend\u00ea-las. Ao mesmo tempo, estar\u00e1 constantemente sob press\u00e3o e estresse. N\u00f3s realmente n\u00e3o queremos isso. Portanto, precisamos pensar em como resolver esses problemas e ainda ter a capacidade de analisar os dados.<\/p><\/blockquote>\n<p><\/p>\n<h2 id=\"peretekaya-ot-data-lake-k-data-mesh\">Transitando do Data Lake para o Data Mesh<\/h2>\n<p><\/p>\n<p>Felizmente, essa quest\u00e3o n\u00e3o foi pensada apenas por n\u00f3s. Na verdade, esse problema j\u00e1 foi resolvido na ind\u00fastria (aleluia!). Por\u00e9m, em outra \u00e1rea: a implanta\u00e7\u00e3o de aplicativos. Sim, estou me referindo \u00e0 abordagem DevOps, na qual a equipe define como deve ser implantado o produto que est\u00e1 criando. <\/p>\n<p><\/p>\n<p>Uma abordagem semelhante para resolver os problemas do Data Lake foi proposta por Zhamak Dehghani, consultora da ThoughtWorks. Observando como tarefas semelhantes s\u00e3o resolvidas pela Netflix e Spotify, ela escreveu um artigo fant\u00e1stico <noindex><a rel=\"nofollow\" href=\"https:\/\/martinfowler.com\/articles\/data-monolith-to-mesh.html\">Como Ir Al\u00e9m de um Data Lake Monol\u00edtico para um Data Mesh Distribu\u00eddo<\/a><\/noindex>(o link para ele estava no in\u00edcio do artigo). As principais ideias que extra\u00edmos dele foram:<\/p>\n<p><\/p>\n<ul>\n<li>Dividir um grande Data Lake em dom\u00ednios de dados, que se assemelham aos dom\u00ednios do design orientado a dom\u00ednio (domain-driven design). Cada dom\u00ednio \u00e9 um pequeno bounded context.<\/li>\n<li>As Feature Teams, que s\u00e3o respons\u00e1veis pelos dom\u00ednios DDD, tamb\u00e9m s\u00e3o respons\u00e1veis pelos dom\u00ednios de dados correspondentes. Elas mant\u00eam o esquema, fazem altera\u00e7\u00f5es, carregam os dados nele. E, ao mesmo tempo, sabem como modificar a carga de dados sem quebrar nada quando o aplicativo muda. O conhecimento n\u00e3o se perde. Para acessar os dados, elas n\u00e3o precisam ir a lugar algum. A pr\u00f3pria equipe gerencia todo o ciclo de desenvolvimento, desde a altera\u00e7\u00e3o dos dados operacionais at\u00e9 a disponibiliza\u00e7\u00e3o de dados anal\u00edticos para terceiros. Uma equipe possui toda a responsabilidade relacionada ao dom\u00ednio (tanto no dom\u00ednio de neg\u00f3cios quanto no dom\u00ednio de dados).<\/li>\n<li>Engenheiro de Dados \u2013 um papel dentro da Feature Team. Isso n\u00e3o precisa necessariamente ser uma pessoa separada, mas \u00e9 essencial que a equipe possua essa compet\u00eancia.<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"a-v-eto-vremya-komanda-data-engineering\">E nesse momento, a equipe de Engenharia de Dados...<\/h2>\n<p><\/p>\n<p>Se imaginarmos que tudo isso se realiza com um estalar de dedos, restam duas perguntas a responder:<\/p>\n<p><\/p>\n<p><strong>O que a equipe de Data Engineering far\u00e1 agora?<\/strong> Na Dodo Pizza Engineering, j\u00e1 existe uma equipe de plataforma\/SRE. Sua tarefa \u00e9 fornecer aos desenvolvedores ferramentas para a f\u00e1cil implanta\u00e7\u00e3o de servi\u00e7os. A equipe de Data Engineering desempenhar\u00e1 um papel semelhante, mas para os dados. <\/p>\n<p><\/p>\n<p>Transformar dados operacionais em dados anal\u00edticos \u00e9 um processo complicado. Tornar os dados anal\u00edticos acess\u00edveis para toda a empresa \u00e9 ainda mais dif\u00edcil. A equipe de Data Engineering se dedicar\u00e1 a resolver esses problemas. <\/p>\n<p><\/p>\n<p>Estamos planejando fornecer \u00e0 Feature Team um conjunto conveniente de ferramentas e pr\u00e1ticas, com as quais poder\u00e3o publicar dados de seus servi\u00e7os para o restante da empresa. Tamb\u00e9m seremos respons\u00e1veis por partes da infraestrutura do data pipeline (filas, armazenamento confi\u00e1vel, clusters para execu\u00e7\u00e3o de transforma\u00e7\u00f5es nos dados). <\/p>\n<p><\/p>\n<p><strong>Como as habilidades de Data Engineer aparecer\u00e3o dentro da Feature Team?<\/strong> Com a Feature Team, a situa\u00e7\u00e3o \u00e9 mais complicada. Claro, poder\u00edamos tentar contratar um Data Engineer para cada uma de nossas equipes. Mas isso \u00e9 muito dif\u00edcil. Encontrar algu\u00e9m com um bom hist\u00f3rico em processamento de dados e convenc\u00ea-lo a trabalhar dentro das equipes de produto \u00e9 desafiador. <\/p>\n<p><\/p>\n<p>Um grande ponto positivo da Dodo \u00e9 que gostamos de treinamento interno. Ent\u00e3o, agora nosso plano \u00e9 o seguinte: a equipe de Data Engineering come\u00e7a a publicar dados de alguns servi\u00e7os, chora, se machuca, mas continua a comer o cacto. Assim que entendermos que temos um processo pronto para publica\u00e7\u00e3o, come\u00e7amos a compartilh\u00e1-lo com a Feature Team. <\/p>\n<p><\/p>\n<p>Temos algumas maneiras de fazer isso: <\/p>\n<p><\/p>\n<ol>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/dodopizzaio\/blog\/462033\/\">DevForum<\/a><\/noindex>, onde iremos mostrar como \u00e9 o processo que criamos, quais ferramentas existem e como us\u00e1-las da maneira mais eficaz. <\/li>\n<li>Uma apresenta\u00e7\u00e3o no DevForum nos ajudar\u00e1 a coletar feedback dos desenvolvedores de produto. Depois disso, poderemos nos juntar \u00e0s equipes de produto e ajud\u00e1-las a resolver quest\u00f5es relacionadas \u00e0 publica\u00e7\u00e3o de dados, organizando treinamentos para as equipes. <\/li>\n<\/ol>\n<p><\/p>\n<h2 id=\"potreblenie-dannyh\">Consumo de dados<\/h2>\n<p><\/p>\n<p>Agora falei muito sobre publica\u00e7\u00e3o de dados. Mas tamb\u00e9m h\u00e1 o consumo. O que temos a dizer sobre isso?<\/p>\n<p><\/p>\n<p>Temos uma equipe incr\u00edvel de BI que cria relat\u00f3rios muito complexos para a empresa de gest\u00e3o. Dentro do Dodo IS, existem muitos relat\u00f3rios para nossos parceiros que os ajudam a administrar as pizzarias. Em nosso novo modelo, n\u00f3s os vemos como consumidores de dados que possuem seus pr\u00f3prios dom\u00ednios de dados. E s\u00e3o esses consumidores que ser\u00e3o respons\u00e1veis por seus pr\u00f3prios dom\u00ednios. \u00c0s vezes, o dom\u00ednio do consumidor pode ser descrito por uma \u00fanica consulta no armazenamento anal\u00edtico - e isso \u00e9 bom. Mas entendemos que nem sempre isso funcionar\u00e1. \u00c9 por isso que queremos que a plataforma que criaremos para as equipes de produtos tamb\u00e9m possa ser usada pelos consumidores de dados (pois no caso dos relat\u00f3rios dentro do Dodo IS - ser\u00e1 a mesma equipe). <\/p>\n<p><\/p>\n<p>Assim vemos o trabalho com dados na Dodo Pizza Engineering. Ficar\u00edamos felizes em ler suas opini\u00f5es sobre isso nos coment\u00e1rios.<\/p>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/dodopizzaio\/blog\/475476\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041c\u044b \u0432 Dodo Pizza Engineering \u043e\u0447\u0435\u043d\u044c \u043b\u044e\u0431\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u0435 (\u0430 \u043a\u0442\u043e \u0438\u0445 \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435 \u043b\u044e\u0431\u0438\u0442?). \u0421\u0435\u0439\u0447\u0430\u0441 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043d\u0430\u043a\u043e\u043f\u0438\u0442\u044c \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043c\u0438\u0440\u0430 Dodo Pizza \u0438 \u0434\u0430\u0442\u044c \u043b\u044e\u0431\u043e\u043c\u0443 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u0443 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 \u0443\u0434\u043e\u0431\u043d\u044b\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u044d\u0442\u043e\u043c\u0443 \u043c\u0430\u0441\u0441\u0438\u0432\u0443 \u0434\u0430\u043d\u043d\u044b\u0445. \u0417\u0430\u0434\u0430\u0447\u0430 \u043f\u043e\u0434 \u0437\u0432\u0451\u0437\u0434\u043e\u0447\u043a\u043e\u0439: \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043d\u0435\u0440\u0432\u044b \u043a\u043e\u043c\u0430\u043d\u0434\u044b Data Engineering. \u041a\u0430\u043a \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0438\u0435 \u041f\u043b\u044e\u0448\u043a\u0438\u043d\u044b, \u043c\u044b \u043a\u043e\u043f\u0438\u043c \u0432\u0441\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u0443\u044e \u0438\u043d\u0444\u0443 \u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":52729,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-52728","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=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041c\u044b \u0432 Dodo Pizza Engineering \u043e\u0447\u0435\u043d\u044c \u043b\u044e\u0431\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u0435 (\u0430 \u043a\u0442\u043e \u0438\u0445 \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435 \u043b\u044e\u0431\u0438\u0442?).\" \/>\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\/data-mesh-kak-rabotat-s-dannymi-bez-monolita\" \/>\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\udd47Data Mesh: \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0431\u0435\u0437 \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u0430 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041c\u044b \u0432 Dodo Pizza Engineering \u043e\u0447\u0435\u043d\u044c \u043b\u044e\u0431\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u0435 (\u0430 \u043a\u0442\u043e \u0438\u0445 \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435 \u043b\u044e\u0431\u0438\u0442?).\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/data-mesh-kak-rabotat-s-dannymi-bez-monolita\" \/>\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=\"2019-11-14T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:00:31+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\udd47Data Mesh: como trabalhar com dados sem monolitos | ProHoster","description":"Ol\u00e1, Habr! N\u00f3s, da Dodo Pizza Engineering, adoramos dados (e quem n\u00e3o ama hoje em dia?).","canonical_url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/data-mesh-kak-rabotat-s-dannymi-bez-monolita","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\udd47Data Mesh: \u043a\u0430\u043a \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0431\u0435\u0437 \u043c\u043e\u043d\u043e\u043b\u0438\u0442\u0430 | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440! \u041c\u044b \u0432 Dodo Pizza Engineering \u043e\u0447\u0435\u043d\u044c \u043b\u044e\u0431\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u0435 (\u0430 \u043a\u0442\u043e \u0438\u0445 \u0441\u0435\u0439\u0447\u0430\u0441 \u043d\u0435 \u043b\u044e\u0431\u0438\u0442?).","og:url":"https:\/\/prohoster.info\/pt\/blog\/administrirovanie\/data-mesh-kak-rabotat-s-dannymi-bez-monolita","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":"2019-11-14T21:00:00+00:00","article:modified_time":"2020-02-18T11:00:31+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"52728","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":"2026-01-24 04:39:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:38:24","updated":"2026-01-24 04:39:19","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\/52728","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=52728"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/52728\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/52729"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=52728"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=52728"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=52728"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}