{"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\/it\/blog\/administrirovanie\/clickhouse-vizualno-bystryj-i-naglyadnyj-analiz-dannyh-v-tabix-igor-stryhar","title":{"rendered":"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><strong>Ti invitiamo a scoprire la trascrizione della relazione del 2017 di Igor Strykhar \"ClickHouse \u2013 analisi dei dati visivamente rapida e chiara in Tabix\".<\/strong><\/p>\n<p><\/p>\n<p>Interfaccia web per ClickHouse nel progetto Tabix.<br \/>\nFunzionalit\u00e0 principali:<\/p>\n<p><\/p>\n<ul>\n<li>Funziona con ClickHouse direttamente dal browser, senza bisogno di installare software aggiuntivo;<\/li>\n<li>Editor di query con evidenziazione della sintassi;<\/li>\n<li>Completamento automatico dei comandi;<\/li>\n<li>Strumenti di analisi grafica per l'esecuzione delle query;<\/li>\n<li>Schemi di colori a scelta.<br \/>\n<img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" 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=\"Riproduci 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 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/950e3d0a3ff10d267ae48e897f5cbdb6.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Sono il direttore tecnico di \u0421\u041c\u04182. Siamo un aggregatore di scambio di notizie. Conserviamo molti dati che otteniamo dai nostri partner e li registriamo in ClickHouse \u2013 circa 30.000 richieste al secondo.<\/p>\n<p><\/p>\n<p>Questi dati includono:<\/p>\n<p><\/p>\n<ul>\n<li>Clic sui notiziari.<\/li>\n<li>Visualizzazioni di notizie nell'aggregatore.<\/li>\n<li>Visualizzazioni di banner nella nostra rete.<\/li>\n<li>E registriamo eventi dal nostro contatore interno, simile a Yandex.Metrics. Questa \u00e8 la nostra microanalitica. <\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/8f5a7af9fef04a51fed29279557c3b64.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Abbiamo avuto una vita molto turbolenta prima di ClickHouse. Abbiamo sofferto molto nel cercare di immagazzinare questi dati in qualche modo e analizzarli.<\/p>\n<p><\/p>\n<p><strong>La vita prima di ClickHouse \u2014 infiniDB.<\/strong><\/p>\n<p><\/p>\n<p>La prima cosa che abbiamo avuto \u00e8 stata infiniDB. \u00c8 durata 4 anni. L'abbiamo avviata con difficolt\u00e0. <\/p>\n<p><\/p>\n<ul>\n<li>Non supporta la clusterizzazione o lo sharding. Non ci sono funzionalit\u00e0 avanzate di questo tipo disponibili di default. <\/li>\n<li>Ha difficolt\u00e0 nel caricamento dei dati. Solo un'utilit\u00e0 da console specifica, che poteva caricare file CSV e solo in modo piuttosto confuso. <\/li>\n<li>Il database \u00e8 monothread. Si poteva solo scrivere o leggere. Ma consentiva di gestire grandi volumi di dati. <\/li>\n<li>Inoltre, aveva una soluzione piuttosto interessante. Era necessario riavviare il server ogni notte, altrimenti smetteva di funzionare. <\/li>\n<\/ul>\n<p><\/p>\n<p>\u00c8 stata operativa fino alla fine del 2016, quando siamo passati completamente a ClickHouse.<\/p>\n<p><\/p>\n<p><strong>La vita prima di ClickHouse \u2014 Cassandra<\/strong><\/p>\n<p><\/p>\n<p>Poich\u00e9 infiniDB era monothread, abbiamo deciso che avevamo bisogno di un database multi-thread, in cui potessimo scrivere molti flussi simultaneamente.<\/p>\n<p><\/p>\n<p>Abbiamo provato molte cose interessanti. Poi abbiamo deciso di provare Cassandra. Con Cassandra abbiamo avuto risultati eccezionali: 10.000 richieste al secondo in scrittura. Circa 2.000 richieste in lettura. <\/p>\n<p><\/p>\n<p>Ma anche essa presentava le proprie peculiarit\u00e0. Una volta al mese o due volte al mese, si verificava una dissincronizzazione del database. Era necessario svegliarsi e correre a riparare Cassandra. Riavviavamo i server uno alla volta. Tutto tornava a essere fluido e armonioso. <\/p>\n<p><\/p>\n<p><strong>La vita prima di ClickHouse \u2013 Druid<\/strong><\/p>\n<p><\/p>\n<p>Poi abbiamo capito che dovevamo scrivere ancora pi\u00f9 dati. Nel 2016 abbiamo iniziato a considerare Druid. <\/p>\n<p><\/p>\n<p>Druid \u00e8 un database open source, scritto in Java. Molto specifico. Si adattava al clickstream, quando dovevamo memorizzare un flusso di eventi e poi fare aggregazioni o report analitici su di essi.<\/p>\n<p><\/p>\n<p>Druid aveva la versione 0.9.X. <\/p>\n<p><\/p>\n<p>Il database stesso \u00e8 complesso da implementare. Questa \u00e8 la difficolt\u00e0 dell'infrastruttura. Per implementarlo era necessario installare una grande quantit\u00e0 di hardware. Ogni hardware aveva un proprio ruolo specifico. <\/p>\n<p><\/p>\n<p>Per caricare i dati, era necessario adottare alcune pratiche complesse. C'\u00e8 un progetto Open Source \u2013 Tranquility, che perdeva i dati nel flusso. Quando cercavamo di caricare dati, lui li perdeva. <\/p>\n<p><\/p>\n<p>Ma in qualche modo abbiamo iniziato a implementarlo. Siamo come i ricci che si pungevano, ma continuavano a mangiare il cactus, e abbiamo iniziato a implementarlo. Ci \u00e8 voluto circa un mese per preparare tutta l'infrastruttura necessaria. Cio\u00e8, ordinare i server, configurare i ruoli, automatizzare completamente il deployment. In caso di guasto del cluster, dovremmo essere in grado di far partire automaticamente un secondo cluster. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/a8193aab09ab9cce3b69e3b84ce470dd.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ma qui \u00e8 accaduto un miracolo. Ero in vacanza e i miei colleghi mi hanno inviato un link a <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/yandex\/blog\/303282\/\">habr<\/a><\/noindex>, dove si dice che Yandex ha deciso di aprire ClickHouse. Ho detto, proviamo.<\/p>\n<p><\/p>\n<p>E letteralmente in 2 giorni abbiamo messo in piedi un cluster di test per ClickHouse. Abbiamo iniziato a caricarci i dati. Rispetto a infiniDB, \u00e8 semplicissimo; rispetto a Druid, \u00e8 semplicissimo. Anche rispetto a Cassandra, \u00e8 molto pi\u00f9 semplice. Perch\u00e9 se si caricano dati in Cassandra da PHP, non \u00e8 affatto semplice.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/0b4b6ea08f7f7037d0e26dbe3f33fa53.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Cosa abbiamo ottenuto? Prestazioni nella velocit\u00e0. Prestazioni nell'archiviazione dei dati. Cio\u00e8, viene utilizzato molto meno spazio su disco. ClickHouse \u00e8 veloce, \u00e8 molto pi\u00f9 veloce rispetto ad altri prodotti. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/9ff5e2ac127be8813b5d5cec49dab73a.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Al momento del lancio, quando Yandex ha pubblicato ClickHouse come OpenSource, c'era solo un client da console. Noi, nella nostra azienda \u0421\u041c\u04182, abbiamo deciso di provare a realizzare un client nativo per web, in modo da poter aprire una pagina dal browser, scrivere una query e ottenere il risultato, perch\u00e9 abbiamo iniziato a scrivere molte query. Scrivere in console \u00e8 difficoltoso. E abbiamo sviluppato la nostra prima versione.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/a2569a45f9bf1b91815ca3dfa0eefcf3.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>E verso l'inverno dello scorso anno hanno iniziato a comparire strumenti di terze parti per lavorare con ClickHouse. Questi includono strumenti come:<\/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>. (Ora <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>Esaminer\u00f2 alcuni di questi strumenti, ovvero quelli con cui ho lavorato. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/7b91bc29b1c04020b56c89621287e8c1.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00c8 uno strumento valido, ma per Druid. Quando abbiamo implementato Druid, ho esplorato SuperSet. Mi \u00e8 piaciuto. Funziona molto bene per Druid. <\/p>\n<p><\/p>\n<p>Per ClickHouse non \u00e8 adatto. Cio\u00e8, funziona, si avvia, ma \u00e8 in grado di elaborare solo query elementari come: SELECT event, GROUP BY event. Non supporta la sintassi pi\u00f9 complessa di ClickHouse.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/a708c787120de3db725a9bba4c8bd642.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Il prossimo strumento \u00e8 Apache Zeppelin. \u00c8 una cosa buona e interessante. Funziona. Supporta i notebook, i dashboard e le variabili. So che qualcuno della comunit\u00e0 ClickHouse lo utilizza. <\/p>\n<p><\/p>\n<p>Ma non c'\u00e8 supporto per la sintassi di ClickHouse, quindi dovrete scrivere le query o nella console o altrove. Successivamente, dovrete verificare che tutto funzioni. \u00c8 semplicemente scomodo. Tuttavia, il supporto per il dashboard \u00e8 buono. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/0c2afefc1504d14dd50f88459a652a1c.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Il prossimo strumento \u00e8 Redash.IO. Redash \u00e8 ospitato online. Quindi, a differenza degli strumenti precedenti, non \u00e8 necessario installarlo. \u00c8 un sistema di dashboarding con la possibilit\u00e0 di consolidare dati da diverse fonti. Potete esportare da ClickHouse, MySQL, PostgreSQL e altri database. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/dc639fe6e9716c835d1fe0fdfaa300b8.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Letteralmente un mese fa (a marzo 2017) \u00e8 arrivato il supporto in Grafana. Quando costruite report in Grafana, ad esempio sullo stato dell'hardware o alcune metriche, ora potete costruire lo stesso grafico o un pannello con i dati da ClickHouse direttamente. \u00c8 molto comodo e noi lo stiamo utilizzando. Questo permette di identificare anomalie. Se succede qualcosa e un pezzo di hardware si guasta o si stressa, \u00e8 possibile vedere la causa, se questi dati sono stati registrati in ClickHouse. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/0dd54a7633d25d0c924c2e6825028eb3.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Mi \u00e8 stato molto scomodo lavorare con questi strumenti o nella console. Cos\u00ec ho deciso di migliorare la nostra prima interfaccia. Ho preso spunto dall'idea di EventSQL, SeperSet, Zeppelin.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/3252a09e0942428143336639aa399f4d.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Cosa volevi? Volevo ottenere grafici, un editor migliorato e implementare il supporto per i dizionari di suggerimenti. Perch\u00e9 ClickHouse ha una caratteristica eccellente: i dizionari. Ma lavorare con i dizionari \u00e8 complicato, perch\u00e9 bisogna ricordare il formato dei valori memorizzati, cio\u00e8 se si tratta di un numero o di una stringa, ecc. Dato che utilizziamo spesso i dizionari nelle loro diverse varianti, era piuttosto difficile scrivere le query.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/90a529b4fb5d03a6d61c89e00287b21d.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Sono trascorsi 3 mesi dal rilascio della nostra prima versione. Ho creato circa 330 commit nel ramo chiuso, e cos\u00ec \u00e8 nato Tabix.<\/p>\n<p><\/p>\n<p>A differenza della versione precedente, che si chiamava ClickHouse-Frontend, ho deciso di rinominarlo con un nome semplice. E cos\u00ec \u00e8 nato Tabix.<\/p>\n<p><\/p>\n<p>Cosa \u00e8 stato aggiunto?<\/p>\n<p><\/p>\n<p>Disegna grafici. Supporta la sintassi SQL di ClickHouse. Suggerisce funzioni e sa fare molte cose interessanti.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/cd2bbb0c2c3e0fa2d2622bbd2aecdbc7.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ecco come appare lo schema generale di Tabix. A sinistra \u00e8 presentato l'albero. Al centro c'\u00e8 l'editor della query. E in basso c'\u00e8 il risultato di questa query.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/becf5df173220480e077ae8d8e0ebf3e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ora mostrer\u00f2 come funziona l'editor della query. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/d5ca1028922a12d5e6f133704d4c91a2.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Qui si attiva automaticamente il completamento automatico nella tabella, suggerendo corrispondentemente i campi. E ci sono suggerimenti per le funzioni. Se premi ctrl e invio, la richiesta verr\u00e0 eseguita o restituir\u00e0 un errore. La richiesta pi\u00f9 semplice viene inviata a Tabix e riceviamo il risultato, quindi \u00e8 possibile lavorare rapidamente con ClickHouse.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/74623f9f5030eb08523dc7269517a5d5.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>I dizionari, come ho gi\u00e0 detto, sono una cosa molto interessante con cui lavoriamo molto. Hanno permesso di realizzare molte cose. Ad esempio, nei dizionari conserviamo tutte le citt\u00e0. Conserviamo l'identificatore della citt\u00e0 e il nome della citt\u00e0, la sua latitudine e longitudine. E nel database conserviamo solo l'identificatore della citt\u00e0. Pertanto, comprimiamo i dati in modo molto efficace.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/fa698b916b01a58f182003e6a15dfea0.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Sembra una cosa semplice, ma in ClickHouse gioca un ruolo molto interessante. Poich\u00e9 ClickHouse supporta solo join annidati, la query si espande notevolmente sia in verticale che in orizzontale. Quando si apre una parentesi e segue un'espressione lunga, una funzione apparentemente semplice come il ritiro della query rende pi\u00f9 facile lavorare con essa. Perch\u00e9 quando la query ha 200-300 righe e si espande tanto, il ritiro aiuta davvero a trovare un punto specifico o a localizzarla.<\/p>\n<p><\/p>\n<p>Albero degli oggetti, query multiple e schede (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 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/d43efecc6b0b395cdc17a3dd9db53400.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Poi mostrer\u00f2 l'albero e le schede. A sinistra c'\u00e8 l'albero, in alto puoi creare pi\u00f9 schede. Le schede funzionano come uno spazio di lavoro. Puoi creare diverse schede e nominare ognuna a modo tuo. \u00c8 come un mini sistema per la costruzione di report.<\/p>\n<p><\/p>\n<p>Le schede vengono salvate automaticamente. Se ricarichi il browser, lo chiudi, o apri Tabix, tutto sar\u00e0 salvato.<\/p>\n<p><\/p>\n<p>Hotkey \u2013 comodo (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>Ci sono hotkey e ce ne sono abbastanza. Alcuni di essi sono stati evidenziati qui come esempio. Si tratta di switch di scheda, eseguire una query o eseguire pi\u00f9 query. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/27f3e6d0dbb4d1038bb551808b13d2ac.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Mostrer\u00f2 come lavorare con il risultato. Inviamo la richiesta. Qui disegno sin, cos e tg. \u00c8 possibile evidenziare il risultato, ad esempio disegnare una mappa tipica sulla colonna. Si possono evidenziare i valori positivi o negativi. Oppure semplicemente colorare un particolare elemento della tabella. Questo \u00e8 utile quando la tabella \u00e8 enorme e bisogna trovare a occhio un'anomalia. Quando cercavo anomalie, evidenziavo alcune righe o elementi di verde o rosso.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/af0c21073a1edd81e4d688f119ef7568.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ci sono molte cose interessanti. Ad esempio, come copiare in Redmine Markdown. Se \u00e8 necessario copiare il risultato da qualche parte, \u00e8 molto comodo. Basta selezionare un'area, dire \u00abCopia in Redmine\u00bb e copier\u00e0 in Redmine Markdown o creer\u00e0 una richiesta Where.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/43034a47b5ca31ee08e7721cc5f5159c.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Il prossimo passo \u00e8 l'ottimizzazione delle query. Una volta ho dimenticato di specificare il campo 'date'. Cos\u00ec la mia query in ClickHouse \u00e8 stata elaborata non molto velocemente, ma abbastanza veloce, cio\u00e8 in meno di un secondo. Quando ho visto quante righe stava elaborando, mi sono spaventato. In un giorno non scriviamo tante righe in questa tabella. Ho iniziato ad analizzare la query e ho notato che avevo saltato una data in un punto. Cio\u00e8, ho dimenticato di specificare che avevo bisogno dei dati non dall'intera tabella, ma per un periodo specifico.<\/p>\n<p><\/p>\n<p>In Tabix c'\u00e8 una scheda 'Stats', dove \u00e8 memorizzata tutta la storia delle query inviate, cio\u00e8 puoi vedere quante righe sono state lette da quella query e quanto tempo ha impiegato per essere eseguita. Questo permette di ottimizzare. <\/p>\n<p><\/p>\n<p>Sui risultati di una query puoi costruire una tabella pivot. Hai inviato una query in ClickHouse, hai ottenuto dei dati. E poi puoi manipolare questi dati con il mouse e costruire una tabella pivot.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/0365df303eb55336eeb8a037cb118113.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Un'altra cosa interessante \u00e8 la creazione di grafici. Supponiamo di avere una query del genere: su sin, cos da 0 a 299. E per disegnarlo devi selezionare la scheda 'Draw' e otterrai un grafico con i tuoi sin e cos. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/bdf00b9d6bffb907e88d2fdb7bfb16dc.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Puoi suddividerlo in diverse aree, ad esempio, puoi disegnare due grafici affiancati. Scrivi un comando e un altro comando. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/efe77846e3f5f30a5d73e75be53d608a.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00c8 possibile disegnare istogrammi.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/e531aac548eca2eb9e30dac21f8876b8.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Puoi suddividerlo in una matrice di grafici.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/3404f87cee0e376df8ca62f03fc0fc7e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Puoi costruire una mappa di calore. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/e15fe90c49bb850c821dab7492856b0b.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Puoi costruire un calendario termico. Tra l'altro, \u00e8 molto utile quando devi analizzare le anomalie nel corso dell'anno, ovvero trovare picchi o cali. Questa visualizzazione dei dati mi \u00e8 stata utile. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/08945df379d33aa73518ef10d02fe561.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Il successivo \u00e8 il Treemap.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" 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 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/5794844e8c1db71f1507cbdae67fedf6.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>I Sankey sono un grafico interessante. \u00c8 o Streamgraphs o River. Ma io lo chiamo River. Permette anche di cercare anomalie. \u00c8 molto comodo. Raccomando di usarlo per le ricerche.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/483f363d93ba80dc9ac165ae083db585.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Una prossima cosa interessante \u00e8 la visualizzazione di una mappa dinamica. Se nel tuo database sono memorizzati latitudine, longitudine e, ad esempio, la destinazione, se hai, per esempio, trasporti su strada o voli, puoi tracciarne i percorsi. Puoi anche impostare la velocit\u00e0, la dimensione di questi oggetti in cui atterrano.<\/p>\n<p><\/p>\n<p>Ma il problema con questa mappa \u00e8 che disegna solo la mappa del mondo, senza dettagli.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/13f302e67e7f84dc85728204153d6377.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>In seguito, ho aggiunto Google map. Se memorizzi latitudine e longitudine, puoi visualizzare il risultato su Google map, ma senza supporto per gli aerei.<\/p>\n<p><\/p>\n<p>Abbiamo discusso le funzioni principali per lavorare con il risultato e la query in Tabix. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/849baa55e6865ab451b82f23fe6e5110.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Il prossimo \u00e8 l'analisi del tuo server ClickHouse. C'\u00e8 una scheda separata \"Metriche\", dove puoi vedere la dimensione dei dati memorizzati per ogni colonna. Nello screenshot, puoi vedere che questo campo \"referrer\" occupa circa 730 Gb. Se rinunciamo a questo campo, risparmieremo tre shard da 700 GB, cio\u00e8 circa 2 TB che non ci servono. <\/p>\n<p><\/p>\n<p>Abbiamo anche il campo \"request_id\", che memorizziamo come stringa. Ma se iniziamo a memorizzarlo in formato numerico, questo campo sar\u00e0 notevolmente compresso. <\/p>\n<p><\/p>\n<p>Qui \u00e8 mostrata anche la configurazione del server e l'elenco delle nodi del tuo cluster. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/fa2a35c1af59b3f56059fcfb26571c6e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>La scheda successiva \u00e8 dedicata alle metriche. Vengono prelevate in tempo reale da ClickHouse e consentono di analizzare rapidamente lo stato del server e capire cosa sta succedendo. Non \u00e8 un sostituto completo di Grafana. Serve per un'analisi veloce. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/7de741718ef19b81bd0f7f33dbed019e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>La scheda successiva riguarda i processi. Da essa si pu\u00f2 comprendere cosa stia accadendo sul server. Comprendere cosa stia succedendo. Ho avuto una query che consuma 200 GB ogni volta in lettura. L'ho notato grazie a questa interfaccia. L'ho intercettata e corretta. E ora consuma circa 30 GB, quindi le prestazioni sono migliorate notevolmente.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dei dati visiva e rapida in Tabix. Igor Strykhar\" src=\"\/wp-content\/uploads\/2020\/03\/084b6131b189364f9e093792125649df.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Grazie! Ed \u00e8 in OpenSource<\/p>\n<p><\/p>\n<p>Ho finito. E, tra l'altro, \u00e8 in OpenSource, \u00e8 gratuito e non \u00e8 nemmeno necessario scaricarlo. Apritelo nel browser e funzioner\u00e0 tutto. <\/p>\n<p><\/p>\n<p>Domande<\/p>\n<p><\/p>\n<p><em>Igor, quali sono i prossimi passi? Come intendi sviluppare questo strumento?<\/em><\/p>\n<p><\/p>\n<p>Successivamente, potrebbe arrivare un dashboard. Sto considerando l'integrazione con altri database. L'ho fatto, ma non l'ho ancora pubblicato in OpenSource. Si tratta di MySQL e, forse, PostgreSQL. Sar\u00e0 quindi possibile inviare query da Tabix non solo a ClickHouse, ma anche ad altri strumenti.<\/p>\n<p><\/p>\n<p><em>\u00c8 evidente che \u00e8 stato fatto un enorme lavoro. \u00c8 emersa un'idea piuttosto completa. \u00c8 stato progettato nel browser, probabilmente per escludere soluzioni improvvisate su vari assi e mettere tutto insieme rapidamente. Ho sentito dire che voi<\/em> <em>php<\/em> <em>Lavorate, quindi \u00e8 pi\u00f9 semplice buttarlo nel browser e funzioner\u00e0 ovunque. Su questo non ci sono dubbi. La domanda \u00e8: quante persone hanno lavorato su questo? E quanto tempo \u00e8 stato necessario? Perch\u00e9 gli strumenti personalizzati di solito non hanno una funzionalit\u00e0 cos\u00ec ampia.<\/em><\/p>\n<p><\/p>\n<p>Da estate ad autunno ha lavorato una sola persona del nostro team. Questa era la prima versione. Poi ho fatto 330 commit da solo. Quello che vedete, l'abbiamo fatto a met\u00e0 con un collega. In 3 mesi dalla prima versione alla finale, ho fatto gran parte del lavoro da solo. Ma sono molto scarso in Javascript. Questo \u00e8 stato il mio unico e, spero, ultimo progetto in Javascript su cui ho lavorato. Me ne sono occupato, ho guardato - oh, orrore. Ma avevo davvero voglia di completare il prodotto e questo \u00e8 ci\u00f2 che \u00e8 venuto fuori.<\/p>\n<p><\/p>\n<p><em>Grazie mille per la presentazione! \u00c8 uno strumento eccellente. S<\/em> <em>Tableau<\/em> <em>avete confrontato?<\/em><\/p>\n<p><\/p>\n<p>Grazie. Ecco perch\u00e9 si chiama Tabix, perch\u00e9 le prime lettere coincidono. <\/p>\n<p><\/p>\n<p><em>Perch\u00e9 competete?<\/em><\/p>\n<p><\/p>\n<p>Ci saranno molti investimenti, concorreremo. <\/p>\n<p><\/p>\n<p><em>Come suggerirete di venderlo agli analisti interni, dato che questo strumento sostituir\u00e0 completamente<\/em> *Tableau*<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>Funziona nativamente con ClickHouse. Ho provato Tableau, ma l\u00ec non \u00e8 possibile scrivere supporto per i dizionari e simili. <strong>So come lavorano le persone con Tabix. Scrivono una query, esportano in CSV e caricano in BI.<\/strong> E gi\u00e0 l\u00ec fanno qualcosa. Ma faccio fatica a immaginare come facciano perch\u00e9 \u00e8 uno strumento grafico. Pu\u00f2 esportare 5.000 righe, al massimo 6.000 righe, ma non di pi\u00f9, altrimenti il browser non regge. <\/p>\n<p><\/p>\n<p><em>Cio\u00e8, ci sono alcune serie limitazioni sul volume di dati, vero?<\/em><\/p>\n<p><\/p>\n<p>S\u00ec. Non riesco a immaginare che vogliate esportare 10.000 righe sullo schermo del browser. Perch\u00e9? <\/p>\n<p><\/p>\n<p><em>Si presuppone che sia un'interfaccia per una rapida visualizzazione dei dati? Per girare un po', ruotare?<\/em><\/p>\n<p><\/p>\n<p>S\u00ec, guardare rapidamente come funziona e semplicemente costruire un grafico riassuntivo. E poi consegnarlo da qualche parte. Noi abbiamo il nostro sistema di reportistica, da cui prendo semplicemente questa query. Disegno in Tabix e invio al nostro reporting. <\/p>\n<p><\/p>\n<p><em>E un'altra domanda. Analisi cohort?<\/em><\/p>\n<p><\/p>\n<p>Se ci sono richieste, aggiungeremo. <\/p>\n<p><\/p>\n<p><em>Quando abbiamo appena iniziato a usare<\/em> <em>ClickHouse, quanto tempo ci \u00e8 voluto per l'implementazione<\/em> <em>ClickHouse<\/em> <em>e per portarlo a<\/em> <em>stato di produzione?<\/em><\/p>\n<p><\/p>\n<p>Come ho detto, abbiamo implementato un cluster di test in tempi molto ristretti. In due giorni lo abbiamo messo in funzione. E l'abbiamo testato per un paio di settimane. Siamo arrivati in produzione dopo circa tre mesi. Ma avevamo il nostro ETL, cio\u00e8 uno strumento per la registrazione dei dati. E questo scriveva ovunque fosse possibile. Sa scrivere in MongoDB, Cassandra, MySQL. Insegnargli a scrivere in ClickHouse \u00e8 stato semplice. Avevamo un'infrastruttura pronta per un'implementazione rapida. Dopo circa tre mesi abbiamo iniziato a lanciare il primo componente. Dopo sei mesi ci siamo completamente liberati di tutto il resto. Ci \u00e8 rimasto solo ClickHouse.<\/p>\n<p><\/p>\n<p><em>Igor, grazie mille per la presentazione. Mi \u00e8 piaciuta molto la funzionalit\u00e0 di tracciamento dei percorsi sulle mappe. \u00c8 prevista l'integrazione con Yandex.Maps e, in particolare, con le mappe personalizzate di Yandex?<\/em><\/p>\n<p><\/p>\n<p>Ho provato a integrarmi al posto di Google Maps, ma non ho trovato la modalit\u00e0 scura su Yandex.Maps. Non ho raccontato un pezzo. Torno indietro per aggiungere. <\/p>\n<p><\/p>\n<p>Slide \u2013 Google map. There's a command \"DRAW_GMAPS\" that draws the map. There\u2019s also a command \"DRAW_YMAPS,\" which can render Yandex.Map. Essentially, this command contains Javascript, allowing you to transfer data from ClickHouse into Javascript, which you will write here. What you get is an area where it should be rendered. You can plot any graph, such as any chart, a map, or even your own custom component. Previously, I used a different library for rendering charts.<\/p>\n<p><\/p>\n<p><em>So, there\u2019s a tool for customizing the display functionality?<\/em><\/p>\n<p><\/p>\n<p>Any. You can take and repaint these points, turning them from red to blue or green.<\/p>\n<p><\/p>\n<p><em>Thank you for the presentation! You had a slide that presented alternative tools for querying<\/em> <em>ClickHouse<\/em> <em>for building dashboards and analytical reports. As I understand it, at the time you started working with<\/em> <em>ClickHouse, non sono stati scritti adattatori per questi strumenti. E mi chiedo perch\u00e9 abbiate deciso di creare il vostro strumento invece di scrivere un adattatore per uno strumento esistente? Penso che regolare un editor di test sia rapido. Perch\u00e9 avete deciso di fare cos\u00ec tanto lavoro?<\/em><\/p>\n<p><\/p>\n<p>C'\u00e8 un aspetto interessante: io sono il direttore tecnico, non un data scientist. Al momento in cui abbiamo iniziato a implementare Druid, avevo nel roadmap circa il 50% delle attivit\u00e0 \u2013 per esempio, contiamo questo o analizziamo quest'altro. Cos\u00ec abbiamo implementato ClickHouse. Ho iniziato a costruire tutto rapidamente, a contare, e ho chiuso rapidamente il mio roadmap. A quel punto ho realizzato che mi mancavano conoscenze in Data Science e visualizzazione dei dati. Tabix \u00e8 una sorta di compito a casa per studiare la visualizzazione dei dati. Ho guardato come integrare Zeppelin. Non amo molto la sua programmazione. Ho considerato Redash, ma mi mancava un editor adeguato. E SuperSet \u00e8 scritto in un linguaggio che non mi piace molto. Cos\u00ec ho deciso di costruire qualcosa di mio e questo \u00e8 il risultato.<\/p>\n<p><\/p>\n<p><em>Igor, accetti il Pull request?<\/em><\/p>\n<p><\/p>\n<p>S\u00ec.<\/p>\n<p><\/p>\n<p><em>Grazie mille per la presentazione! E due domande. La prima: non parli molto positivamente di<\/em> Javascript. Hai scritto in puro Javascript o hai usato un framework?<\/p>\n<p><\/p>\n<p>Meglio in puro Javascript.<\/p>\n<p><\/p>\n<p>Quale framework?<\/p>\n<p><\/p>\n<p>Angular.<\/p>\n<p><\/p>\n<p><em>Capisco. E la seconda domanda. Hai mai considerato<\/em> R <em>e<\/em> *<strong>Shiny?<\/strong>?*<\/p>\n<p><\/p>\n<p>L'ho considerato. Ci ho giocato. <\/p>\n<p><\/p>\n<p><em>Si poteva anche semplicemente scrivere un adattatore.<\/em><\/p>\n<p><\/p>\n<p>Esiste. Sembra che la comunit\u00e0 l'abbia fatto, ma, come ho risposto alla domanda precedente, volevo provarlo io stesso.<\/p>\n<p><\/p>\n<p>*No, riguardo alla visualizzazione, c'\u00e8.<\/p>\n<p><\/p>\n<p>Dici che esiste una cosa del genere e ti disegna un grafico. Ho aperto un libro sulla visualizzazione dei dati. E ho pensato: 'Provare a visualizzare questi dati. Lo scriver\u00f2 io affinch\u00e9 possa elaborare i dati'. E ho cominciato a comprendere meglio la tecnologia della presentazione dei dati. Se avessi preso un componente gi\u00e0 pronto, personalmente avrei imparato peggio a usarlo, cio\u00e8 proprio la visualizzazione. Ma cos\u00ec \u2013 s\u00ec, mi \u00e8 piaciuto R, ma non ho ancora letto il libro 'R per negati'. <\/p>\n<p><\/p>\n<p><em>Grazie!<\/em><\/p>\n<p><\/p>\n<p><em>Domanda semplice. Ci sono modi per esportare rapidamente una tabella o un grafico?<\/em><\/p>\n<p><\/p>\n<p>Puoi esportare in CSV, in Excel.<\/p>\n<p><\/p>\n<p><em>Non dati, ma un tavolo pronto, un grafico pronto? Ad esempio, per mostrarlo alla direzione.<\/em><\/p>\n<p><\/p>\n<p>C'\u00e8 un pulsante \"Esporta\" e c'\u00e8 un pulsante \"Esporta grafico in png, in jpg\".<\/p>\n<p><\/p>\n<p><em>Grazie!<\/em><\/p>\n<p><\/p>\n<p>P.S. Mini-guida per l'installazione di tabix<\/p>\n<p><\/p>\n<ul>\n<li>Scarica <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/smi2\/tabix.ui\/releases\">ultima release<\/a><\/noindex><\/li>\n<li>Decomprimere, copiare la directory <code>build<\/code> nel percorso root di nginx<\/li>\n<li>Configurare nginx<\/li>\n<\/ul>\n<p>Fonte: <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 4.9.10 - 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. \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\" \/>\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\/it\/blog\/administrirovanie\/clickhouse-vizualno-bystryj-i-naglyadnyj-analiz-dannyh-v-tabix-igor-stryhar\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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. \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\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/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 analisi dei dati visivamente veloce e chiara in Tabix. Igor Strykhar | ProHoster","description":"Ti propongo di prendere visione della relazione del 2017 di Igor Strykhar \"ClickHouse \u2013 analisi dei dati visivamente veloce e chiara in Tabix\". Interfaccia web per ClickHouse nel progetto Tabix. Funzionalit\u00e0 principali: Funziona con ClickHouse direttamente dal browser, senza necessit\u00e0 di installare software aggiuntivo; Editor di query con evidenziazione della sintassi; Completamento automatico dei comandi; Strumenti di analisi grafica per l'esecuzione delle query; Schemi di colori a scelta. Io","canonical_url":"https:\/\/prohoster.info\/it\/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":"it_IT","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. \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","og:url":"https:\/\/prohoster.info\/it\/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"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/73358","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=73358"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/73358\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/73359"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=73358"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=73358"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=73358"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}