{"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\/pl\/blog\/administrirovanie\/data-mesh-kak-rabotat-s-dannymi-bez-monolita","title":{"rendered":"Data Mesh: jak pracowa\u0107 z danymi bez monolitu","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Cze\u015b\u0107, Habr! W Dodo Pizza Engineering uwielbiamy dane (a kto ich teraz nie kocha?). Teraz opowiemy histori\u0119 o tym, jak zgromadzi\u0107 wszystkie dane \u015bwiata Dodo Pizza i umo\u017cliwi\u0107 ka\u017cdemu pracownikowi firmy wygodny dost\u0119p do tego zbioru danych. Zadanie z gwiazdk\u0105: zachowa\u0107 nerwy zespo\u0142u Data Engineering.<\/p>\n<p>\n<img decoding=\"async\" alt=\"Data Mesh: jak pracowa\u0107 z danymi bez monolitu\" 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>Jak prawdziwi chciwcy, zbieramy wszelkie informacje o dzia\u0142alno\u015bci naszych pizzerii:<\/p>\n<p><\/p>\n<ul>\n<li>pami\u0119tamy wszystkie zam\u00f3wienia u\u017cytkownik\u00f3w; <\/li>\n<li>wiemy, ile czasu zaj\u0119\u0142o przygotowanie pierwszej pizzy w Syktywkarze;<\/li>\n<li>widzimy, ile czasu pizza stygnie na p\u00f3\u0142ce grzewczej w Worone\u017cu w tej chwili; <\/li>\n<li>przechowujemy dane dotycz\u0105ce ubytk\u00f3w produkt\u00f3w;<\/li>\n<li>i wiele, wiele innych. <\/li>\n<\/ul>\n<p><\/p>\n<p>Za obs\u0142ug\u0119 danych w Dodo Pizza odpowiada obecnie kilka zespo\u0142\u00f3w, a jednym z nich jest zesp\u00f3\u0142 Data Engineering. Teraz przed nami (czyli nami) stoi zadanie: umo\u017cliwi\u0107 ka\u017cdemu pracownikowi firmy wygodny dost\u0119p do tego zbioru danych. <\/p>\n<p><\/p>\n<p>Kiedy zacz\u0119li\u015bmy my\u015ble\u0107, jak to zrobi\u0107 i zacz\u0119li\u015bmy omawia\u0107 to zadanie, znale\u017ali\u015bmy bardzo interesuj\u0105ce podej\u015bcie do zarz\u0105dzania danymi \u2013 <noindex><a rel=\"nofollow\" href=\"https:\/\/martinfowler.com\/articles\/data-monolith-to-mesh.html\">Data Mesh<\/a><\/noindex> (w linku znajdziesz ogromny, wspania\u0142y artyku\u0142). Jej pomys\u0142y bardzo dobrze wpisuj\u0105 si\u0119 w nasze wyobra\u017cenie o tym, jak chcemy zbudowa\u0107 nasz system. W dalszej cz\u0119\u015bci artyku\u0142u przedstawimy nasze przemy\u015blenia na temat tego podej\u015bcia i to, jak widzimy jego wdro\u017cenie w Dodo Pizza Engineering.<\/p>\n<p><\/p>\n<h2 id=\"chto-my-imeem-v-vidu-pod-dannymi\">Co mamy na my\u015bli m\u00f3wi\u0105c o \u00abdanych\u00bb<\/h2>\n<p><\/p>\n<p>Na pocz\u0105tek okre\u015blmy, co rozumiemy przez dane w Dodo Pizza Engineering:<\/p>\n<p><\/p>\n<ul>\n<li>Zdarzenia, kt\u00f3re wysy\u0142aj\u0105 serwisy (mamy wsp\u00f3ln\u0105 szyn\u0119 zbudowan\u0105 z pomoc\u0105 RabbitMQ);<\/li>\n<li>Rekordy w bazie danych (dla nas to MySQL i CosmosDB);<\/li>\n<li>Clickstream z aplikacji mobilnej i strony internetowej.<\/li>\n<\/ul>\n<p><\/p>\n<p>Aby biznes Dodo Pizza m\u00f3g\u0142 korzysta\u0107 z tych danych i polega\u0107 na nich, wa\u017cne jest, aby spe\u0142nione by\u0142y nast\u0119puj\u0105ce warunki:<\/p>\n<p><\/p>\n<ul>\n<li><strong>Musz\u0105 by\u0107 integralne.<\/strong> Musimy mie\u0107 pewno\u015b\u0107, \u017ce nie zmieniamy danych w procesie ich przetwarzania, przechowywania i wy\u015bwietlania. Je\u015bli biznes nie b\u0119dzie m\u00f3g\u0142 ufa\u0107 naszym danym, nie b\u0119d\u0105 one mia\u0142y \u017cadnej warto\u015bci.<\/li>\n<li><strong>Musz\u0105 mie\u0107 znacznik czasowy i nie mog\u0105 by\u0107 nadpisywane.<\/strong> Oznacza to, \u017ce w ka\u017cdej chwili chcemy mie\u0107 mo\u017cliwo\u015b\u0107 powrotu do przodu i spojrzenia na dane z danego okresu czasu. Na przyk\u0142ad, sprawdzi\u0107, ile pizz sprzedano 8 lipca 2018 roku.<\/li>\n<li><strong>Musz\u0105 by\u0107 niezawodne.<\/strong> W procesie zbierania i przechowywania danych musimy dba\u0107 nie tylko o integralno\u015b\u0107, ale r\u00f3wnie\u017c o niezawodno\u015b\u0107. Nie mo\u017cemy traci\u0107 danych, ani fragment\u00f3w czasowych, poniewa\u017c tracimy wtedy zaufanie naszych klient\u00f3w (zar\u00f3wno zewn\u0119trznych, jak i wewn\u0119trznych).<\/li>\n<li><strong>Musi by\u0107 stabilna struktura \u2013 piszemy zapytania do tych danych.<\/strong> Chcieliby\u015bmy unikn\u0105\u0107 sytuacji, w kt\u00f3rej zmiany w kodzie aplikacji, refaktoryzacja, spowoduj\u0105, \u017ce nasze zapytania przestan\u0105 dzia\u0142a\u0107. Osoba pisz\u0105ca zapytania nigdy nie dowie si\u0119, \u017ce przeprowadzono refaktoryzacj\u0119, a\u017c wszystko si\u0119 ca\u0142kowicie rozpadnie. Nie chcieliby\u015bmy si\u0119 o tym dowiedzie\u0107 od klient\u00f3w.<\/li>\n<\/ul>\n<p><\/p>\n<p>Bior\u0105c pod uwag\u0119 wszystkie te wymagania, doszli\u015bmy do wniosku, \u017ce dane w Dodo to produkt. Taki sam, jak publiczne API us\u0142ugi. Z tego wynika, \u017ce zesp\u00f3\u0142, kt\u00f3ry zarz\u0105dza danymi, powinien by\u0107 tym samym zespo\u0142em, kt\u00f3ry zarz\u0105dza us\u0142ug\u0105. Zmiany w schemacie danych zawsze powinny by\u0107 r\u00f3wnie\u017c wstecznie zgodne.<\/p>\n<p><\/p>\n<h2 id=\"tradicionnyy-podhod--data-lake\">Tradycyjne podej\u015bcie \u2013 Data Lake<\/h2>\n<p><\/p>\n<p>W celu niezawodnego przechowywania i przetwarzania du\u017cych danych istnieje tradycyjne podej\u015bcie, przyj\u0119te w wielu firmach, kt\u00f3re pracuj\u0105 z tak du\u017cymi zbiorami informacji \u2013 Data Lake. W ramach tego podej\u015bcia in\u017cynierowie danych zbieraj\u0105 informacje ze wszystkich komponent\u00f3w systemu i przechowuj\u0105 je w jednym du\u017cym magazynie (mo\u017ce to by\u0107 na przyk\u0142ad Hadoop, Azure Kusto, Apache Cassandra czy nawet replikacja MySQL, je\u015bli dane si\u0119 w niej zmieszcz\u0105). <\/p>\n<p><\/p>\n<p>Nast\u0119pnie ci sami in\u017cynierowie pisz\u0105 zapytania do tego magazynu. Implementacja tego podej\u015bcia w Dodo Pizza Engineering zak\u0142ada, \u017ce zesp\u00f3\u0142 Data Engineering b\u0119dzie zarz\u0105dza\u0142 schematem danych w hurtowni analitycznej. <\/p>\n<p><\/p>\n<p>Przy tym scenariuszu zesp\u00f3\u0142 staje si\u0119 bardzo smutnymi kotami i oto dlaczego:<\/p>\n<p><\/p>\n<ul>\n<li>Musi \u015bledzi\u0107 zmiany w <strong>WSZYSTKICH<\/strong> us\u0142ugach w firmie. A jest ich wiele i zmian jest bardzo du\u017co (\u015brednio scalamy ~100 pull request\u00f3w w tygodniu, podczas gdy wiele us\u0142ug w og\u00f3le nie korzysta z pull request\u00f3w).<\/li>\n<li>Przy zmianie schematu danych w\u0142a\u015bciciel produktu i zesp\u00f3\u0142 zmieniaj\u0105cy schemat danych musz\u0105 czeka\u0107, a\u017c Data Engineering napisze kod potrzebny do wsparcia tych zmian. Przy tym sytuacja, w kt\u00f3rej jeden zesp\u00f3\u0142 czeka na drugi, jest ju\u017c od dawna rzadko\u015bci\u0105. I nie chcemy, aby to sta\u0142o si\u0119 'normaln\u0105' cz\u0119\u015bci\u0105 procesu rozwoju.<\/li>\n<li>Musi by\u0107 zaanga\u017cowany w <strong>CA\u0141O\u015a\u0106 <\/strong> biznes firmy. Sie\u0107 pizzerii wydaje si\u0119 prostym biznesem, ale to tylko pozory. Bardzo trudno zebra\u0107 w jednym zespole wystarczaj\u0105co kompetencji do stworzenia odpowiedniego modelu danych dla ca\u0142ej firmy.<\/li>\n<li>Jest to jedyny punkt awarii. Za ka\u017cdym razem, gdy trzeba zmieni\u0107 dane, kt\u00f3re zwraca serwis lub napisa\u0107 zapytanie \u2013 wszystkie te zadania trafiaj\u0105 do zespo\u0142u Data Engineering. W efekcie zesp\u00f3\u0142 ma przeci\u0105\u017cony backlog.<\/li>\n<\/ul>\n<p><\/p>\n<blockquote><p>Okazuje si\u0119, \u017ce zesp\u00f3\u0142 znajduje si\u0119 w punkcie przeci\u0119cia ogromnej liczby potrzeb i raczej nie jest w stanie ich zaspokoi\u0107. Przy tym b\u0119dzie znajdowa\u0107 si\u0119 w ci\u0105g\u0142ym po\u015bpiechu i stresie. Tego bardzo nie chcemy. Dlatego musimy my\u015ble\u0107, jak rozwi\u0105za\u0107 te problemy i jednocze\u015bnie uzyska\u0107 mo\u017cliwo\u015b\u0107 analizy danych.<\/p><\/blockquote>\n<p><\/p>\n<h2 id=\"peretekaya-ot-data-lake-k-data-mesh\">Przechodz\u0105c od Data Lake do Data Mesh<\/h2>\n<p><\/p>\n<p>Na szcz\u0119\u015bcie to pytanie zadawali sobie nie tylko my. W rzeczywisto\u015bci podobny problem zosta\u0142 ju\u017c rozwi\u0105zany w bran\u017cy (alleluja!). Tylko w innej dziedzinie: wdro\u017cenie aplikacji. Tak, m\u00f3wi\u0119 o podej\u015bciu DevOps, gdzie zesp\u00f3\u0142 okre\u015bla, jak nale\u017cy wdra\u017ca\u0107 produkt, kt\u00f3ry tworz\u0105. <\/p>\n<p><\/p>\n<p>Podobne podej\u015bcie do rozwi\u0105zywania problem\u00f3w Data Lake zaproponowa\u0142a Zhamak Dehghani, konsultantka w ThoughtWorks. Obserwuj\u0105c, jak podobne zadania rozwi\u0105zuj\u0105 Netflix i Spotify, napisa\u0142a zdumiewaj\u0105cy artyku\u0142 <noindex><a rel=\"nofollow\" href=\"https:\/\/martinfowler.com\/articles\/data-monolith-to-mesh.html\">Jak przej\u015b\u0107 od monolitycznego Data Lake do rozproszonej Data Mesh<\/a><\/noindex>(link do niego by\u0142 na pocz\u0105tku artyku\u0142u). G\u0142\u00f3wne idee, kt\u00f3re z niej wyci\u0105gn\u0119li\u015bmy:<\/p>\n<p><\/p>\n<ul>\n<li>Podzieli\u0107 du\u017cy Data Lake na domeny danych, kt\u00f3re bardzo przypominaj\u0105 domeny w projektowaniu sterowanym domen\u0105 (domain-driven design). Ka\u017cda domena to ma\u0142y bounded context.<\/li>\n<li>Zespo\u0142y Feature, kt\u00f3re odpowiadaj\u0105 za domeny DDD, odpowiadaj\u0105 tak\u017ce za odpowiednie domeny danych. Przechowuj\u0105 schemat, wprowadzaj\u0105 w nim zmiany, \u0142aduj\u0105 do niego dane. Przy tym wszystko wiedz\u0105: jak zmieni\u0107 \u0142adowanie danych i nie zepsu\u0107 nic, gdy aplikacja si\u0119 zmienia. Wiedza nie znika. Aby udost\u0119pni\u0107 dane, nie musz\u0105 nigdzie i\u015b\u0107. Sam zesp\u00f3\u0142 prowadzi pe\u0142en cykl rozwoju od zmiany danych operacyjnych po dostarczenie danych analitycznych osobom trzecim. Jeden zesp\u00f3\u0142 zarz\u0105dza wszystkim zwi\u0105zanym z domen\u0105 (zar\u00f3wno domen\u0105 biznesow\u0105, jak i domen\u0105 danych).<\/li>\n<li>Data Engineer \u2013 rola w zespole Feature. To nie musi by\u0107 koniecznie osobny cz\u0142owiek, ale zesp\u00f3\u0142 musi dysponowa\u0107 tymi kompetencjami.<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"a-v-eto-vremya-komanda-data-engineering\">\u0410 \u0432 \u044d\u0442\u043e \u0432\u0440\u0435\u043c\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0430 Data Engineering&#8230;<\/h2>\n<p><\/p>\n<p>Je\u015bli wyobrazimy sobie, \u017ce wszystko odbywa si\u0119 za jednym klikni\u0119ciem, pozostaje odpowiedzie\u0107 na dwa pytania:<\/p>\n<p><\/p>\n<p><strong>Czym teraz zajmie si\u0119 zesp\u00f3\u0142 Data Engineering?<\/strong> W Dodo Pizza Engineering ju\u017c istnieje zesp\u00f3\u0142 platformy\/SRE. Jego zadaniem jest dostarczenie programistom narz\u0119dzi do \u0142atwego wdra\u017cania us\u0142ug. Zesp\u00f3\u0142 Data Engineering b\u0119dzie pe\u0142ni\u0142 tak\u0105 sam\u0105 rol\u0119, ale dla danych. <\/p>\n<p><\/p>\n<p>Przekszta\u0142cenie danych operacyjnych w analityczne to skomplikowany proces. Uczynienie danych analitycznych dost\u0119pnymi dla ca\u0142ej firmy jest jeszcze trudniejsze. To w\u0142a\u015bnie tymi problemami zajmie si\u0119 zesp\u00f3\u0142 Data Engineering. <\/p>\n<p><\/p>\n<p>Zamierzamy dostarczy\u0107 zespo\u0142owi Feature Team wygodny zestaw narz\u0119dzi i praktyk, za pomoc\u0105 kt\u00f3rych b\u0119d\u0105 mogli publikowa\u0107 dane ze swojego serwisu dla reszty firmy. B\u0119dziemy r\u00f3wnie\u017c odpowiedzialni za og\u00f3lne cz\u0119\u015bci infrastruktury data pipeline (kolejki, niezawodne przechowywanie, klastry do przeprowadzania transformacji danych). <\/p>\n<p><\/p>\n<p><strong>Jak umiej\u0119tno\u015bci Data Engineer pojawi\u0105 si\u0119 w zespole Feature Team?<\/strong> W przypadku zespo\u0142u Feature Team sprawa jest bardziej skomplikowana. Oczywi\u015bcie mogliby\u015bmy spr\u00f3bowa\u0107 zatrudni\u0107 jednego Data Engineera do ka\u017cdej z naszych dru\u017cyn. Ale to bardzo trudne. Znalezienie osoby z dobrym do\u015bwiadczeniem w przetwarzaniu danych i przekonanie jej do pracy w zespole produktowym jest wyzwaniem. <\/p>\n<p><\/p>\n<p>Du\u017cym plusem Dodo jest to, \u017ce lubimy wewn\u0119trzne szkolenia. Tak wi\u0119c nasz plan na teraz jest taki: zesp\u00f3\u0142 Data Engineering zaczyna publikowa\u0107 dane z niekt\u00f3rych serwis\u00f3w, p\u0142acze, kolce, ale nadal je zjada kaktusa. Gdy tylko zrozumiemy, \u017ce mamy gotowy proces publikacji, zaczniemy o nim opowiada\u0107 w Feature Team. <\/p>\n<p><\/p>\n<p>Mamy kilka sposob\u00f3w, jak to zrobi\u0107: <\/p>\n<p><\/p>\n<ol>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/dodopizzaio\/blog\/462033\/\">DevForum<\/a><\/noindex>, na kt\u00f3rym opowiemy, jak wygl\u0105da proces, kt\u00f3ry stworzyli\u015bmy, jakie s\u0105 narz\u0119dzia i jak ich najskuteczniej u\u017cywa\u0107. <\/li>\n<li>Wyst\u0105pienie na DevForum pomo\u017ce nam zebra\u0107 opini\u0119 zwrotn\u0105 od programist\u00f3w produkt\u00f3w. Po tym b\u0119dziemy mogli do\u0142\u0105czy\u0107 do zespo\u0142\u00f3w produktowych i pomaga\u0107 im w rozwi\u0105zywaniu problem\u00f3w zwi\u0105zanych z publikowaniem danych, organizowa\u0107 szkolenia dla zespo\u0142\u00f3w. <\/li>\n<\/ol>\n<p><\/p>\n<h2 id=\"potreblenie-dannyh\">Konsumpcja danych<\/h2>\n<p><\/p>\n<p>Teraz du\u017co m\u00f3wi\u0142em o publikowaniu danych. Ale jest jeszcze konsumpcja. Co w tej kwestii?<\/p>\n<p><\/p>\n<p>Mamy wspania\u0142y zesp\u00f3\u0142 BI, kt\u00f3ry tworzy bardzo kompleksowe raporty dla firmy zarz\u0105dzaj\u0105cej. W Dodo IS znajduje si\u0119 wiele raport\u00f3w dla naszych partner\u00f3w, kt\u00f3re pomagaj\u0105 im w zarz\u0105dzaniu pizzeriami. W naszym nowym modelu my\u015blimy o nich jako o konsumentach danych, kt\u00f3rzy maj\u0105 swoje w\u0142asne obszary danych. To w\u0142a\u015bnie ci konsumenci b\u0119d\u0105 odpowiedzialni za swoje w\u0142asne obszary. Czasami obszar konsumenta mo\u017cna opisa\u0107 jednym zapytaniem do hurtowni danych \u2013 i to jest w porz\u0105dku. Jednak zdajemy sobie spraw\u0119, \u017ce nie zawsze to zadzia\u0142a. Dlatego chcemy, aby platforma, kt\u00f3r\u0105 stworzymy dla zespo\u0142\u00f3w produktowych, mog\u0142a by\u0107 r\u00f3wnie\u017c wykorzystywana przez konsument\u00f3w danych (w przypadku raport\u00f3w wewn\u0105trz Dodo IS b\u0119d\u0105 to te same zespo\u0142y). <\/p>\n<p><\/p>\n<p>Tak widzimy prac\u0119 z danymi w Dodo Pizza Engineering. Z przyjemno\u015bci\u0105 poznamy Wasze my\u015bli na ten temat w komentarzach.<\/p>\n<p>\u0179r\u00f3d\u0142o: <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.1.1 - 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\/pl\/blog\/administrirovanie\/data-mesh-kak-rabotat-s-dannymi-bez-monolita\" \/>\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\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\/pl\/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: jak pracowa\u0107 z danymi bez monolitu | ProHoster","description":"Cze\u015b\u0107, Habr! W Dodo Pizza Engineering bardzo lubimy dane (a kto ich teraz nie lubi?).","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/data-mesh-kak-rabotat-s-dannymi-bez-monolita","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\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\/pl\/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\/pl\/wp-json\/wp\/v2\/posts\/52728","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=52728"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/52728\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media\/52729"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=52728"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=52728"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=52728"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}