{"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\/ro\/blog\/administrirovanie\/clickhouse-vizualno-bystryj-i-naglyadnyj-analiz-dannyh-v-tabix-igor-stryhar","title":{"rendered":"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><strong>V\u0103 propun s\u0103 lua\u021bi cuno\u0219tin\u021b\u0103 de transcrierea raportului din 2017 de Igor Str\u00eehar \u201eClickHouse \u2013 analiz\u0103 de date vizual rapid\u0103 \u0219i clar\u0103 \u00een Tabix\u201d.<\/strong><\/p>\n<p><\/p>\n<p>Interfa\u021b\u0103 web pentru ClickHouse \u00een proiectul Tabix.<br \/>\nFunc\u021bionalit\u0103\u021bi principale:<\/p>\n<p><\/p>\n<ul>\n<li>Func\u021bioneaz\u0103 cu ClickHouse direct din browser, f\u0103r\u0103 a necesita instalarea de software suplimentar;<\/li>\n<li>Editor de interog\u0103ri cu eviden\u021bierea sintaxei;<\/li>\n<li>Autocompletare a comenzilor;<\/li>\n<li>Instrumente pentru analiza grafic\u0103 a execu\u021biei interog\u0103rilor;<\/li>\n<li>Scheme de culori la alegere.<br \/>\n<img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" 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=\"Reda\u021bi video\" 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=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/950e3d0a3ff10d267ae48e897f5cbdb6.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Sunt directorul tehnic al \u0421\u041c\u04182. Suntem un agregator de \u0219tiri. P\u0103str\u0103m multe date pe care le primim de la partenerii no\u0219tri \u0219i le \u00eenregistr\u0103m \u00een ClickHouse \u2013 aproximativ 30 000 de interog\u0103ri pe secund\u0103.<\/p>\n<p><\/p>\n<p>Acestea sunt date precum:<\/p>\n<p><\/p>\n<ul>\n<li>Clicuri pe \u0219tiri.<\/li>\n<li>Afi\u0219\u0103ri de \u0219tiri \u00een agregator.<\/li>\n<li>Afi\u0219\u0103ri de bannere \u00een re\u021beaua noastr\u0103.<\/li>\n<li>\u0218i \u00eenregistr\u0103m evenimente din contorul nostru propriu, similar cu Yandex.Metrica. Aceasta este propria noastr\u0103 microanalitic\u0103. <\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/8f5a7af9fef04a51fed29279557c3b64.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Am avut o via\u021b\u0103 foarte tumultoas\u0103 \u00eenainte de ClickHouse. Ne-am str\u0103duit mult \u00eencerc\u00e2nd s\u0103 stoc\u0103m aceste date undeva \u0219i s\u0103 le analiz\u0103m cumva.<\/p>\n<p><\/p>\n<p><strong>Via\u021ba \u00eenainte de ClickHouse \u2013 infiniDB<\/strong><\/p>\n<p><\/p>\n<p>Primul nostru sistem a fost infiniDB. A r\u0103mas cu noi timp de 4 ani. Am lansat-o cu dificultate. <\/p>\n<p><\/p>\n<ul>\n<li>Nu suport\u0103 clusterizare sau sharding. Nimic din aceste lucruri inteligente nu s-a activat din cutie, \u00een mod implicit. <\/li>\n<li>A avut dificult\u0103\u021bi cu \u00eenc\u0103rcarea datelor. Doar un utilitar de linie specific, care putea \u00eenc\u0103rca doar fi\u0219iere CSV \u0219i doar \u00eentr-un mod foarte neclar. <\/li>\n<li>Baza de date este unic\u0103 \u00een fir. Puteai fie s\u0103 scrii, fie s\u0103 cite\u0219ti. Dar permitea procesarea unui volum mare de date. <\/li>\n<li>\u0218i avea un truc interesant. Fiecare noapte serverul trebuia repornit, altfel nu func\u021biona. <\/li>\n<\/ul>\n<p><\/p>\n<p>A func\u021bionat p\u00e2n\u0103 la sf\u00e2r\u0219itul anului 2016, c\u00e2nd ne-am mutat complet pe ClickHouse.<\/p>\n<p><\/p>\n<p><strong>Via\u021ba \u00eenainte de ClickHouse \u2013 Cassandra<\/strong><\/p>\n<p><\/p>\n<p>Din moment ce infiniDB era unic\u0103 \u00een fir, am decis c\u0103 avem nevoie de o baz\u0103 de date multi-fir, \u00een care putem scrie foarte multe fire simultan.<\/p>\n<p><\/p>\n<p>Am \u00eencercat multe lucruri interesante. Apoi am decis s\u0103 \u00eencerc\u0103m Cassandra. Cu Cassandra totul a fost minunat. 10 000 de interog\u0103ri pe secund\u0103 la scriere. 2 000 de interog\u0103ri aproximativ la citire. <\/p>\n<p><\/p>\n<p>Dar a avut \u0219i ea propriile sale particularit\u0103\u021bi. Odat\u0103 la lun\u0103 sau de dou\u0103 ori pe lun\u0103, se \u00eent\u00e2mpla desincronizarea bazei de date. \u0218i trebuia s\u0103 ne trezim \u0219i s\u0103 mergem s\u0103 repar\u0103m Cassandra. Restarta\u021bi serverele pe r\u00e2nd. \u0218i totul devenea lin \u0219i frumos. <\/p>\n<p><\/p>\n<p><strong>Via\u021ba \u00eenainte de ClickHouse \u2013 Druid<\/strong><\/p>\n<p><\/p>\n<p>Apoi am realizat c\u0103 trebuie s\u0103 scriem \u0219i mai multe date. \u00cen 2016, am \u00eenceput s\u0103 ne uit\u0103m la Druid. <\/p>\n<p><\/p>\n<p>Druid este o baz\u0103 de date open-source, scris\u0103 \u00een Java. Foarte specific\u0103. \u0218i se potrivea pentru clickstream, c\u00e2nd trebuia s\u0103 stoc\u0103m un flux de evenimente \u0219i apoi s\u0103 facem agreg\u0103ri sau s\u0103 realiz\u0103m rapoarte analitice.<\/p>\n<p><\/p>\n<p>Druid avea versiunea 0.9.X. <\/p>\n<p><\/p>\n<p>Baza de date se desf\u0103\u0219ura foarte dificil. Aceasta era complexitatea infrastructurii. Pentru a o desf\u0103\u0219ura, era nevoie s\u0103 se instaleze o mul\u021bime de echipamente. \u0218i fiecare echipament era responsabil de un rol distinct. <\/p>\n<p><\/p>\n<p>Pentru a \u00eenc\u0103rca date \u00een ea, trebuia s\u0103 aplic\u0103m oarecare magie. Exist\u0103 un proiect OpenSource \u2013 Tranquility, care ne pierdea datele \u00een flux. Atunci c\u00e2nd \u00eenc\u0103rcam date \u00een el, le pierdeam. <\/p>\n<p><\/p>\n<p>Dar, cumva, am \u00eenceput s\u0103-l implement\u0103m. Noi, ca arici, care ne \u00een\u021bep\u0103m, dar continu\u0103m s\u0103 m\u00e2nc\u0103m cactusul, am \u00eenceput s\u0103-l implement\u0103m. Ne-a trebuit cam o lun\u0103 pentru a preg\u0103ti \u00eentreaga infrastructur\u0103 pentru el. Adic\u0103, s\u0103 comand\u0103m servere, s\u0103 configur\u0103m rolurile, s\u0103 realiz\u0103m o automatizare complet\u0103 a desf\u0103\u0219ur\u0103rii. Adic\u0103, \u00een cazul unei c\u0103deri a clusterului, s\u0103 se desf\u0103\u0219oare automat un al doilea cluster. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/a8193aab09ab9cce3b69e3b84ce470dd.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Dar atunci s-a \u00eent\u00e2mplat o minune. Eram \u00een concediu \u0219i colegii mei \u00eemi trimit un link la <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/yandex\/blog\/303282\/\">habr<\/a><\/noindex>, care vorbe\u0219te despre faptul c\u0103 Yandex a decis s\u0103 deschid\u0103 ClickHouse. Le-am spus s\u0103 \u00eencerc\u0103m.<\/p>\n<p><\/p>\n<p>\u0218i, la doar 2 zile, am desf\u0103\u0219urat un cluster de test ClickHouse. Am \u00eenceput s\u0103 \u00eenc\u0103rc\u0103m date \u00een el. Comparativ cu infiniDB \u2013 este elementar, comparativ cu Druid \u2013 este elementar. Comparativ cu Cassandra este, de asemenea, elementar. Pentru c\u0103 dac\u0103 \u00eencarci date \u00een Cassandra din php, nu este elementar.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/0b4b6ea08f7f7037d0e26dbe3f33fa53.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ce am ob\u021binut? Performan\u021b\u0103 \u00een vitez\u0103. Performan\u021b\u0103 \u00een stocarea datelor. Adic\u0103, se utilizeaz\u0103 mult mai pu\u021bin spa\u021biu pe disc. ClickHouse este rapid, este foarte rapid \u00een compara\u021bie cu alte produse. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/9ff5e2ac127be8813b5d5cec49dab73a.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>La momentul lans\u0103rii, c\u00e2nd Yandex a publicat ClickHouse \u00een OpenSource, exista doar un client pe linia de comand\u0103. Am decis \u00een compania noastr\u0103, \u0421\u041c\u04182, s\u0103 \u00eencerc\u0103m s\u0103 realiz\u0103m un client nativ pentru web, astfel \u00eenc\u00e2t s\u0103 putem deschide pagina din browser, s\u0103 scriem interog\u0103ri \u0219i s\u0103 primim rezultatul, deoarece am \u00eenceput s\u0103 scriem multe interog\u0103ri. S\u0103 scrii \u00een consol\u0103 este greu. \u0218i am realizat prima noastr\u0103 versiune.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/a2569a45f9bf1b91815ca3dfa0eefcf3.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u0218i undeva spre iarna anului trecut, au \u00eenceput s\u0103 apar\u0103 instrumente externe pentru a lucra cu ClickHouse. Acestea sunt instrumente precum:<\/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>. (Acum <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>Voi analiza unele dintre aceste instrumente, adic\u0103 cele cu care am lucrat. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/7b91bc29b1c04020b56c89621287e8c1.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Un instrument bun, dar pentru Druid. C\u00e2nd am implementat Druid, am experimentat cu SuperSet. Mi-a pl\u0103cut. Func\u021bioneaz\u0103 foarte repede pentru Druid. <\/p>\n<p><\/p>\n<p>Nu este potrivit pentru ClickHouse. Adic\u0103, se potrive\u0219te, func\u021bioneaz\u0103, dar este preg\u0103tit s\u0103 trateze doar interog\u0103ri elementare de tipul: SELECT event, GROUP BY event. Nu suport\u0103 sintax\u0103 mai complex\u0103 ClickHouse.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/a708c787120de3db725a9bba4c8bd642.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Urm\u0103torul instrument este Apache Zeppelin. Este o unealt\u0103 bun\u0103 \u0219i interesant\u0103. Func\u021bioneaz\u0103. Suport\u0103 noti\u021be, tablouri de bord, suport\u0103 variabile. \u0218tiu c\u0103 cineva din comunitatea ClickHouse \u00eel folose\u0219te. <\/p>\n<p><\/p>\n<p>Dar nu suport\u0103 sintaxa ClickHouse, adic\u0103 va trebui s\u0103 scrie\u021bi interog\u0103rile fie \u00een consol\u0103, fie \u00een alt\u0103 parte. Apoi s\u0103 verifica\u021bi dac\u0103 totul func\u021bioneaz\u0103. Este pur \u0219i simplu incomod. Dar suportul pentru tablouri de bord este bun. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/0c2afefc1504d14dd50f88459a652a1c.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Urm\u0103torul instrument este Redash.IO. Redash este g\u0103zduit pe internet. Adic\u0103, spre deosebire de instrumentele anterioare, nu trebuie instalat. Este un tablou de bord cu posibilitatea de a consolida date din diferite surse de date. Adic\u0103, pute\u021bi extrage din ClickHouse, din MySQL, din PostgreSQL \u0219i din alte baze de date. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/dc639fe6e9716c835d1fe0fdfaa300b8.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Aproape acum o lun\u0103 (\u00een martie 2017), a ap\u0103rut suport \u00een Grafana. C\u00e2nd construi\u021bi rapoarte \u00een Grafana, de exemplu, pentru starea hardware-ului dumneavoastr\u0103 sau pentru anumite metrici, acum pute\u021bi construi acela\u0219i grafic sau un panou din datele din ClickHouse direct. Este foarte convenabil \u0219i folosim asta la noi. Permite identificarea anomaliilor. Adic\u0103, dac\u0103 se \u00eent\u00e2mpl\u0103 ceva \u0219i un hardware pice sau se suprasolicit\u0103, se poate verifica cauza, dac\u0103 aceste date au ajuns \u00een ClickHouse. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/0dd54a7633d25d0c924c2e6825028eb3.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Mi-a fost foarte incomod s\u0103 scriu \u00een aceste instrumente sau \u00een consol\u0103. A\u0219a c\u0103 am decis s\u0103 \u00eembun\u0103t\u0103\u021besc prima noastr\u0103 interfa\u021b\u0103. \u0218i am luat ideea de la EventSQL, SeperSet, Zeppelin.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/3252a09e0942428143336639aa399f4d.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ce mi-a\u0219 fi dorit? Mi-a\u0219 fi dorit s\u0103 ob\u021bin grafice, un editor \u00eembun\u0103t\u0103\u021bit, s\u0103 implementez suport pentru dic\u021bionare de sugestii. Deoarece ClickHouse are o func\u021bie excelent\u0103 \u2013 dic\u021bionarele. Dar este greu de lucrat cu dic\u021bionarele, deoarece trebuie s\u0103 memorezi formatul valorilor stocate, adic\u0103 este un num\u0103r sau un \u0219ir etc. \u0218i deoarece folosim adesea dic\u021bionarele \u00een diversele lor varia\u021bii, a fost destul de greu s\u0103 scriem interog\u0103ri.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/90a529b4fb5d03a6d61c89e00287b21d.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Au trecut 3 luni de la lansarea primei noastre versiuni. Am f\u0103cut aproximativ 330 de commit-uri \u00een ramura \u00eenchis\u0103 \u0219i a ie\u0219it Tabix.<\/p>\n<p><\/p>\n<p>Spre deosebire de versiunea anterioar\u0103, care se numea ClickHouse-Frontend, am decis s\u0103 \u00eei schimb numele \u00eentr-unul simplu. A\u0219a a ap\u0103rut Tabix.<\/p>\n<p><\/p>\n<p>Ce este nou?<\/p>\n<p><\/p>\n<p>Deseneaz\u0103 grafice. Suport\u0103 sintaxa SQL a ClickHouse. Ofer\u0103 sugestii pentru func\u021bii \u0219i multe altele interesante.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/cd2bbb0c2c3e0fa2d2622bbd2aecdbc7.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>A\u0219a arat\u0103 schema general\u0103 a Tabix. \u00cen st\u00e2nga este prezentat copacul. \u00cen centru \u2013 editorul de interogare. Iar \u00een partea de jos \u2013 rezultatul acestei interog\u0103ri.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/becf5df173220480e077ae8d8e0ebf3e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Urm\u0103toarea va fi o demonstra\u021bie a modului \u00een care func\u021bioneaz\u0103 editorul de interogare. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/d5ca1028922a12d5e6f133704d4c91a2.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Aici autocompletarea s-a activat automat pentru tabel \u0219i ofer\u0103, prin urmare, sugestii \u0219i pentru c\u00e2mpuri. \u0218i sugestii pentru func\u021bii. Dac\u0103 ap\u0103sa\u021bi ctrl + enter, interogarea va fi executat\u0103 sau va e\u0219ua cu o eroare. Cea mai simpl\u0103 interogare este trimis\u0103 \u00een Tabix \u0219i se ob\u021bine rezultatul, adic\u0103 se poate lucra rapid cu ClickHouse.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/74623f9f5030eb08523dc7269517a5d5.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Dic\u021bionarele, a\u0219a cum am spus, sunt foarte interesante \u0219i cu care lucr\u0103m foarte mult. Ele ne-au permis s\u0103 realiz\u0103m multe lucruri. De exemplu, \u00een dic\u021bionare stoc\u0103m toate ora\u0219ele. Stoc\u0103m identificatorul ora\u0219ului \u0219i numele ora\u0219ului, latitudinea \u0219i longitudinea acestuia. Iar \u00een baz\u0103 stoc\u0103m doar identificatorul ora\u0219ului. Astfel, comprim\u0103m datele \u00eentr-o mare m\u0103sur\u0103.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/fa698b916b01a58f182003e6a15dfea0.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Aceasta, aparent o chestiune simpl\u0103, dar \u00een ClickHouse ajut\u0103 foarte mult. Deoarece ClickHouse suport\u0103 doar join-uri imbricate, interogarea cre\u0219te \u00een ad\u00e2ncime \u0219i l\u0103\u021bime considerabil. C\u00e2nd o parantez\u0103 se deschide \u0219i urmeaz\u0103 o expresie lung\u0103, o chestiune relativ simpl\u0103, cum ar fi minimizarea interog\u0103rii, ajut\u0103 la lucrul mai u\u0219or cu interogarea \u00een sine. Pentru c\u0103 atunci c\u00e2nd interogarea are 200-300 de linii \u0219i este foarte lat\u0103, minimizarea interog\u0103rii devine esen\u021bial\u0103 pentru a g\u0103si un loc sau a-l localiza cumva.<\/p>\n<p><\/p>\n<p>Arbore de obiecte, interog\u0103ri multiple \u0219i tab-uri (Video 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=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/d43efecc6b0b395cdc17a3dd9db53400.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Urm\u0103toarele vor fi despre arbore, tab-uri. \u00cen st\u00e2nga \u2013 este arborele, sus pute\u021bi crea mai multe tab-uri. Tab-urile sunt ca un spa\u021biu de lucru. Pute\u021bi crea mai multe tab-uri \u0219i s\u0103 le numi\u021bi cum dori\u021bi. Este ca un mini-sistem pentru generarea rapoartelor.<\/p>\n<p><\/p>\n<p>Tab-urile se salveaz\u0103 automat. Dac\u0103 re\u00eenc\u0103rca\u021bi browserul sau \u00eenchide\u021bi sau deschide\u021bi Tabix, toate acestea se vor salva.<\/p>\n<p><\/p>\n<p>Taste rapide \u2013 convenabil (Video 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>Exist\u0103 taste rapide \u0219i sunt destul de multe. Am extras c\u00e2teva dintre ele aici ca exemplu. Acestea sunt pentru schimbarea tab-ului, executarea unei interog\u0103ri sau executarea mai multor interog\u0103ri. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/27f3e6d0dbb4d1038bb551808b13d2ac.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Voi ar\u0103ta cum s\u0103 lucr\u0103m cu rezultatul. Trimitem o solicitare. Aici desenez sin, cos \u0219i tg. Putem ilumina rezultatul, adic\u0103 putem crea o hart\u0103 tipic\u0103 pentru coloan\u0103. Putem eviden\u021bia valorile pozitive sau negative. Sau putem colora un anumit element din tabel. Este convenabil atunci c\u00e2nd tabelul este imens \u0219i trebuie s\u0103 c\u0103ut\u0103m vizual o anomalie. C\u00e2nd c\u0103utam anomalii, eviden\u021biam c\u00e2teva r\u00e2nduri sau elemente cu verde sau ro\u0219u.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/af0c21073a1edd81e4d688f119ef7568.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Exist\u0103 multe lucruri interesante acolo. De exemplu, cum s\u0103 copiezi \u00een Redmine Markdown. Dac\u0103 trebuie s\u0103 copiezi undeva rezultatul, este foarte convenabil. Po\u021bi s\u0103 selectezi o zon\u0103, s\u0103 spui \u201eCopiaz\u0103 \u00een Redmine\u201d \u0219i va copia \u00een Redmine Markdown sau va crea o solicitare Where.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/43034a47b5ca31ee08e7721cc5f5159c.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Urm\u0103toarea este optimizarea solicit\u0103rilor. Odat\u0103 am uitat s\u0103 specific c\u00e2mpul \u201edate\u201d. \u0218i solicitarea mea \u00een ClickHouse a fost procesat\u0103 nu foarte, foarte repede, dar repede, adic\u0103 \u00een mai pu\u021bin de o secund\u0103. C\u00e2nd am v\u0103zut c\u00e2te r\u00e2nduri proceseaz\u0103, mi-a fost fric\u0103. Noi nu scriem at\u00e2t de multe r\u00e2nduri \u00een aceast\u0103 tabel\u0103 \u00eentr-o zi. Am \u00eenceput s\u0103 analizez solicitarea \u0219i am v\u0103zut c\u0103 am omis data \u00eentr-un loc. Asta \u00eenseamn\u0103 c\u0103 am uitat s\u0103 specific c\u0103 am nevoie de date nu din \u00eentreaga tabel\u0103, ci pe o anumit\u0103 perioad\u0103.<\/p>\n<p><\/p>\n<p>\u00cen Tabix exist\u0103 un tab \u201eStats\u201d, \u00een care este stocat\u0103 \u00eentreaga istorie a solicit\u0103rilor trimise, adic\u0103 acolo po\u021bi vedea c\u00e2te r\u00e2nduri au fost citite de aceast\u0103 solicitare \u0219i c\u00e2t timp a durat. Acest lucru permite optimizarea. <\/p>\n<p><\/p>\n<p>Po\u021bi construi un tabel sumar pe baza rezultatului unei solicit\u0103ri. Ai trimis o solicitare \u00een ClickHouse, ai ob\u021binut anumite date. Iar aceste date pot fi manipulate cu mouse-ul \u0219i po\u021bi construi un tabel sumar.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/0365df303eb55336eeb8a037cb118113.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Urm\u0103torul lucru interesant este construirea graficelor. Presupunem c\u0103 avem o astfel de solicitare: pentru sin, cos de la 0 la 299. \u0218i pentru a-l desena trebuie s\u0103 selectezi tab-ul \u201eDraw\u201d \u0219i vei ob\u021bine graficul cu sinul \u0219i cosinul t\u0103u. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/bdf00b9d6bffb907e88d2fdb7bfb16dc.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Po\u021bi s\u0103 le \u00eempar\u021bi pe diferite axe, adic\u0103 po\u021bi desena simultan dou\u0103 grafice unul l\u00e2ng\u0103 altul. Scrii o comand\u0103 \u0219i a doua comand\u0103. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/efe77846e3f5f30a5d73e75be53d608a.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Po\u021bi desena histograme.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/e531aac548eca2eb9e30dac21f8876b8.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Po\u021bi \u00eemp\u0103r\u021bi asta \u00eentr-o matrice de grafice.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/3404f87cee0e376df8ca62f03fc0fc7e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Po\u021bi construi o hart\u0103 de c\u0103ldur\u0103. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/e15fe90c49bb850c821dab7492856b0b.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Po\u021bi construi un calendar de c\u0103ldur\u0103. Apropo, este o unealt\u0103 foarte convenabil\u0103 atunci c\u00e2nd trebuie s\u0103 analizezi anomaliile pe parcursul anului, adic\u0103 s\u0103 g\u0103se\u0219ti fie v\u00e2rfuri, fie sc\u0103deri. Aceast\u0103 vizualizare a datelor m-a ajutat \u00een acest sens. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/08945df379d33aa73518ef10d02fe561.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Urm\u0103torul este Treemap.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/a7331b33b77e98ce85aff0316e3dcc76.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/5794844e8c1db71f1507cbdae67fedf6.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Sankeys \u2013 un grafic interesant. Este fie Streamgraphs, fie River. Dar eu \u00eel numesc River. De asemenea, permite c\u0103utarea unor anomalii. Este foarte convenabil. \u00cel recomand pentru c\u0103utare.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/483f363d93ba80dc9ac165ae083db585.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Urm\u0103torul lucru interesant este redarea unei h\u0103r\u021bi dinamice. Dac\u0103 \u00een baza dvs. de date ave\u021bi stocate latitudine, longitudine \u0219i, s\u0103 zicem, destina\u021bia, dac\u0103 ave\u021bi, de exemplu, transporturi auto sau avioane care zboar\u0103, atunci pute\u021bi reda traseele destina\u021biilor. Pute\u021bi de asemenea s\u0103 seta\u021bi viteza, dimensiunea acestor obiecte \u00een care acestea ajung.<\/p>\n<p><\/p>\n<p>Dar problema cu aceast\u0103 hart\u0103 este c\u0103 ea deseneaz\u0103 doar harta lumii, f\u0103r\u0103 detalii.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/13f302e67e7f84dc85728204153d6377.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ulterior, am ad\u0103ugat Google Map. Dac\u0103 stoca\u021bi latitudine \u0219i longitudine, pute\u021bi reda rezultatul pe Google Map, dar f\u0103r\u0103 suport pentru micile avioane.<\/p>\n<p><\/p>\n<p>Am discutat func\u021biile principale pentru lucrul cu rezultatul, cu solicitarea \u00een Tabix. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/849baa55e6865ab451b82f23fe6e5110.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Urm\u0103torul \u2013 este analiza serverului dvs. ClickHouse. Exist\u0103 un tab separat \"Metrici\", unde pute\u021bi vedea dimensiunea datelor stocate pentru fiecare coloan\u0103. \u00cen screenshot este ar\u0103tat c\u0103 acest c\u00e2mp \"referrer\" ocup\u0103 cam 730 Gb. Dac\u0103 renun\u021b\u0103m la acest c\u00e2mp, vom economisi trei sharde de 700 GB, adic\u0103 aproximativ 2 TB, de care nu avem nevoie. <\/p>\n<p><\/p>\n<p>De asemenea, avem c\u00e2mpul \"request_id\", pe care \u00eel stoc\u0103m sub form\u0103 de \u0219ir. Dar dac\u0103 \u00eencepe\u021bi s\u0103-l stoca\u021bi sub form\u0103 numeric\u0103, atunci acest c\u00e2mp se va comprima enorm. <\/p>\n<p><\/p>\n<p>De asemenea, aici este ar\u0103tat\u0103 configura\u021bia serverului \u0219i lista nodurilor din clusterul dvs. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/fa2a35c1af59b3f56059fcfb26571c6e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Urm\u0103torul tab \u2013 este metricile. Acestea sunt preluate \u00een timp real din ClickHouse \u0219i permit doar analiza st\u0103rii serverului \u0219i \u00een\u021belegerea a ceea ce se \u00eent\u00e2mpl\u0103. Nu este un \u00eenlocuitor pentru o Grafana complet\u0103. Acest lucru este necesar pentru a efectua rapid o analiz\u0103. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/7de741718ef19b81bd0f7f33dbed019e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Urm\u0103torul tab \u2013 sunt procesele. Acestea pot ajuta la \u00een\u021belegerea a ceea ce se \u00eent\u00e2mpl\u0103 pe server. \u00centr-un anumit moment, am avut o solicitare care consuma 200 GB la citire de fiecare dat\u0103. Am observat acest lucru datorit\u0103 acestei interfe\u021be. L-am prins \u0219i l-am ajustat. \u0218i a rezultat \u00een aproximativ 30 GB, adic\u0103 performan\u021ba s-a \u00eembun\u0103t\u0103\u021bit de mai multe ori.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analiz\u0103 de date rapid\u0103 \u0219i vizual\u0103 \u00een Tabix. Igor Str\u00eeh\u0103re\u021b\" src=\"\/wp-content\/uploads\/2020\/03\/084b6131b189364f9e093792125649df.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Mul\u021bumesc! \u0218i este \u00een OpenSource<\/p>\n<p><\/p>\n<p>Am terminat. \u0218i, de fapt, este \u00een OpenSource, este gratuit \u0219i nici m\u0103car nu trebuie s\u0103 desc\u0103rca\u021bi. Deschide\u021bi \u00een browser \u0219i va func\u021biona totul. <\/p>\n<p><\/p>\n<p>\u00centreb\u0103ri<\/p>\n<p><\/p>\n<p><em>Igor, ce urmeaz\u0103? \u00cen ce direc\u021bie vei dezvolta acest instrument?<\/em><\/p>\n<p><\/p>\n<p>Apoi va ap\u0103rea un tablou de bord, adic\u0103, posibil, va ap\u0103rea un tablou de bord. Integrarea cu alte baze de date. Am f\u0103cut asta, dar \u00eenc\u0103 nu am publicat-o \u00een OpenSource. Este MySQL \u0219i, posibil, PostgreSQL. Adic\u0103, va fi posibil s\u0103 trimitem interog\u0103ri din Tabix nu doar c\u0103tre ClickHouse, ci \u0219i c\u0103tre alte instrumente.<\/p>\n<p><\/p>\n<p><em>Este evident c\u0103 a fost realizat\u0103 o munc\u0103 uria\u0219\u0103. A ie\u0219it o idee suficient de bine conturat\u0103. \u00cen browser a fost realizat, se pare, pentru a exclude solu\u021biile improvizate pe diferite osii \u0219i a aduna rapid toate acestea. Am auzit c\u0103 lucra\u021bi la asta, a\u0219a c\u0103 este mai simplu s\u0103 face\u021bi totul \u00een browser \u0219i va func\u021biona peste tot. Nu sunt \u00eentreb\u0103ri despre asta. \u00centrebarea este: c\u00e2t de mult s-a realizat acolo? C\u00e2\u021bi oameni au lucrat la asta? \u0218i c\u00e2t timp a durat totul? Deoarece instrumentele personalizate de obicei nu au un astfel de func\u021bionalitate extins\u0103.<\/em> <em>php<\/em> <em>Din var\u0103 p\u00e2n\u0103 toamn\u0103 a lucrat o persoan\u0103 din echipa noastr\u0103. Aceasta a fost prima versiune. Apoi am f\u0103cut 330 de commituri eu singur. Ceea ce vede\u021bi, eu \u0219i colegul meu am realizat \u00een comun. \u00cen 3 luni, de la prima versiune p\u00e2n\u0103 la ultima, eu am realizat majoritatea. Dar nu cunosc prea bine JavaScript. Acesta a fost singurul \u0219i, sper, ultimul meu proiect pe JavaScript la care am lucrat. Mi-a fost \u00eencredin\u021bat, m-am uitat \u0219i am zis \u2013 oh, groaz\u0103. Dar mi-a pl\u0103cut foarte mult s\u0103 finalizez produsul \u0219i iat\u0103 ce a ie\u0219it.<\/em><\/p>\n<p><\/p>\n<p>V\u0103 mul\u021bumesc foarte mult pentru prezentare! Este un instrument excelent. A\u021bi comparat?<\/p>\n<p><\/p>\n<p><em>Mul\u021bumesc. De aceea l-am numit Tabix, pentru c\u0103 primele litere coincid.<\/em> <em>Tableau<\/em> <em>Pentru c\u0103 concura\u021bi?<\/em><\/p>\n<p><\/p>\n<p>Vor fi multe investi\u021bii, vom concura. <\/p>\n<p><\/p>\n<p><em>Cum le propune\u021bi intern analistilor c\u0103 acest instrument va \u00eenlocui complet *Tableau*?<\/em><\/p>\n<p><\/p>\n<p>Func\u021bioneaz\u0103 nativ cu ClickHouse. Am \u00eencercat Tableau, dar acolo nu po\u021bi scrie suport pentru dic\u021bionare \u0219i alte lucruri de genul acesta. <\/p>\n<p><\/p>\n<p><em>\u0218tiu cum lucreaz\u0103 oamenii cu Tabix. Ei scriu interog\u0103ri, le export\u0103 \u00een CSV \u0219i le \u00eencarc\u0103 \u00een BI.<\/em> \u0218i acolo deja fac ceva. Dar mi-e greu s\u0103-mi imaginez cum o fac, pentru c\u0103 este un instrument grafic. Poate exporta 5.000 de r\u00e2nduri, maxim 6.000 de r\u00e2nduri, dar nu mai mult, altfel browserul nu va rezista.<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>Adic\u0103, exist\u0103 ni\u0219te limit\u0103ri serioase de volum de date, nu? <strong>Da. Nu mi-a\u0219 imagina c\u0103 ve\u021bi dori s\u0103 expedia\u021bi 10.000 de r\u00e2nduri pe ecranul browserului. De ce?<\/strong> Se presupune c\u0103 acesta este un interfa\u021b\u0103 pentru o vizualizare rapid\u0103 a datelor? S\u0103 le r\u0103sfoie\u0219ti pu\u021bin, s\u0103 le rote\u0219ti? <\/p>\n<p><\/p>\n<p><em>Este de \u00een\u021beles c\u0103 acesta este un interfa\u021b\u0103 pentru o vizualizare rapid\u0103 a datelor? S\u0103 le r\u0103sfoie\u0219ti pu\u021bin, s\u0103 le rote\u0219ti?<\/em><\/p>\n<p><\/p>\n<p>Se presupune c\u0103 acesta este un interfa\u021b\u0103 pentru o vizualizare rapid\u0103 a datelor? S\u0103 le r\u0103sfoie\u0219ti pu\u021bin, s\u0103 le rote\u0219ti? <\/p>\n<p><\/p>\n<p><em>Se presupune c\u0103 acesta este un interfa\u021b\u0103 pentru o vizualizare rapid\u0103 a datelor? S\u0103 le r\u0103sfoie\u0219ti pu\u021bin, s\u0103 le rote\u0219ti?<\/em><\/p>\n<p><\/p>\n<p>Da, este u\u0219or s\u0103 vezi cum func\u021bioneaz\u0103 \u0219i pur \u0219i simplu s\u0103 construie\u0219ti un grafic de sintez\u0103. Apoi, s\u0103-l trimitem undeva. Avem un sistem propriu de raportare, de unde iau aceast\u0103 interogare. O desenez \u00een Tabix \u0219i o trimit \u00een raportarea noastr\u0103. <\/p>\n<p><\/p>\n<p><em>\u0218i \u00eenc\u0103 o \u00eentrebare. Analiz\u0103 cohort\u0103?<\/em><\/p>\n<p><\/p>\n<p>Dac\u0103 vor fi sugestii, le vom ad\u0103uga. <\/p>\n<p><\/p>\n<p><em>C\u00e2nd am \u00eenceput s\u0103 folosim<\/em> <em>ClickHouse, c\u00e2t timp a durat implementarea<\/em> <em>ClickHouse<\/em> <em>\u0219i atingerea st\u0103rii de<\/em> <em>production?<\/em><\/p>\n<p><\/p>\n<p>A\u0219a cum am spus, am implementat un cluster de testare \u00eentr-un timp foarte scurt. L-am desf\u0103\u0219urat \u00een dou\u0103 zile. \u00cenc\u0103 c\u00e2teva s\u0103pt\u0103m\u00e2ni l-am testat. \u0218i am ajuns la production dup\u0103 aproximativ 3 luni. Dar aveam propriul nostru ETL, adic\u0103 un instrument pentru \u00eenregistrarea datelor. Acesta scria \u00een tot ce era posibil. Poate scrie \u00een MongoDB, Cassandra, MySQL. A fost u\u0219or s\u0103-l \u00eenv\u0103\u021b\u0103m s\u0103 scrie \u00een ClickHouse. Aveam o infrastructur\u0103 gata pentru implementare rapid\u0103. Dup\u0103 aproximativ 3 luni, am \u00eenceput s\u0103 elimin\u0103m primul component. \u00cen termen de 6 luni, am renun\u021bat complet la tot ce era altceva. Ne-a r\u0103mas doar ClickHouse.<\/p>\n<p><\/p>\n<p><em>Igor, \u00ee\u021bi mul\u021bumesc mult pentru prezentare. Mi-a pl\u0103cut foarte mult func\u021bionalitatea de construire a c\u0103ilor pe h\u0103r\u021bi. Este prev\u0103zut\u0103 integrarea cu Yandex.Maps \u0219i \u00een special cu h\u0103r\u021bile personalizate Yandex?<\/em><\/p>\n<p><\/p>\n<p>Am \u00eencercat s\u0103 m\u0103 integrez \u00een loc de Google Maps, dar nu am g\u0103sit tema \u00eentunecat\u0103 pe Yandex.Maps. Am uitat s\u0103 men\u021bionez un aspect. M\u0103 voi \u00eentoarce pentru a completa. <\/p>\n<p><\/p>\n<p>Slide-ul \u2013 Google Maps. Acolo exist\u0103 comanda \u00abDRAW_GMAPS\u00bb, care deseneaz\u0103 harta. Exist\u0103 comanda \u00abDRAW_YMAPS\u00bb, adic\u0103 poate desena harta Yandex. De fapt, sub aceast\u0103 comand\u0103 se afl\u0103 Javascript, adic\u0103 datele pe care le ob\u021bine\u021bi din ClickHouse pot fi transmise \u00een Javascript pe care \u00eel scrie\u021bi aici. \u0218i la ie\u0219ire ave\u021bi o zon\u0103 \u00een care trebuie s\u0103 fie desenat\u0103. Pute\u021bi desena orice grafic, adic\u0103 orice grafic, hart\u0103, pute\u021bi desena componenta proprie. \u00cenainte aveam o alt\u0103 bibliotec\u0103 pentru desenarea graficelor.<\/p>\n<p><\/p>\n<p><em>Adic\u0103, exist\u0103 un instrument pentru personalizarea func\u021bionalit\u0103\u021bii de afi\u0219are?<\/em><\/p>\n<p><\/p>\n<p>Orice. Pute\u021bi lua \u0219i s\u0103 repainta\u021bi aceste puncte, f\u0103c\u00e2ndu-le nu ro\u0219ii, ci albastre, verzi.<\/p>\n<p><\/p>\n<p><em>Mul\u021bumesc pentru prezentare! A\u021bi avut un slide \u00een care au fost prezentate instrumente alternative pentru interog\u0103ri<\/em> <em>ClickHouse<\/em> <em>pentru construirea de dashboard-uri, rapoarte analitice. Am \u00een\u021beles c\u0103 \u00een momentul \u00een care a\u021bi \u00eenceput s\u0103 lucra\u021bi cu<\/em> <em>ClickHouse, pentru aceste instrumente nu au fost scrise adaptoare. \u0218i m-ar interesa de ce ai decis s\u0103 creezi propriul instrument, \u00een loc s\u0103 scrii un adaptor pentru un instrument existent? Cred c\u0103 ajustarea editorului de teste este rapid\u0103. De ce ai decis s\u0103 faci at\u00e2t de mult\u0103 munc\u0103?<\/em><\/p>\n<p><\/p>\n<p>Aici este un aspect interesant \u2013 este vorba despre faptul c\u0103 eu sunt director tehnic, nu data scientist. P\u00e2n\u0103 \u00een momentul \u00een care am \u00eenceput s\u0103 implement\u0103m Druid, aveam \u00een roadmap cam 50% din sarcini \u2013 s\u0103 calcul\u0103m asta sau s\u0103 analiz\u0103m asta. \u0218i s-a \u00eent\u00e2mplat c\u0103 am implementat ClickHouse. \u0218i am \u00eenceput s\u0103 construiesc rapid, s\u0103 calculez, \u0219i am \u00eencheiat rapid roadmap-ul meu. La acel moment m-am dat seama c\u0103 \u00eemi lipsesc cuno\u0219tin\u021be \u00een Data Science, \u00een vizualizarea datelor. Tabix este un fel de tem\u0103 de acas\u0103 pentru \u00eenv\u0103\u021barea vizualiz\u0103rii datelor. M-am uitat cum s\u0103 completez Zeppelin. Am o mic\u0103 aversiune fa\u021b\u0103 de programarea lui. Am analizat Redash pentru completare, dar \u00eemi lipsea un editor decent. \u0218i SuperSet este scris \u00een acel limbaj pe care nu-l iubesc prea mult. De aceea, am decis s\u0103 creez ceva de la zero \u0219i iat\u0103 ce a ie\u0219it.<\/p>\n<p><\/p>\n<p><em>Igor, accep\u021bi pull request-uri?<\/em><\/p>\n<p><\/p>\n<p>Da.<\/p>\n<p><\/p>\n<p><em>Mul\u021bumesc mult pentru prezentare! \u0218i dou\u0103 \u00eentreb\u0103ri. Prima \u2013 nu vorbe\u0219ti foarte pozitiv despre<\/em> Javascript. Ai scris \u00een Javascript pur sau totu\u0219i este vorba despre un framework?*<\/p>\n<p><\/p>\n<p>Mai bine \u00een Javascript pur.<\/p>\n<p><\/p>\n<p>Deci, ce framework?<\/p>\n<p><\/p>\n<p>Angular.<\/p>\n<p><\/p>\n<p><em>\u00cen\u021beleg. \u0218i a doua \u00eentrebare. Ai luat \u00een considerare<\/em> R <em>\u0219i<\/em> *<strong>Shiny**<\/strong>?*<\/p>\n<p><\/p>\n<p>L-am luat \u00een considerare. M-am jucat cu el. <\/p>\n<p><\/p>\n<p><em>Putea fi de asemenea pur \u0219i simplu scris un adaptor.<\/em><\/p>\n<p><\/p>\n<p>Exist\u0103 unul. Se pare c\u0103 comunitatea l-a f\u0103cut, dar a\u0219a cum am r\u0103spuns la \u00eentrebarea anterioar\u0103, am dorit s\u0103 experimentez eu singur.<\/p>\n<p><\/p>\n<p>*Nu, \u00een ceea ce prive\u0219te vizualizarea, exist\u0103.<\/p>\n<p><\/p>\n<p>Spui c\u0103 exist\u0103 un astfel de instrument \u0219i te va ajuta s\u0103 desenezi un grafic. Am deschis o carte despre vizualizarea datelor. \u0218i m-am g\u00e2ndit: \u201eHai s\u0103 \u00eencerc s\u0103 vizualizez aceste date. Voi scrie eu, astfel \u00eenc\u00e2t s\u0103 le configureze\u201d. \u0218i am \u00eenceput s\u0103 \u00een\u021beleg mai bine tehnologia de livrare a datelor. Dac\u0103 a\u0219 fi folosit un component existent, personal a\u0219 fi \u00eenv\u0103\u021bat mai r\u0103u s\u0103-l folosesc, adic\u0103 s\u0103 \u00eenv\u0103\u021b vizualizarea. Dar a\u0219a \u2013 da, mi-a pl\u0103cut R, dar \u00eenc\u0103 nu am citit cartea \u201eR pentru \u00eencep\u0103tori\u201d. <\/p>\n<p><\/p>\n<p><em>Mul\u021bumesc!<\/em><\/p>\n<p><\/p>\n<p><em>O \u00eentrebare simpl\u0103. Exist\u0103 vreo posibilitate de a exporta rapid un tabel, un grafic?<\/em><\/p>\n<p><\/p>\n<p>Se poate exporta \u00een CSV, \u00een Excel.<\/p>\n<p><\/p>\n<p><em>Nu datele, ci un tabel gata, un grafic gata? De exemplu, pentru a ar\u0103ta \u0219efilor.<\/em><\/p>\n<p><\/p>\n<p>Exist\u0103 un buton \u201eDesc\u0103rca\u021bi\u201d \u0219i exist\u0103 un buton \u201eDesc\u0103rca\u021bi graficul \u00een png, jpg\u201d.<\/p>\n<p><\/p>\n<p><em>Mul\u021bumesc!<\/em><\/p>\n<p><\/p>\n<p>P.S. Mini-instruc\u021biuni pentru instalarea tabix<\/p>\n<p><\/p>\n<ul>\n<li>Desc\u0103rca\u021bi <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/smi2\/tabix.ui\/releases\">ultima versiune<\/a><\/noindex><\/li>\n<li>Dezarhiva\u021bi, copia\u021bi directorul <code>build<\/code> \u00een root_path nginx<\/li>\n<li>Configura\u021bi nginx<\/li>\n<\/ul>\n<p>Sursa: <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.2.1 - 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\/ro\/blog\/administrirovanie\/clickhouse-vizualno-bystryj-i-naglyadnyj-analiz-dannyh-v-tabix-igor-stryhar\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\/ro\/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 analiz\u0103 vizual\u0103 rapid\u0103 \u0219i intuitiv\u0103 a datelor \u00een Tabix. Igor Strykhar | ProHoster","description":"V\u0103 propun s\u0103 consulta\u021bi desf\u0103\u0219urarea raportului din 2017 al lui Igor Strykhar \u201eClickHouse \u2013 analiz\u0103 vizual\u0103 rapid\u0103 \u0219i intuitiv\u0103 a datelor \u00een Tabix\u201d. Interfa\u021ba web pentru ClickHouse \u00een proiectul Tabix..","canonical_url":"https:\/\/prohoster.info\/ro\/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":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/73358","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=73358"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/73358\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/73359"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=73358"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=73358"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=73358"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}