{"id":73358,"date":"2020-03-09T08:42:14","date_gmt":"2020-03-09T05:42:14","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/clickhouse-vizualno-bystryj-i-naglyadnyj-analiz-dannyh-v-tabix-igor-stryhar"},"modified":"2020-03-09T08:42:14","modified_gmt":"2020-03-09T05:42:14","slug":"clickhouse-vizualno-bystryj-i-naglyadnyj-analiz-dannyh-v-tabix-igor-stryhar","status":"publish","type":"post","link":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/clickhouse-vizualno-bystryj-i-naglyadnyj-analiz-dannyh-v-tabix-igor-stryhar","title":{"rendered":"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><strong>Javaslom, hogy ismerkedjen meg Igor Sztirchar 2017-es el\u0151ad\u00e1s\u00e1nak \u00e1tirat\u00e1val: \u201eClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s szeml\u00e9letes adatvizsg\u00e1lat a Tabix-ben.\u201d<\/strong><\/p>\n<p><\/p>\n<p>Webes fel\u00fclet a ClickHouse sz\u00e1m\u00e1ra a Tabix projektben.<br \/>\nF\u0151bb funkci\u00f3k:<\/p>\n<p><\/p>\n<ul>\n<li>K\u00f6zvetlen\u00fcl a ClickHouse-szal m\u0171k\u00f6dik a b\u00f6ng\u00e9sz\u0151b\u0151l, an\u00e9lk\u00fcl, hogy tov\u00e1bbi szoftvert kellene telep\u00edteni;<\/li>\n<li>Lek\u00e9rdez\u00e9s szerkeszt\u0151 szintaktikai kiemel\u00e9s\u00e9vel;<\/li>\n<li>Parancsok automatikus kieg\u00e9sz\u00edt\u00e9se;<\/li>\n<li>Grafikus elemz\u00e9si eszk\u00f6z\u00f6k a lek\u00e9rdez\u00e9sek v\u00e9grehajt\u00e1s\u00e1hoz;<\/li>\n<li>V\u00e1laszthat\u00f3 sz\u00edns\u00e9m\u00e1k.<br \/>\n<img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/9d95cf5ceb5acc3a1301943165ca9225.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<center><div class=\"youtube-placeholder\" data-id=\"w1-XsL3nbRg\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/w1-XsL3nbRg\/hqdefault.jpg\" alt=\"Vide\u00f3 lej\u00e1tsz\u00e1sa\" loading=\"lazy\" width=\"480\" height=\"360\" style=\"width:100%;height:auto;\">\r\n        <div class=\"play-button\"><\/div>\r\n    <\/div><\/center><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/950e3d0a3ff10d267ae48e897f5cbdb6.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00c9n vagyok a m\u00e9dia2 technikai igazgat\u00f3ja. Mi h\u00edreket aggreg\u00e1l\u00f3 szolg\u00e1ltat\u00e1s vagyunk. Nagy mennyis\u00e9g\u0171 adatot t\u00e1rolunk, amelyeket partnereinkt\u0151l kapunk, \u00e9s regisztr\u00e1ljuk \u0151ket a ClickHouse-ba \u2013 k\u00f6r\u00fclbel\u00fcl 30 000 lek\u00e9rdez\u00e9s m\u00e1sodpercenk\u00e9nt.<\/p>\n<p><\/p>\n<p>Ezek olyan adatok, mint:<\/p>\n<p><\/p>\n<ul>\n<li>Kattint\u00e1sok a h\u00edrekre.<\/li>\n<li>H\u00edrek megjelen\u00edt\u00e9se az aggreg\u00e1torban.<\/li>\n<li>Bannerek megjelen\u00edt\u00e9se a h\u00e1l\u00f3zatunkban.<\/li>\n<li>\u00c9s regisztr\u00e1ljuk az esem\u00e9nyeket a saj\u00e1t sz\u00e1ml\u00e1l\u00f3nkb\u00f3l, amely hasonl\u00f3 a Yandex.Metrik\u00e1hoz. Ez a saj\u00e1t mikroadat-analitik\u00e1nk. <\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/8f5a7af9fef04a51fed29279557c3b64.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Nagyon mozgalmas \u00e9let\u00fcnk volt a ClickHouse el\u0151tt. Nagyon szenvedt\u00fcnk, pr\u00f3b\u00e1lva az adatokat valahova t\u00e1rolni \u00e9s analiz\u00e1lni azokat.<\/p>\n<p><\/p>\n<p><strong>\u00c9let ClickHouse el\u0151tt \u2013 infiniDB<\/strong><\/p>\n<p><\/p>\n<p>Az els\u0151, amink volt, az infiniDB volt. Negyed \u00e9vsz\u00e1zadon \u00e1t \u00e9lt n\u00e1lunk. Nehezen ind\u00edtottuk el. <\/p>\n<p><\/p>\n<ul>\n<li>Nem t\u00e1mogatja a klaszterez\u00e9st vagy a shardingot. Semmilyen ilyen okos dolog nem m\u0171k\u00f6d\u00f6tt alap\u00e9rtelmez\u00e9s szerint. <\/li>\n<li>Probl\u00e9m\u00e1i voltak az adatok bet\u00f6lt\u00e9s\u00e9vel. Csak egy speci\u00e1lis konzolos seg\u00e9dprogram volt, amely csak CSV f\u00e1jlokat tudott bet\u00f6lteni, \u00e9s csak nagyon \u00e9rthetetlen\u00fcl. <\/li>\n<li>Az adatb\u00e1zis egy sz\u00e1l\u00fa. Csak \u00edrni vagy olvasni lehetett. De k\u00e9pes volt nagy mennyis\u00e9g\u0171 adatot feldolgozni. <\/li>\n<li>\u00c9s volt neki egy \u00e9rdekes tr\u00fckkje is. Minden \u00e9jjel \u00fajra kellett ind\u00edtani a szervert, k\u00fcl\u00f6nben nem m\u0171k\u00f6d\u00f6tt. <\/li>\n<\/ul>\n<p><\/p>\n<p>2016 v\u00e9g\u00e9ig m\u0171k\u00f6d\u00f6tt, amikor teljesen \u00e1tt\u00e9rt\u00fcnk a ClickHouse-ra.<\/p>\n<p><\/p>\n<p><strong>\u00c9let ClickHouse el\u0151tt \u2013 Cassandra<\/strong><\/p>\n<p><\/p>\n<p>Mivel az infiniDB egy sz\u00e1l\u00fa volt, \u00fagy d\u00f6nt\u00f6tt\u00fcnk, hogy sz\u00fcks\u00e9g\u00fcnk van egy t\u00f6bbsz\u00e1l\u00fa adatb\u00e1zisra, amelyben egyszerre nagyon sok sz\u00e1lat tudunk \u00edrni.<\/p>\n<p><\/p>\n<p>Sok \u00e9rdekes dolgot kipr\u00f3b\u00e1ltunk. Azt\u00e1n \u00fagy d\u00f6nt\u00f6tt\u00fcnk, hogy megpr\u00f3b\u00e1ljuk a Cassandr\u00e1t. A Cassandr\u00e1val minden t\u00f6k\u00e9letes volt. 10 000 lek\u00e9rdez\u00e9s m\u00e1sodpercenk\u00e9nt. 2 000 lek\u00e9rdez\u00e9s k\u00f6r\u00fclbel\u00fcl olvas\u00e1shoz. <\/p>\n<p><\/p>\n<p>De neki is voltak \u00e9rdekes dolgain. Havonta egyszer vagy k\u00e9tszer adatb\u00e1zis-szinkroniz\u00e1l\u00e1si probl\u00e9ma l\u00e9pett fel, \u00e9s fel kellett \u00e9bredni, \u00e9s rohanni jav\u00edtani a Cassandr\u00e1t. Sorban \u00fajraind\u00edtottuk a szervereket. \u00c9s minden sima \u00e9s sz\u00e9p lett. <\/p>\n<p><\/p>\n<p><strong>\u00c9let a ClickHouse el\u0151tt \u2013 Druid<\/strong><\/p>\n<p><\/p>\n<p>Azt\u00e1n r\u00e1j\u00f6tt\u00fcnk, hogy m\u00e9g t\u00f6bb adatot kell \u00edrnunk. 2016-ban elkezdt\u00fck n\u00e9zni a Druid-ot. <\/p>\n<p><\/p>\n<p>A Druid egy ny\u00edlt forr\u00e1sk\u00f3d\u00fa adatb\u00e1zis, amely Java nyelven k\u00e9sz\u00fclt. Nagyon specifikus, \u00e9s j\u00f3l megfelelt a clickstream sz\u00e1m\u00e1ra, amikor esem\u00e9nyfolyamokat kellett t\u00e1rolnunk, \u00e9s ut\u00e1na aggreg\u00e1lni vagy analitikai riportokat k\u00e9sz\u00edteni r\u00f3luk.<\/p>\n<p><\/p>\n<p>A Druid 0.9.X-es verzi\u00f3ja l\u00e9tezett. <\/p>\n<p><\/p>\n<p>Mag\u00e1nak az adatb\u00e1zisnak a telep\u00edt\u00e9se nagyon neh\u00e9zkes. Ez az infrastrukt\u00fara bonyolults\u00e1ga miatt van. Ahhoz, hogy telep\u00edteni tudjuk, sok-sok hardvert kellett v\u00e1s\u00e1rolni. Minden egyes hardver k\u00fcl\u00f6n szerepet l\u00e1tott el. <\/p>\n<p><\/p>\n<p>Adatok bet\u00f6lt\u00e9s\u00e9hez valamilyen var\u00e1zslatot kellett alkalmazni. Van egy OpenSource projekt \u2013 Tranquility, amely folyamatosan elvesztette az adatokat. Amikor adatokat t\u00f6lt\u00f6tt\u00fcnk bele, azok elvesztek. <\/p>\n<p><\/p>\n<p>De v\u00e9g\u00fcl elkezdt\u00fck bevezetni. Olyanok voltunk, mint a s\u00fcn\u00f6k, akik megsz\u00fart\u00e1k magukat, de tov\u00e1bbra is ett\u00e9k a kaktuszt; elkezdt\u00fck bevezetni. K\u00f6r\u00fclbel\u00fcl egy h\u00f3napra volt sz\u00fcks\u00e9g\u00fcnk, hogy felk\u00e9sz\u00edts\u00fck az eg\u00e9sz infrastrukt\u00far\u00e1t. Azaz szervereket rendelni, be\u00e1ll\u00edtani a szerepeket, teljes automatiz\u00e1l\u00e1st v\u00e9gezni a telep\u00edt\u00e9si folyamatban. Azaz ha a klaszter leomlott, automatikusan telep\u00fclj\u00f6n egy m\u00e1sodik klaszter. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/a8193aab09ab9cce3b69e3b84ce470dd.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>De itt t\u00f6rt\u00e9nt egy csoda. \u00c9ppen szabads\u00e1gon voltam, \u00e9s koll\u00e9g\u00e1im k\u00fcldtek egy linket <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/yandex\/blog\/303282\/\">habr<\/a><\/noindex>, amelyben arr\u00f3l van sz\u00f3, hogy a Yandex \u00fagy d\u00f6nt\u00f6tt, hogy megnyitja a ClickHouse-t. Mondtam, hogy pr\u00f3b\u00e1ljuk meg.<\/p>\n<p><\/p>\n<p>\u00c9s sz\u00f3 szerint 2 nap alatt telep\u00edtett\u00fck a ClickHouse teszt klasztert. Elkezdtek adatokat bet\u00f6lteni. Az InfiniDB-hez k\u00e9pest \u2013 ez elemi, a Druid-hoz k\u00e9pest \u2013 ez elemi. A Cassandraval is elemi. Mert ha PHP-b\u00f3l kell adatokat bet\u00f6lteni a Cassandraba, az nem elemi.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/0b4b6ea08f7f7037d0e26dbe3f33fa53.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Mit kaptunk? Teljes\u00edtm\u00e9nysebess\u00e9gben. Adatt\u00e1rol\u00e1s teljes\u00edtm\u00e9ny\u00e9ben. Azaz sokkal kevesebb lemezter\u00fcletet haszn\u00e1l. A ClickHouse gyors, sokkal gyorsabb, mint m\u00e1s term\u00e9kek. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/9ff5e2ac127be8813b5d5cec49dab73a.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A ClickHouse ny\u00edlt forr\u00e1sk\u00f3d\u00fa k\u00f6zz\u00e9t\u00e9tel\u00e9nek pillanat\u00e1ban az egyetlen el\u00e9rhet\u0151 konzolos kliens volt. Mi a mi c\u00e9g\u00fcnkn\u00e9l, a M\u00e9dia2-n\u00e9l \u00fagy d\u00f6nt\u00f6tt\u00fcnk, hogy megpr\u00f3b\u00e1lunk egy nat\u00edv webklienset k\u00e9sz\u00edteni, hogy a b\u00f6ng\u00e9sz\u0151b\u0151l megnyithassunk egy oldalt, be\u00edrhassunk egy lek\u00e9rdez\u00e9st, \u00e9s megkaphassuk az eredm\u00e9nyt, mert sok lek\u00e9rdez\u00e9st kezdt\u00fcnk \u00edrni. Neh\u00e9z a konzolban \u00edrni. \u00c9s elk\u00e9sz\u00edtett\u00fck az els\u0151 verzi\u00f3nkat.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/a2569a45f9bf1b91815ca3dfa0eefcf3.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00c9s k\u00f6r\u00fclbel\u00fcl a m\u00falt \u00e9v t\u00e9li h\u00f3napjaiban elkezdtek megjelenni harmadik f\u00e9lt\u0151l sz\u00e1rmaz\u00f3 eszk\u00f6z\u00f6k a ClickHouse haszn\u00e1lat\u00e1hoz. Ilyen eszk\u00f6z\u00f6k, mint:<\/p>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/redash.io\/\">Redash.IO<\/a><\/noindex>.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/zeppelin.apache.org\/\">Apache Zeppelin<\/a><\/noindex>.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/airbnb\/incubator-superset\">Superset Airbnb<\/a><\/noindex>. (Most <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/apache\/incubator-superset\">https:\/\/github.com\/apache\/incubator-superset<\/a><\/noindex>)<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/blog.jetbrains.com\/datagrip\/2018\/08\/15\/datagrip-2018-2-2-clickhouse-support-and-bugfixes\/\">Jetbrains IDE<\/a><\/noindex>.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Vertamedia\/clickhouse-grafana\">Vertamedia\/clickhouse-grafana<\/a><\/noindex>. <\/li>\n<\/ul>\n<p><\/p>\n<p>N\u00e9h\u00e1ny ilyen eszk\u00f6zt \u00e1t fogok n\u00e9zni, azokat, amelyeket haszn\u00e1ltam. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/7b91bc29b1c04020b56c89621287e8c1.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>J\u00f3 eszk\u00f6z, de Druidhoz val\u00f3. Amikor a Druidot bevezett\u00fck, kipr\u00f3b\u00e1ltam a SuperSetet. Tetszett. Druidhoz nagyon gyorsan m\u0171k\u00f6dik. <\/p>\n<p><\/p>\n<p>A ClickHouse sz\u00e1m\u00e1ra nem alkalmas. Azaz alkalmas, elindul, de csak alapvet\u0151 lek\u00e9rdez\u00e9seket k\u00e9pes kezelni, mint p\u00e9ld\u00e1ul: SELECT event, GROUP BY event. Nem t\u00e1mogatja a ClickHouse bonyolultabb szintaxis\u00e1t.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/a708c787120de3db725a9bba4c8bd642.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A k\u00f6vetkez\u0151 eszk\u00f6z az Apache Zeppelin. Ez egy j\u00f3 \u00e9s \u00e9rdekes dolog. M\u0171k\u00f6dik. T\u00e1mogatja a jegyzetf\u00fczeteket, dashboardokat, t\u00e1mogatja a v\u00e1ltoz\u00f3kat. Tudom, hogy a ClickHouse k\u00f6z\u00f6ss\u00e9g\u00e9b\u0151l valaki haszn\u00e1lja. <\/p>\n<p><\/p>\n<p>De a ClickHouse szintaxis\u00e1nak t\u00e1mogat\u00e1sa nincs, azaz a lek\u00e9rd\u00e9seket vagy konzolban, vagy m\u00e1shol kell \u00edrni. Ezt k\u00f6vet\u0151en ellen\u0151rizni, hogy minden m\u0171k\u00f6dik. Ez egyszer\u0171en k\u00e9nyelmetlen. De a dashboard t\u00e1mogat\u00e1sa nagyon j\u00f3. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/0c2afefc1504d14dd50f88459a652a1c.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A k\u00f6vetkez\u0151 eszk\u00f6z a Redash.IO. A Redash az interneten \u00e9rhet\u0151 el. Azaz, ellent\u00e9tben az el\u0151z\u0151 eszk\u00f6z\u00f6kkel, nem kell telep\u00edteni. Ez egy dashboard, amely lehet\u0151v\u00e9 teszi az adatok konszolid\u00e1l\u00e1s\u00e1t k\u00fcl\u00f6nb\u00f6z\u0151 adatforr\u00e1sokb\u00f3l. Azaz, kinyerheti a ClickHouse-b\u00f3l, MySQL-b\u0151l, PostgreSQL-b\u0151l \u00e9s m\u00e1s adatb\u00e1zisokb\u00f3l. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/dc639fe6e9716c835d1fe0fdfaa300b8.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Pontosan egy h\u00f3nappal ezel\u0151tt (2017 m\u00e1rcius\u00e1ban) megjelent a t\u00e1mogat\u00e1s a Grafana-ban. Amikor jelent\u00e9seket k\u00e9sz\u00edt a Grafana-ban, p\u00e9ld\u00e1ul a hardver \u00e1llapot\u00e1r\u00f3l vagy valamilyen metrik\u00e1r\u00f3l, akkor most ugyanez a grafikon vagy egy panel a ClickHouse-b\u00f3l sz\u00e1rmaz\u00f3 adatokkal k\u00f6zvetlen\u00fcl is fel\u00e9p\u00edthet\u0151. Ez nagyon k\u00e9nyelmes, \u00e9s mi ezt haszn\u00e1ljuk. Ez lehet\u0151v\u00e9 teszi az anom\u00e1li\u00e1k felfedez\u00e9s\u00e9t. Azaz, ha valami t\u00f6rt\u00e9nik, \u00e9s egy hardver \u00f6sszeomlik vagy t\u00falterhelt, meg lehet n\u00e9zni az ok\u00e1t, ha az adatok id\u0151ben beker\u00fcltek a ClickHouse-ba. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/0dd54a7633d25d0c924c2e6825028eb3.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Nagyon k\u00e9nyelmetlen volt ezekben az eszk\u00f6z\u00f6kben vagy a konzolban \u00edrni. \u00cdgy \u00fagy d\u00f6nt\u00f6ttem, hogy tov\u00e1bbfejlesztem az els\u0151 fel\u00fclet\u00fcnket. Az EventSQL, SeperSet, Zeppelin \u00f6tlet\u00e9t figyeltem meg.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/3252a09e0942428143336639aa399f4d.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Mit akartam? Olyan grafikonokat, egy fejlettebb szerkeszt\u0151t, a javaslatok sz\u00f3t\u00e1r\u00e1nak t\u00e1mogat\u00e1s\u00e1t. Mert a ClickHouse-nak van egy nagyszer\u0171 funkci\u00f3ja \u2013 a sz\u00f3t\u00e1rak. De a sz\u00f3t\u00e1rakkal neh\u00e9z dolgozni, mert eml\u00e9kezni kell a t\u00e1rolt \u00e9rt\u00e9kek form\u00e1tum\u00e1ra, azaz ez sz\u00e1m vagy sz\u00f6veg stb. Mivel gyakran haszn\u00e1ljuk a sz\u00f3t\u00e1rakat azok k\u00fcl\u00f6nb\u00f6z\u0151 v\u00e1ltozataiban, el\u00e9g neh\u00e9zkes volt a lek\u00e9rdez\u00e9sek \u00edr\u00e1sa.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/90a529b4fb5d03a6d61c89e00287b21d.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>H\u00e1rom h\u00f3nap telt el az els\u0151 verzi\u00f3nk megjelen\u00e9se \u00f3ta. Kb. 330 elk\u00f6telezetts\u00e9get v\u00e9geztem egy z\u00e1rt \u00e1gon, \u00e9s \u00edgy l\u00e9trej\u00f6tt a Tabix.<\/p>\n<p><\/p>\n<p>A kor\u00e1bbi verzi\u00f3t, amelyet ClickHouse-Frontendnek h\u00edvtak, egyszer\u0171 n\u00e9vre v\u00e1ltoztattam. \u00cdgy lett Tabix.<\/p>\n<p><\/p>\n<p>Mi \u00fajdons\u00e1g van?<\/p>\n<p><\/p>\n<p>Grafikonokat rajzol. T\u00e1mogatja a ClickHouse SQL szintaxist. Javaslatokat ad a funkci\u00f3kr\u00f3l, \u00e9s sok m\u00e1s \u00e9rdekes funkci\u00f3val rendelkezik.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/cd2bbb0c2c3e0fa2d2622bbd2aecdbc7.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00cdgy n\u00e9z ki a Tabix \u00e1ltal\u00e1nos s\u00e9ma. Balra l\u00e1that\u00f3 a fa. K\u00f6z\u00e9pen van a lek\u00e9rdez\u00e9s szerkeszt\u0151. Lent pedig a lek\u00e9rdez\u00e9s eredm\u00e9nye.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/becf5df173220480e077ae8d8e0ebf3e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Most megmutatom, hogyan m\u0171k\u00f6dik a lek\u00e9rdez\u00e9s szerkeszt\u0151. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/d5ca1028922a12d5e6f133704d4c91a2.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Itt automatikusan m\u0171k\u00f6d\u00e9sbe l\u00e9pett az automatikus kieg\u00e9sz\u00edt\u00e9s a t\u00e1bl\u00e1n, \u00e9s javaslatokat ad a mez\u0151kre. \u00c9s javaslatokat a funkci\u00f3kra. Ha megnyomja a ctrl + enter-t, a lek\u00e9rdez\u00e9s v\u00e9grehajt\u00f3dik vagy hib\u00e1val megszakad. A legegyszer\u0171bb lek\u00e9rdez\u00e9s a Tabixba ker\u00fcl, \u00e9s megkapjuk az eredm\u00e9nyt, azaz gyorsan lehet dolgozni a ClickHouse-szal.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/74623f9f5030eb08523dc7269517a5d5.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A sz\u00f3t\u00e1rak, ahogyan m\u00e1r eml\u00edtettem, nagyon \u00e9rdekes dolgok, amelyekkel sokat dolgozunk. \u00c9s lehet\u0151v\u00e9 tett\u00e9k sok dolog elv\u00e9gz\u00e9s\u00e9t. P\u00e9ld\u00e1ul a sz\u00f3t\u00e1rakban t\u00e1roljuk az \u00f6sszes v\u00e1rost. A v\u00e1ros azonos\u00edt\u00f3j\u00e1t \u00e9s nev\u00e9t, sz\u00e9less\u00e9g\u00e9t \u00e9s hossz\u00fas\u00e1g\u00e1t t\u00e1roljuk. \u00c9s az adatb\u00e1zisban csak a v\u00e1ros azonos\u00edt\u00f3j\u00e1t t\u00e1roljuk. Ennek k\u00f6vetkezt\u00e9ben az adatokat nagyon er\u0151sen t\u00f6m\u00f6r\u00edtj\u00fck.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/fa698b916b01a58f182003e6a15dfea0.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ez els\u0151re egy egyszer\u0171 dolognak t\u0171nik, de a ClickHouse-ban nagyon \u00e9rdekes m\u00f3don seg\u00edt. Mivel a ClickHouse csak a be\u00e1gyazott joinokat t\u00e1mogatja, a lek\u00e9rdez\u00e9s lefel\u00e9 \u00e9s sz\u00e9less\u00e9gben el\u00e9gg\u00e9 megn\u0151. Amikor egy z\u00e1r\u00f3jel megny\u00edlik, \u00e9s hossz\u00fa kifejez\u00e9s k\u00f6vetkezik, egy viszonylag egyszer\u0171 dolog, mint a lek\u00e9rdez\u00e9s \u00f6sszecsuk\u00e1sa, seg\u00edt k\u00f6nnyebben dolgozni mag\u00e1val a lek\u00e9rdez\u00e9ssel. Mert amikor a lek\u00e9rdez\u00e9s 200-300 soros \u00e9s sz\u00e9less\u00e9gben \u00f3ri\u00e1si, akkor nagyon megk\u00f6nny\u00edti az \u00f6sszecsuk\u00e1s a keres\u00e9st vagy a hely\u00e9nek eld\u00f6nt\u00e9s\u00e9t.<\/p>\n<p><\/p>\n<p>Objektumt\u00e1rfa, t\u00f6bb lek\u00e9rdez\u00e9s \u00e9s lapok (Vide\u00f3 13:46) <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/w1-XsL3nbRg?t=826\">https:\/\/youtu.be\/w1-XsL3nbRg?t=826<\/a><\/noindex>)<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/d43efecc6b0b395cdc17a3dd9db53400.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A k\u00f6vetkez\u0151kben a f\u00e1r\u00f3l, lapokr\u00f3l fogok besz\u00e9lni. Balra \u2013 ez a fa, fel\u00fcl pedig t\u00f6bb lapot hozhatun k l\u00e9tre. A lapok mint workspace funkcion\u00e1lnak. K\u00fcl\u00f6nb\u00f6z\u0151 neveket adhatsz nekik. Ez egy mini rendszer a jelent\u00e9s \u00f6ssze\u00e1ll\u00edt\u00e1s\u00e1hoz.<\/p>\n<p><\/p>\n<p>A lapok automatikusan ment\u00e9sre ker\u00fclnek. Ha \u00fajrat\u00f6lti a b\u00f6ng\u00e9sz\u0151t, vagy bez\u00e1rja, vagy megnyitja a Tabixot, minden megmarad.<\/p>\n<p><\/p>\n<p>Gyorsbillenty\u0171 \u2013 praktikus (Vide\u00f3 14:39) <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/w1-XsL3nbRg?t=879\">https:\/\/youtu.be\/w1-XsL3nbRg?t=879<\/a><\/noindex>)<\/p>\n<p><\/p>\n<p>Vannak gyorsbillenty\u0171k, \u00e9s ezekb\u0151l sok van. N\u00e9h\u00e1nyat itt mutattam be p\u00e9ldak\u00e9nt. Ezek lehetnek lapv\u00e1lt\u00e1s, lek\u00e9rdez\u00e9s v\u00e9grehajt\u00e1sa vagy t\u00f6bb lek\u00e9rdez\u00e9s v\u00e9grehajt\u00e1sa. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/27f3e6d0dbb4d1038bb551808b13d2ac.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Megmutatom, hogyan kell dolgozni az eredm\u00e9nnyel. K\u00fcldj\u00fcnk egy k\u00e9r\u00e9st. Itt \u00e1br\u00e1zolom a sin, cos \u00e9s tg \u00e9rt\u00e9keket. Ki lehet emelni az eredm\u00e9nyt, azaz l\u00e9trehozni egy tipikus diagramot az oszlopon. Ki lehet emelni a pozit\u00edv vagy negat\u00edv \u00e9rt\u00e9keket, vagy egyszer\u0171en sz\u00ednezni lehet egy adott t\u00e1bl\u00e1zatelemet. Ez hasznos, amikor a t\u00e1bl\u00e1zat hatalmas, \u00e9s szemmel kell megtal\u00e1lni egy anom\u00e1li\u00e1t. Amikor anom\u00e1li\u00e1kat kerestem, kiemeltem egyes sorokat vagy elemeket z\u00f6ld vagy piros sz\u00ednnel.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/af0c21073a1edd81e4d688f119ef7568.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Sok \u00e9rdekes dolog van ott. P\u00e9ld\u00e1ul, hogyan lehet \u00e1tm\u00e1solni a Redmine-ba a Markdown sz\u00f6veget. Ha valahova el kell m\u00e1solni az eredm\u00e9nyt, ez nagyon k\u00e9nyelmes. Csak ki kell v\u00e1lasztani egy ter\u00fcletet, \u00e9s mondani, hogy \u201eM\u00e1sol\u00e1s a Redmine-ba\u201d, \u00e9s az \u00e1tm\u00e1solja a Redmine Markdown form\u00e1tumba, vagy l\u00e9trehozza a Where k\u00e9r\u00e9st.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/43034a47b5ca31ee08e7721cc5f5159c.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A k\u00f6vetkez\u0151 l\u00e9p\u00e9s az optimaliz\u00e1l\u00e1s a k\u00e9r\u00e9sek sor\u00e1n. Egyszer elfelejtettem megadni a \u201edate\u201d mez\u0151t. A ClickHouse-ban l\u00e9v\u0151 k\u00e9r\u00e9sem nem nagyon-nagyon gyorsan futott, de gyorsan, azaz kevesebb mint egy m\u00e1sodperc alatt. Amikor l\u00e1ttam, mennyi sort dolgoz fel, megijedtem. Egy nap alatt annyi sort nem \u00edrunk ebbe a t\u00e1bl\u00e1zatba. Elkezdtem elemezni a k\u00e9r\u00e9st, \u00e9s l\u00e1ttam, hogy egy helyen kihagytam a d\u00e1tumot. Azaz elfelejtettem megadni, hogy az adatok nem az eg\u00e9sz t\u00e1bl\u00e1zatb\u00f3l kellenek, hanem egy konkr\u00e9t id\u0151szakra.<\/p>\n<p><\/p>\n<p>A Tabixban van egy \u201eStatisztik\u00e1k\u201d f\u00fcl, ahol az \u00f6sszes elk\u00fcld\u00f6tt k\u00e9r\u00e9s t\u00f6rt\u00e9nete t\u00e1rol\u00f3dik, azaz ott lehet megn\u00e9zni, h\u00e1ny sort olvasott be az adott k\u00e9r\u00e9s, \u00e9s mennyi id\u0151be telt a v\u00e9grehajt\u00e1sa. Ez lehet\u0151v\u00e9 teszi az optimaliz\u00e1l\u00e1st. <\/p>\n<p><\/p>\n<p>A k\u00e9r\u00e9s eredm\u00e9nye f\u00f6l\u00f6tt l\u00e9tre lehet hozni egy \u00f6sszes\u00edt\u0151 t\u00e1bl\u00e1zatot. Elk\u00fcldted a k\u00e9r\u00e9st a ClickHouse-ba, kapt\u00e1l valamilyen adatokat. Azut\u00e1n ezeket az adatokat meg lehet h\u00fazni az eg\u00e9rrel, \u00e9s l\u00e9trehozni egy \u00f6sszes\u00edt\u0151 t\u00e1bl\u00e1zatot.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/0365df303eb55336eeb8a037cb118113.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A k\u00f6vetkez\u0151 \u00e9rdekes dolog a grafikonok l\u00e9trehoz\u00e1sa. Tegy\u00fck fel, hogy a k\u00f6vetkez\u0151 k\u00e9r\u00e9s\u00fcnk van: sin, cos 0 \u00e9s 299 k\u00f6z\u00f6tt. \u00c9s hogy ezt megrajzoljuk, ki kell v\u00e1lasztani a \u201eRajzol\u00e1s\u201d f\u00fclet, \u00e9s megkapod a grafikonodat a sin \u00e9s cos \u00e9rt\u00e9kekkel. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/bdf00b9d6bffb907e88d2fdb7bfb16dc.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ezt k\u00fcl\u00f6n tengelyekre lehet bontani, azaz egyszerre k\u00e9t grafikon is \u00e1br\u00e1zolhat\u00f3 egym\u00e1s mellett. Egyszer\u0171en csak meg kell \u00edrni egy parancsot \u00e9s egy m\u00e1sikat. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/efe77846e3f5f30a5d73e75be53d608a.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Lehet hisztogramokat is rajzolni.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/e531aac548eca2eb9e30dac21f8876b8.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ezt m\u00e1trixra is lehet bontani.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/3404f87cee0e376df8ca62f03fc0fc7e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>L\u00e9tre lehet hozni h\u0151t\u00e9rk\u00e9pet. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/e15fe90c49bb850c821dab7492856b0b.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>L\u00e9tre lehet hozni h\u0151kalend\u00e1riumot. Egy\u00e9bk\u00e9nt nagyon hasznos dolog, amikor az anom\u00e1li\u00e1k elemz\u00e9se t\u00f6rt\u00e9nik egy \u00e9v alatt, azaz vagy a kiugr\u00e1sokat, vagy a cs\u00f6kken\u00e9seket kell megtal\u00e1lni. Nekem seg\u00edtett ez az adatelemz\u0151 vizualiz\u00e1ci\u00f3. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/08945df379d33aa73518ef10d02fe561.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A k\u00f6vetkez\u0151 a Treemap.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/a7331b33b77e98ce85aff0316e3dcc76.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/5794844e8c1db71f1507cbdae67fedf6.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Sankeys \u2013 egy \u00e9rdekes grafikon. Ez vagy Streamgraph, vagy River. De \u00e9n River-nek h\u00edvom. Ez is lehet\u0151v\u00e9 teszi anom\u00e1li\u00e1k keres\u00e9s\u00e9t. Nagyon k\u00e9nyelmes. Aj\u00e1nlom, hogy haszn\u00e1ld anom\u00e1li\u00e1k keres\u00e9s\u00e9re.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/483f363d93ba80dc9ac165ae083db585.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A k\u00f6vetkez\u0151 \u00e9rdekes dolog egy dinamikus t\u00e9rk\u00e9p rajzol\u00e1sa. Ha az adatb\u00e1zisodban t\u00e1rolt sz\u00e9less\u00e9gi \u00e9s hossz\u00fas\u00e1gi adatok vannak, valamint p\u00e9ld\u00e1ul egy rendeltet\u00e9s, ha mondjuk aut\u00f3 sz\u00e1ll\u00edt\u00e1ssal vagy rep\u00fcl\u0151g\u00e9pekkel dolgozol, akkor a c\u00e9lok \u00fatvonalait meg lehet rajzolni. Itt a sebess\u00e9get, az objektumok m\u00e9ret\u00e9t is meg lehet adni, amelyekbe \u00e9rkeznek.<\/p>\n<p><\/p>\n<p>De a t\u00e9rk\u00e9ppel az a probl\u00e9ma, hogy csak a vil\u00e1g t\u00e9rk\u00e9p\u00e9t rajzolja, nincs r\u00e9szletez\u00e9s.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/13f302e67e7f84dc85728204153d6377.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>K\u00e9s\u0151bb hozz\u00e1adtam a Google t\u00e9rk\u00e9pet. Ha t\u00e1rolod a sz\u00e9less\u00e9get \u00e9s hossz\u00fas\u00e1got, akkor a Google t\u00e9rk\u00e9pen meg lehet rajzolni az eredm\u00e9nyt, de an\u00e9lk\u00fcl, hogy a kis rep\u00fcl\u0151g\u00e9peket t\u00e1mogatn\u00e1nk.<\/p>\n<p><\/p>\n<p>A f\u0151 funkci\u00f3kat, amelyek a Tabix keres\u00e9si eredm\u00e9nyeivel foglalkoznak, m\u00e1r megbesz\u00e9lt\u00fck. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/849baa55e6865ab451b82f23fe6e5110.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A k\u00f6vetkez\u0151 a ClickHouse szervered elemz\u00e9se. Van egy k\u00fcl\u00f6n f\u00fcl a 'Metrik\u00e1k'-kal, ahol megn\u00e9zheted a t\u00e1rolt adatok m\u00e9ret\u00e9t minden oszlopban. A k\u00e9perny\u0151felv\u00e9telen l\u00e1that\u00f3, hogy ez a 'referrer' mez\u0151 k\u00f6r\u00fclbel\u00fcl 730 Gb-ot foglal el. Ha lemondunk err\u0151l a mez\u0151r\u0151l, akkor h\u00e1rom 700 GB-os shardot sp\u00f3rolunk meg, azaz k\u00f6r\u00fclbel\u00fcl 2 TB-ot, amire nincs sz\u00fcks\u00e9g\u00fcnk. <\/p>\n<p><\/p>\n<p>Van egy 'request_id' mez\u0151nk is, amit sz\u00f6vegk\u00e9nt t\u00e1rolunk. De ha elkezdj\u00fck numerikus form\u00e1ban t\u00e1rolni, akkor ez a mez\u0151 \u00f3ri\u00e1sit zsugorodna. <\/p>\n<p><\/p>\n<p>Itt a szerver konfigur\u00e1ci\u00f3ja \u00e9s a klasztered csom\u00f3pontjainak list\u00e1ja is l\u00e1that\u00f3. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/fa2a35c1af59b3f56059fcfb26571c6e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A k\u00f6vetkez\u0151 f\u00fcl a metrik\u00e1k. Ezek val\u00f3s id\u0151ben ker\u00fclnek lek\u00e9rdez\u00e9sre a ClickHouse-b\u00f3l, \u00e9s egyszer\u0171en lehet\u0151v\u00e9 teszik a szerver \u00e1llapot\u00e1nak elemz\u00e9s\u00e9t \u00e9s meg\u00e9rt\u00e9s\u00e9t. Ez nem helyettes\u00edti a teljes funkcionalit\u00e1s\u00fa Grafan\u00e1t. Erre az\u00e9rt van sz\u00fcks\u00e9g, hogy gyorsan elemezni tudjuk. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/7de741718ef19b81bd0f7f33dbed019e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A k\u00f6vetkez\u0151 f\u00fcl a folyamatok. Ezek seg\u00edts\u00e9g\u00e9vel meg\u00e9rtheted, mi t\u00f6rt\u00e9nik a szerveren. Meg\u00e9rtheted, mi zajlik ott. Volt egy lek\u00e9rdez\u00e9sem, ami minden alkalommal 200 GB-ot fogyasztott olvas\u00e1skor. Ezt az interf\u00e9sznek k\u00f6sz\u00f6nhet\u0151en \u00e9szleltem. Megt\u00f6rt\u00e9nt a jav\u00edt\u00e1s, \u00edgy k\u00f6r\u00fclbel\u00fcl 30 GB-ra cs\u00f6kkent, azaz a teljes\u00edtm\u00e9ny t\u00f6bbsz\u00f6r\u00f6s\u00e9re n\u0151tt.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"A ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s \u00e1ttekinthet\u0151 adatelemz\u00e9s a Tabixban. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/084b6131b189364f9e093792125649df.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>K\u00f6sz\u00f6n\u00f6m! \u00c9s ez OpenSource.<\/p>\n<p><\/p>\n<p>Befejeztem. \u00c9s egy\u00e9bk\u00e9nt ez OpenSource, ingyenes, \u00e9s nem is kell let\u00f6ltened. Csak nyisd meg a b\u00f6ng\u00e9sz\u0151dben, \u00e9s minden m\u0171k\u00f6dni fog. <\/p>\n<p><\/p>\n<p>K\u00e9rd\u00e9sek<\/p>\n<p><\/p>\n<p><em>Igor, mi a k\u00f6vetkez\u0151 l\u00e9p\u00e9s? Hov\u00e1 szeretn\u00e9d tov\u00e1bb fejleszteni ezt az eszk\u00f6zt?<\/em><\/p>\n<p><\/p>\n<p>Hamarosan megjelenik a dashboard, azaz lehet, hogy megjelenik a dashboard. Integr\u00e1ci\u00f3 m\u00e1s adatb\u00e1zisokkal. Ezt elk\u00e9sz\u00edtettem, de m\u00e9g nem publik\u00e1ltam OpenSource-ban. Ez MySQL \u00e9s val\u00f3sz\u00edn\u0171leg PostgreSQL. Azaz lehet majd a Tabix-b\u00f3l lek\u00e9rdez\u00e9seket k\u00fcldeni nemcsak a ClickHouse-ba, hanem m\u00e1s eszk\u00f6z\u00f6kbe is.<\/p>\n<p><\/p>\n<p><em>L\u00e1that\u00f3, hogy \u00f3ri\u00e1si mennyis\u00e9g\u0171 munka k\u00e9sz\u00fclt el. Egy el\u00e9g teljes \u00f6tletr\u0151l van sz\u00f3. A b\u00f6ng\u00e9sz\u0151ben k\u00e9sz\u00fclt, feltehet\u0151en az\u00e9rt, hogy kiz\u00e1rja a ment\u0151 megold\u00e1sokat, \u00e9s gyorsan \u00f6sszerakja ezt az eg\u00e9szet. Azt hallottam, hogy \u00f6n\u00f6k a<\/em> <em>php<\/em> <em>dolgoznak, \u00edgy a legk\u00f6nnyebb a b\u00f6ng\u00e9sz\u0151ben \u00f6sszerakni, \u00e9s mindenhol m\u0171k\u00f6dni fog. Ezzel kapcsolatban nincsen k\u00e9rd\u00e9s. Az a k\u00e9rd\u00e9s, hogy t\u00e9nyleg nagyon sok minden k\u00e9sz\u00fclt el. H\u00e1ny ember dolgozott ezen? \u00c9s mennyi id\u0151t vett ez ig\u00e9nybe? Mert az eszk\u00f6z\u00f6k \u00e1ltal\u00e1ban nem rendelkeznek ilyen nagy funkcionalit\u00e1ssal.<\/em><\/p>\n<p><\/p>\n<p>Ny\u00e1ron \u0151sszel egy ember dolgozott a csapatunkb\u00f3l. Ez volt az els\u0151 verzi\u00f3. Azt\u00e1n 330 committet csin\u00e1ltam egyed\u00fcl. Amit l\u00e1t, azt a koll\u00e9g\u00e1mmal f\u00e9lig-meddig csin\u00e1ltuk. H\u00e1rom h\u00f3nap alatt az els\u0151 verzi\u00f3t\u00f3l az utols\u00f3ig \u00e9n csin\u00e1ltam a legt\u00f6bb r\u00e9szt. De nagyon rosszul ismerem a Javascriptet. Ez volt az egyetlen \u00e9s, rem\u00e9lem, utols\u00f3 projektem a Javascripttel, amivel dolgoztam. Megkaptam, megn\u00e9ztem \u2013 \u00f3, borzalom. De nagyon szerettem volna befejezni a term\u00e9ket, \u00e9s \u00edgy alakult.<\/p>\n<p><\/p>\n<p><em>Nagyon k\u00f6sz\u00f6n\u00f6m az el\u0151ad\u00e1st! Ez egy nagyszer\u0171 eszk\u00f6z. \u00d6sszehasonl\u00edtott\u00e1k?<\/em> <em>Tableau<\/em> <em>K\u00f6sz\u00f6n\u00f6m. Ez\u00e9rt is neveztem Tabixnak, mert az els\u0151 bet\u0171k egybeesnek.<\/em><\/p>\n<p><\/p>\n<p>Mert versenyeznek? <\/p>\n<p><\/p>\n<p><em>Sok befektet\u00e9s lesz, versenyezni fogunk.<\/em><\/p>\n<p><\/p>\n<p>Hogyan javasolja eladni a bels\u0151 elemz\u0151knek, hogy ez az eszk\u00f6z teljesen helyettes\u00edti a <\/p>\n<p><\/p>\n<p><em>*Tableau*-t<\/em> Nat\u00edvan m\u0171k\u00f6dik a ClickHouse-szal. Kipr\u00f3b\u00e1ltam a Tableau-t, de ott nem lehet sz\u00f3t\u00e1rak t\u00e1mogat\u00e1s\u00e1t \u00edrni \u00e9s hasonl\u00f3kat.<em>? \u041a\u0430\u043a\u0438\u0435 \u0431\u0443\u0434\u0443\u0442 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b?<\/em><\/p>\n<p><\/p>\n<p>Tudom, hogyan dolgoznak a Tabix-szal az emberek. Lek\u00e9rdez\u00e9st \u00edrnak, CSV-be export\u00e1lnak, majd bet\u00f6ltik az BI-ba. <strong>Ott m\u00e1r valamit csin\u00e1lnak. De nehezen tudom elk\u00e9pzelni, hogyan csin\u00e1lj\u00e1k, mert \u2013 ez egy grafikus eszk\u00f6z. Maximum 5 000 sort, legfeljebb 6 000 sort tud export\u00e1lni, de t\u00f6bbet nem, k\u00fcl\u00f6nben a b\u00f6ng\u00e9sz\u0151 nem b\u00edrja.<\/strong> Azaz komoly korl\u00e1tok vannak az adatmennyis\u00e9g szempontj\u00e1b\u00f3l, ugye? <\/p>\n<p><\/p>\n<p><em>Igen. Nem tudom elk\u00e9pzelni, hogy el akarn\u00e1 k\u00fcldeni mag\u00e1nak a 10 000 sort a b\u00f6ng\u00e9sz\u0151 k\u00e9perny\u0151j\u00e9re. Minek?<\/em><\/p>\n<p><\/p>\n<p>Azt felt\u00e9telezz\u00fck, hogy ez egy gyors adatmegtekint\u0151 fel\u00fclet? Kicsit megn\u00e9zni, forgatni? <\/p>\n<p><\/p>\n<p><em>Igen, \u00edgy van.<\/em><\/p>\n<p><\/p>\n<p>Igen, gyorsan meg lehet n\u00e9zni, hogyan m\u0171k\u00f6dik, \u00e9s egyszer\u0171en \u00f6ssze lehet \u00e1ll\u00edtani egy \u00f6sszefoglal\u00f3 grafikont. Azt\u00e1n tov\u00e1bb lehet adni valahov\u00e1. N\u00e1lunk ez egy saj\u00e1t riport\u00e1l\u00f3 rendszer, ahonnan egyszer\u0171en \u00e1tveszem ezt a lek\u00e9rdez\u00e9st. Megrajzolom a Tabix-ben \u00e9s elk\u00fcld\u00f6m a riportunkba. <\/p>\n<p><\/p>\n<p><em>\u00c9s m\u00e9g egy k\u00e9rd\u00e9s. Kohorszelemz\u00e9s?<\/em><\/p>\n<p><\/p>\n<p>Ha lesznek k\u00e9r\u00e9sek, hozz\u00e1adjuk. <\/p>\n<p><\/p>\n<p><em>Amikor csak kezdt\u00fck haszn\u00e1lni<\/em> <em>a ClickHouse-t, mennyi id\u0151be ker\u00fclt az implement\u00e1l\u00e1s<\/em> <em>clickhousedb_fdw<\/em> <em>\u00e9s eljuttat\u00e1s a<\/em> <em>production \u00e1llapot\u00e1ig?<\/em><\/p>\n<p><\/p>\n<p>Ahogy mondtam, a teszt klaszter\u00fcnket nagyon r\u00f6vid id\u0151 alatt implement\u00e1ltuk. K\u00e9t nap alatt be\u00fczemelt\u00fck. \u00c9s m\u00e9g p\u00e1r h\u00e9tig tesztelt\u00fck. A production-hoz k\u00f6r\u00fclbel\u00fcl 3 h\u00f3nap alatt jutottunk el. De nek\u00fcnk volt saj\u00e1t ETL-\u00fcnk, azaz adatfolyamtan\u00edt\u00f3 eszk\u00f6z. Ez mindenhov\u00e1 \u00edrt, amire csak lehetett. Tud \u00edni MongoDB-be, Cassandra-ba, MySQL-be. Megtan\u00edtani, hogy \u00edrjon ClickHouse-ba, egyszer\u0171 volt. K\u00e9sz infrastrukt\u00far\u00e1nk volt a gyors implement\u00e1l\u00e1shoz. M\u00e1sf\u00e9l h\u00f3nap alatt kezdt\u00fck el kidobni az els\u0151 komponenst. Hat h\u00f3nap alatt teljesen lemondtunk minden m\u00e1sr\u00f3l. Csak a ClickHouse maradt.<\/p>\n<p><\/p>\n<p><em>Igor, nagyon k\u00f6sz\u00f6n\u00f6m az el\u0151ad\u00e1st. Nagyon tetszett a t\u00e9rk\u00e9pek \u00fatvonalainak fel\u00e9p\u00edt\u00e9se. Tervezik az integr\u00e1ci\u00f3t a Yandex.Maps-szel \u00e9s k\u00fcl\u00f6n\u00f6sen a testreszabott Yandex.Maps-szel?<\/em><\/p>\n<p><\/p>\n<p>Megpr\u00f3b\u00e1ltam integr\u00e1lni a Google t\u00e9rk\u00e9p helyett, de nem tal\u00e1ltam s\u00f6t\u00e9t t\u00e9m\u00e1t a Yandex.T\u00e9rk\u00e9peken. Egy dolgot nem mes\u00e9ltem el. Visszatekerem, hogy kieg\u00e9sz\u00edtsem. <\/p>\n<p><\/p>\n<p>Dia \u2013 Google t\u00e9rk\u00e9p. Ott van a \u201eDRAW_GMAPS\u201d parancs, amely megrajzolja a t\u00e9rk\u00e9pet. Van egy \u201eDRAW_YMAPS\u201d parancs is, azaz k\u00e9pes megrajzolni a Yandex.T\u00e9rk\u00e9pet. Val\u00f3j\u00e1ban ezen a parancson bel\u00fcl Javascript tal\u00e1lhat\u00f3, teh\u00e1t az adatokat, amelyeket a ClickHouse-b\u00f3l nyer, \u00e1t lehet adni a Javascriptnek, amit itt \u00edrhatsz. \u00c9s van egy ter\u00fclet, ahol meg kell rajzolnia. B\u00e1rmilyen grafikont meg lehet rajzolni, teh\u00e1t b\u00e1rmilyen grafikont, t\u00e9rk\u00e9pet, saj\u00e1t komponenst is megrajzolhatsz. Kor\u00e1bban volt egy m\u00e1sik k\u00f6nyvt\u00e1ram a grafikonszerkeszt\u00e9shez.<\/p>\n<p><\/p>\n<p><em>Teh\u00e1t van eszk\u00f6z a megjelen\u00edt\u00e9s funkci\u00f3j\u00e1nak testreszab\u00e1s\u00e1ra?<\/em><\/p>\n<p><\/p>\n<p>B\u00e1rmilyen. Lehet venni \u00e9s \u00e1tfesteni ezeket a pontokat, hogy ne pirosak legyenek, hanem k\u00e9kek, z\u00f6ldek.<\/p>\n<p><\/p>\n<p><em>K\u00f6sz\u00f6n\u00f6m az el\u0151ad\u00e1st! Volt egy di\u00e1d, amely alternat\u00edv lek\u00e9rdez\u0151 eszk\u00f6z\u00f6ket mutatott be<\/em> <em>clickhousedb_fdw<\/em> <em>a m\u0171szerfalak \u00e9s analitikai jelent\u00e9sek l\u00e9trehoz\u00e1s\u00e1ra. J\u00f3l \u00e9rtettem, hogy abban az id\u0151ben, amikor elkezdt\u00e9l dolgozni<\/em> <em>A ClickHouse-hez nem \u00edrtak adaptereket ezekhez az eszk\u00f6z\u00f6kh\u00f6z. \u00c9rdekes, hogy mi\u00e9rt d\u00f6nt\u00f6tt\u00e9l \u00fagy, hogy saj\u00e1t eszk\u00f6zt k\u00e9sz\u00edtesz, ahelyett, hogy \u00edrt\u00e1l volna egy adaptert valamilyen k\u00e9sz eszk\u00f6zh\u00f6z? Szerintem a tesztel\u0151 szerkeszt\u0151 finomhangol\u00e1sa gyorsan megoldhat\u00f3. Mi\u00e9rt d\u00f6nt\u00f6tt\u00e9l \u00fagy, hogy ennyi munk\u00e1t elv\u00e9gzel?<\/em><\/p>\n<p><\/p>\n<p>Itt egy \u00e9rdekes r\u00e9szlet \u2013 a l\u00e9nyeg az, hogy \u00e9n technikai igazgat\u00f3 vagyok, nem pedig adatkutat\u00f3. Abban az id\u0151szakban, amikor elkezdt\u00fck bevezetni a Druidet, a tervez\u00e9si \u00fctemtervemen k\u00f6r\u00fclbel\u00fcl 50%-nyi feladat volt \u2013 sz\u00e1moljunk ki ezt, vagy azt, vagy elemezz\u00fck ezt. \u00cdgy v\u00e9g\u00fcl bevezett\u00fck a ClickHouse-t. Gyorsan elkezdtem mindent \u00e9p\u00edteni, sz\u00e1molni, gyorsan lez\u00e1rtam a tervez\u00e9si \u00fctemtervemet. Ekkor \u00e9szrevettem, hogy hi\u00e1nyzik a tud\u00e1som az Adatkutat\u00e1s, adatvizualiz\u00e1ci\u00f3 ter\u00e9n. A Tabix egyfajta h\u00e1zi feladat sz\u00e1momra az adatvizualiz\u00e1ci\u00f3 tanulm\u00e1nyoz\u00e1s\u00e1hoz. N\u00e9ztem, hogyan lehet kieg\u00e9sz\u00edteni a Zeppelint. Van egy enyhe ellenszenv hozz\u00e1j\u00e1rul\u00e1shoz. A Redash-t is megn\u00e9ztem, hogyan lehet kieg\u00e9sz\u00edteni, de nem volt j\u00f3 szerkeszt\u0151. A SuperSet is azon a nyelven k\u00e9sz\u00fclt, ami nem tetszik annyira. Ez\u00e9rt d\u00f6nt\u00f6ttem \u00fagy, hogy saj\u00e1tot k\u00e9sz\u00edtek, \u00e9s ez lett bel\u0151le.<\/p>\n<p><\/p>\n<p><em>Igor, fogadod a Pull Request-eket?<\/em><\/p>\n<p><\/p>\n<p>Igen.<\/p>\n<p><\/p>\n<p><em>Nagyon k\u00f6sz\u00f6n\u00f6m az el\u0151ad\u00e1st! K\u00e9t k\u00e9rd\u00e9sem van. Az els\u0151 \u2013 nem nagyon dics\u00e9ritek a<\/em> Javascript-t. Ny\u00edlt Javascript-t haszn\u00e1lt\u00e1l, vagy valamilyen keretrendszert?*<\/p>\n<p><\/p>\n<p>Jobb a ny\u00edlt Javascript.<\/p>\n<p><\/p>\n<p>Sz\u00f3val, milyen keretrendszert haszn\u00e1lt\u00e1l?<\/p>\n<p><\/p>\n<p>Angular.<\/p>\n<p><\/p>\n<p><em>\u00c9rtem. A m\u00e1sodik k\u00e9rd\u00e9s. Nem fontolgatt\u00e1tok a<\/em> R <em>\u00e9s<\/em> *<strong>Shiny**<\/strong>?*<\/p>\n<p><\/p>\n<p>N\u00e9ztem. J\u00e1tszottam vele. <\/p>\n<p><\/p>\n<p><em>Ezt is egyszer\u0171en lehetett volna egy adaptert \u00edrni.<\/em><\/p>\n<p><\/p>\n<p>Van. Azt hiszem, a k\u00f6z\u00f6ss\u00e9g k\u00e9sz\u00edtette, de, ahogy az el\u0151z\u0151 k\u00e9rd\u00e9sre v\u00e1laszoltam, szerettem volna saj\u00e1t magam kipr\u00f3b\u00e1lni.<\/p>\n<p><\/p>\n<p>*Nem, az adatvizualiz\u00e1ci\u00f3val kapcsolatban, ott van.<\/p>\n<p><\/p>\n<p>Azt mondod, van egy ilyen dolog, \u00e9s az k\u00e9pes grafikonokat gener\u00e1lni. Megnyitottam egy k\u00f6nyvet az adatvizualiz\u00e1ci\u00f3r\u00f3l. \u00c9s gondoltam: \u201ePr\u00f3b\u00e1lom meg ezt az adatot vizualiz\u00e1lni. Magam k\u00e9sz\u00edtem el, hogy fel\u00e9p\u00edtse az adatokat\u201d. \u00cdgy kezdtem jobban meg\u00e9rteni az adatok bemutat\u00e1s\u00e1nak technol\u00f3gi\u00e1j\u00e1t. Ha egy k\u00e9sz komponenst haszn\u00e1ltam volna, szem\u00e9lyesen rosszabbul tanultam volna meg haszn\u00e1lni, azaz az adatvizualiz\u00e1ci\u00f3t. De \u00edgy \u2013 igen, az R tetszett, de m\u00e9g nem olvastam el az \u201eR a kezd\u0151knek\u201d k\u00f6nyvet. <\/p>\n<p><\/p>\n<p><em>K\u00f6sz\u00f6n\u00f6m!<\/em><\/p>\n<p><\/p>\n<p><em>Egyszer\u0171 k\u00e9rd\u00e9s. Vannak lehet\u0151s\u00e9gek gyorsan export\u00e1lni t\u00e1bl\u00e1zatot, grafikont?<\/em><\/p>\n<p><\/p>\n<p>CSV-be, Excel-be export\u00e1lhat\u00f3.<\/p>\n<p><\/p>\n<p><em>Nem az adatokat, hanem egy k\u00e9sz t\u00e1bl\u00e1zatot, k\u00e9sz grafikont? P\u00e9ld\u00e1ul, hogy bemutassam a f\u0151n\u00f6knek.<\/em><\/p>\n<p><\/p>\n<p>Van egy \"Kiexport\u00e1l\u00e1s\" gomb, \u00e9s van egy \"Grafikon kiexport\u00e1l\u00e1sa png, jpg form\u00e1tumban\" gomb.<\/p>\n<p><\/p>\n<p><em>K\u00f6sz\u00f6n\u00f6m!<\/em><\/p>\n<p><\/p>\n<p>P.S. Mini utas\u00edt\u00e1s a tabix telep\u00edt\u00e9s\u00e9hez<\/p>\n<p><\/p>\n<ul>\n<li>Let\u00f6lt\u00e9s <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/smi2\/tabix.ui\/releases\">legutols\u00f3 kiad\u00e1s<\/a><\/noindex><\/li>\n<li>Kicsomagolni, m\u00e1solni a k\u00f6nyvt\u00e1rat <code>build<\/code> az nginx root_path-j\u00e1ba<\/li>\n<li>nginx be\u00e1ll\u00edt\u00e1sa<\/li>\n<\/ul>\n<p>Forr\u00e1s: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/491308\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u043e\u0439 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 2017 \u0433\u043e\u0434\u0430 \u0418\u0433\u043e\u0440\u044c \u0421\u0442\u0440\u044b\u0445\u0430\u0440\u044c \u00abClickHouse \u2013 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0438 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Tabix\u00bb. \u0412\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f ClickHouse \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 Tabix. \u041e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438: \u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 ClickHouse \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e \u0438\u0437 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430, \u0431\u0435\u0437 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u041f\u041e; \u0420\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0441 \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u043a\u043e\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0430; \u0410\u0432\u0442\u043e\u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043a\u043e\u043c\u0430\u043d\u0434; \u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432; \u0426\u0432\u0435\u0442\u043e\u0432\u044b\u0435 \u0441\u0445\u0435\u043c\u044b \u043d\u0430 \u0432\u044b\u0431\u043e\u0440. \u042f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":73359,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-73358","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=\"\u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u043e\u0439 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 2017 \u0433\u043e\u0434\u0430 \u0418\u0433\u043e\u0440\u044c \u0421\u0442\u0440\u044b\u0445\u0430\u0440\u044c \u00abClickHouse \u2013 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0438 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Tabix\u00bb. \u0412\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f ClickHouse \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 Tabix..\" \/>\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\/clickhouse-vizualno-bystryj-i-naglyadnyj-analiz-dannyh-v-tabix-igor-stryhar\" \/>\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\udd47ClickHouse \u2013 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0438 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Tabix. \u0418\u0433\u043e\u0440\u044c \u0421\u0442\u0440\u044b\u0445\u0430\u0440\u044c | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u043e\u0439 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 2017 \u0433\u043e\u0434\u0430 \u0418\u0433\u043e\u0440\u044c \u0421\u0442\u0440\u044b\u0445\u0430\u0440\u044c \u00abClickHouse \u2013 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0438 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Tabix\u00bb. \u0412\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f ClickHouse \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 Tabix..\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/clickhouse-vizualno-bystryj-i-naglyadnyj-analiz-dannyh-v-tabix-igor-stryhar\" \/>\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-03-09T05:42:14+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-09T05:42:14+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\udd47ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s szeml\u00e9letes adatanal\u00edzis a Tabixban. Igor Strikhary | ProHoster","description":"Aj\u00e1nlom, hogy ismerkedjen meg Igor Strikhary 2017-es jelent\u00e9s\u00e9nek \u00e9rtelmez\u00e9s\u00e9vel: \"ClickHouse \u2013 vizu\u00e1lisan gyors \u00e9s szeml\u00e9letes adatanal\u00edzis a Tabixban\". Webes fel\u00fclet a ClickHouse-hoz a Tabix projektben.","canonical_url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/clickhouse-vizualno-bystryj-i-naglyadnyj-analiz-dannyh-v-tabix-igor-stryhar","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\udd47ClickHouse \u2013 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0438 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Tabix. \u0418\u0433\u043e\u0440\u044c \u0421\u0442\u0440\u044b\u0445\u0430\u0440\u044c | ProHoster","og:description":"\u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u0440\u0430\u0441\u0448\u0438\u0444\u0440\u043e\u0432\u043a\u043e\u0439 \u0434\u043e\u043a\u043b\u0430\u0434\u0430 2017 \u0433\u043e\u0434\u0430 \u0418\u0433\u043e\u0440\u044c \u0421\u0442\u0440\u044b\u0445\u0430\u0440\u044c \u00abClickHouse \u2013 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u044b\u0439 \u0438 \u043d\u0430\u0433\u043b\u044f\u0434\u043d\u044b\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 Tabix\u00bb. \u0412\u0435\u0431-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f ClickHouse \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 Tabix..","og:url":"https:\/\/prohoster.info\/hu\/blog\/administrirovanie\/clickhouse-vizualno-bystryj-i-naglyadnyj-analiz-dannyh-v-tabix-igor-stryhar","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-03-09T05:42:14+00:00","article:modified_time":"2020-03-09T05:42:14+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"73358","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 18:34:26","updated":"2022-09-28 10:01:24","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\/73358","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=73358"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/posts\/73358\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media\/73359"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/media?parent=73358"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/categories?post=73358"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hu\/wp-json\/wp\/v2\/tags?post=73358"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}