{"id":95999,"date":"2020-10-06T13:41:58","date_gmt":"2020-10-06T11:41:58","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/poka-vse-prazdnovali-moj-den-rozhdeniya-ya-do-utra-chinil-klaster-a-razraby-valili-na-menya-svoi-oshibki"},"modified":"2020-10-06T13:41:58","modified_gmt":"2020-10-06T11:41:58","slug":"poka-vse-prazdnovali-moj-den-rozhdeniya-ya-do-utra-chinil-klaster-a-razraby-valili-na-menya-svoi-oshibki","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/poka-vse-prazdnovali-moj-den-rozhdeniya-ya-do-utra-chinil-klaster-a-razraby-valili-na-menya-svoi-oshibki","title":{"rendered":"M\u00edg mindenki az \u00e9n sz\u00fclet\u00e9snapomat \u00fcnnepelte, \u00e9n hajnalban jav\u00edtottam a klasztert \u2014 a fejleszt\u0151k meg csak r\u00e1m z\u00fad\u00edtott\u00e1k a hib\u00e1ikat","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"M\u00edg mindenki az \u00e9n sz\u00fclet\u00e9snapomat \u00fcnnepelte, \u00e9n hajnalban jav\u00edtottam a klasztert \u2014 a fejleszt\u0151k meg csak r\u00e1m z\u00fad\u00edtott\u00e1k a hib\u00e1ikat\" src=\"\/wp-content\/uploads\/2020\/10\/f67882cb5b565cb2efef20f68bbef1d5.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nEz az a t\u00f6rt\u00e9net, amely \u00f6r\u00f6kre megv\u00e1ltoztatta a DevOps munk\u00e1hoz val\u00f3 hozz\u00e1\u00e1ll\u00e1somat. M\u00e9g a Covid el\u0151tti id\u0151kben, j\u00f3val azel\u0151tt, amikor a sr\u00e1cokkal csak most kezdt\u00fck el a saj\u00e1t v\u00e1llalkoz\u00e1sunkat, \u00e9s alkalmi megb\u00edz\u00e1sokon dolgoztunk, kaptam egy aj\u00e1nlatot a Telegramon. <\/p>\n<p>A c\u00e9g, amely ezt az aj\u00e1nlatot tette, adat-analitik\u00e1val foglalkozott. Naponta ezrek k\u00e9rd\u00e9s\u00e9t dolgozt\u00e1k fel. Hozz\u00e1nk a k\u00f6vetkez\u0151kkel \u00e9rkeztek: sr\u00e1cok, van ClickHouse-unk, \u00e9s szeretn\u00e9nk automatiz\u00e1lni annak be\u00e1ll\u00edt\u00e1s\u00e1t \u00e9s telep\u00edt\u00e9s\u00e9t. Sz\u00fcks\u00e9g\u00fcnk van Ansible-re, Terraformra, Dockerre, \u00e9s hogy minden a Gitben legyen t\u00e1rolva. N\u00e9gycsom\u00f3s klasztert akarunk, minden csom\u00f3pontban k\u00e9t replik\u00e1val. <\/p>\n<p>Ez egy szok\u00e1sos k\u00e9r\u00e9s volt, amilyenekb\u0151l tucatnyi l\u00e9tezik, \u00e9s sz\u00fcks\u00e9g volt egy hasonl\u00f3an j\u00f3, standard megold\u00e1sra. Azt mondtuk, hogy rendben van, \u00e9s 2-3 h\u00e9ten bel\u00fcl minden k\u00e9szen \u00e1llt. Elfogadt\u00e1k a munk\u00e1t, \u00e9s elkezdtek \u00e1tk\u00f6lt\u00f6zni az \u00faj ClickHouse klaszterre a mi eszk\u00f6z\u00fcnkkel. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nN\u00e1luk senki sem akart \u00e9s nem tudott foglalkozni a ClickHouse-szal. Akkor azt gondoltuk, hogy ez volt a f\u0151 probl\u00e9m\u00e1juk, ez\u00e9rt a c\u00e9g CTO-ja egyszer\u0171en azt mondta a csapatomnak, hogy automatiz\u00e1ljuk a munk\u00e1t, hogy soha t\u00f6bb\u00e9 ne kelljen beavatkozniuk.<\/p>\n<p>T\u00e1mogattuk a k\u00f6lt\u00f6z\u00e9st, m\u00e1s feladatok is felmer\u00fcltek \u2014 be\u00e1ll\u00edtani a ment\u00e9seket \u00e9s a megfigyel\u00e9st. Ekkor a c\u00e9g CTO-ja egy m\u00e1sik projektre t\u00e1vozott, \u00e9s r\u00e1nk b\u00edzta az egyik embereket \u2014 Le\u00f3id\u00e1t. Le\u00f3ida nem volt a legtehets\u00e9gesebb sr\u00e1c. Egy egyszer\u0171 fejleszt\u0151, akit hirtelen ClickHouse vezet\u0151v\u00e9 neveztek ki. \u00dagy t\u0171nik, ez volt az els\u0151 kinevez\u00e9se valamif\u00e9le vezet\u00e9sre, \u00e9s az elismer\u00e9s s\u00falya elvitte a fej\u00e9t. <\/p>\n<p>K\u00f6z\u00f6sen kezdt\u00fcnk bele a ment\u00e9sekbe. \u00c9n azt javasoltam, hogy az eredeti adatokat azonnal ments\u00fck. Csak sim\u00e1n zipelj\u00fck \u00f6ssze, \u00e9s eleg\u00e1nsan t\u00f6lts\u00fck fel valamilyen S3-ba. Az eredeti adatok aranyat \u00e9rnek. Volt egy m\u00e1sik lehet\u0151s\u00e9g is \u2014 a ClickHouse t\u00e1bl\u00e1k ment\u00e9se fagyaszt\u00e1s \u00e9s m\u00e1sol\u00e1s seg\u00edts\u00e9g\u00e9vel. De Leo kital\u00e1lta a saj\u00e1t megold\u00e1s\u00e1t.<\/p>\n<p>Bejelentette, hogy sz\u00fcks\u00e9g\u00fcnk van egy m\u00e1sodik ClickHouse klaszterre. Innent\u0151l fogva k\u00e9t klaszterre fogunk adatokat \u00edrni \u2014 az alap- \u00e9s a ment\u00e9si klaszterre. Mondom neki, hogy Leo, ez nem ment\u00e9s lesz \u2014 hanem akt\u00edv replik\u00e1l\u00e1s. \u00c9s ha az adatok elkezdenek elveszni a produkci\u00f3ban, a ment\u00e9seden ugyanaz lesz. <\/p>\n<p>De Leo er\u0151teljesen ragaszkodott a korm\u00e1nyhoz, \u00e9s nem volt hajland\u00f3 hallgatni az \u00e9rveimre. Hosszasan vitatkoztunk a cseveg\u00e9sben, de nem tehett\u00fcnk m\u00e1st \u2014 Leo ir\u00e1ny\u00edtotta a projektet, mi csak utcai fi\u00fak voltunk, akiket felvettek.<\/p>\n<p>Miut\u00e1n figyelt\u00fck a klaszter \u00e1llapot\u00e1t, csak az adminok munk\u00e1j\u00e1t sz\u00e1ml\u00e1ztuk. Tiszta ClickHouse adminisztr\u00e1ci\u00f3 adatokba val\u00f3 beleny\u00fal\u00e1s n\u00e9lk\u00fcl. A klaszter el\u00e9rhet\u0151 volt, a lemezek rendben, a csom\u00f3pontok j\u00f3 \u00e1llapotban. <\/p>\n<h3>M\u00e9g nem sejtett\u00fck, hogy ezt a megrendel\u00e9st egy borzalmas f\u00e9lre\u00e9rt\u00e9s miatt kaptuk a csapatukban.<\/h3>\n<p>\nA vezet\u0151 el\u00e9gedetlen volt azzal, hogy a ClickHouse lassan m\u0171k\u00f6dik, \u00e9s n\u00e9ha adatok vesznek el. Megb\u00edzta a CTO-j\u00e1t, hogy der\u00edtse ki, mi t\u00f6rt\u00e9nt. \u0150, amennyire tudta, kider\u00edtette, hogy egyszer\u0171en automatiz\u00e1lni kell a ClickHouse-t \u2014 \u00e9s k\u00e9sz. De ahogy k\u00e9s\u0151bb kider\u00fclt \u2014 nekik egy\u00e1ltal\u00e1n nem devops csapatra volt sz\u00fcks\u00e9g\u00fck.<\/p>\n<p>Mindez nagyon-nagyon f\u00e1jdalmasan der\u00fclt ki. \u00c9s ami a legbosszant\u00f3bb, ez a sz\u00fclet\u00e9snapomon t\u00f6rt\u00e9nt.<\/p>\n<p>\nP\u00e9ntek este. Lefoglaltam egy asztalt a kedvenc borb\u00e1rtba, \u00e9s megh\u00edvtam a haverokat. <\/p>\n<p>Majdnem indul\u00e1s el\u0151tt kaptunk egy feladatot, hogy k\u00e9sz\u00edts\u00fcnk alternat\u00edv\u00e1t, megcsin\u00e1ltuk, minden rendben volt. Az alternat\u00edva \u00e1tment, a ClickHouse meger\u0151s\u00edtette. M\u00e1r \u00e9pp indultunk volna a b\u00e1rba, amikor \u00edrtak, hogy hi\u00e1nyoznak az adatok. Sz\u00e1moltunk \u2014 \u00fagy t\u0171nt, minden rendben van. \u00c9s elment\u00fcnk \u00fcnnepelni.<\/p>\n<p>A b\u00e1rban p\u00e9ntekhez k\u00e9pest zajos volt. Rendelt\u00fcnk italokat, \u00e9teleket, \u00e9s elny\u00faltunk a kanap\u00e9n. Ek\u00f6zben a Slackem folyamatosan tele volt \u00fczenetekkel. Valamit \u00edrtak az adatok hi\u00e1ny\u00e1r\u00f3l. Azt gondoltam \u2014 reggel okosabb leszek. K\u00fcl\u00f6n\u00f6sen a mai napon.<\/p>\n<p>T\u00edz \u00f3ra k\u00f6r\u00fcl elkezdtek h\u00edvogatni. A c\u00e9g vezet\u0151je volt... 'Val\u00f3sz\u00edn\u0171leg gratul\u00e1lni akar nekem,' \u2014 gondoltam nagyon bizonytalanul, \u00e9s felvettem a telefont.<\/p>\n<p>\u00c9s hallottam valami olyasmit: 'Elrontott\u00e1tok az adatainkat! Fizetek nektek, de semmi sem m\u0171k\u00f6dik! Ti voltatok a felel\u0151sek a ment\u00e9sek\u00e9rt, \u00e9s nem csin\u00e1ltatok semmit! Jav\u00edts\u00e1tok meg!' \u2014 csak m\u00e9g durv\u00e1bban.<\/p>\n<p>\u2014 Tudod mit, oda mehetsz a fen\u00e9be! Ma van a sz\u00fclet\u00e9snapom, \u00e9s most inni fogok, nem pedig a ti amat\u0151r kre\u00e1lm\u00e1nyaitokkal foglalkozom!<\/p>\n<p>De \u00edgy nem mondtam. Ehelyett el\u0151vettem a laptopom \u00e9s neki\u00e1lltam a munk\u00e1nak.<\/p>\n<p>Nem, t\u00e9nyleg kiborultam, nagyon kiborultam! Be\u00edrtam a csoportba cs\u00edp\u0151s 'mondtam \u00e9n'-eket \u2014 mert a ment\u00e9s, ami nem is volt ment\u00e9s, term\u00e9szetesen semmit sem mentett. <\/p>\n<p>A sr\u00e1cokkal kital\u00e1ltuk, hogyan lehet manu\u00e1lisan le\u00e1ll\u00edtani a felv\u00e9telt \u00e9s mindent ellen\u0151rizni. Val\u00f3ban megbizonyosodtunk arr\u00f3l, hogy az adatok egy r\u00e9sze nem ker\u00fcl \u00edr\u00e1sra.<\/p>\n<p>Meg\u00e1ll\u00edtottuk a felv\u00e9telt, \u00e9s megsz\u00e1moltuk a napi esem\u00e9nyeket. Tov\u00e1bbi adatokat t\u00f6lt\u00f6tt\u00fcnk fel, amelyek k\u00f6z\u00fcl csak a harmadik nem ker\u00fclt r\u00f6gz\u00edt\u00e9sre. H\u00e1rom shard k\u00e9t m\u00e1solattal. Beillesztesz 100.000 sort \u2014 33.000 nem ker\u00fcl r\u00f6gz\u00edt\u00e9sre.<\/p>\n<p>Teljes z\u0171rzavar alakult ki. Mindenki egym\u00e1sra k\u00fcldte a francba: el\u0151sz\u00f6r L\u00f6nya ment, ut\u00e1nam a c\u00e9g alap\u00edt\u00f3ja. Csak a frissen csatlakozott CTO pr\u00f3b\u00e1lta elt\u00fcntetni a probl\u00e9m\u00e1kat hangos kiab\u00e1l\u00e1sokkal \u00e9s a levelez\u00e9s\u00fcnkkel. <\/p>\n<h3>Senki nem \u00e9rtette, mi is folyik val\u00f3j\u00e1ban.<\/h3>\n<p>\nA sr\u00e1cokkal egyszer\u0171en elk\u00e9pedt\u00fcnk, amikor r\u00e1j\u00f6tt\u00fcnk, hogy a teljes adataink egyharmada nemcsak, hogy nem ker\u00fclt r\u00f6gz\u00edt\u00e9sre \u2014 elveszett! Kider\u00fclt, hogy a c\u00e9gben a k\u00f6vetkez\u0151 rend volt: beilleszt\u00e9s ut\u00e1n az adatok v\u00e9glegesen t\u00f6rl\u0151dtek, az esem\u00e9nyek pedig t\u00f6megesen elvesztek. Elk\u00e9pzeltem, ahogy Szergej mindezt forintokk\u00e1 alak\u00edtja.<\/p>\n<p>A sz\u00fclet\u00e9snapom is a kuk\u00e1ba ker\u00fclt. A b\u00e1rban \u00fclt\u00fcnk, \u00f6tleteket gener\u00e1lva, pr\u00f3b\u00e1lva megfejteni a feldobott rejt\u00e9lyt. A ClickHouse buk\u00e1s\u00e1nak oka nem volt nyilv\u00e1nval\u00f3. Lehet, hogy a h\u00e1l\u00f3zat, lehet, hogy a Linux be\u00e1ll\u00edt\u00e1sai. B\u00e1rmi is lehetett, el\u00e9g sok hipot\u00e9zis felmer\u00fclt.<\/p>\n<p>Nem tettem esk\u00fct fejleszt\u0151k\u00e9nt, de nem lett volna helyes a sr\u00e1cokat a telefon m\u00e1sik v\u00e9g\u00e9n magukra hagyni \u2014 m\u00e9g akkor sem, ha mindent r\u00e1nk h\u00e1r\u00edtottak. 99%-ban biztos voltam benne, hogy a probl\u00e9ma nem a mi megold\u00e1sainkban, hanem nem a mi oldalunkon van. Az 1% es\u00e9ly, hogy m\u00e9gis hib\u00e1ztunk, nyugtalan\u00edt\u00f3 volt. De b\u00e1rki oldal\u00e1n is volt a probl\u00e9ma \u2014 ezt meg kellett oldani. Nem lehetett a klienseket, b\u00e1rmilyenek is voltak, egy ilyen s\u00falyos adatveszt\u00e9ssel mag\u00e1ra hagyni \u2014 ez t\u00fal kegyetlen.<\/p>\n<p>Hajnali h\u00e1romig a \u00e9tterem asztal\u00e1n\u00e1l dolgoztunk. Esem\u00e9nyeket dobtunk be, insert select \u2014 \u00e9s nekil\u00e1ttunk a hi\u00e1nyoss\u00e1gok p\u00f3tl\u00e1s\u00e1nak. Amikor adatokat vesz\u00edtesz el, \u00edgy csin\u00e1lod \u2014 veszed az el\u0151z\u0151 napok \u00e1tlagos adatait, \u00e9s beilleszted a hi\u00e1nyz\u00f3k hely\u00e9re.<\/p>\n<p>Hajnali h\u00e1rom ut\u00e1n a bar\u00e1tommal hazament\u00fcnk, \u00e9s rendelt\u00fcnk s\u00f6rt az italboltb\u00f3l. \u00c9n a ClickHouse probl\u00e9m\u00e1ival \u00fcltem a laptopn\u00e1l, \u0151 mes\u00e9lt nekem valamit. V\u00e9g\u00fcl egy \u00f3ra m\u00falva megharagudott, hogy dolgozom, \u00e9s nem vele s\u00f6r\u00f6z\u00f6m, \u00e9s elment. Klasszikus \u2014 bar\u00e1tja volt a devopsnak.<\/p>\n<p>Reggel hatra \u00fajra l\u00e9trehoztam a t\u00e1bl\u00e1t, \u00e9s az adatok elkezdtek \u00e1ramlani. Minden m\u0171k\u00f6d\u00f6tt vesztes\u00e9g n\u00e9lk\u00fcl.<\/p>\n<p><\/p>\n<h3>Ezut\u00e1n neh\u00e9z volt. Mindenki egym\u00e1st v\u00e1dolta az adatveszt\u00e9s\u00e9rt. Ha \u00faj hiba t\u00f6rt\u00e9nt volna, biztos vagyok benne, hogy kit\u00f6rt volna a l\u00f6v\u00f6ld\u00f6z\u00e9s.<\/h3>\n<p>\nEzekben a z\u0171rzavarokban v\u00e9gre kezdt\u00fck meg\u00e9rteni, hogy a c\u00e9g azt hitte, mi azok a sr\u00e1cok vagyunk, akik az adatokat kezelik \u00e9s figyelemmel k\u00eds\u00e9rik a t\u00e1bl\u00e1k strukt\u00far\u00e1j\u00e1t. \u00d6sszekevert\u00e9k az adminisztr\u00e1torokat a DBA-kkal. \u00c9s j\u00f6ttek t\u0151l\u00fcnk k\u00e9rdezni, nem is adminisztr\u00e1tori szinten.<\/p>\n<p>A f\u0151 kifog\u00e1suk az volt, hogy mi a franc\u00e9rt felelt\u00fcnk a biztons\u00e1gi m\u00e1solatok\u00e9rt \u00e9s nem v\u00e9gezt\u00fck el j\u00f3l, kics\u00fasztunk az adatokkal. Mindez k\u00e1romkod\u00e1ssal teli volt.<\/p>\n<p>Igazs\u00e1gra v\u00e1gytam. Ki\u00e1stam a besz\u00e9lget\u00e9s\u00fcnket \u00e9s csatoltam minden k\u00e9perny\u0151k\u00e9pet, ahol Leonid teljes er\u0151b\u0151l arra k\u00e9nyszer\u00edt, hogy olyan biztons\u00e1gi m\u00e1solatot k\u00e9sz\u00edts\u00fcnk, amilyet sz\u00fcks\u00e9ges. A CTOjuk a telefonos h\u00edv\u00e1som ut\u00e1n a mi oldalunkra \u00e1llt. V\u00e9g\u00fcl \u0151 is elismerte a hib\u00e1j\u00e1t, \u00e9s Lenya is.<\/p>\n<p>A c\u00e9g vezet\u0151je, ellenben, nem akarta a saj\u00e1t embereit hib\u00e1ztatni. A k\u00e9perny\u0151k\u00e9pek \u00e9s a szavak nem hatottak r\u00e1. Azt hitte, hogy mivel itt mi vagyunk a szak\u00e9rt\u0151k, meg kellett volna gy\u0151zn\u00fcnk mindenkit \u00e9s ragaszkodnunk a d\u00f6nt\u00e9s\u00fcnkh\u00f6z. \u00dagy t\u0171nik, a feladatunk az volt, hogy tan\u00edtsuk Leny\u00e1t, \u00e9s ezen k\u00edv\u00fcl, megker\u00fclve \u0151t, aki a projektvezet\u0151 volt, eljussunk a f\u0151n\u00f6kh\u00f6z \u00e9s neki szem\u00e9lyesen elmondjuk a k\u00e9rd\u00e9seinket a biztons\u00e1gi m\u00e1solatok koncepci\u00f3j\u00e1val kapcsolatban. <\/p>\n<p>A chat tele volt rejtett \u00e9s ny\u00edlt agresszi\u00f3val. Nem tudtam, mit tegyek. Minden zs\u00e1kutc\u00e1ba jutott. Azt\u00e1n tan\u00e1csolt\u00e1k a legegyszer\u0171bb megold\u00e1st \u2014 \u00edrjak priv\u00e1t \u00fczenetet a vezet\u0151nek, \u00e9s egyezzek meg vele egy tal\u00e1lkoz\u00f3r\u00f3l. Vasya, az emberek az \u00e9letben nem olyan pimaszak, mint a chaten. A f\u0151n\u00f6k az \u00fczenetemre azt v\u00e1laszolta: gyere, nem probl\u00e9ma.<\/p>\n<p>\nEz volt a legrosszabb tal\u00e1lkoz\u00f3 a karrieremben. Az \u00fcgyf\u00e9lt\u0151l val\u00f3 sz\u00f6vets\u00e9gesem \u2014 a CTO \u2014 nem tudott id\u0151t tal\u00e1lni. A tal\u00e1lkoz\u00f3ra a f\u0151n\u00f6kh\u00f6z \u00e9s Leny\u00e1hoz mentem.<\/p>\n<p>\u00dajra \u00e9s \u00fajra \u00e1tgondoltam a lehets\u00e9ges p\u00e1rbesz\u00e9d\u00fcnket. \u00dcgyesen meg\u00e9rkeztem j\u00f3val kor\u00e1bban, harminc perccel. Kezdett eluralkodni rajtam a fesz\u00fclts\u00e9g, elsz\u00edvtam t\u00edz cigarett\u00e1t. Tudtam, hogy v\u00e9gem van \u2014 egyed\u00fcl vagyok. Nem fogom tudni meggy\u0151zni \u0151ket. Bel\u00e9ptem a liftbe.<\/p>\n<p>Mik\u00f6zben felfel\u00e9 mentem, \u00fagy megcs\u00edptem a gy\u00fajt\u00f3t, hogy elt\u00f6rtem.<\/p>\n<p>V\u00e9g\u00fcl Leny\u00e1t nem tal\u00e1ltuk a tal\u00e1lkoz\u00f3n. De fantasztikusan besz\u00e9lgett\u00fcnk a f\u0151n\u00f6kkel! Szergej mes\u00e9lt nekem a f\u00e1jdalm\u00e1r\u00f3l. \u0150 nem azt akarta, hogy 'automatiz\u00e1ljunk ClickHouse-t' \u2014 hanem hogy 'a lek\u00e9rdez\u00e9sek m\u0171k\u00f6djenek'.<\/p>\n<p>Nem egy idi\u00f3t\u00e1t l\u00e1ttam, hanem egy j\u00f3 sr\u00e1cot, aki agg\u00f3dik a v\u00e1llalkoz\u00e1sa miatt, \u00e9s 24\/7 dolgozik. A chat gyakran gonosztev\u0151ket, csal\u00f3kat \u00e9s h\u00fclyes\u00e9geket fest el\u00e9nk. De az \u00e9letben \u0151k olyan emberek, mint te. <\/p>\n<p>Szergejnek nem volt sz\u00fcks\u00e9ge n\u00e9h\u00e1ny alkalmazott devopsra. A probl\u00e9ma, amellyel szembes\u00fcltek, sokkal nagyobb volt. <\/p>\n<p>Azt mondtam, hogy meg tudom oldani a probl\u00e9m\u00e1it \u2014 csak ez eg\u00e9szen m\u00e1s munka, \u00e9s van egy ismer\u0151s DBA-m hozz\u00e1. Ha eleve tudtuk volna, hogy ez nekik \u00fczlet, sok mindent elker\u00fclt\u00fcnk volna. K\u00e9s\u0151, de r\u00e1j\u00f6tt\u00fcnk, hogy a probl\u00e9ma nem az infrastrukt\u00far\u00e1ban, hanem a szar adatkezel\u00e9sben rejlik. <\/p>\n<p>Keletkezett egy k\u00e9zfog\u00e1s, a d\u00edjunkat csaknem k\u00e9tszeres\u00e9re emelt\u00e9k, de a felt\u00e9tel az volt \u2014 teljesen magamra v\u00e1llalom az \u00f6sszes gondot az adataikkal \u00e9s a ClickHouse-szal. A liftben felvettem a kapcsolatot a DBA Maxszal, \u00e9s bevontam \u0151t a munk\u00e1ba. Az eg\u00e9sz klasztert \u00e1t kellett szervezni.<\/p>\n<p>\nA megval\u00f3s\u00edtott projektben b\u0151ven volt k\u00e1osz. Kezdve a m\u00e1r eml\u00edtett \u201ebackup\u201d-t\u00f3l. Kider\u00fclt, hogy ez a \u201ebackup\u201d klaszter nem volt izol\u00e1lt. Mindenf\u00e9le tesztel\u00e9si c\u00e9lokra haszn\u00e1lt\u00e1k, n\u00e9ha m\u00e9g a produkci\u00f3ba is beengedt\u00e9k.<\/p>\n<p>A bels\u0151 fejleszt\u0151k kital\u00e1lt\u00e1k a saj\u00e1t testreszabott \u201eadatbeilleszt\u0151\u201d eszk\u00f6z\u00fcket. \u00cdgy m\u0171k\u00f6d\u00f6tt: f\u00e1jlokat batch-elt, futtatta a szkriptet, \u00e9s az adatokat bet\u00f6lt\u00f6tte a t\u00e1bl\u00e1zatba. De a f\u0151 probl\u00e9ma az volt, hogy hatalmas mennyis\u00e9g\u0171 adat \u00e9rkezett egy egyszer\u0171 lek\u00e9rdez\u00e9shez. A lek\u00e9rdez\u00e9s m\u00e1sodpercenk\u00e9nt kapcsolta \u00f6ssze az adatokat. Mindez egyetlen sz\u00e1mjegy\u00e9rt \u2014 a napi \u00f6sszeg\u00e9rt.<\/p>\n<p>A bels\u0151 fejleszt\u0151k helytelen\u00fcl haszn\u00e1lt\u00e1k az elemz\u0151eszk\u00f6zt. Az Grafan\u00e1ba mentek, \u00e9s meg\u00edrt\u00e1k a saj\u00e1t kir\u00e1lyi lek\u00e9rdez\u00e9s\u00fcket. Ez k\u00e9t h\u00e9tre visszamen\u0151leg mentette le az adatokat. Sz\u00e9p grafikon alakult ki. De val\u00f3j\u00e1ban az adatlek\u00e9rdez\u00e9s 10 m\u00e1sodpercenk\u00e9nt zajlott. Mindez felhalmoz\u00f3dott a sorban, mivel a ClickHouse egyszer\u0171en nem b\u00edrta a feldolgoz\u00e1st. Itt rejt\u0151z\u00f6tt a f\u0151 ok. A Grafan\u00e1ban semmi sem m\u0171k\u00f6d\u00f6tt, a lek\u00e9rdez\u00e9sek sorban \u00e1lltak, \u00e9s folyamatosan \u00e9rkeztek r\u00e9gi, elavult adatok.<\/p>\n<p>\u00c1t\u00e1ll\u00edtottuk a klasztert, \u00e1t\u00edrtuk az adatbeilleszt\u00e9st. A bels\u0151 fejleszt\u0151k \u00e1t\u00edrt\u00e1k a \u201ebeilleszt\u0151\u201d eszk\u00f6z\u00fcket, \u00e9s elkezdte helyesen shardolni az adatokat.<\/p>\n<p>Max teljesk\u00f6r\u0171 auditot v\u00e9gzett az infrastrukt\u00far\u00e1ban. Kidolgozta a tervet a teljes \u00e9rt\u00e9k\u0171 backendre val\u00f3 \u00e1t\u00e1ll\u00e1sra. De ez nem felelt meg a c\u00e9gnek. Max-t\u00f3l var\u00e1zslatos titkot v\u00e1rtak, amely lehet\u0151v\u00e9 tette volna, hogy a r\u00e9gi m\u00f3don, de hat\u00e9konyan dolgozzanak. A projekt\u00e9rt tov\u00e1bbra is L\u00f6nya felelt, aki semmit nem tanult. Az \u00f6sszes javasolt megold\u00e1sb\u00f3l \u0151 ism\u00e9t a saj\u00e1t alternat\u00edv\u00e1j\u00e1t v\u00e1lasztotta. Mint mindig, ez a legkiv\u00e1l\u00f3bb... mer\u00e9sz d\u00f6nt\u00e9s volt. L\u00f6nya \u00fagy gondolta, hogy a c\u00e9g\u00e9nek k\u00fcl\u00f6nleges \u00fatja van. R\u00f6g\u00f6s \u00e9s tele j\u00e9ghegyekkel.<\/p>\n<p>Igaz\u00e1b\u00f3l itt v\u00e1ltunk el \u2014 megtett\u00fck, amit tudtunk.<\/p>\n<p>\nA sok pofon ut\u00e1n, tanulva a tapasztalatb\u00f3l, megnyitottuk a v\u00e1llalkoz\u00e1sunkat \u00e9s kialak\u00edtottunk magunknak n\u00e9h\u00e1ny elvet. Most m\u00e1r sosem kezdj\u00fck el a munk\u00e1t \u00fagy, ahogyan akkor.<\/p>\n<p>A Dibi\u00e9yser Max a projekt ut\u00e1n csatlakozott hozz\u00e1nk, \u00e9s az\u00f3ta is remek\u00fcl dolgozunk egy\u00fctt. A Clickhouse-os eset arra tan\u00edtott minket, hogy a munka megkezd\u00e9se el\u0151tt v\u00e9gezz\u00fcnk el egy teljes \u00e9s alapos auditot az infrastrukt\u00far\u00e1n. Megismerj\u00fck, hogyan m\u0171k\u00f6dik minden, \u00e9s csak ut\u00e1na fogadjuk el a feladatokat. Ha r\u00e9gen azonnal nekil\u00e1ttunk volna az infrastrukt\u00fara kezel\u00e9s\u00e9nek, most el\u0151sz\u00f6r elv\u00e9gz\u00fcnk egy egyszeri projektet, amely seg\u00edt meg\u00e9rteni, hogyan hozhatjuk m\u0171k\u00f6d\u0151 \u00e1llapotba. <\/p>\n<p>Igen, elker\u00fclj\u00fck azokat a projekteket, ahol szar infrastrukt\u00fara m\u0171k\u00f6dik. M\u00e9g ha sok p\u00e9nzr\u0151l van is sz\u00f3, m\u00e9g ha bar\u00e1ti sz\u00edvess\u00e9gr\u0151l. Beteg projekteket kezelni nem kifizet\u0151d\u0151. Ennek a tudom\u00e1sa seg\u00edtett minket n\u00f6vekedni. Vagy egy egyszeri projekt az infrastrukt\u00fara rendbehozatal\u00e1ra, \u00e9s ut\u00e1na karbantart\u00e1si szerz\u0151d\u00e9s, vagy egyszer\u0171en elker\u00fclj\u00fck. Elker\u00fclve egy \u00fajabb j\u00e9ghegyet.<\/p>\n<p><i>P.S. Sz\u00f3val, ha k\u00e9rd\u00e9sei vannak az infrastrukt\u00far\u00e1j\u00e1val kapcsolatban, <noindex><a rel=\"nofollow\" href=\"https:\/\/fevlake.com\"><b>nyugodtan k\u00fcldje el a jelentkez\u00e9s\u00e9t.<\/b><\/a><\/noindex>.<\/p>\n<p>Havonta 2 ingyenes auditunk van, lehet, hogy az \u00d6n projektje is be fog ker\u00fclni az egyikbe.<\/i><br \/>\n<br \/>Forr\u00e1s: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/rebrainme\/blog\/522108\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u043e\u0442 \u0438\u0441\u0442\u043e\u0440\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u0435\u0440\u0435\u0432\u0435\u0440\u043d\u0443\u043b\u0430 \u043c\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043a \u0440\u0430\u0431\u043e\u0442\u0435 \u0434\u0435\u0432\u043e\u043f\u0441\u0430. \u0415\u0449\u0435 \u0432 \u0434\u043e\u043a\u043e\u0432\u0438\u0434\u043d\u044b\u0435 \u0432\u0440\u0435\u043c\u0435\u043d\u0430, \u0437\u0430\u0434\u043e\u043b\u0433\u043e-\u0437\u0430\u0434\u043e\u043b\u0433\u043e \u0434\u043e \u043d\u0438\u0445, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u0441 \u043f\u0430\u0440\u043d\u044f\u043c\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0434\u0443\u043c\u044b\u0432\u0430\u043b\u0438 \u0441\u0432\u043e\u0435 \u0434\u0435\u043b\u043e \u0438 \u0444\u0440\u0438\u043b\u0430\u043d\u0441\u0438\u043b\u0438 \u043d\u0430 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u044b\u0445 \u0437\u0430\u043a\u0430\u0437\u0430\u0445, \u043c\u043d\u0435 \u0432 \u0442\u0435\u043b\u0435\u0433\u0443 \u0443\u043f\u0430\u043b\u043e \u043e\u0434\u043d\u043e \u043f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435. \u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0430, \u0437\u0430\u043d\u0438\u043c\u0430\u043b\u0430\u0441\u044c \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445. \u0415\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u043e \u043e\u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b\u0430 \u0442\u044b\u0441\u044f\u0447\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432. \u041a \u043d\u0430\u043c \u043e\u043d\u0438 \u043f\u0440\u0438\u0448\u043b\u0438 \u0441\u043e \u0441\u043b\u043e\u0432\u0430\u043c\u0438: \u0440\u0435\u0431\u044f\u0442, \u0443 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":96000,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-95999","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=\"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\/poka-vse-prazdnovali-moj-den-rozhdeniya-ya-do-utra-chinil-klaster-a-razraby-valili-na-menya-svoi-oshibki\" \/>\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\u041f\u043e\u043a\u0430 \u0432\u0441\u0435 \u043f\u0440\u0430\u0437\u0434\u043d\u043e\u0432\u0430\u043b\u0438 \u043c\u043e\u0439 \u0434\u0435\u043d\u044c \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f, \u044f \u0434\u043e \u0443\u0442\u0440\u0430 \u0447\u0438\u043d\u0438\u043b \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u2014 \u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u044b \u0432\u0430\u043b\u0438\u043b\u0438 \u043d\u0430 \u043c\u0435\u043d\u044f \u0441\u0432\u043e\u0438 \u043e\u0448\u0438\u0431\u043a\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/poka-vse-prazdnovali-moj-den-rozhdeniya-ya-do-utra-chinil-klaster-a-razraby-valili-na-menya-svoi-oshibki\" \/>\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-10-06T11:41:58+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-10-06T11:41:58+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\udd47 M\u00edg mindenki az \u00e9n sz\u00fclet\u00e9snapomat \u00fcnnepelte, \u00e9n reggelig jav\u00edtottam a klasztert \u2013 a fejleszt\u0151k az \u00e9n hib\u00e1imra h\u00e1r\u00edtott\u00e1k a felel\u0151ss\u00e9get | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/poka-vse-prazdnovali-moj-den-rozhdeniya-ya-do-utra-chinil-klaster-a-razraby-valili-na-menya-svoi-oshibki","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\u041f\u043e\u043a\u0430 \u0432\u0441\u0435 \u043f\u0440\u0430\u0437\u0434\u043d\u043e\u0432\u0430\u043b\u0438 \u043c\u043e\u0439 \u0434\u0435\u043d\u044c \u0440\u043e\u0436\u0434\u0435\u043d\u0438\u044f, \u044f \u0434\u043e \u0443\u0442\u0440\u0430 \u0447\u0438\u043d\u0438\u043b \u043a\u043b\u0430\u0441\u0442\u0435\u0440 \u2014 \u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u044b \u0432\u0430\u043b\u0438\u043b\u0438 \u043d\u0430 \u043c\u0435\u043d\u044f \u0441\u0432\u043e\u0438 \u043e\u0448\u0438\u0431\u043a\u0438 | ProHoster","og:url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/poka-vse-prazdnovali-moj-den-rozhdeniya-ya-do-utra-chinil-klaster-a-razraby-valili-na-menya-svoi-oshibki","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-10-06T11:41:58+00:00","article:modified_time":"2020-10-06T11:41:58+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"95999","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 10:53:26","updated":"2022-10-01 11:21:07","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\/95999","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=95999"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/95999\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/96000"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=95999"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=95999"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=95999"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}