{"id":83248,"date":"2020-05-29T19:42:48","date_gmt":"2020-05-29T17:42:48","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/dihotomiya-dannyh-pereosmyslenie-otnosheniya-k-dannym-i-servisam"},"modified":"2020-05-29T19:42:48","modified_gmt":"2020-05-29T17:42:48","slug":"dihotomiya-dannyh-pereosmyslenie-otnosheniya-k-dannym-i-servisam","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/dihotomiya-dannyh-pereosmyslenie-otnosheniya-k-dannym-i-servisam","title":{"rendered":"Dichotomie dat: p\u0159eformulov\u00e1n\u00ed p\u0159\u00edstupu k dat\u016fm a slu\u017eb\u00e1m","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i><b>Ahoj v\u0161ichni! M\u00e1me skv\u011bl\u00e9 zpr\u00e1vy, v \u010dervnu OTUS znovu spou\u0161t\u00ed kurz <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/rVZl\/\">\u00abArchitekt SW\u00bb<\/a><\/noindex>, a proto s v\u00e1mi tradi\u010dn\u011b sd\u00edl\u00edme u\u017eite\u010dn\u00fd materi\u00e1l.<\/b><\/i><\/p>\n<p><img decoding=\"async\" alt=\"Dichotomie dat: p\u0159eformulov\u00e1n\u00ed p\u0159\u00edstupu k dat\u016fm a slu\u017eb\u00e1m\" src=\"\/wp-content\/uploads\/2020\/05\/6092ffb23e765239b4a8f27d4a0cb846.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n Pokud jste se setkali s t\u011bmito mikroservisy bez jak\u00e9hokoli kontextu, m\u016f\u017ee se v\u00e1m zd\u00e1t trochu podivn\u00e9. Rozd\u011blen\u00ed aplikace na fragmenty navz\u00e1jem spojen\u00e9 s\u00edt\u00ed v\u017edy znamen\u00e1 p\u0159id\u00e1n\u00ed slo\u017eit\u00fdch re\u017eim\u016f odolnosti v\u016f\u010di v\u00fdpadk\u016fm do v\u00fdsledn\u00e9ho distribuovan\u00e9ho syst\u00e9mu. <\/p>\n<p>I kdy\u017e tento p\u0159\u00edstup zahrnuje rozd\u011blen\u00ed na mnoho nez\u00e1visl\u00fdch slu\u017eeb, kone\u010dn\u00fdm c\u00edlem je mnohem v\u00edce ne\u017e jen fungov\u00e1n\u00ed t\u011bchto slu\u017eeb na r\u016fzn\u00fdch stroj\u00edch. Jde o interakci s okoln\u00edm sv\u011btem, kter\u00fd je s\u00e1m o sob\u011b tak\u00e9 distribuovan\u00fd. Ne v technick\u00e9m smyslu, ale sp\u00ed\u0161e jako ekosyst\u00e9m skl\u00e1daj\u00edc\u00ed se z mnoha lid\u00ed, t\u00fdm\u016f, program\u016f, a ka\u017ed\u00e1 z t\u011bchto \u010d\u00e1st\u00ed by m\u011bla vykon\u00e1vat svou pr\u00e1ci.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Spole\u010dnosti, nap\u0159\u00edklad, p\u0159edstavuj\u00ed soubor distribuovan\u00fdch syst\u00e9m\u016f, kter\u00e9 dohromady p\u0159isp\u00edvaj\u00ed k dosa\u017een\u00ed ur\u010dit\u00e9ho c\u00edle. Tento fakt jsme ignorovali po desetilet\u00ed, sna\u017e\u00edc se dos\u00e1hnout integrace, pos\u00edl\u00e1n\u00edm soubor\u016f p\u0159es FTP nebo pou\u017e\u00edv\u00e1n\u00edm n\u00e1stroj\u016f pro podnikov\u00e9 integrace, p\u0159i\u010dem\u017e jsme se soust\u0159edili na sv\u00e9 osobn\u00ed izolovan\u00e9 c\u00edle. Ale s p\u0159\u00edchodem slu\u017eeb se v\u0161echno zm\u011bnilo. Slu\u017eby n\u00e1m pomohly nahl\u00e9dnout za horizont a vid\u011bt sv\u011bt vz\u00e1jemn\u011b z\u00e1visl\u00fdch program\u016f, kter\u00e9 spolupracuj\u00ed. Abychom v\u0161ak usp\u011bli, mus\u00edme si uv\u011bdomit a navrhnout dva z\u00e1sadn\u011b odli\u0161n\u00e9 sv\u011bty: vn\u011bj\u0161\u00ed sv\u011bt, kde \u017eijeme v ekosyst\u00e9mu mnoha dal\u0161\u00edch slu\u017eeb, a n\u00e1\u0161 osobn\u00ed, vnit\u0159n\u00ed sv\u011bt, kde vl\u00e1dneme osamocen\u011b.<\/p>\n<p><img decoding=\"async\" alt=\"Dichotomie dat: p\u0159eformulov\u00e1n\u00ed p\u0159\u00edstupu k dat\u016fm a slu\u017eb\u00e1m\" src=\"\/wp-content\/uploads\/2020\/05\/93f535f6f3319d7b2829d35c0fe1c48f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n Takov\u00fd distribuovan\u00fd sv\u011bt se li\u0161\u00ed od toho, ve kter\u00e9m jsme vyrostli a na kter\u00fd jsme zvykl\u00ed. Principy konstrukce tradi\u010dn\u00ed monolitick\u00e9 architektury nevydr\u017e\u00ed \u017e\u00e1dnou kritiku. Proto je spr\u00e1vn\u00e9 pochopen\u00ed takov\u00fdch syst\u00e9m\u016f n\u011b\u010d\u00edm v\u00edc ne\u017e jen vytvo\u0159en\u00ed skv\u011bl\u00e9ho sch\u00e9matu na b\u00edl\u00e9 tabuli nebo \u00fa\u017easn\u00e9ho d\u016fkazu konceptu. Jde o to, aby takov\u00fd syst\u00e9m \u00fasp\u011b\u0161n\u011b fungoval po dlouhou dobu. Na\u0161t\u011bst\u00ed slu\u017eby existuj\u00ed ji\u017e docela dlouho, i kdy\u017e vypadaj\u00ed r\u016fzn\u011b. <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Service-oriented_architecture\">Lekce SOA<\/a><\/noindex> jsou st\u00e1le relevantn\u00ed, i kdy\u017e jsou obohaceny o Docker, Kubernetes a lehce umoun\u011bn\u00e9 hipstersk\u00fdmi vousy. <\/p>\n<p>Dnes se tedy pod\u00edv\u00e1me na to, jak se pravidla zm\u011bnila, pro\u010d mus\u00edme p\u0159ehodnotit n\u00e1\u0161 p\u0159\u00edstup k slu\u017eb\u00e1m a dat\u016fm, kter\u00e1 si vz\u00e1jemn\u011b p\u0159ed\u00e1vaj\u00ed, a pro\u010d budeme pot\u0159ebovat zcela jinou sadu n\u00e1stroj\u016f.<\/p>\n<h3>Inkapsulace v\u00e1m nebude v\u017edy spojencem.<\/h3>\n<p>\n Mikroslu\u017eby mohou fungovat nez\u00e1visle jedna na druh\u00e9. Tento aspekt jim d\u00e1v\u00e1 nejv\u011bt\u0161\u00ed hodnotu. Tento vlastnost tak\u00e9 umo\u017e\u0148uje slu\u017eb\u00e1m \u0161k\u00e1lovat a r\u016fst. Ne tolik ve smyslu \u0161k\u00e1lov\u00e1n\u00ed na kvadriliony u\u017eivatel\u016f nebo petabajty dat (i kdy\u017e i zde mohou pomoci), ale ve smyslu \u0161k\u00e1lov\u00e1n\u00ed z pohledu lid\u00ed, jeliko\u017e t\u00fdmy a organizace neust\u00e1le rostou.<\/p>\n<p><img decoding=\"async\" alt=\"Dichotomie dat: p\u0159eformulov\u00e1n\u00ed p\u0159\u00edstupu k dat\u016fm a slu\u017eb\u00e1m\" src=\"\/wp-content\/uploads\/2020\/05\/ec36218b6152c2b713f72689b4ea6916.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNez\u00e1vislost je v\u0161ak dvouse\u010dn\u00e1 zbra\u0148. To znamen\u00e1, \u017ee slu\u017eba sama o sob\u011b m\u016f\u017ee fungovat snadno a uvoln\u011bn\u011b. Ale pokud je uvnit\u0159 slu\u017eby implementov\u00e1na funkce, kter\u00e1 vy\u017eaduje zapojen\u00ed jin\u00e9 slu\u017eby, nakonec mus\u00edme prov\u00e9st zm\u011bny v obou slu\u017eb\u00e1ch t\u00e9m\u011b\u0159 sou\u010dasn\u011b. V monolitu je to snadn\u00e9; prost\u011b provedete zm\u011bnu a nasad\u00edte ji. Ale v p\u0159\u00edpad\u011b synchronizace nez\u00e1visl\u00fdch slu\u017eeb nast\u00e1v\u00e1 v\u00edce probl\u00e9m\u016f. Koordinace mezi t\u00fdmy a cykly vyd\u00e1n\u00ed naru\u0161uje flexibilitu.<\/p>\n<p><img decoding=\"async\" alt=\"Dichotomie dat: p\u0159eformulov\u00e1n\u00ed p\u0159\u00edstupu k dat\u016fm a slu\u017eb\u00e1m\" src=\"\/wp-content\/uploads\/2020\/05\/5fc993636f29e9eb9831d05cbc0bd7f8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nV r\u00e1mci standardn\u00edho p\u0159\u00edstupu se vyh\u00fdb\u00e1me nep\u0159\u00edjemn\u00fdm pr\u016fnikov\u00fdm zm\u011bn\u00e1m t\u00edm, \u017ee jasn\u011b odd\u011blujeme funkce mezi slu\u017ebami. Slu\u017eba pro jednotn\u00fd vstup do syst\u00e9mu m\u016f\u017ee b\u00fdt dobr\u00fdm p\u0159\u00edkladem. M\u00e1 jasn\u011b definovanou roli, kter\u00e1 ji odli\u0161uje od ostatn\u00edch slu\u017eeb. Toto jasn\u00e9 rozd\u011blen\u00ed znamen\u00e1, \u017ee ve sv\u011bt\u011b rychle se m\u011bn\u00edc\u00edch po\u017eadavk\u016f na ostatn\u00ed slu\u017eby, slu\u017eba pro jednotn\u00fd vstup do syst\u00e9mu se pravd\u011bpodobn\u011b nebude m\u011bnit. Existuje v r\u00e1mci striktn\u011b omezen\u00e9ho kontextu.<\/p>\n<p><img decoding=\"async\" alt=\"Dichotomie dat: p\u0159eformulov\u00e1n\u00ed p\u0159\u00edstupu k dat\u016fm a slu\u017eb\u00e1m\" src=\"\/wp-content\/uploads\/2020\/05\/095fd7a6e02ead4924abf180e3b1d26b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n Probl\u00e9m je v tom, \u017ee v re\u00e1ln\u00e9m sv\u011bt\u011b obchodn\u00ed slu\u017eby nemohou neust\u00e1le udr\u017eovat stejn\u00e9 \u010dist\u00e9 odd\u011blen\u00ed rol\u00ed. Nap\u0159\u00edklad uveden\u00e9 obchodn\u00ed slu\u017eby v\u011bt\u0161inou pracuj\u00ed s daty p\u0159ich\u00e1zej\u00edc\u00edmi od jin\u00fdch podobn\u00fdch slu\u017eeb. Pokud se zab\u00fdv\u00e1te online maloobchodem, pak zpracov\u00e1n\u00ed toku objedn\u00e1vek, katalogu produkt\u016f nebo informac\u00ed o u\u017eivatel\u00edch se stane po\u017eadavkem pro mnoho va\u0161ich slu\u017eeb. Ka\u017ed\u00e1 z t\u011bchto slu\u017eeb pot\u0159ebuje p\u0159\u00edstup k t\u011bmto dat\u016fm k tomu, aby mohla fungovat. <\/p>\n<p><img decoding=\"async\" alt=\"Dichotomie dat: p\u0159eformulov\u00e1n\u00ed p\u0159\u00edstupu k dat\u016fm a slu\u017eb\u00e1m\" src=\"\/wp-content\/uploads\/2020\/05\/2a3d23850c88d574c990dfdc6015072c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>V\u011bt\u0161ina obchodn\u00edch slu\u017eeb pou\u017e\u00edv\u00e1 stejn\u00fd datov\u00fd tok, a proto se jejich \u010dinnost neust\u00e1le propl\u00e9t\u00e1.<\/i><\/p>\n<p>Tak jsme se dostali k d\u016fle\u017eit\u00e9mu bodu, o kter\u00e9m je t\u0159eba mluvit. Zat\u00edmco slu\u017eby funguj\u00ed dob\u0159e pro infrastrukturn\u00ed komponenty, kter\u00e9 pracuj\u00ed sp\u00ed\u0161e odd\u011blen\u011b, v\u011bt\u0161ina obchodn\u00edch slu\u017eeb se ukazuje b\u00fdt mnohem \u00fa\u017eeji propojena.<\/p>\n<h3>Dichotomie dat<\/h3>\n<p>\n P\u0159\u00edstupy zam\u011b\u0159en\u00e9 na slu\u017eby mo\u017en\u00e1 u\u017e existuj\u00ed, ale st\u00e1le je v nich m\u00e1lo informac\u00ed o tom, jak vym\u011b\u0148ovat velk\u00e9 objemy dat mezi slu\u017ebami.<\/p>\n<p>Hlavn\u00ed probl\u00e9m spo\u010d\u00edv\u00e1 v tom, \u017ee data a slu\u017eby jsou nerozlu\u010dn\u00e9. Na jedn\u00e9 stran\u011b inkapsulace n\u00e1s vyz\u00fdv\u00e1, abychom skr\u00fdvali data, aby se slu\u017eby mohly odd\u011blit a usnadnit jejich r\u016fst a budouc\u00ed zm\u011bny. Na druh\u00e9 stran\u011b pot\u0159ebujeme m\u00edt mo\u017enost svobodn\u011b sd\u00edlet a spravovat spole\u010dn\u00e1 data, stejn\u011b jako jak\u00e1koli jin\u00e1 data. Jde o to m\u00edt mo\u017enost za\u010d\u00edt pracovat okam\u017eit\u011b, stejn\u011b voln\u011b, jako v jak\u00e9mkoli jin\u00e9m informa\u010dn\u00edm syst\u00e9mu.<\/p>\n<p>Av\u0161ak informa\u010dn\u00ed syst\u00e9my maj\u00ed m\u00e1lo spole\u010dn\u00e9ho s inkapsulac\u00ed. Ve skute\u010dnosti je to dokonce naopak. Datab\u00e1ze d\u011blaj\u00ed v\u0161e, co mohou, aby poskytly p\u0159\u00edstup k uchov\u00e1van\u00fdm dat\u016fm. Dod\u00e1vaj\u00ed se s mocn\u00fdm deklarativn\u00edm rozhran\u00edm, kter\u00e9 umo\u017e\u0148uje upravovat data podle pot\u0159eby. Tato funkce je d\u016fle\u017eit\u00e1 ve f\u00e1zi p\u0159edb\u011b\u017en\u00e9ho v\u00fdzkumu, ale ne pro \u0159\u00edzen\u00ed rostouc\u00ed slo\u017eitosti neust\u00e1le se vyv\u00edjej\u00edc\u00edho servisu.<\/p>\n<p><img decoding=\"async\" alt=\"Dichotomie dat: p\u0159eformulov\u00e1n\u00ed p\u0159\u00edstupu k dat\u016fm a slu\u017eb\u00e1m\" src=\"\/wp-content\/uploads\/2020\/05\/830465d4aa3bd2e6c02772a982f170bd.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n A tady vznik\u00e1 dilema. Rozpor. Dichotomie. V\u017edy\u0165 informa\u010dn\u00ed syst\u00e9my se t\u00fdkaj\u00ed poskytov\u00e1n\u00ed dat, zat\u00edmco slu\u017eby se t\u00fdkaj\u00ed skr\u00fdv\u00e1n\u00ed.<\/p>\n<p>Tyto dv\u011b s\u00edly jsou z\u00e1sadn\u00ed. Le\u017e\u00ed v z\u00e1kladech v\u011bt\u0161iny na\u0161\u00ed pr\u00e1ce, neust\u00e1le bojuj\u00edc\u00ed o p\u0159evahu v syst\u00e9mech, kter\u00e9 vytv\u00e1\u0159\u00edme.<\/p>\n<p>Jak syst\u00e9my slu\u017eeb rostou a vyv\u00edjej\u00ed se, vid\u00edme r\u016fzn\u00e9 projevy d\u016fsledk\u016f datov\u00e9 dichotomie. Bu\u010f se rozhran\u00ed slu\u017eby rozroste a za\u010dne vypadat jako velmi podivn\u00e1 dom\u00e1c\u00ed datab\u00e1ze, nebo za\u017eijeme zklam\u00e1n\u00ed a implementujeme n\u011bjak\u00fd zp\u016fsob, jak extrahovat nebo hromadn\u011b p\u0159esouvat cel\u00e9 datov\u00e9 sady mezi slu\u017ebami.<\/p>\n<p><img decoding=\"async\" alt=\"Dichotomie dat: p\u0159eformulov\u00e1n\u00ed p\u0159\u00edstupu k dat\u016fm a slu\u017eb\u00e1m\" src=\"\/wp-content\/uploads\/2020\/05\/da718c87570a4eb20b18f9c880ae8a1b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n Na druhou stranu vytvo\u0159en\u00ed n\u011b\u010deho, co vypad\u00e1 jako podivn\u00e1 dom\u00e1c\u00ed datab\u00e1ze, p\u0159inese celou \u0159adu probl\u00e9m\u016f. Nebudeme se zab\u00fdvat podrobnostmi nebezpe\u010dnosti <i>shared database<\/i>, prost\u011b \u0159ekneme, \u017ee to p\u0159edstavuje zna\u010dn\u00e9 n\u00e1kladn\u00e9 in\u017een\u00fdrsk\u00e9 a opera\u010dn\u00ed <noindex><a rel=\"nofollow\" href=\"http:\/\/microservices.io\/patterns\/data\/shared-database.html\">pot\u00ed\u017ee<\/a><\/noindex> pro spole\u010dnost, kter\u00e1 se ji sna\u017e\u00ed pou\u017e\u00edt.<\/p>\n<p>H\u016f\u0159e to bude s objemy dat, kter\u00e9 zhor\u0161uj\u00ed probl\u00e9my s hranicemi slu\u017eeb. \u010c\u00edm v\u00edce spole\u010dn\u00fdch dat se nach\u00e1z\u00ed uvnit\u0159 slu\u017eby, t\u00edm slo\u017eit\u011bj\u0161\u00ed se rozhran\u00ed stane a t\u00edm t\u011b\u017e\u0161\u00ed bude spojit datov\u00e9 sady poch\u00e1zej\u00edc\u00ed z r\u016fzn\u00fdch slu\u017eeb.<\/p>\n<p>Alternativn\u00ed p\u0159\u00edstup k extrakci a p\u0159esouv\u00e1n\u00ed cel\u00fdch datov\u00fdch sad m\u00e1 tak\u00e9 sv\u00e9 probl\u00e9my. B\u011b\u017en\u00fd p\u0159\u00edstup k t\u00e9to ot\u00e1zce vypad\u00e1 jako jednoduch\u00e1 extrakce a skladov\u00e1n\u00ed datov\u00e9 sady jako celku, a pot\u00e9 jej\u00ed lok\u00e1ln\u00ed uchov\u00e1n\u00ed v ka\u017ed\u00e9 slu\u017eb\u011b-vyu\u017eivateli.<\/p>\n<p><img decoding=\"async\" alt=\"Dichotomie dat: p\u0159eformulov\u00e1n\u00ed p\u0159\u00edstupu k dat\u016fm a slu\u017eb\u00e1m\" src=\"\/wp-content\/uploads\/2020\/05\/63934c6876cb89e87155d4c097657617.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n Probl\u00e9m spo\u010d\u00edv\u00e1 v tom, \u017ee r\u016fzn\u00e9 slu\u017eby interpretuj\u00ed data, kter\u00e1 konzumuj\u00ed, r\u016fzn\u00fdmi zp\u016fsoby. Tato data jsou v\u017edy po ruce. M\u011bn\u00ed se a zpracov\u00e1vaj\u00ed lok\u00e1ln\u011b. Pom\u011brn\u011b brzy p\u0159estanou m\u00edt cokoliv spole\u010dn\u00e9ho s daty ve zdroji.<\/p>\n<p><img decoding=\"async\" alt=\"Dichotomie dat: p\u0159eformulov\u00e1n\u00ed p\u0159\u00edstupu k dat\u016fm a slu\u017eb\u00e1m\" src=\"\/wp-content\/uploads\/2020\/05\/616e390ad3df3317ac34ac8d861ce804.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <i>\u010c\u00edm v\u00edce jsou kopie mutabiln\u00ed, t\u00edm v\u00edce se data budou li\u0161it v \u010dase.<\/i><\/p>\n<p>Co je je\u0161t\u011b hor\u0161\u00ed, takov\u00e1 data se t\u011b\u017eko opravuj\u00ed zp\u011btn\u011b (<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Master_data_management\">MDM<\/a><\/noindex> tu skute\u010dn\u011b m\u016f\u017ee p\u0159ij\u00edt na pomoc). Ve skute\u010dnosti n\u011bkter\u00e9 z t\u011b\u017eko \u0159e\u0161iteln\u00fdch technologick\u00fdch probl\u00e9m\u016f, se kter\u00fdmi se podniky pot\u00fdkaj\u00ed, vznikaj\u00ed z heterogenn\u00edch dat, kter\u00e1 se mno\u017e\u00ed z aplikace na aplikaci.<\/p>\n<p>Abychom na\u0161li \u0159e\u0161en\u00ed tohoto probl\u00e9mu s b\u011b\u017en\u00fdmi daty, mus\u00edme myslet jinak. Mus\u00ed se st\u00e1t objekty prvn\u00ed t\u0159\u00eddy v architektur\u00e1ch, kter\u00e9 budujeme. <noindex><a rel=\"nofollow\" href=\"http:\/\/cidrdb.org\/cidr2005\/papers\/P12.pdf\">Pat Helland<\/a><\/noindex> naz\u00fdv\u00e1 takov\u00e1 data \u201eextern\u00edmi\u201c, a to je velmi d\u016fle\u017eit\u00e1 vlastnost. Pot\u0159ebujeme enkapsulaci, abychom nezve\u0159ejnili vnit\u0159n\u00ed strukturu slu\u017eby, ale mus\u00edme usnadnit slu\u017eb\u00e1m p\u0159\u00edstup ke spole\u010dn\u00fdm dat\u016fm, aby spr\u00e1vn\u011b vykon\u00e1valy svou pr\u00e1ci.<\/p>\n<p><img decoding=\"async\" alt=\"Dichotomie dat: p\u0159eformulov\u00e1n\u00ed p\u0159\u00edstupu k dat\u016fm a slu\u017eb\u00e1m\" src=\"\/wp-content\/uploads\/2020\/05\/9703ffdbb528320edc62ee7a680a3258.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n Probl\u00e9m spo\u010d\u00edv\u00e1 v tom, \u017ee \u017e\u00e1dn\u00fd z p\u0159\u00edstup\u016f dnes ji\u017e nen\u00ed aktu\u00e1ln\u00ed, proto\u017ee ani rozhran\u00ed slu\u017eeb, ani v\u00fdm\u011bna zpr\u00e1v, ani Sd\u00edlen\u00e1 datab\u00e1ze nenab\u00edz\u00ed dobr\u00e9 \u0159e\u0161en\u00ed pro pr\u00e1ci s extern\u00edmi daty. Rozhran\u00ed slu\u017eeb se \u0161patn\u011b hod\u00ed pro v\u00fdm\u011bnu dat v jak\u00e9mkoli m\u011b\u0159\u00edtku. V\u00fdm\u011bna zpr\u00e1v p\u0159esouv\u00e1 data, ale neuchov\u00e1v\u00e1 jejich historii, tak\u017ee s \u010dasem se data po\u0161kozuj\u00ed. Sd\u00edlen\u00e9 datab\u00e1ze jsou p\u0159\u00edli\u0161 siln\u011b zam\u011b\u0159eny na jedno m\u00edsto, co\u017e br\u00e1n\u00ed pokroku. Nevyhnuteln\u011b se zasekneme v cyklu neplatnosti dat:<\/p>\n<p><img decoding=\"async\" alt=\"Dichotomie dat: p\u0159eformulov\u00e1n\u00ed p\u0159\u00edstupu k dat\u016fm a slu\u017eb\u00e1m\" src=\"\/wp-content\/uploads\/2020\/05\/f17ac7063a813cb76bad71ae8622912c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <i>cyklus neplatnosti dat<\/i><\/p>\n<h3>toky: decentralizovan\u00fd p\u0159\u00edstup k dat\u016fm a slu\u017eb\u00e1m<\/h3>\n<p>\n Ide\u00e1ln\u011b bychom m\u011bli zm\u011bnit p\u0159\u00edstup k tomu, jak slu\u017eby pracuj\u00ed se spole\u010dn\u00fdmi daty. V sou\u010dasn\u00e9 dob\u011b jak\u00fdkoli p\u0159\u00edstup nar\u00e1\u017e\u00ed na v\u00fd\u0161e zm\u00edn\u011bnou dichotomii, proto\u017ee neexistuje \u017e\u00e1dn\u00fd kouzeln\u00fd pr\u00e1\u0161ek, kter\u00fdm bychom ji mohli \u0161t\u011bd\u0159e posypat a nechat zmizet. M\u016f\u017eeme v\u0161ak probl\u00e9m p\u0159eformulovat a dosp\u011bt k kompromisu.<\/p>\n<p>Tento kompromis p\u0159edpokl\u00e1d\u00e1 ur\u010ditou m\u00edru centralizace. M\u016f\u017eeme vyu\u017e\u00edt mechanismu distribuovan\u00fdch log\u016f, proto\u017ee poskytuje spolehliv\u00e9 a \u0161k\u00e1lovateln\u00e9 toky. Nyn\u00ed je pot\u0159eba, aby se slu\u017eby mohly p\u0159ipojit a pracovat s t\u011bmito spole\u010dn\u00fdmi toky, p\u0159i\u010dem\u017e chceme vyhnout slo\u017eit\u00fdm centralizovan\u00fdm slu\u017eb\u00e1m (God Service), kter\u00e9 tuto zpracov\u00e1n\u00ed vykon\u00e1vaj\u00ed. Nejlep\u0161\u00edm \u0159e\u0161en\u00edm je tedy zabudovat streamovac\u00ed zpracov\u00e1n\u00ed do ka\u017ed\u00e9 spot\u0159ebitelsk\u00e9 slu\u017eby. Takto budou slu\u017eby moci kombinovat soubory dat z r\u016fzn\u00fdch zdroj\u016f a pracovat s nimi tak, jak pot\u0159ebuj\u00ed.<\/p>\n<p>Jedn\u00edm ze zp\u016fsob\u016f, jak dos\u00e1hnout takov\u00e9ho p\u0159\u00edstupu, je vyu\u017eit\u00ed streamovac\u00ed platformy. Existuje mnoho mo\u017enost\u00ed, ale dnes se zam\u011b\u0159\u00edme pr\u00e1v\u011b na Kafka, proto\u017ee jej\u00ed zpracov\u00e1n\u00ed Stateful Stream Processing umo\u017e\u0148uje efektivn\u011b \u0159e\u0161it p\u0159edlo\u017een\u00fd probl\u00e9m.<\/p>\n<p><img decoding=\"async\" alt=\"Dichotomie dat: p\u0159eformulov\u00e1n\u00ed p\u0159\u00edstupu k dat\u016fm a slu\u017eb\u00e1m\" src=\"\/wp-content\/uploads\/2020\/05\/353c7f12af87901e721abb7ea92d8196.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n Pou\u017eit\u00ed mechanismu distribuovan\u00e9ho logov\u00e1n\u00ed n\u00e1m umo\u017e\u0148uje j\u00edt po vy\u0161lapan\u00e9 cest\u011b a pou\u017e\u00edvat v\u00fdm\u011bnu zpr\u00e1v, abychom pracovali s <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Event-driven_architecture\">ud\u00e1lostmi orientovan\u00e1 architektura<\/a><\/noindex>. Tento p\u0159\u00edstup se pova\u017euje za lep\u0161\u00ed pro \u0161k\u00e1lov\u00e1n\u00ed a odlu\u010dov\u00e1n\u00ed ne\u017e mechanismus \"dotaz-odpov\u011b\u010f\", proto\u017ee p\u0159ed\u00e1v\u00e1 kontrolu nad tokem p\u0159\u00edjemci, nikoli odes\u00edlateli. Ale za v\u0161e se v \u017eivot\u011b plat\u00ed, a v tomto p\u0159\u00edpad\u011b budete pot\u0159ebovat brokera. Nicm\u00e9n\u011b pro velk\u00e9 syst\u00e9my toto vyv\u00e1\u017een\u00ed stoj\u00ed za to (co\u017e se ned\u00e1 \u0159\u00edct o va\u0161ich pr\u016fm\u011brn\u00fdch webov\u00fdch aplikac\u00edch).<\/p>\n<p>Pokud za distribuovan\u00e9 logov\u00e1n\u00ed odpov\u00edd\u00e1 broker, a ne tradi\u010dn\u00ed syst\u00e9m v\u00fdm\u011bny zpr\u00e1v, m\u016f\u017eete vyu\u017e\u00edt dodate\u010dn\u00e9 funkce. Transport lze line\u00e1rn\u011b \u0161k\u00e1lovat t\u00e9m\u011b\u0159 stejn\u011b dob\u0159e jako distribuovan\u00fd souborov\u00fd syst\u00e9m. Data mohou b\u00fdt ulo\u017eena v logech dostate\u010dn\u011b dlouho, tak\u017ee z\u00edsk\u00e1v\u00e1me nejen v\u00fdm\u011bnu zpr\u00e1v, ale i \u00falo\u017ei\u0161t\u011b informac\u00ed. \u0160k\u00e1lovateln\u00e9 \u00falo\u017ei\u0161t\u011b bez obav z rozmaru sd\u00edlen\u00e9ho stavu.<\/p>\n<p>Pak lze pou\u017e\u00edt mechanismus zpracov\u00e1n\u00ed stream\u016f se zachov\u00e1n\u00edm stavu (stateful stream processing) pro p\u0159id\u00e1n\u00ed deklarativn\u00edch n\u00e1stroj\u016f datab\u00e1ze do slu\u017eeb spot\u0159ebitel\u016f. Toto je velmi d\u016fle\u017eit\u00e1 my\u0161lenka. Dokud jsou data uchov\u00e1v\u00e1na ve sd\u00edlen\u00fdch streamech, ke kter\u00fdm maj\u00ed p\u0159\u00edstup v\u0161echny slu\u017eby, spojen\u00ed a zpracov\u00e1n\u00ed, kter\u00e9 slu\u017eba prov\u00e1d\u00ed, jsou soukrom\u00e9. Jsou izolov\u00e1ny v r\u00e1mci p\u0159esn\u011b vymezen\u00e9ho kontextu.<\/p>\n<p><img decoding=\"async\" alt=\"Dichotomie dat: p\u0159eformulov\u00e1n\u00ed p\u0159\u00edstupu k dat\u016fm a slu\u017eb\u00e1m\" src=\"\/wp-content\/uploads\/2020\/05\/01c8beabb9a02e4c06dffb84f9161324.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <i>Zbavte se dichotomie dat t\u00edm, \u017ee odd\u011bl\u00edte nem\u011bnn\u00fd stream stav\u016f. Pot\u00e9 p\u0159idejte tuto funkci do ka\u017ed\u00e9 slu\u017eby pomoc\u00ed zpracov\u00e1n\u00ed stream\u016f se zachov\u00e1n\u00edm stavu.<\/i><\/p>\n<p>Tak\u017ee pokud va\u0161e slu\u017eba mus\u00ed pracovat s objedn\u00e1vkami, katalogem produkt\u016f, skladem, m\u00e1 pln\u00fd p\u0159\u00edstup: jen vy rozhodujete, kter\u00e9 data spojit, kde je zpracov\u00e1vat a jak se s \u010dasem m\u011bn\u00ed. P\u0159esto\u017ee jsou data sd\u00edlen\u00e1, pr\u00e1ce s nimi je zcela decentralizovan\u00e1. Prob\u00edh\u00e1 uvnit\u0159 ka\u017ed\u00e9 slu\u017eby, v sv\u011bt\u011b, kde v\u0161e b\u011b\u017e\u00ed podle va\u0161ich pravidel.<\/p>\n<p><img decoding=\"async\" alt=\"Dichotomie dat: p\u0159eformulov\u00e1n\u00ed p\u0159\u00edstupu k dat\u016fm a slu\u017eb\u00e1m\" src=\"\/wp-content\/uploads\/2020\/05\/4b2635ad8ddd18f455eea654e472f85e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Sd\u00edlejte data tak, aby jejich integrita nebyla naru\u0161ena. Integrov\u00e1n\u00ed funkce, nikoli zdroje, v ka\u017ed\u00e9 slu\u017eb\u011b, kter\u00e1 ji pot\u0159ebuje.<\/i><\/p>\n<p>N\u011bkdy se st\u00e1v\u00e1, \u017ee je pot\u0159eba hromadn\u011b p\u0159esunout data. N\u011bkdy slu\u017eba vy\u017eaduje lok\u00e1ln\u00ed historickou sadu dat v vybran\u00e9m datab\u00e1zov\u00e9m motoru. Kl\u00ed\u010dov\u00e9 je, \u017ee lze zaru\u010dit, \u017ee v p\u0159\u00edpad\u011b pot\u0159eby m\u016f\u017ee b\u00fdt kopie obnovena ze zdroje pomoc\u00ed dotazu na mechanismus distribuovan\u00e9ho logov\u00e1n\u00ed. Konektory v Kafka si s t\u00edmto \u00fakolem v\u00fdborn\u011b porad\u00ed.<\/p>\n<p>Tento p\u0159\u00edstup m\u00e1 tedy n\u011bkolik v\u00fdhod:<\/p>\n<ul>\n<li>Data jsou pou\u017e\u00edv\u00e1na jako obecn\u00e9 toky, kter\u00e9 mohou b\u00fdt dlouho uchov\u00e1v\u00e1ny v log\u00e1ch, a samotn\u00fd mechanismus pr\u00e1ce s obecn\u00fdmi daty je integrov\u00e1n v ka\u017ed\u00e9m jednotliv\u00e9m kontextu, co\u017e umo\u017e\u0148uje slu\u017eb\u00e1m fungovat snadno a rychle. T\u00edmto zp\u016fsobem lze vyv\u00e1\u017eit dichotomii dat.<\/li>\n<li>Data poch\u00e1zej\u00edc\u00ed z r\u016fzn\u00fdch slu\u017eeb se mohou snadno spojovat do sad. Tak se zjednodu\u0161uje interakce s obecn\u00fdmi daty a miz\u00ed pot\u0159eba udr\u017eovat lok\u00e1ln\u00ed sady dat v datab\u00e1zi.<\/li>\n<li>Stateful Stream Processing pouze cacheuje data, zat\u00edmco zdrojem pravdy z\u016fst\u00e1vaj\u00ed obecn\u00e9 logy, tak\u017ee probl\u00e9m po\u0161kozen\u00ed dat v pr\u016fb\u011bhu \u010dasu nen\u00ed tak akutn\u00ed.<\/li>\n<li>V z\u00e1sad\u011b jsou slu\u017eby \u0159\u00edzeny daty, co\u017e znamen\u00e1, \u017ee i p\u0159es neust\u00e1l\u00fd n\u00e1r\u016fst objemu dat mohou slu\u017eby st\u00e1le rychle reagovat na obchodn\u00ed ud\u00e1losti.<\/li>\n<li>Probl\u00e9my se \u0161k\u00e1lovatelnost\u00ed spadaj\u00ed na brokery, nikoli na slu\u017eby. T\u00edm se v\u00fdrazn\u011b sni\u017euje slo\u017eitost psan\u00ed slu\u017eeb, proto\u017ee nen\u00ed t\u0159eba p\u0159em\u00fd\u0161let o \u0161k\u00e1lovatelnosti.<\/li>\n<li>P\u0159id\u00e1n\u00ed nov\u00fdch slu\u017eeb nevy\u017eaduje zm\u011bnu star\u00fdch, co\u017e usnad\u0148uje p\u0159ipojen\u00ed nov\u00fdch slu\u017eeb.<\/li>\n<\/ul>\n<p>\nJak vid\u00edte, je to v\u00edc ne\u017e jen REST. Dostali jsme sadu n\u00e1stroj\u016f, kter\u00e1 umo\u017e\u0148uje decentralizovanou pr\u00e1ci s obecn\u00fdmi daty.<\/p>\n<p>V dne\u0161n\u00edm \u010dl\u00e1nku byly odhaleny daleko ne v\u0161echny aspekty. Je\u0161t\u011b se mus\u00edme rozhodnout, jak vyv\u00e1\u017eit mezi paradigmatem 'dotaz-odpov\u011b\u010f' a ud\u00e1lostn\u011b orientovan\u00fdm paradigmatem. Ale s t\u00edm se vypo\u0159\u00e1d\u00e1me p\u0159\u00ed\u0161t\u011b. Existuj\u00ed t\u00e9mata, se kter\u00fdmi se mus\u00edme l\u00e9pe sezn\u00e1mit, nap\u0159\u00edklad, co je na Stateful Stream Processing tak dobr\u00e9ho. O tom budeme mluvit ve t\u0159et\u00edm \u010dl\u00e1nku. A existuj\u00ed tak\u00e9 dal\u0161\u00ed mocn\u00e9 konstrukce, kter\u00e9 m\u016f\u017eeme vyu\u017e\u00edt, pokud se k nim uch\u00fdl\u00edme, nap\u0159\u00edklad, <noindex><a rel=\"nofollow\" href=\"https:\/\/cwiki.apache.org\/confluence\/display\/KAFKA\/KIP-98+-+Exactly+Once+Delivery+and+Transactional+Messaging\">Exactly Once Processing<\/a><\/noindex>. S jej pomoc\u00ed se m\u011bn\u00ed pravidla hry pro distribuovan\u00e9 obchodn\u00ed syst\u00e9my, proto\u017ee tato konstrukce poskytuje transak\u010dn\u00ed z\u00e1ruky pro <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/X\/Open_XA\">XA<\/a><\/noindex> ve \u0161k\u00e1lovateln\u00e9 podob\u011b. O tom bude \u0159e\u010d v \u010dtvrt\u00e9m \u010dl\u00e1nku. A nakonec se mus\u00edme proj\u00edt detaily implementace t\u011bchto princip\u016f.<\/p>\n<p><img decoding=\"async\" alt=\"Dichotomie dat: p\u0159eformulov\u00e1n\u00ed p\u0159\u00edstupu k dat\u016fm a slu\u017eb\u00e1m\" src=\"\/wp-content\/uploads\/2020\/05\/f66eadcc538cf3da74ccb120e1de2ae7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAle zat\u00edm si jen zapamatujte n\u00e1sleduj\u00edc\u00ed: dichotomie dat je ta s\u00edla, se kterou se setk\u00e1v\u00e1me p\u0159i vytv\u00e1\u0159en\u00ed obchodn\u00edch slu\u017eeb. A m\u011bli bychom na to myslet. Zam\u011b\u0159en\u00ed spo\u010d\u00edv\u00e1 v tom, p\u0159evr\u00e1tit v\u0161echny hodnoty na hlavu a za\u010d\u00edt po\u010d\u00edtat sd\u00edlen\u00e1 data jako objekty prvn\u00ed t\u0159\u00eddy. Stateful Stream Processing nab\u00edz\u00ed unik\u00e1tn\u00ed kompromis. Vyh\u00fdb\u00e1 se centralizovan\u00fdm \u201eBo\u017e\u00edm komponent\u016fm\u201c, kter\u00e9 brzd\u00ed pokrok. Nav\u00edc zaji\u0161\u0165uje operativnost, \u0161k\u00e1lovatelnost a odolnost tok\u016f streamovan\u00fdch dat a p\u0159id\u00e1v\u00e1 je do ka\u017ed\u00e9 slu\u017eby. D\u00edky tomu se m\u016f\u017eeme soust\u0159edit na celkov\u00fd tok my\u0161lenek, ke kter\u00e9mu se m\u016f\u017ee p\u0159ipojit ka\u017ed\u00e1 slu\u017eba a pracovat s jej\u00edmi daty. Takto jsou slu\u017eby l\u00e9pe \u0161k\u00e1lovateln\u00e9, zam\u011bniteln\u00e9 a autonomn\u00ed. To znamen\u00e1, \u017ee budou nejen vypadat skv\u011ble na tabul\u00edch a p\u0159i ov\u011b\u0159ov\u00e1n\u00ed hypot\u00e9z, ale tak\u00e9 fungovat a vyv\u00edjet se po desetilet\u00ed. <\/p>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/rVZl\/\">Zjistit v\u00edce o kurzu.<br \/>\n<\/a><\/noindex><\/p>\n<p>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/504310\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442! \u0423 \u043d\u0430\u0441 \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0435 \u043d\u043e\u0432\u043e\u0441\u0442\u0438, \u0432 \u0438\u044e\u043d\u0435 OTUS \u0441\u043d\u043e\u0432\u0430 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043a\u0443\u0440\u0441 \u00ab\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u043e\u0440 \u041f\u041e\u00bb, \u0432 \u0441\u0432\u044f\u0437\u0438 \u0441 \u0447\u0435\u043c \u043c\u044b \u0442\u0440\u0430\u0434\u0438\u0446\u0438\u043e\u043d\u043d\u043e \u0434\u0435\u043b\u0438\u043c\u0441\u044f \u0441 \u0432\u0430\u043c\u0438 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u043c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u043e\u043c. \u0415\u0441\u043b\u0438 \u0432\u044b \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u0441\u043e \u0432\u0441\u0435\u0439 \u044d\u0442\u043e\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0435\u0439 \u0441 \u043c\u0438\u043a\u0440\u043e\u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c\u0438 \u0431\u0435\u0437 \u043a\u0430\u043a\u043e\u0433\u043e-\u043b\u0438\u0431\u043e \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430, \u0442\u043e \u0432\u0430\u043c \u043f\u0440\u043e\u0441\u0442\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0435\u0435 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0441\u0442\u0440\u0430\u043d\u043d\u043e\u0439. \u0420\u0430\u0437\u0431\u0438\u0435\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u044b, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 \u0441\u0435\u0442\u044c\u044e, \u043d\u0435\u043f\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":83249,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-83248","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=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\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\/cs\/blog\/administrirovanie\/dihotomiya-dannyh-pereosmyslenie-otnosheniya-k-dannym-i-servisam\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0414\u0438\u0445\u043e\u0442\u043e\u043c\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445: \u043f\u0435\u0440\u0435\u043e\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u0438\u0435 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u043a \u0434\u0430\u043d\u043d\u044b\u043c \u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442!\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/dihotomiya-dannyh-pereosmyslenie-otnosheniya-k-dannym-i-servisam\" \/>\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-05-29T17:42:48+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-05-29T17:42:48+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\udd47Dichotomie dat: p\u0159epracov\u00e1n\u00ed vztahu k dat\u016fm a slu\u017eb\u00e1m | ProHoster","description":"Ahoj v\u0161ichni!","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/dihotomiya-dannyh-pereosmyslenie-otnosheniya-k-dannym-i-servisam","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0414\u0438\u0445\u043e\u0442\u043e\u043c\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445: \u043f\u0435\u0440\u0435\u043e\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u0438\u0435 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u044f \u043a \u0434\u0430\u043d\u043d\u044b\u043c \u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c | ProHoster","og:description":"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442!","og:url":"https:\/\/prohoster.info\/cs\/blog\/administrirovanie\/dihotomiya-dannyh-pereosmyslenie-otnosheniya-k-dannym-i-servisam","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-05-29T17:42:48+00:00","article:modified_time":"2020-05-29T17:42:48+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"83248","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 15:22:24","updated":"2022-09-30 09:53:41","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/83248","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=83248"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/83248\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media\/83249"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=83248"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=83248"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=83248"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}