{"id":55701,"date":"2020-01-26T00:00:00","date_gmt":"2020-01-25T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/nuzhno-li-nam-ozero-dannyh-a-chto-delat-s-hranilishhem-dannyh"},"modified":"2020-02-18T14:03:50","modified_gmt":"2020-02-18T11:03:50","slug":"nuzhno-li-nam-ozero-dannyh-a-chto-delat-s-hranilishhem-dannyh","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/nuzhno-li-nam-ozero-dannyh-a-chto-delat-s-hranilishhem-dannyh","title":{"rendered":"Potrebujeme jazero d\u00e1t? A \u010do s datab\u00e1zov\u00fdm \u00falo\u017eiskom?","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Toto je \u010dl\u00e1nok preklad mojej \u010dl\u00e1nku na medium \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/rock-your-data\/getting-started-with-data-lake-4bb13643f9\">Za\u010diatky s D\u00e1tov\u00fdm Jazerom<\/a><\/noindex>, ktor\u00fd sa uk\u00e1zal by\u0165 dos\u0165 popul\u00e1rny, asi kv\u00f4li svojej jednoduchosti. Preto som sa rozhodol nap\u00edsa\u0165 ho v sloven\u010dine a trochu doplni\u0165, aby be\u017en\u00fd \u010dlovek, ktor\u00fd nie je \u0161pecialista na pr\u00e1cu s d\u00e1tami, pochopil, \u010do je to \u00falo\u017eisko d\u00e1t (DW), \u010do je to d\u00e1tov\u00e9 jazero (Data Lake) a ako spolu koexistuj\u00fa. <\/p>\n<p>Pre\u010do som sa rozhodol nap\u00edsa\u0165 o d\u00e1tovom jazere? Pracujem s d\u00e1tami a analytikou viac ako 10 rokov, a teraz ur\u010dite pracujem s ve\u013ek\u00fdmi d\u00e1tami v Amazon Alexa AI v Cambridge, ktor\u00fd je bl\u00edzko Bostonu, aj ke\u010f s\u00e1m \u017eijem vo Victorii na ostrove Vancouver a \u010dasto som v Bostone, Seattli a Vancouveri, a niekedy dokonca aj v Moskve vystupujem na konferenci\u00e1ch. Takisto \u010das od \u010dasu p\u00ed\u0161em, ale p\u00ed\u0161em preva\u017ene v angli\u010dtine a u\u017e som nap\u00edsal <noindex><a rel=\"nofollow\" href=\"https:\/\/www.amazon.com\/Dmitry-Anoshin\/e\/B01A5PVT2M\">nieko\u013eko kn\u00edh<\/a><\/noindex>, z\u00e1rove\u0148 m\u00e1m potrebu zdie\u013ea\u0165 trendy analytiky zo Severnej Ameriky, a ob\u010das p\u00ed\u0161em do <noindex><a rel=\"nofollow\" href=\"https:\/\/t.me\/rockyourdata\">telegramu<\/a><\/noindex>.<\/p>\n<p>V\u017edy som pracoval s \u00falo\u017eiskami d\u00e1t, a od roku 2015 som sa intenz\u00edvne zaoberal Amazon Web Services, a v\u00f4bec som pre\u0161iel na cloudov\u00fa analytiku (AWS, Azure, GCP). Sledoval som v\u00fdvoj rie\u0161en\u00ed pre analytiku od roku 2007 a s\u00e1m som dokonca pracoval u dod\u00e1vate\u013ea \u00falo\u017eiska d\u00e1t Teradata a implementoval to v Sberbank, vtedy vznikla Big Data s Hadoop. V\u0161etci za\u010dali hovori\u0165, \u017ee \u00e9ra \u00falo\u017e\u00edsk skon\u010dila a teraz sa v\u0161etko rob\u00ed na Hadoop, a potom sa u\u017e hovorilo o D\u00e1tovom Jazere, op\u00e4\u0165 \u017ee u\u017e ur\u010dite \u00falo\u017eisku zomrela. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nV tomto \u010dl\u00e1nku sa pozrieme na to, \u010do je to d\u00e1tov\u00e9 jazero. \u010cl\u00e1nok je ur\u010den\u00fd pre \u013eud\u00ed, ktor\u00ed maj\u00fa m\u00e1lo sk\u00fasenost\u00ed s \u00falo\u017eiskami d\u00e1t alebo v\u00f4bec \u017eiadne.<\/p>\n<p><img decoding=\"async\" alt=\"Potrebujeme jazero d\u00e1t? A \u010do s datab\u00e1zov\u00fdm \u00falo\u017eiskom?\" src=\"\/wp-content\/uploads\/2020\/01\/85b3eda809ce19fc33efb2fad4e93a41.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNa obr\u00e1zku je jazero Bled, to je jedno z mojich ob\u013e\u00faben\u00fdch jazier, aj ke\u010f som tam bol len raz, ale zapam\u00e4tal som si ho na cel\u00fd \u017eivot. Ale budeme sa rozpr\u00e1va\u0165 o inom type jazera \u2014 d\u00e1tovom jazere. Mo\u017eno mnoh\u00ed z v\u00e1s u\u017e nie raz po\u010duli tento term\u00edn, ale \u010fal\u0161ia defin\u00edcia nikomu neubl\u00ed\u017ei.<\/p>\n<p>Predov\u0161etk\u00fdm tu s\u00fa najpopul\u00e1rnej\u0161ie defin\u00edcie D\u00e1tov\u00e9ho Jazera:<\/p>\n<blockquote><p>\"s\u00faborov\u00e9 \u00falo\u017eisko v\u0161etk\u00fdch typov surov\u00fdch d\u00e1t, ktor\u00e9 s\u00fa dostupn\u00e9 na anal\u00fdzu k\u00fdmko\u013evek v organiz\u00e1cii\" \u2014 Martin Fowler.<\/p><\/blockquote>\n<blockquote><p>\u201eAk si mysl\u00edte, \u017ee d\u00e1tov\u00e1 vitr\u00edna je ako f\u013ea\u0161a vody \u2014 prefiltrovanej, zabalen\u00e9 a pripraven\u00e9 na pohodln\u00e9 pou\u017eitie, tak jazero d\u00e1t je pre n\u00e1s obrovsk\u00e1 n\u00e1dr\u017e s vodou v jej prirodzenej podobe. Pou\u017e\u00edvatelia m\u00f4\u017eu \u010derpa\u0165 vodu pre seba, ponori\u0165 sa do h\u013abky, presk\u00famava\u0165.\u201c \u2014 James Dickson. <\/p><\/blockquote>\n<p> Teraz presne vieme, \u017ee jazero d\u00e1t je o anal\u00fdze, umo\u017e\u0148uje n\u00e1m uchov\u00e1va\u0165 ve\u013ek\u00e9 objemy \u00fadajov v ich p\u00f4vodnej forme a m\u00e1me potrebn\u00fd a pohodln\u00fd pr\u00edstup k \u00fadajom.<\/p>\n<p>\u010casto r\u00e1d zjednodu\u0161ujem veci, ak m\u00f4\u017eem vysvetli\u0165 zlo\u017eit\u00fd term\u00edn jednoduch\u00fdmi slovami, znamen\u00e1 to, \u017ee som pochopil, ako to funguje a na \u010do je to potrebn\u00e9. Napr\u00edklad, ke\u010f som prech\u00e1dzal iPhone v gal\u00e9rii fotografi\u00ed, uvedomil som si, \u017ee to je skuto\u010dn\u00e9 jazero d\u00e1t, dokonca som urobil sn\u00edmku pre konferencie:<\/p>\n<p><img decoding=\"async\" alt=\"Potrebujeme jazero d\u00e1t? A \u010do s datab\u00e1zov\u00fdm \u00falo\u017eiskom?\" src=\"\/wp-content\/uploads\/2020\/01\/1956ddf4091ca00f6d86c33a6780d495.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nV\u0161etko je ve\u013emi jednoduch\u00e9. Urob\u00edme fotografiu mobilom, fotografia sa ulo\u017e\u00ed do telef\u00f3nu a m\u00f4\u017ee by\u0165 ulo\u017een\u00e1 v iCloudu (\u00falo\u017eisko v oblaku). Telef\u00f3n tie\u017e zhroma\u017e\u010fuje meta\u00fadaje fotografie: \u010do je zobrazen\u00e9, geoloka\u010dn\u00e9 \u00fadaje, \u010das. Ako v\u00fdsledok, m\u00f4\u017eeme pou\u017ei\u0165 pohodln\u00e9 rozhranie iPhonu na n\u00e1jdenie na\u0161ej fotografie a pritom vid\u00edme aj ukazovatele, napr\u00edklad, ke\u010f h\u013ead\u00e1m fotografie so slovom ohe\u0148 (fire), n\u00e1jdem 3 fotografie so zobrazen\u00edm oh\u0148a. Pre m\u0148a je to ako n\u00e1stroj Business Intelligence, ktor\u00fd funguje ve\u013emi r\u00fdchlo a presne. <\/p>\n<p>A samozrejme, nesmieme zabudn\u00fa\u0165 na bezpe\u010dnos\u0165 (autoriz\u00e1ciu a autentifik\u00e1ciu), inak m\u00f4\u017eu na\u0161e \u00fadaje jednoducho prenikn\u00fa\u0165 do verejn\u00e9ho pr\u00edstupu. Je ve\u013ea spr\u00e1v o ve\u013ek\u00fdch korpor\u00e1ci\u00e1ch a startupoch, ktor\u00fdch \u00fadaje sa dostali do verejn\u00e9ho pr\u00edstupu z d\u00f4vodu nedbanlivosti v\u00fdvoj\u00e1rov a nedodr\u017eiavania jednoduch\u00fdch pravidiel.<\/p>\n<p>Aj tak\u00fd jednoduch\u00fd obr\u00e1zok n\u00e1m pom\u00e1ha predstavi\u0165 si, \u010do je to jazero d\u00e1t, jeho rozdiely od tradi\u010dn\u00e9ho \u00falo\u017eiska d\u00e1t a jeho z\u00e1kladn\u00e9 prvky:<\/p>\n<ol>\n<li><b>Na\u010d\u00edtanie d\u00e1t <\/b>(Ingestion) \u2014 k\u013e\u00fa\u010dov\u00e1 zlo\u017eka jazera d\u00e1t. \u00dadaje m\u00f4\u017eu vstupova\u0165 do \u00falo\u017eiska d\u00e1t dvoma sp\u00f4sobmi \u2014 batch (nahr\u00e1vanie v intervaloch) a streaming (\u00fadr\u017eba d\u00e1tov\u00e9ho toku).<\/li>\n<li><b>S\u00faborov\u00e9 \u00falo\u017eisko<\/b> (Storage) \u2014 hlavn\u00e1 zlo\u017eka jazera d\u00e1t. Potrebujeme, aby bolo \u00falo\u017eisko \u013eahko \u0161k\u00e1lovate\u013en\u00e9, mimoriadne spo\u013eahliv\u00e9 a malo n\u00edzke n\u00e1klady. Napr\u00edklad v AWS je to S3.<\/li>\n<li><b>Katal\u00f3g a H\u013eadanie<\/b> (Katal\u00f3g a H\u013eadanie) \u2014 aby sme sa vyhli Ba\u017ein\u00e1m D\u00e1t (to je, ke\u010f nah\u00e1d\u017eeme v\u0161etky d\u00e1ta do jedn\u00e9ho miesta a potom s nimi nie je mo\u017en\u00e9 pracova\u0165), mus\u00edme vytvori\u0165 vrstvu metad\u00e1t na klasifik\u00e1ciu d\u00e1t, aby pou\u017e\u00edvatelia mohli \u013eahko n\u00e1js\u0165 d\u00e1ta, ktor\u00e9 potrebuj\u00fa na anal\u00fdzu. Navy\u0161e, m\u00f4\u017eeme pou\u017ei\u0165 \u010fal\u0161ie rie\u0161enia na h\u013eadanie, ako ElasticSearch. H\u013eadanie pom\u00e1ha pou\u017e\u00edvate\u013eovi n\u00e1js\u0165 potrebn\u00e9 d\u00e1ta cez pohodln\u00e9 rozhranie.<\/li>\n<li><b>Spracovanie<\/b> (Proces) \u2014 tento krok zodpoved\u00e1 za spracovanie a transform\u00e1ciu d\u00e1t. M\u00f4\u017eeme transformova\u0165 d\u00e1ta, meni\u0165 ich \u0161trukt\u00fary, \u010disti\u0165 ich a mnoho \u010fal\u0161ieho. <\/li>\n<li><b>Bezpe\u010dnos\u0165<\/b> (Bezpe\u010dnos\u0165) \u2014 je d\u00f4le\u017eit\u00e9 venova\u0165 \u010das n\u00e1vrhu bezpe\u010dnosti rie\u0161enia. Napr\u00edklad, \u0161ifrovanie d\u00e1t po\u010das ukladania, spracovania a preberania. D\u00f4le\u017eit\u00e9 je pou\u017e\u00edva\u0165 met\u00f3dy autentifik\u00e1cie a autoriz\u00e1cie. Na z\u00e1ver, potrebujeme n\u00e1stroj na audit.<\/li>\n<\/ol>\n<p>\nZ praktick\u00e9ho h\u013eadiska m\u00f4\u017eeme charakterizova\u0165 jazero d\u00e1t troma atrib\u00fatmi:<\/p>\n<ol>\n<li><b>Zhroma\u017e\u010fujte a ulo\u017ete \u010doko\u013evek<\/b> \u2014 jazero d\u00e1t obsahuje v\u0161etky d\u00e1ta, ako surov\u00e9 neopracovan\u00e9 d\u00e1ta za ak\u00e9ko\u013evek obdobie, tak aj spracovan\u00e9\/\u010disten\u00e9 d\u00e1ta.<\/li>\n<li><b>Hlbok\u00e1 anal\u00fdza<\/b> \u2014 jazero d\u00e1t umo\u017e\u0148uje pou\u017e\u00edvate\u013eom sk\u00fama\u0165 a analyzova\u0165 d\u00e1ta.<\/li>\n<li><b>Flexibiln\u00fd pr\u00edstup<\/b> \u2014 jazero d\u00e1t zabezpe\u010duje flexibiln\u00fd pr\u00edstup k r\u00f4znym d\u00e1tam a r\u00f4znym scen\u00e1rom.<\/li>\n<\/ol>\n<p>\nTeraz m\u00f4\u017eeme hovori\u0165 o rozdieloch medzi \u00falo\u017eiskom d\u00e1t a jazerom d\u00e1t. Zvy\u010dajne sa \u013eudia p\u00fdtaj\u00fa:<\/p>\n<ul>\n<li>A \u010do \u00falo\u017eisko d\u00e1t?<\/li>\n<li>Zamie\u0148ame \u00falo\u017eisko d\u00e1t za jazero d\u00e1t alebo ho roz\u0161irujeme?<\/li>\n<li>M\u00f4\u017eeme sa skuto\u010dne zaob\u00eds\u0165 bez jazera d\u00e1t?<\/li>\n<\/ul>\n<p>\nAk by sme to zhrnuli, jasn\u00e1 odpove\u010f neexistuje. V\u0161etko z\u00e1vis\u00ed od konkr\u00e9tnej situ\u00e1cie, zru\u010dnost\u00ed v t\u00edme a rozpo\u010dtu. Napr\u00edklad migr\u00e1cia \u00falo\u017eiska d\u00e1t na Oracle do AWS a vytvorenie jazera d\u00e1t dc\u00e9rskou spolo\u010dnos\u0165ou Amazon \u2014 Woot \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/blogs\/big-data\/our-data-lake-story-how-woot-com-built-a-serverless-data-lake-on-aws\/\">Pr\u00edbeh n\u00e1\u0161ho jazera d\u00e1t: Ako Woot.com vybudoval bezserverov\u00e9 jazero d\u00e1t na AWS<\/a><\/noindex>. <\/p>\n<p>Na druhej strane, dod\u00e1vate\u013e Snowflake tvrd\u00ed, \u017ee sa u\u017e nemus\u00edte ob\u00e1va\u0165 jazera d\u00e1t, preto\u017ee ich d\u00e1tov\u00e1 platforma (do roku 2020 to bolo \u00falo\u017eisko d\u00e1t), umo\u017e\u0148uje skombinova\u0165 jazero d\u00e1t a \u00falo\u017eisko d\u00e1t. Pracoval som trochu so Snowflake a je to naozaj jedine\u010dn\u00fd produkt, ktor\u00fd to dok\u00e1\u017ee. Cena, to je in\u00e1 ot\u00e1zka.<\/p>\n<p>Na z\u00e1ver, m\u00f4j osobn\u00fd n\u00e1zor je, \u017ee st\u00e1le potrebujeme d\u00e1tov\u00e9 sklady ako hlavn\u00fd zdroj d\u00e1t pre na\u0161e reporty, a v\u0161etko, \u010do sa tam nezmest\u00ed, uklad\u00e1me do d\u00e1tov\u00e9ho jazera. \u00dalohou analytiky je poskytn\u00fa\u0165 jednoduch\u00fd pr\u00edstup biznisu na prij\u00edmanie rozhodnut\u00ed. Nez\u00e1le\u017e\u00ed na tom, \u010do si mysl\u00edme, biznisov\u00ed pou\u017e\u00edvatelia pracuj\u00fa efekt\u00edvnej\u0161ie s d\u00e1tov\u00fdm skladom ne\u017e s d\u00e1tov\u00fdm jazerom, napr\u00edklad v Amazone \u2013 existuje Redshift (analytick\u00fd d\u00e1tov\u00fd sklad) a je tu Redshift Spectrum\/Athena (SQL rozhranie pre d\u00e1tov\u00e9 jazero v S3 na b\u00e1ze Hive\/Presto). To ist\u00e9 plat\u00ed aj pre \u010fal\u0161ie modern\u00e9 analytick\u00e9 d\u00e1tov\u00e9 sklady.<\/p>\n<p>Po\u010fme sa pozrie\u0165 na typick\u00fa architekt\u00faru d\u00e1tov\u00e9ho skladu:<\/p>\n<p><img decoding=\"async\" alt=\"Potrebujeme jazero d\u00e1t? A \u010do s datab\u00e1zov\u00fdm \u00falo\u017eiskom?\" src=\"\/wp-content\/uploads\/2020\/01\/a2015f7f5e28e8a671699682105e011e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJe to klasick\u00e9 rie\u0161enie. M\u00e1me syst\u00e9my zdrojov, pomocou ETL\/ELT pren\u00e1\u0161ame d\u00e1ta do analytick\u00e9ho d\u00e1tov\u00e9ho skladu a prip\u00e1jame ich k rie\u0161eniu Business Intelligence (moje ob\u013e\u00faben\u00e9 je Tableau, a va\u0161e?). <\/p>\n<p>Tak\u00e9to rie\u0161enie m\u00e1 nasleduj\u00face nev\u00fdhody:<\/p>\n<ul>\n<li>ETL\/ELT oper\u00e1cie si vy\u017eaduj\u00fa \u010das a zdroje.<\/li>\n<li>Spravidla s\u00fa n\u00e1klady na ukladanie d\u00e1t v analytickom d\u00e1tovom sklade vysok\u00e9 (napr\u00edklad Redshift, BigQuery, Teradata), preto\u017ee mus\u00edme zak\u00fapi\u0165 cel\u00fd cluster.<\/li>\n<li>Biznisov\u00ed pou\u017e\u00edvatelia maj\u00fa pr\u00edstup k vy\u010disten\u00fdm a \u010dasto agregovan\u00fdm d\u00e1tam a nemaj\u00fa mo\u017enos\u0165 z\u00edska\u0165 surov\u00e9 d\u00e1ta.<\/li>\n<\/ul>\n<p>\nSamozrejme, v\u0161etko z\u00e1vis\u00ed od v\u00e1\u0161ho pr\u00edpadu. Ak nem\u00e1te probl\u00e9my so svoj\u00edm d\u00e1tov\u00fdm skladom, potom naozaj nepotrebujete d\u00e1tov\u00e9 jazero. Ale ke\u010f sa objavia probl\u00e9my s nedostatkom miesta, v\u00fdkonom alebo cena je rozhoduj\u00facim faktorom, je mo\u017en\u00e9 zv\u00e1\u017ei\u0165 variant d\u00e1tov\u00e9ho jazera. Preto je d\u00e1tov\u00e9 jazero ve\u013emi popul\u00e1rne. Tu je pr\u00edklad architekt\u00fary d\u00e1tov\u00e9ho jazera:<br \/>\n<img decoding=\"async\" alt=\"Potrebujeme jazero d\u00e1t? A \u010do s datab\u00e1zov\u00fdm \u00falo\u017eiskom?\" src=\"\/wp-content\/uploads\/2020\/01\/c952e2202a6ce2c8d7d91215aa5390cc.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nPou\u017eit\u00edm pr\u00edstupu d\u00e1tov\u00e9ho jazera nahr\u00e1vame surov\u00e9 d\u00e1ta do n\u00e1\u0161ho d\u00e1tov\u00e9ho jazera (v s\u00e9riovom alebo streamovom re\u017eime), n\u00e1sledne spracov\u00e1vame d\u00e1ta pod\u013ea potreby. D\u00e1tov\u00e9 jazero umo\u017e\u0148uje biznisov\u00fdm pou\u017e\u00edvate\u013eom vytv\u00e1ra\u0165 svoje vlastn\u00e9 transform\u00e1cie d\u00e1t (ETL\/ELT) alebo analyzova\u0165 d\u00e1ta v rie\u0161eniach Business Intelligence (ak je k dispoz\u00edcii potrebn\u00fd ovl\u00e1da\u010d).<\/p>\n<blockquote><p>Cie\u013eom ak\u00e9hoko\u013evek analytick\u00e9ho rie\u0161enia je sl\u00fa\u017ei\u0165 biznisov\u00fdm pou\u017e\u00edvate\u013eom. Preto by sme v\u017edy mali vych\u00e1dza\u0165 z po\u017eiadaviek biznisu. (V Amazone je to jeden z princ\u00edpov \u2013 pracova\u0165 sp\u00e4tn\u00fdm sp\u00f4sobom).<\/p><\/blockquote>\n<p> Pri pr\u00e1ci s d\u00e1tov\u00fdm skladom aj d\u00e1tov\u00fdm jazrom m\u00f4\u017eeme porovna\u0165 obe rie\u0161enia:<\/p>\n<p><img decoding=\"async\" alt=\"Potrebujeme jazero d\u00e1t? A \u010do s datab\u00e1zov\u00fdm \u00falo\u017eiskom?\" src=\"\/wp-content\/uploads\/2020\/01\/07b62ac9838438a0b28caf1b22b2dccd.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nHlavn\u00fd z\u00e1ver, ktor\u00fd m\u00f4\u017eeme urobi\u0165, je ten, \u017ee \u00falo\u017eisko d\u00e1t nes\u00fa\u0165a\u017e\u00ed s d\u00e1tov\u00fdm jazerom, ale sk\u00f4r ho dop\u013a\u0148a. Ale je to na v\u00e1s, \u010do sa hod\u00ed pre va\u0161u situ\u00e1ciu. V\u017edy je zauj\u00edmav\u00e9 to vysk\u00fa\u0161a\u0165 a spravi\u0165 si vlastn\u00e9 z\u00e1very.<\/p>\n<p>R\u00e1d by som sa tie\u017e podelil o jeden z pr\u00edpadov, ke\u010f som za\u010dal pou\u017e\u00edva\u0165 pr\u00edstup d\u00e1tov\u00e9ho jazera. V\u0161etko je dos\u0165 ban\u00e1lne, pok\u00fasil som sa vyu\u017ei\u0165 n\u00e1stroj ELT (mali sme Matillion ETL) a Amazon Redshift, moje rie\u0161enie fungovalo, ale nevych\u00e1dzalo z po\u017eiadaviek.<\/p>\n<p>Potreboval som z\u00edska\u0165 webov\u00e9 logy, transformova\u0165 ich a agregova\u0165, aby som poskytol d\u00e1ta pre 2 pr\u00edpady:<\/p>\n<ol>\n<li>T\u00edm marketingu chcel analyzova\u0165 aktivitu robotov pre SEO<\/li>\n<li>IT t\u00edm chcel sledova\u0165 metriky v\u00fdkonu webov\u00fdch str\u00e1nok<\/li>\n<\/ol>\n<p>\nVe\u013emi jednoduch\u00e9, naozaj jednoduch\u00e9 logy. Tu je pr\u00edklad:<\/p>\n<pre><code class=\"plaintext\">https 2018-07-02T22:23:00.186641Z app\/my-loadbalancer\/50dc6c495c0c9188 \n192.168.131.39:2817 10.0.0.1:80 0.086 0.048 0.037 200 200 0 57 \n\"GET https:\/\/www.example.com:443\/ HTTP\/1.1\" \"curl\/7.46.0\" ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 \narn:aws:elasticloadbalancing:us-east-2:123456789012:targetgroup\/my-targets\/73e2d6bc24d8a067\n\"Root=1-58337281-1d84f3d73c47ec4e58577259\" \"www.example.com\" \"arn:aws:acm:us-east-2:123456789012:certificate\/12345678-1234-1234-1234-123456789012\"\n1 2018-07-02T22:22:48.364000Z \"authenticate,forward\" \"-\" \"-\"<\/code><\/pre>\n<p>\nJeden s\u00fabor mal hmotnos\u0165 1-4 megabajty.<\/p>\n<p>Ale bol tu jeden probl\u00e9m. Mali sme 7 dom\u00e9n po celom svete a za jeden de\u0148 sa vytvorilo 7000 s\u00faborov. To nie je ve\u013emi ve\u013ek\u00fd objem, celkom 50 gigabajtov. Ale ve\u013ekos\u0165 n\u00e1\u0161ho klastru Redshift bola tie\u017e mal\u00e1 (4 uzly). Nahr\u00e1vanie tradi\u010dn\u00fdm sp\u00f4sobom jedn\u00e9ho s\u00faboru trvalo asi min\u00fatu. To znamen\u00e1, \u017ee sa probl\u00e9m nedal vyrie\u0161i\u0165 priamo. A to bol ten pr\u00edpad, ke\u010f som sa rozhodol pou\u017ei\u0165 pr\u00edstup d\u00e1tov\u00e9ho jazera. Rie\u0161enie vyzeralo pribli\u017ene takto:<\/p>\n<p><img decoding=\"async\" alt=\"Potrebujeme jazero d\u00e1t? A \u010do s datab\u00e1zov\u00fdm \u00falo\u017eiskom?\" src=\"\/wp-content\/uploads\/2020\/01\/21ca33e82da56f83b3deab4c32eb2345.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJe to dos\u0165 jednoduch\u00e9 (chcem poznamena\u0165, \u017ee v\u00fdhoda pr\u00e1ce v cloude je jednoduchos\u0165). Pou\u017eil som:<\/p>\n<ul>\n<li>AWS Elastic Map Reduce (Hadoop) ako v\u00fdpo\u010dtov\u00fa silu <\/li>\n<li>AWS S3 ako \u00falo\u017eisko s\u00faborov s mo\u017enos\u0165ou \u0161ifrovania d\u00e1t a obmedzenia pr\u00edstupu<\/li>\n<li>Spark ako InMemory v\u00fdpo\u010dtov\u00fa silu a PySpark pre logiku a transform\u00e1ciu d\u00e1t<\/li>\n<li>Parquet ako v\u00fdsledok pr\u00e1ce Spark<\/li>\n<li>AWS Glue Crawler ako zbera\u010d metad\u00e1t o nov\u00fdch d\u00e1tach a partit\u00e1ch<\/li>\n<li>Redshift Spectrum ako SQL rozhranie k d\u00e1tov\u00e9mu jazeru pre existuj\u00facich pou\u017e\u00edvate\u013eov Redshift<\/li>\n<\/ul>\n<p>\nNajmen\u0161\u00ed klaster EMR+Spark spracov\u00e1val cel\u00fa v\u00e1rku s\u00faborov za 30 min\u00fat. Existuj\u00fa aj \u010fal\u0161ie pr\u00edpady pre AWS, zvl\u00e1\u0161\u0165 ve\u013ea spojen\u00fdch s Alexou, kde je d\u00e1t ve\u013emi mnoho. <\/p>\n<p>Ned\u00e1vno som sa dozvedel o jednej z nev\u00fdhod d\u00e1tov\u00e9ho jazera \u2014 o GDPR. Probl\u00e9m nast\u00e1va, ke\u010f klient po\u017eaduje jeho odstr\u00e1nenie a \u00fadaje s\u00fa v jednom z s\u00faborov, nem\u00f4\u017eeme pou\u017ei\u0165 jazyk manipul\u00e1cie s \u00fadajmi a oper\u00e1ciu DELETE ako v datab\u00e1ze.<\/p>\n<p>D\u00fafam, \u017ee \u010dl\u00e1nok objasnil rozdiel medzi d\u00e1tov\u00fdm skladom a d\u00e1tov\u00fdm jazerom. Ak to bolo zauj\u00edmav\u00e9, m\u00f4\u017eem prelo\u017ei\u0165 aj \u010fal\u0161ie svoje \u010dl\u00e1nky alebo \u010dl\u00e1nky odborn\u00edkov, ktor\u00fdch \u010d\u00edtam. R\u00e1d sa tie\u017e podel\u00edm o rie\u0161enia, s ktor\u00fdmi pracujem, a ich architekt\u00faru.<br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/485180\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u042d\u0442\u043e \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u043c\u043e\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043d\u0430 medium \u2014 Getting Started with Data Lake, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u043a\u0430\u0437\u0430\u043b\u0430\u0441\u044c \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u043e\u0439, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435 \u0438\u0437-\u0437\u0430 \u0441\u0432\u043e\u0435\u0439 \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0440\u0435\u0448\u0438\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0435\u0435 \u043d\u0430 \u0440\u0443\u0441\u0441\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0435 \u0438 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u043e\u0441\u0442\u043e\u043c\u0443 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0441\u0442\u043e\u043c \u043f\u043e \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0441\u0442\u0430\u043b\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 (DW), \u0430 \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 \u043e\u0437\u0435\u0440\u043e \u0434\u0430\u043d\u043d\u044b\u0445 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-55701","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u042d\u0442\u043e \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u043c\u043e\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043d\u0430 medium \u2014 Getting Started with Data Lake.\" \/>\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\/sk\/blog\/administrirovanie\/nuzhno-li-nam-ozero-dannyh-a-chto-delat-s-hranilishhem-dannyh\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sk_SK\" \/>\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\u041d\u0443\u0436\u043d\u043e \u043b\u0438 \u043d\u0430\u043c \u043e\u0437\u0435\u0440\u043e \u0434\u0430\u043d\u043d\u044b\u0445? \u0410 \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0441 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0445? | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u042d\u0442\u043e \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u043c\u043e\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043d\u0430 medium \u2014 Getting Started with Data Lake.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/nuzhno-li-nam-ozero-dannyh-a-chto-delat-s-hranilishhem-dannyh\" \/>\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-01-25T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:03:50+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\udd47Potrebujeme d\u00e1tov\u00e9 jazero? A \u010do s d\u00e1tov\u00fdm skladi\u0161\u0165om? | ProHoster","description":"Tento \u010dl\u00e1nok je prekladom m\u00f4jho \u010dl\u00e1nku na medium \u2014 Getting Started with Data Lake.","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/nuzhno-li-nam-ozero-dannyh-a-chto-delat-s-hranilishhem-dannyh","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","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\u041d\u0443\u0436\u043d\u043e \u043b\u0438 \u043d\u0430\u043c \u043e\u0437\u0435\u0440\u043e \u0434\u0430\u043d\u043d\u044b\u0445? \u0410 \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0442\u044c \u0441 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0445? | ProHoster","og:description":"\u042d\u0442\u043e \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434 \u043c\u043e\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0438 \u043d\u0430 medium \u2014 Getting Started with Data Lake.","og:url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/nuzhno-li-nam-ozero-dannyh-a-chto-delat-s-hranilishhem-dannyh","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-01-25T21:00:00+00:00","article:modified_time":"2020-02-18T11:03:50+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"55701","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 19:38:32","updated":"2022-09-27 20:27:01","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/55701","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=55701"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/55701\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=55701"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=55701"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=55701"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}