{"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\/hu\/blog\/administrirovanie\/dihotomiya-dannyh-pereosmyslenie-otnosheniya-k-dannym-i-servisam","title":{"rendered":"Adatok dichot\u00f3mi\u00e1ja: az adatokhoz \u00e9s szolg\u00e1ltat\u00e1sokhoz val\u00f3 viszony \u00fajra\u00e9rtelmez\u00e9se","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><i><b>Hell\u00f3 mindenkinek! Nagyszer\u0171 h\u00edreink vannak, j\u00faniusban az OTUS \u00fajra elind\u00edtja a kurzust <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/rVZl\/\">Szoftverarchitekt<\/a><\/noindex>, ez\u00e9rt hagyom\u00e1nyosan megosztjuk veletek az hasznos anyagokat.<\/b><\/i><\/p>\n<p><img decoding=\"async\" alt=\"Adatok dichot\u00f3mi\u00e1ja: az adatokhoz \u00e9s szolg\u00e1ltat\u00e1sokhoz val\u00f3 viszony \u00fajra\u00e9rtelmez\u00e9se\" src=\"\/wp-content\/uploads\/2020\/05\/6092ffb23e765239b4a8f27d4a0cb846.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n Ha m\u00e9g soha nem tal\u00e1lkozt\u00e1l ezzel a mikroszolg\u00e1ltat\u00e1sos koncepci\u00f3val kontextus n\u00e9lk\u00fcl, akkor jogosan \u00e9rezheted, hogy kiss\u00e9 furcsa. Az alkalmaz\u00e1s darabokra bont\u00e1sa, amelyeket h\u00e1l\u00f3zat k\u00f6t \u00f6ssze, felt\u00e9tlen\u00fcl a megb\u00edzhat\u00f3s\u00e1gi megold\u00e1sok bonyolults\u00e1g\u00e1t jelenti egy elosztott rendszerben. <\/p>\n<p>B\u00e1r ez a megk\u00f6zel\u00edt\u00e9s sok f\u00fcggetlen szolg\u00e1ltat\u00e1sra bonthat\u00f3, a v\u00e9gs\u0151 c\u00e9l messze t\u00falmutat azon, hogy ezek a szolg\u00e1ltat\u00e1sok k\u00fcl\u00f6nb\u00f6z\u0151 g\u00e9peken m\u0171k\u00f6djenek. Itt a vil\u00e1g k\u00f6rnyezet\u00e9vel val\u00f3 k\u00f6lcs\u00f6nhat\u00e1sr\u00f3l van sz\u00f3, ami szint\u00e9n elosztott term\u00e9szet\u0171. Nem technikai \u00e9rtelemben, hanem ink\u00e1bb olyan \u00f6kosziszt\u00e9mak\u00e9nt, amely sok emberb\u0151l, csapatb\u00f3l, programb\u00f3l \u00e1ll, s mindegyik r\u00e9sznek valamilyen m\u00f3don el kell v\u00e9geznie a feladat\u00e1t.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>A v\u00e1llalatok p\u00e9ld\u00e1ul elosztott rendszerek sorozatak\u00e9nt m\u0171k\u00f6dnek, amelyek egy\u00fcttesen hozz\u00e1j\u00e1rulnak valamilyen c\u00e9l el\u00e9r\u00e9s\u00e9hez. \u00c9vtizedeken \u00e1t figyelmen k\u00edv\u00fcl hagytuk ezt a t\u00e9nyt, mik\u00f6zben a f\u00e1jlokat FTP-n kereszt\u00fcl tov\u00e1bb\u00edtottuk vagy c\u00e9ges integr\u00e1ci\u00f3s eszk\u00f6z\u00f6ket haszn\u00e1ltunk, mik\u00f6zben a saj\u00e1t elk\u00fcl\u00f6n\u00fclt c\u00e9ljainkra \u00f6sszpontos\u00edtottunk. De a szolg\u00e1ltat\u00e1sok megjelen\u00e9s\u00e9vel minden megv\u00e1ltozott. A szolg\u00e1ltat\u00e1sok seg\u00edtettek r\u00e1l\u00e1tni a k\u00f6lcs\u00f6n\u00f6sen f\u00fcgg\u0151 programok vil\u00e1g\u00e1ra, amelyek egy\u00fctt dolgoznak. Ahhoz azonban, hogy sikeresen m\u0171k\u00f6dj\u00fcnk, fel kell ismern\u00fcnk \u00e9s meg kell tervezz\u00fck k\u00e9t l\u00e9nyegesen k\u00fcl\u00f6nb\u00f6z\u0151 vil\u00e1got: a k\u00fcls\u0151 vil\u00e1got, ahol t\u00f6bb m\u00e1s szolg\u00e1ltat\u00e1s \u00f6kosziszt\u00e9m\u00e1j\u00e1ban \u00e9l\u00fcnk, \u00e9s a saj\u00e1t bels\u0151 vil\u00e1gunkat, ahol egymagunk uralkodunk.<\/p>\n<p><img decoding=\"async\" alt=\"Adatok dichot\u00f3mi\u00e1ja: az adatokhoz \u00e9s szolg\u00e1ltat\u00e1sokhoz val\u00f3 viszony \u00fajra\u00e9rtelmez\u00e9se\" src=\"\/wp-content\/uploads\/2020\/05\/93f535f6f3319d7b2829d35c0fe1c48f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n Ez az elosztott vil\u00e1g elt\u00e9r att\u00f3l, amelyben feln\u0151tt\u00fcnk \u00e9s amelyhez hozz\u00e1szoktunk. A hagyom\u00e1nyos monolitikus architekt\u00fara \u00e9p\u00edt\u00e9si elvei nem \u00e1llj\u00e1k meg a hely\u00fcket. Ez\u00e9rt a megfelel\u0151 meg\u00e9rt\u00e9s, hogy az ilyen rendszerek nem csak egy sz\u00e9p v\u00e1zlat elk\u00e9sz\u00edt\u00e9se a feh\u00e9r t\u00e1bl\u00e1n vagy egy \u00edg\u00e9retes koncepci\u00f3 bizony\u00edt\u00e1sa. Arr\u00f3l van sz\u00f3, hogy egy ilyen rendszer sikeresen m\u0171k\u00f6dj\u00f6n hossz\u00fa t\u00e1von. Szerencs\u00e9re a szolg\u00e1ltat\u00e1sok m\u00e1r r\u00e9g\u00f3ta l\u00e9teznek, b\u00e1r k\u00fcl\u00f6nb\u00f6z\u0151 form\u00e1kban. <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Service-oriented_architecture\">SOA leck\u00e9k<\/a><\/noindex> m\u00e9g mindig relev\u00e1nsak, m\u00e9g Docker, Kubernetes f\u0171szerez\u00e9ssel \u00e9s egy kicsit hipster szak\u00e1llal megbolond\u00edtva is. <\/p>\n<p>Ma teh\u00e1t megn\u00e9zz\u00fck, hogyan v\u00e1ltoztak a szab\u00e1lyok, mi\u00e9rt kell \u00fajragondolnunk a szolg\u00e1ltat\u00e1saink \u00e9s az \u00e1ltaluk egym\u00e1snak tov\u00e1bb\u00edtott adatok megk\u00f6zel\u00edt\u00e9s\u00e9t, \u00e9s mi\u00e9rt van sz\u00fcks\u00e9g\u00fcnk egy teljesen \u00faj eszk\u00f6zk\u00e9szletre ehhez.<\/p>\n<h3>Az enkapszul\u00e1ci\u00f3 nem mindig bar\u00e1tod.<\/h3>\n<p>\n A mikroszolg\u00e1ltat\u00e1sok f\u00fcggetlen\u00fcl m\u0171k\u00f6dhetnek egym\u00e1st\u00f3l. Ez a tulajdons\u00e1g adja nekik a legnagyobb \u00e9rt\u00e9ket. Ez a tulajdons\u00e1g teszi lehet\u0151v\u00e9, hogy a szolg\u00e1ltat\u00e1sok sk\u00e1l\u00e1zhat\u00f3ak \u00e9s n\u00f6veked\u0151k legyenek. Nemcsak abban az \u00e9rtelemben, hogy kvadrilli\u00f3 felhaszn\u00e1l\u00f3ra vagy petab\u00e1jt adatra nagym\u00e9rt\u00e9kben sk\u00e1l\u00e1zhat\u00f3ak (b\u00e1r ebben is seg\u00edthetnek), hanem abban az \u00e9rtelemben is, hogy az emberek tekintet\u00e9ben sk\u00e1l\u00e1zhat\u00f3ak, mivel a csapatok \u00e9s szervezetek folyamatosan n\u00f6vekednek.<\/p>\n<p><img decoding=\"async\" alt=\"Adatok dichot\u00f3mi\u00e1ja: az adatokhoz \u00e9s szolg\u00e1ltat\u00e1sokhoz val\u00f3 viszony \u00fajra\u00e9rtelmez\u00e9se\" src=\"\/wp-content\/uploads\/2020\/05\/ec36218b6152c2b713f72689b4ea6916.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAzonban a f\u00fcggetlens\u00e9g egy kett\u0151s \u00e9l\u0171 kard. A szolg\u00e1ltat\u00e1s \u00f6nmag\u00e1ban k\u00f6nnyed\u00e9n \u00e9s zavartalanul m\u0171k\u00f6dhet. De ha a szolg\u00e1ltat\u00e1son bel\u00fcl van egy funkci\u00f3, amely megk\u00f6veteli egy m\u00e1sik szolg\u00e1ltat\u00e1s ig\u00e9nybev\u00e9tel\u00e9t, v\u00e9g\u00fcl mindk\u00e9t szolg\u00e1ltat\u00e1sban szinte egyszerre kell v\u00e1ltoztat\u00e1sokat v\u00e9grehajtanunk. Egy monolitban ezt k\u00f6nnyen megteheted: egyszer\u0171en v\u00e9grehajtasz egy m\u00f3dos\u00edt\u00e1st \u00e9s publik\u00e1lod, azonban f\u00fcggetlen szolg\u00e1ltat\u00e1sok szinkroniz\u00e1l\u00e1sakor sokkal t\u00f6bb probl\u00e9ma mer\u00fcl fel. A csapatok k\u00f6z\u00f6tti koordin\u00e1ci\u00f3 \u00e9s a kiad\u00e1si ciklusok rontj\u00e1k a rugalmass\u00e1got.<\/p>\n<p><img decoding=\"async\" alt=\"Adatok dichot\u00f3mi\u00e1ja: az adatokhoz \u00e9s szolg\u00e1ltat\u00e1sokhoz val\u00f3 viszony \u00fajra\u00e9rtelmez\u00e9se\" src=\"\/wp-content\/uploads\/2020\/05\/5fc993636f29e9eb9831d05cbc0bd7f8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA standard megk\u00f6zel\u00edt\u00e9s keretein bel\u00fcl a bosszant\u00f3 \u00e1tfed\u0151 v\u00e1ltoz\u00e1sokat pr\u00f3b\u00e1lj\u00e1k elker\u00fclni az\u00e1ltal, hogy vil\u00e1gosan elv\u00e1lasztj\u00e1k a funkci\u00f3t a szolg\u00e1ltat\u00e1sok k\u00f6z\u00f6tt. Egy egys\u00e9ges bel\u00e9p\u00e9si szolg\u00e1ltat\u00e1s itt j\u00f3 p\u00e9lda lehet. Egy j\u00f3l meghat\u00e1rozott szerepe van, amely megk\u00fcl\u00f6nb\u00f6zteti m\u00e1s szolg\u00e1ltat\u00e1sokt\u00f3l. Ez a vil\u00e1gos megk\u00fcl\u00f6nb\u00f6ztet\u00e9s azt jelenti, hogy a gyorsan v\u00e1ltoz\u00f3 k\u00f6vetelm\u00e9nyek vil\u00e1g\u00e1ban a k\u00f6r\u00fcl\u00f6tte l\u00e9v\u0151 szolg\u00e1ltat\u00e1sokhoz k\u00e9pest az egys\u00e9ges bel\u00e9p\u00e9si szolg\u00e1ltat\u00e1s val\u00f3sz\u00edn\u0171leg nem fog v\u00e1ltozni. Harmonikus, szigor\u00faan korl\u00e1tozott kontextusban l\u00e9tezik.<\/p>\n<p><img decoding=\"async\" alt=\"Adatok dichot\u00f3mi\u00e1ja: az adatokhoz \u00e9s szolg\u00e1ltat\u00e1sokhoz val\u00f3 viszony \u00fajra\u00e9rtelmez\u00e9se\" src=\"\/wp-content\/uploads\/2020\/05\/095fd7a6e02ead4924abf180e3b1d26b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n A probl\u00e9ma abban rejlik, hogy a val\u00f3s\u00e1gban az \u00fczleti szolg\u00e1ltat\u00e1sok nem tudj\u00e1k folyamatosan fenntartani a vil\u00e1gos szereposzt\u00e1st. P\u00e9ld\u00e1ul az \u00fczleti szolg\u00e1ltat\u00e1sok nagyobb m\u00e9rt\u00e9kben dolgoznak azokkal az adatokkal, amelyek m\u00e1s, hasonl\u00f3 szolg\u00e1ltat\u00e1sokt\u00f3l sz\u00e1rmaznak. Ha online kiskereskedelemmel foglalkozik, akkor a rendel\u00e9si folyam, a term\u00e9kkatal\u00f3gus vagy a felhaszn\u00e1l\u00f3i inform\u00e1ci\u00f3k feldolgoz\u00e1sa sz\u00e1mos szolg\u00e1ltat\u00e1s\u00e1nak k\u00f6vetelm\u00e9nye lesz. Minden egyes szolg\u00e1ltat\u00e1snak sz\u00fcks\u00e9ge lesz hozz\u00e1f\u00e9r\u00e9sre ezekhez az adatokhoz. <\/p>\n<p><img decoding=\"async\" alt=\"Adatok dichot\u00f3mi\u00e1ja: az adatokhoz \u00e9s szolg\u00e1ltat\u00e1sokhoz val\u00f3 viszony \u00fajra\u00e9rtelmez\u00e9se\" src=\"\/wp-content\/uploads\/2020\/05\/2a3d23850c88d574c990dfdc6015072c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>A legt\u00f6bb \u00fczleti szolg\u00e1ltat\u00e1s ugyanazt az adatfolyamot haszn\u00e1lja, ez\u00e9rt a m\u0171k\u00f6d\u00e9s\u00fck elker\u00fclhetetlen\u00fcl \u00f6sszefon\u00f3dik.<\/i><\/p>\n<p>\u00cdgy eljutottunk egy fontos ponthoz, amir\u0151l \u00e9rdemes besz\u00e9lni. M\u00edg a szolg\u00e1ltat\u00e1sok j\u00f3l m\u0171k\u00f6dnek az elk\u00fcl\u00f6n\u00edtett infrastrukt\u00fara komponensei sz\u00e1m\u00e1ra, a legt\u00f6bb \u00fczleti szolg\u00e1ltat\u00e1s szorosabban \u00f6sszefon\u00f3dik.<\/p>\n<h3>Az adatok dichot\u00f3mi\u00e1ja<\/h3>\n<p>\n A szolg\u00e1ltat\u00e1sk\u00f6zpont\u00fa megk\u00f6zel\u00edt\u00e9sek tal\u00e1n m\u00e1r l\u00e9teznek, azonban m\u00e9g mindig kev\u00e9s inform\u00e1ci\u00f3 \u00e1ll rendelkez\u00e9sre arr\u00f3l, hogyan lehet nagym\u00e9ret\u0171 adatokat megosztani a szolg\u00e1ltat\u00e1sok k\u00f6z\u00f6tt.<\/p>\n<p>A f\u0151 probl\u00e9ma az, hogy az adatok \u00e9s a szolg\u00e1ltat\u00e1sok elv\u00e1laszthatatlanok. Egyr\u00e9szt az elkapszul\u00e1z\u00e1s arra \u00f6szt\u00f6n\u00f6z minket, hogy elrejts\u00fck az adatokat, lehet\u0151v\u00e9 t\u00e9ve ezzel, hogy a szolg\u00e1ltat\u00e1sok elk\u00fcl\u00f6n\u00fclhessenek egym\u00e1st\u00f3l, \u00e9s \u00edgy el\u0151seg\u00edthess\u00e9k a n\u00f6veked\u00e9s\u00fcket \u00e9s tov\u00e1bbi m\u00f3dos\u00edt\u00e1saikat. M\u00e1sr\u00e9szt szabadon meg kell osztanunk \u00e9s rendelkez\u00e9s\u00fcnkre kell \u00e1lljon a k\u00f6z\u00f6s adatok felett, mint b\u00e1rmilyen m\u00e1s adathalmazon. Arr\u00f3l van sz\u00f3, hogy azonnal elkezdhess\u00fck a munk\u00e1t, olyan szabads\u00e1ggal, mint b\u00e1rmely m\u00e1s inform\u00e1ci\u00f3s rendszerben.<\/p>\n<p>Az inform\u00e1ci\u00f3s rendszerek azonban alig kapcsol\u00f3dnak az elkapszul\u00e1z\u00e1shoz. Val\u00f3j\u00e1ban \u00e9ppen ellenkez\u0151leg. Az adatb\u00e1zisok mindent megtesznek, hogy hozz\u00e1f\u00e9r\u00e9st biztos\u00edtsanak a t\u00e1rolt adatokhoz. Er\u0151teljes deklarat\u00edv interf\u00e9sszel rendelkeznek, amely lehet\u0151v\u00e9 teszi az adatok \u00e1talak\u00edt\u00e1s\u00e1t a sz\u00fcks\u00e9ges m\u00f3don. Ez a funkci\u00f3 fontos a el\u0151zetes kutat\u00e1s sor\u00e1n, de nem a folyamatosan n\u00f6vekv\u0151 szolg\u00e1ltat\u00e1s \u00f6sszetetts\u00e9g\u00e9nek kezel\u00e9s\u00e9re.<\/p>\n<p><img decoding=\"async\" alt=\"Adatok dichot\u00f3mi\u00e1ja: az adatokhoz \u00e9s szolg\u00e1ltat\u00e1sokhoz val\u00f3 viszony \u00fajra\u00e9rtelmez\u00e9se\" src=\"\/wp-content\/uploads\/2020\/05\/830465d4aa3bd2e6c02772a982f170bd.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n \u00c9s itt felmer\u00fcl a dilemma. Az ellentmond\u00e1s. A dichot\u00f3mia. Hiszen az inform\u00e1ci\u00f3s rendszerek az adatok szolg\u00e1ltat\u00e1s\u00e1r\u00f3l sz\u00f3lnak, m\u00edg a szolg\u00e1ltat\u00e1sok a rejt\u00e9sr\u0151l.<\/p>\n<p>E k\u00e9t er\u0151 alapvet\u0151. Ezek k\u00e9pezik a munk\u00e1nk nagy r\u00e9sz\u00e9nek alapj\u00e1t, folyamatosan k\u00fczdve a fejl\u0151d\u00e9s\u00e9rt a rendszer\u00fcnkben.<\/p>\n<p>Ahogy a szolg\u00e1ltat\u00e1si rendszerek fejl\u0151dnek \u00e9s v\u00e1ltoznak, k\u00fcl\u00f6nb\u00f6z\u0151 megnyilv\u00e1nul\u00e1sait l\u00e1tjuk az adathasznot d\u00edkharter szerinti k\u00f6vetkezm\u00e9nyeinek. Vagy a szolg\u00e1ltat\u00e1s interf\u00e9sze n\u0151ni fog, sz\u00e9lesebb funkcionalit\u00e1st k\u00edn\u00e1lva, \u00e9s egyre ink\u00e1bb olyan lesz, mint egy csod\u00e1s, h\u00e1zi k\u00e9sz\u00edt\u00e9s\u0171 adatb\u00e1zis, vagy csal\u00f3d\u00e1s \u00e9r benn\u00fcnket, \u00e9s valamilyen m\u00f3dot val\u00f3s\u00edtunk meg, hogy t\u00f6megesen adatcsoportokat vonjunk le vagy mozgassunk szolg\u00e1ltat\u00e1sr\u00f3l szolg\u00e1ltat\u00e1sra.<\/p>\n<p><img decoding=\"async\" alt=\"Adatok dichot\u00f3mi\u00e1ja: az adatokhoz \u00e9s szolg\u00e1ltat\u00e1sokhoz val\u00f3 viszony \u00fajra\u00e9rtelmez\u00e9se\" src=\"\/wp-content\/uploads\/2020\/05\/da718c87570a4eb20b18f9c880ae8a1b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n Amit pedig az a dolog l\u00e9trehoz\u00e1sa jelent, ami \u00fagy n\u00e9z ki, mint egy csod\u00e1s, h\u00e1zi k\u00e9sz\u00edt\u00e9s\u0171 adatb\u00e1zis, az egy sor probl\u00e9m\u00e1hoz vezet. Nem fogunk belemenni abba, hogy mi\u00e9rt vesz\u00e9lyes a <i>shared database<\/i>, csak annyit mondunk, hogy jelent\u0151s k\u00f6lts\u00e9ges m\u00e9rn\u00f6ki \u00e9s \u00fczemeltet\u00e9si <noindex><a rel=\"nofollow\" href=\"http:\/\/microservices.io\/patterns\/data\/shared-database.html\">neh\u00e9zs\u00e9geket<\/a><\/noindex> okoz egy olyan c\u00e9g sz\u00e1m\u00e1ra, amely megpr\u00f3b\u00e1lja azt haszn\u00e1lni.<\/p>\n<p>R\u00e1ad\u00e1sul az adatmennyis\u00e9gek fokozz\u00e1k a szolg\u00e1ltat\u00e1si hat\u00e1rok probl\u00e9m\u00e1it. Min\u00e9l t\u00f6bb k\u00f6z\u00f6s adat tal\u00e1lhat\u00f3 a szolg\u00e1ltat\u00e1sban, ann\u00e1l bonyolultabb\u00e1 v\u00e1lik a felhaszn\u00e1l\u00f3i fel\u00fclet, \u00e9s ann\u00e1l nehezebb lesz az adatcsoportok \u00f6sszekapcsol\u00e1sa k\u00fcl\u00f6nb\u00f6z\u0151 szolg\u00e1ltat\u00e1sokb\u00f3l.<\/p>\n<p>Az alternat\u00edv megk\u00f6zel\u00edt\u00e9sek az adatcsoportok kinyer\u00e9s\u00e9re \u00e9s mozgat\u00e1s\u00e1ra szint\u00e9n magukban hordozz\u00e1k a probl\u00e9m\u00e1ikat. Az e probl\u00e9m\u00e1hoz szok\u00e1sos megk\u00f6zel\u00edt\u00e9s a teljes adatcsoport kinyer\u00e9s\u00e9t \u00e9s t\u00e1rol\u00e1s\u00e1t jelenti, majd annak lok\u00e1lis t\u00e1rol\u00e1s\u00e1t minden felhaszn\u00e1l\u00f3 szolg\u00e1ltat\u00e1sban.<\/p>\n<p><img decoding=\"async\" alt=\"Adatok dichot\u00f3mi\u00e1ja: az adatokhoz \u00e9s szolg\u00e1ltat\u00e1sokhoz val\u00f3 viszony \u00fajra\u00e9rtelmez\u00e9se\" src=\"\/wp-content\/uploads\/2020\/05\/63934c6876cb89e87155d4c097657617.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n A probl\u00e9ma az, hogy a k\u00fcl\u00f6nb\u00f6z\u0151 szolg\u00e1ltat\u00e1sok elt\u00e9r\u0151en \u00e9rtelmezik azokat az adatokat, amelyeket felhaszn\u00e1lnak. Ezek az adatok mindig a k\u00f6zelben vannak. Megv\u00e1ltoznak \u00e9s lok\u00e1lisan dolgozz\u00e1k fel \u0151ket. El\u00e9g gyorsan m\u00e1r semmilyen k\u00f6z\u00fck sincs a forr\u00e1shoz.<\/p>\n<p><img decoding=\"async\" alt=\"Adatok dichot\u00f3mi\u00e1ja: az adatokhoz \u00e9s szolg\u00e1ltat\u00e1sokhoz val\u00f3 viszony \u00fajra\u00e9rtelmez\u00e9se\" src=\"\/wp-content\/uploads\/2020\/05\/616e390ad3df3317ac34ac8d861ce804.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <i>Min\u00e9l ink\u00e1bb v\u00e1ltoz\u00e9konyak a m\u00e1solatok, ann\u00e1l ink\u00e1bb elt\u00e9rnek az adatok az id\u0151 m\u00fal\u00e1s\u00e1val.<\/i><\/p>\n<p>A legrosszabb az, hogy ezeket az adatokat visszamen\u0151legesen neh\u00e9z jav\u00edtani (<noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Master_data_management\">MDM<\/a><\/noindex> itt val\u00f3ban seg\u00edts\u00e9g\u00fcnkre lehet). Val\u00f3j\u00e1ban n\u00e9h\u00e1ny nehezen megoldhat\u00f3 technol\u00f3giai probl\u00e9ma, amellyel a v\u00e1llalkoz\u00e1sok szembes\u00fclnek, az elt\u00e9r\u0151 adatokb\u00f3l ered, amelyek alkalmaz\u00e1sr\u00f3l alkalmaz\u00e1sra szaporodnak.<\/p>\n<p>Ahhoz, hogy megold\u00e1st tal\u00e1ljunk erre a k\u00f6z\u00f6s adatok probl\u00e9m\u00e1j\u00e1ra, m\u00e1sk\u00e9pp kell gondolkodnunk. Ezeknek els\u0151 oszt\u00e1ly\u00fa objektumokk\u00e1 kell v\u00e1lniuk az \u00e1ltalunk \u00e9p\u00edtett architekt\u00far\u00e1kban. <noindex><a rel=\"nofollow\" href=\"http:\/\/cidrdb.org\/cidr2005\/papers\/P12.pdf\">P\u00e9t Helland<\/a><\/noindex> Ezeket az adatokat \u201ek\u00fcls\u0151nek\u201d nevezik, \u00e9s ez nagyon fontos jellemz\u0151. Sz\u00fcks\u00e9g\u00fcnk van kapszul\u00e1z\u00e1sra, hogy ne t\u00e1rjuk fel a szolg\u00e1ltat\u00e1s bels\u0151 fel\u00e9p\u00edt\u00e9s\u00e9t, de meg kell k\u00f6nny\u00edten\u00fcnk a szolg\u00e1ltat\u00e1sok sz\u00e1m\u00e1ra a megosztott adatokhoz val\u00f3 hozz\u00e1f\u00e9r\u00e9st, hogy megfelel\u0151en ell\u00e1thass\u00e1k feladataikat.<\/p>\n<p><img decoding=\"async\" alt=\"Adatok dichot\u00f3mi\u00e1ja: az adatokhoz \u00e9s szolg\u00e1ltat\u00e1sokhoz val\u00f3 viszony \u00fajra\u00e9rtelmez\u00e9se\" src=\"\/wp-content\/uploads\/2020\/05\/9703ffdbb528320edc62ee7a680a3258.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n A probl\u00e9ma az, hogy ma m\u00e1r egyik megk\u00f6zel\u00edt\u00e9s sem aktu\u00e1lis, mivel sem a szolg\u00e1ltat\u00e1sok interf\u00e9szei, sem az \u00fczenetv\u00e1lt\u00e1s, sem a Shared Database nem k\u00edn\u00e1l j\u00f3 megold\u00e1st a k\u00fcls\u0151 adatok kezel\u00e9s\u00e9re. A szolg\u00e1ltat\u00e1sok interf\u00e9szei nem alkalmasak adatok cser\u00e9j\u00e9re b\u00e1rmilyen m\u00e9rt\u00e9kben. Az \u00fczenetv\u00e1lt\u00e1s adatokat mozgat, de nem t\u00e1rolja t\u00f6rt\u00e9net\u00fcket, \u00edgy id\u0151vel az adatok k\u00e1rosodnak. A Shared Databases t\u00falzottan egyetlen pontra \u00f6sszpontos\u00edtanak, ami h\u00e1tr\u00e1ltatja a fejl\u0151d\u00e9st. \u00cdgy elker\u00fclhetetlen\u00fcl egy adataink \u00e9rv\u00e9nytelens\u00e9gi ciklus\u00e1ba ragadunk.<\/p>\n<p><img decoding=\"async\" alt=\"Adatok dichot\u00f3mi\u00e1ja: az adatokhoz \u00e9s szolg\u00e1ltat\u00e1sokhoz val\u00f3 viszony \u00fajra\u00e9rtelmez\u00e9se\" src=\"\/wp-content\/uploads\/2020\/05\/f17ac7063a813cb76bad71ae8622912c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <i>Adataink \u00e9rv\u00e9nytelens\u00e9gi ciklus<\/i><\/p>\n<h3>\u00c1raml\u00e1sok: decentraliz\u00e1lt megk\u00f6zel\u00edt\u00e9s az adatok \u00e9s szolg\u00e1ltat\u00e1sok sz\u00e1m\u00e1ra<\/h3>\n<p>\n Ide\u00e1lisan meg kell v\u00e1ltoztatnunk a megk\u00f6zel\u00edt\u00e9st arra, hogyan m\u0171k\u00f6dnek a szolg\u00e1ltat\u00e1sok a k\u00f6z\u00f6s adatokkal. Jelenleg b\u00e1rmely megk\u00f6zel\u00edt\u00e9s szembes\u00fcl a fent eml\u00edtett dikot\u00f3mi\u00e1val, mivel nincs var\u00e1zsipar, amellyel gazdagon meghint\u00e1zhatn\u00e1nk, \u00e9s elt\u00fcntethetn\u00e9nk ezt a probl\u00e9m\u00e1t. Azonban \u00fajra tudjuk gondolni a probl\u00e9m\u00e1t, \u00e9s kompromisszumra juthatunk.<\/p>\n<p>Ez a kompromisszum bizonyos fok\u00fa k\u00f6zpontos\u00edt\u00e1st felt\u00e9telez. Kihaszn\u00e1lhatjuk a decentraliz\u00e1lt napl\u00f3mechanizmust, mivel ez megb\u00edzhat\u00f3, sk\u00e1l\u00e1zhat\u00f3 \u00e1raml\u00e1sokat biztos\u00edt. Most arra van sz\u00fcks\u00e9g, hogy a szolg\u00e1ltat\u00e1sok csatlakozhassanak \u00e9s e k\u00f6z\u00f6s \u00e1raml\u00e1sokkal dolgozhassanak, azonban el akarjuk ker\u00fclni a bonyolult k\u00f6zpontos\u00edtott God Service-eket, amelyek ilyen feldolgoz\u00e1st val\u00f3s\u00edtanak meg. Ez\u00e9rt a legjobb megold\u00e1s, ha a folyamatos feldolgoz\u00e1st minden szolg\u00e1ltat\u00e1s-fogyaszt\u00f3ba be\u00e9p\u00edtj\u00fck. \u00cdgy a szolg\u00e1ltat\u00e1sok k\u00e9pesek lesznek \u00f6sszekapcsolni az adatcsoportokat k\u00fcl\u00f6nb\u00f6z\u0151 forr\u00e1sokb\u00f3l, \u00e9s azokat \u00fagy haszn\u00e1lni, ahogyan sz\u00fcks\u00e9g\u00fck van r\u00e1.<\/p>\n<p>Az egyik m\u00f3dja ennek a megk\u00f6zel\u00edt\u00e9snek a megval\u00f3s\u00edt\u00e1s\u00e1ra egy streamel\u00e9si platform haszn\u00e1lata. Sz\u00e1mos lehet\u0151s\u00e9g l\u00e9tezik, de ma kifejezetten a Kafka-r\u00f3l fogunk besz\u00e9lni, mivel a Stateful Stream Processing haszn\u00e1lata hat\u00e9kony megold\u00e1st k\u00edn\u00e1l a felvetett probl\u00e9m\u00e1ra.<\/p>\n<p><img decoding=\"async\" alt=\"Adatok dichot\u00f3mi\u00e1ja: az adatokhoz \u00e9s szolg\u00e1ltat\u00e1sokhoz val\u00f3 viszony \u00fajra\u00e9rtelmez\u00e9se\" src=\"\/wp-content\/uploads\/2020\/05\/353c7f12af87901e721abb7ea92d8196.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n A decentraliz\u00e1lt napl\u00f3z\u00e1s mechanizmus\u00e1nak haszn\u00e1lata lehet\u0151v\u00e9 teszi sz\u00e1munkra, hogy a kitaposott \u00f6sv\u00e9nyen haladjunk, \u00e9s \u00fczenetv\u00e1lt\u00e1st alkalmazzunk a munkav\u00e9gz\u00e9shez. <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/Event-driven_architecture\">esem\u00e9nyalap\u00fa architekt\u00fara<\/a><\/noindex>. \u00dagy tartj\u00e1k, hogy ez a megk\u00f6zel\u00edt\u00e9s jobb sk\u00e1l\u00e1z\u00e1st \u00e9s elv\u00e1laszt\u00e1st biztos\u00edt, mint a \u201ek\u00e9r\u00e9s-v\u00e1lasz\u201d mechanizmus, mivel a folyamat ir\u00e1ny\u00edt\u00e1s\u00e1t a fogad\u00f3, nem pedig a k\u00fcld\u0151 kapja. Azonban mindent meg kell fizetni ebben az \u00e9letben, \u00e9s ehhez sz\u00fcks\u00e9ge lesz egy br\u00f3kerre. De a nagy rendszerek eset\u00e9ben ez a kompromisszum meg\u00e9ri (amire a tipikus webalkalmaz\u00e1sai nem mondhatj\u00e1k el).<\/p>\n<p>Ha a elosztott napl\u00f3z\u00e1s\u00e9rt a br\u00f3ker felel, nem pedig a hagyom\u00e1nyos \u00fczenetk\u00fcld\u0151 rendszer, akkor kihaszn\u00e1lhatjuk a tov\u00e1bbi funkci\u00f3kat. A sz\u00e1ll\u00edt\u00e1st szinte ugyan\u00fagy line\u00e1risan lehet sk\u00e1l\u00e1zni, mint az elosztott f\u00e1jlrendszert. Az adatok el\u00e9g hossz\u00fa ideig t\u00e1rolhat\u00f3k a napl\u00f3kban, \u00edgy nemcsak \u00fczenetv\u00e1lt\u00e1s, hanem inform\u00e1ci\u00f3t\u00e1rol\u00e1s is rendelkez\u00e9sre \u00e1ll. Sk\u00e1l\u00e1zhat\u00f3 t\u00e1rol\u00f3 an\u00e9lk\u00fcl, hogy f\u00e9lni kellene a v\u00e1ltoztathat\u00f3 k\u00f6z\u00f6s \u00e1llapott\u00f3l.<\/p>\n<p>Ezut\u00e1n haszn\u00e1lhatjuk az \u00e1llapotmeg\u0151rz\u0151 stream feldolgoz\u00e1s mechanizmus\u00e1t az adatb\u00e1zis deklarat\u00edv eszk\u00f6zeinek hozz\u00e1ad\u00e1s\u00e1ra a fogyaszt\u00f3 szolg\u00e1ltat\u00e1sokhoz. Ez egy nagyon fontos gondolat. Am\u00edg az adatok a k\u00f6z\u00f6s \u00e1ramlatokban maradnak, amelyekhez minden szolg\u00e1ltat\u00e1s hozz\u00e1f\u00e9rhet, a szolg\u00e1ltat\u00e1s \u00e1ltal v\u00e9gzett egyes\u00edt\u00e9s \u00e9s feldolgoz\u00e1s priv\u00e1t. Ezek egy szigor\u00faan korl\u00e1tozott kontextuson bel\u00fcl izol\u00e1ltak.<\/p>\n<p><img decoding=\"async\" alt=\"Adatok dichot\u00f3mi\u00e1ja: az adatokhoz \u00e9s szolg\u00e1ltat\u00e1sokhoz val\u00f3 viszony \u00fajra\u00e9rtelmez\u00e9se\" src=\"\/wp-content\/uploads\/2020\/05\/01c8beabb9a02e4c06dffb84f9161324.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <i>Szabaduljon meg az adatt dichot\u00f3mi\u00e1j\u00e1t\u00f3l az immut\u00e1bilis \u00e1llapotfolyamok elv\u00e1laszt\u00e1s\u00e1val. Ezut\u00e1n adja hozz\u00e1 ezt a funkci\u00f3t minden szolg\u00e1ltat\u00e1shoz az \u00e1llapotmeg\u0151rz\u0151 Stream Feldolgoz\u00e1s seg\u00edts\u00e9g\u00e9vel.<\/i><\/p>\n<p>\u00cdgy ha a szolg\u00e1ltat\u00e1s\u00e1nak rendel\u00e9sekkel, term\u00e9kkatal\u00f3gussal, rakt\u00e1rral kell foglalkoznia, teljes hozz\u00e1f\u00e9r\u00e9se lesz: csak \u00f6n d\u00f6ntheti el, hogy mely adatokat vonja \u00f6ssze, hol dolgozza fel \u0151ket, \u00e9s hogyan kell v\u00e1ltozniuk az id\u0151 m\u00fal\u00e1s\u00e1val. B\u00e1r az adatok k\u00f6z\u00f6sek, a vel\u00fck val\u00f3 munka teljesen decentraliz\u00e1lt. Minden szolg\u00e1ltat\u00e1son bel\u00fcl zajlik, egy olyan vil\u00e1gban, ahol minden az \u00f6n szab\u00e1lyai szerint t\u00f6rt\u00e9nik.<\/p>\n<p><img decoding=\"async\" alt=\"Adatok dichot\u00f3mi\u00e1ja: az adatokhoz \u00e9s szolg\u00e1ltat\u00e1sokhoz val\u00f3 viszony \u00fajra\u00e9rtelmez\u00e9se\" src=\"\/wp-content\/uploads\/2020\/05\/4b2635ad8ddd18f455eea654e472f85e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Ossza meg az adatokat \u00fagy, hogy azok integrit\u00e1sa ne s\u00e9r\u00fclj\u00f6n. Inkapszul\u00e1lja a funkci\u00f3t, ne pedig az forr\u00e1st, minden sz\u00fcks\u00e9ges szolg\u00e1ltat\u00e1sban.<\/i><\/p>\n<p>El\u0151fordul, hogy az adatokat t\u00f6megesen kell \u00e1thelyezni. N\u00e9ha a szolg\u00e1ltat\u00e1snak sz\u00fcks\u00e9ge van egy helyi t\u00f6rt\u00e9neti adathalmazra a v\u00e1lasztott adatb\u00e1zis-motorban. A l\u00e9nyeg az, hogy garant\u00e1lhat\u00f3, hogy sz\u00fcks\u00e9g eset\u00e9n a m\u00e1solat vissza\u00e1ll\u00edthat\u00f3 a forr\u00e1sb\u00f3l a megosztott napl\u00f3z\u00e1si mechanizmus seg\u00edts\u00e9g\u00e9vel. A Kafka csatlakoz\u00f3i remek\u00fcl teljes\u00edtik ezt a feladatot.<\/p>\n<p>Teh\u00e1t a ma t\u00e1rgyalt megk\u00f6zel\u00edt\u00e9snek t\u00f6bb el\u0151nye is van:<\/p>\n<ul>\n<li>Az adatok k\u00f6z\u00f6s folyamatok form\u00e1j\u00e1ban ker\u00fclnek felhaszn\u00e1l\u00e1sra, amelyek hossz\u00fa ideig t\u00e1rolhat\u00f3k a napl\u00f3kban, \u00e9s a k\u00f6z\u00f6s adatokkal val\u00f3 munka mechanizmusa minden egyes kontextusba be van \u00e9p\u00edtve, lehet\u0151v\u00e9 t\u00e9ve a szolg\u00e1ltat\u00e1sok gyors \u00e9s egyszer\u0171 m\u0171k\u00f6d\u00e9s\u00e9t. Ilyen m\u00f3don kiegyens\u00falyozhat\u00f3 az adatok dichot\u00f3mi\u00e1ja.<\/li>\n<li>A k\u00fcl\u00f6nb\u00f6z\u0151 szolg\u00e1ltat\u00e1sokb\u00f3l \u00e9rkez\u0151 adatok k\u00f6nnyen egyes\u00edthet\u0151k halmazokk\u00e1. Ez\u00e1ltal egyszer\u0171s\u00f6dik a k\u00f6z\u00f6s adatokkal val\u00f3 interakci\u00f3, \u00e9s megsz\u0171nik a sz\u00fcks\u00e9gess\u00e9g a helyi adathalmazok t\u00e1mogat\u00e1s\u00e1ra az adatb\u00e1zisban.<\/li>\n<li>A Stateful Stream Processing csup\u00e1n az adatokat t\u00e1rolja, m\u00edg az igazs\u00e1g forr\u00e1sa a k\u00f6z\u00f6s napl\u00f3k maradnak, \u00edgy az adatok id\u0151beli s\u00e9r\u00fcl\u00e9s\u00e9nek probl\u00e9m\u00e1ja nem \u00e1ll annyira \u00e9lesen.<\/li>\n<li>A szolg\u00e1ltat\u00e1sok alapvet\u0151en az adatok \u00e1ltal vez\u00e9reltek, teh\u00e1t a folyamatosan n\u00f6vekv\u0151 adatmennyis\u00e9gek ellen\u00e9re a szolg\u00e1ltat\u00e1sok m\u00e9g mindig gyorsan reag\u00e1lhatnak az \u00fczleti esem\u00e9nyekre.<\/li>\n<li>A sk\u00e1l\u00e1zhat\u00f3s\u00e1gi probl\u00e9m\u00e1k a br\u00f3kerre h\u00e1rulnak, nem a szolg\u00e1ltat\u00e1sokra. \u00cdgy jelent\u0151sen cs\u00f6kken a szolg\u00e1ltat\u00e1sok \u00edr\u00e1s\u00e1nak bonyolults\u00e1ga, mivel nem sz\u00fcks\u00e9ges a sk\u00e1l\u00e1zhat\u00f3s\u00e1ggal foglalkozni.<\/li>\n<li>\u00daj szolg\u00e1ltat\u00e1sok hozz\u00e1ad\u00e1sa nem ig\u00e9nyli a r\u00e9gi szolg\u00e1ltat\u00e1sok megv\u00e1ltoztat\u00e1s\u00e1t, \u00edgy az \u00faj szolg\u00e1ltat\u00e1sok csatlakoztat\u00e1sa k\u00f6nnyebb\u00e9 v\u00e1lik.<\/li>\n<\/ul>\n<p>\nAhogy l\u00e1tja, ez t\u00f6bb mint egyszer\u0171 REST. Olyan eszk\u00f6zk\u00e9szletet kaptunk, amely lehet\u0151v\u00e9 teszi a k\u00f6z\u00f6s adatok decentraliz\u00e1lt kezel\u00e9s\u00e9t.<\/p>\n<p>A mai cikkben messze nem minden szempont ker\u00fclt bemutat\u00e1sra. M\u00e9g mindig meg kell hat\u00e1roznunk, hogyan egyens\u00falyozhatunk a \"k\u00e9r\u00e9s-v\u00e1lasz\" paradigma \u00e9s az esem\u00e9nyalap\u00fa paradigma k\u00f6z\u00f6tt. De ezzel legk\u00f6zelebb foglalkozunk. Vannak t\u00e9m\u00e1k, amelyeket jobban meg kell ismerni, p\u00e9ld\u00e1ul hogy mi\u00e9rt olyan j\u00f3 a Stateful Stream Processing. Err\u0151l fogunk besz\u00e9lni a harmadik cikkben. Ezen k\u00edv\u00fcl l\u00e9teznek m\u00e1s er\u0151teljes konstrukci\u00f3k is, amelyeket ig\u00e9nybe vehet\u00fcnk, ha \u00e9l\u00fcnk vel\u00fck, p\u00e9ld\u00e1ul, <noindex><a rel=\"nofollow\" href=\"https:\/\/cwiki.apache.org\/confluence\/display\/KAFKA\/KIP-98+-+Exactly+Once+Delivery+and+Transactional+Messaging\">Pontosan Egyszeri Feldolgoz\u00e1s<\/a><\/noindex>. Ezzel megv\u00e1ltozik a j\u00e1t\u00e9kszab\u00e1ly a disztrib\u00faci\u00f3s \u00fczleti rendszerek sz\u00e1m\u00e1ra, mivel ez a konstrukci\u00f3 tranzakci\u00f3s garanci\u00e1kat biztos\u00edt a <noindex><a rel=\"nofollow\" href=\"https:\/\/en.wikipedia.org\/wiki\/X\/Open_XA\">XA<\/a><\/noindex> sk\u00e1l\u00e1zhat\u00f3 form\u00e1ban. Err\u0151l fog sz\u00f3lni a negyedik cikk. V\u00e9g\u00fcl pedig gyorsan \u00e1t kell n\u00e9zn\u00fcnk a megval\u00f3s\u00edt\u00e1s r\u00e9szleteit.<\/p>\n<p><img decoding=\"async\" alt=\"Adatok dichot\u00f3mi\u00e1ja: az adatokhoz \u00e9s szolg\u00e1ltat\u00e1sokhoz val\u00f3 viszony \u00fajra\u00e9rtelmez\u00e9se\" src=\"\/wp-content\/uploads\/2020\/05\/f66eadcc538cf3da74ccb120e1de2ae7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDe el\u0151sz\u00f6r is jegyezd meg a k\u00f6vetkez\u0151t: az adatok dikhot\u00f3mi\u00e1ja az a hatalom, amellyel tal\u00e1lkozunk \u00fczleti szolg\u00e1ltat\u00e1sok l\u00e9trehoz\u00e1sakor. Ezt szem el\u0151tt kell tartanunk. A kulcs az, hogy mindent fejjel lefel\u00e9 ford\u00edtsunk, \u00e9s kezdj\u00fck el az \u00f6sszes adatot els\u0151 oszt\u00e1ly\u00fa objektumokk\u00e9nt sz\u00e1m\u00edtani. A Stateful Stream Processing egyed\u00fcl\u00e1ll\u00f3 kompromisszumot biztos\u00edt ehhez. Elker\u00fcli a k\u00f6zpontos\u00edtott \u201eIsten komponenseket\u201d, amelyek g\u00e1tolj\u00e1k a fejl\u0151d\u00e9st. Tov\u00e1bb\u00e1 biztos\u00edtja az operat\u00edv, sk\u00e1l\u00e1zhat\u00f3 \u00e9s hibamentes adatfolyam-kezel\u0151 cs\u00f6vek m\u0171k\u00f6d\u00e9s\u00e9t, \u00e9s azokat minden szolg\u00e1ltat\u00e1shoz hozz\u00e1adja. \u00cdgy a k\u00f6z\u00f6s tudat\u00e1ramra \u00f6sszpontos\u00edthatunk, amelyhez b\u00e1rmely szolg\u00e1ltat\u00e1s csatlakozhat \u00e9s dolgozhat az adataival. \u00cdgy a szolg\u00e1ltat\u00e1sok sk\u00e1l\u00e1zhat\u00f3bb\u00e1, helyettes\u00edthet\u0151bb\u00e9 \u00e9s auton\u00f3mabb\u00e1 v\u00e1lnak. Ez\u00e9rt nemcsak j\u00f3l mutatnak a t\u00e1bl\u00e1zatokon \u00e9s a hipot\u00e9zisek ellen\u0151rz\u00e9sekor, hanem \u00e9vtizedekig m\u0171k\u00f6dnek \u00e9s fejl\u0151dnek is. <\/p>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/rVZl\/\">Tov\u00e1bbi inform\u00e1ci\u00f3 a tanfolyamr\u00f3l.<br \/>\n<\/a><\/noindex><\/p>\n<p>Forr\u00e1s: <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\/hu\/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=\"hu_HU\" \/>\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\/hu\/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\udd47Adatok dikhot\u00f3mi\u00e1ja: az adatok \u00e9s szolg\u00e1ltat\u00e1sok \u00fajragondol\u00e1sa | ProHoster","description":"Mindenkinek szia!","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/dihotomiya-dannyh-pereosmyslenie-otnosheniya-k-dannym-i-servisam","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hu_HU","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\/hu\/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\/hu\/wp-json\/wp\/v2\/posts\/83248","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/comments?post=83248"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/83248\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/83249"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=83248"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=83248"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=83248"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}