{"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 dati visivamente rapida e chiara in Tabix. Igor Strychar","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><strong>Propongo di prendere visione della trascrizione della relazione del 2017 di Igor Strikhar \u00abClickHouse \u2013 analisi dei dati veloce e chiara in Tabix\u00bb.<\/strong><\/p>\n<p><\/p>\n<p>Interfaccia web per ClickHouse nel progetto Tabix.<br \/>\nCaratteristiche principali:<\/p>\n<p><\/p>\n<ul>\n<li>Funziona con ClickHouse direttamente dal browser, senza necessit\u00e0 di installare software aggiuntivo;<\/li>\n<li>Editor di query con evidenziazione della sintassi;<\/li>\n<li>Autocompletamento dei comandi;<\/li>\n<li>Strumenti di analisi grafica delle query;<\/li>\n<li>Schemi di colori a scelta.<br \/>\n<img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/9d95cf5ceb5acc3a1301943165ca9225.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<\/ul>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\n<center><div class=\"youtube-placeholder\" data-id=\"w1-XsL3nbRg\" onclick=\"loadVideo(this)\">\r\n        <img decoding=\"async\" src=\"https:\/\/img.youtube.com\/vi\/w1-XsL3nbRg\/hqdefault.jpg\" alt=\"Guarda il 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 dati visivamente rapida e chiara in Tabix. Igor Strychar\" 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 notizie. Conserviamo molti dati che riceviamo dai nostri partner e li registriamo in ClickHouse \u2013 circa 30.000 query al secondo.<\/p>\n<p><\/p>\n<p>Si tratta di dati come:<\/p>\n<p><\/p>\n<ul>\n<li>Click sulle notizie.<\/li>\n<li>Visualizzazioni delle notizie nell'aggregatore.<\/li>\n<li>Visualizzazioni dei banner nella nostra rete.<\/li>\n<li>E registriamo eventi dal nostro contatore, simile a Yandex.Metrica. Questa \u00e8 la nostra microanalisi. <\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" 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 frenetica prima di ClickHouse. Abbiamo sofferto molto cercando di immagazzinare questi dati da qualche parte e di 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 avevamo era infiniDB. \u00c8 durata 4 anni. Abbiamo faticato molto per farla partire. <\/p>\n<p><\/p>\n<ul>\n<li>Non supporta la clusterizzazione o lo sharding. Nessuna di queste funzionalit\u00e0 avanzate era disponibile di default. <\/li>\n<li>Presentava difficolt\u00e0 nel caricamento dei dati. Solo un'utilit\u00e0 da console specifica, che poteva solo caricare file CSV in modo molto confuso. <\/li>\n<li>Il database \u00e8 monothread. Si poteva scrivere o leggere. Ma permetteva di elaborare grandi quantit\u00e0 di dati. <\/li>\n<li>E c'era anche un'interessante soluzione temporanea. Ogni notte dovevamo riavviare il server, altrimenti non funzionava. <\/li>\n<\/ul>\n<p><\/p>\n<p>\u00c8 rimasta in funzione 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 potevamo scrivere molti flussi contemporaneamente.<\/p>\n<p><\/p>\n<p>Abbiamo provato molte cose interessanti. Poi abbiamo deciso di provare Cassandra. Con Cassandra tutto andava molto bene. 10.000 query al secondo in scrittura. 2.000 query circa in lettura. <\/p>\n<p><\/p>\n<p>Ma anche con essa c'erano delle peculiarit\u00e0. Una volta al mese o ogni due mesi si verificava una desincronizzazione del database. E dovevamo svegliarci e correre a riparare Cassandra. Riavviavamo i server uno dopo l'altro. E tutto tornava fluido e bello. <\/p>\n<p><\/p>\n<p><strong>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 guardare 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 eseguire aggregazioni o fare 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 era molto difficile da implementare. Questa \u00e8 la complessit\u00e0 dell'infrastruttura. Per implementarlo occorreva mettere molta, molta attrezzatura. E ogni pezzo di attrezzatura aveva il suo ruolo specifico. <\/p>\n<p><\/p>\n<p>Per caricare i dati in esso, dovevamo applicare una sorta di magia. C'era un progetto OpenSource \u2013 Tranquility, che ci faceva perdere dati nel flusso. Quando caricavamo dati in esso, li perdeva. <\/p>\n<p><\/p>\n<p>Ma in qualche modo abbiamo iniziato a implementarlo. Noi, come ricci che si pungevano ma continuavano a mangiare il cactus, abbiamo iniziato a implementarlo. Ci \u00e8 servito circa un mese per preparare tutta l'infrastruttura per lui. Ovvero, ordinare i server, configurare i ruoli, effettuare una completa automazione dell'implementazione. Cio\u00e8, in caso di caduta del cluster, doveva automaticamente avviarsi un secondo cluster. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/a8193aab09ab9cce3b69e3b84ce470dd.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ma qui \u00e8 successo un miracolo. Ero in vacanza e i miei colleghi mi hanno inviato un link su <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 implementato un cluster di test di ClickHouse. Abbiamo iniziato a caricare dati in esso. Rispetto a infiniDB \u2013 \u00e8 elementare, rispetto a Druid \u2013 \u00e8 elementare. Rispetto a Cassandra \u00e8 anche elementare. Perch\u00e9 se si caricano dati da php in Cassandra, non \u00e8 elementare.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/0b4b6ea08f7f7037d0e26dbe3f33fa53.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Cosa abbiamo ottenuto? Performance nella velocit\u00e0. Performance nella memorizzazione dei dati. Cio\u00e8, si utilizza molto meno spazio su disco. ClickHouse \u00e8 veloce, \u00e8 molto veloce rispetto ad altri prodotti. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" 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 in OpenSource, c'era solo un client a riga di comando. Nella nostra azienda, MEDIA2, abbiamo deciso di provare a creare un client nativo per il web, in modo da poter aprire una pagina dal browser, scrivere una query e ricevere un risultato, perch\u00e9 abbiamo iniziato a scrivere molte query. \u00c8 difficile scrivere nella console. E abbiamo fatto la nostra prima versione.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/a2569a45f9bf1b91815ca3dfa0eefcf3.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>E circa verso l'inverno dello scorso anno hanno iniziato a comparire strumenti di terze parti per lavorare con ClickHouse. 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 dati visivamente rapida e chiara in Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/7b91bc29b1c04020b56c89621287e8c1.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>\u00c8 uno strumento buono, ma per Druid. Quando abbiamo implementato Druid, ho esplorato SuperSet. Mi \u00e8 piaciuto. Per Druid funziona molto rapidamente. <\/p>\n<p><\/p>\n<p>Non \u00e8 adatto per ClickHouse. Cio\u00e8, \u00e8 adatto, si avvia, ma \u00e8 pronto a elaborare solo richieste elementari come: SELECT event, GROUP BY event. Non supporta una sintassi pi\u00f9 complessa di ClickHouse.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" 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 notebook, dashboard e variabili. So che qualcuno nella comunit\u00e0 di ClickHouse lo utilizza. <\/p>\n<p><\/p>\n<p>Ma non c'\u00e8 supporto per la sintassi di ClickHouse, quindi dovrai scrivere le richieste nella console o altrove. Poi controllare che tutto funzioni. \u00c8 semplicemente scomodo. Ma ha un buon supporto per le dashboard. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" 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 su Internet. Cio\u00e8, a differenza degli strumenti precedenti, non \u00e8 necessario installarlo. \u00c8 un dashboard con la possibilit\u00e0 di consolidare dati da diverse fonti di dati. Cio\u00e8, puoi estrarre da ClickHouse, MySQL, PostgreSQL e da altri database. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/dc639fe6e9716c835d1fe0fdfaa300b8.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Letteralmente un mese fa (marzo 2017) \u00e8 arrivato il supporto in Grafana. Quando costruisci report in Grafana, ad esempio, sulla situazione del tuo hardware o su alcune metriche, ora puoi creare lo stesso grafico o un pannello dai dati di ClickHouse direttamente. \u00c8 molto comodo, e lo stiamo utilizzando qui. Questo permette di individuare anomalie. Cio\u00e8, se succede qualcosa e un hardware si blocca o si sovraccarica, puoi controllare la causa, se i dati sono stati trasferiti in ClickHouse. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/0dd54a7633d25d0c924c2e6825028eb3.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Mi era molto scomodo scrivere in questi strumenti o nella console. Ho deciso di migliorare la nostra prima interfaccia. Ho preso spunto dall'idea di EventSQL, SuperSet e Zeppelin.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/3252a09e0942428143336639aa399f4d.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Cosa desideravo? Volevo ottenere grafici, un editor migliorato, implementare il supporto per dizionari e suggerimenti. Perch\u00e9 ClickHouse ha una funzione fantastica: i dizionari. Ma lavorare con i dizionari \u00e8 complicato, perch\u00e9 \u00e8 necessario ricordare il formato dei valori memorizzati, cio\u00e8 se \u00e8 un numero o una stringa, ecc. E poich\u00e9 usiamo spesso i dizionari nelle loro varie forme, era piuttosto difficile scrivere richieste.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/90a529b4fb5d03a6d61c89e00287b21d.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Sono passati 3 mesi dal rilascio della nostra prima versione. Ho effettuato circa 330 commit in un ramo chiuso ed \u00e8 nato Tabix.<\/p>\n<p><\/p>\n<p>A differenza della versione precedente, che si chiamava ClickHouse-Frontend, ho deciso di rinominarla semplicemente. \u00c8 nato Tabix.<\/p>\n<p><\/p>\n<p>Cosa c'\u00e8 di nuovo?<\/p>\n<p><\/p>\n<p>Disegna grafici. Supporta la sintassi SQL di ClickHouse. Suggerisce funzioni e ha molte altre capacit\u00e0 interessanti.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" 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 si trova l'albero. Al centro - \u00e8 l'editor della query. E in basso - \u00e8 il risultato di questa query.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" 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 dati visivamente rapida e chiara in Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/d5ca1028922a12d5e6f133704d4c91a2.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Qui ha attivato automaticamente il completamento automatico per la tabella e suggerisce, di conseguenza, il completamento automatico per i campi. E suggerimenti per le funzioni. Se si preme ctrl invio, la query verr\u00e0 eseguita o dar\u00e0 un errore. La query pi\u00f9 semplice viene inviata a Tabix e si ottiene un risultato, cio\u00e8 si pu\u00f2 lavorare rapidamente con ClickHouse.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" 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 cose molto interessanti, con cui lavoriamo molto. E che hanno permesso di fare 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. Di conseguenza, comprimiamo molto i dati.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/fa698b916b01a58f182003e6a15dfea0.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Questa sembra una cosa semplice, ma in ClickHouse \u00e8 molto utile. Poich\u00e9 ClickHouse supporta solo join annidati, la query cresce abbastanza in profondit\u00e0 e in larghezza. E quando si apre una parentesi e si ha un'espressione lunga, una cosa abbastanza semplice come la compressione della query aiuta a lavorare pi\u00f9 facilmente con la query stessa. Perch\u00e9 quando la query \u00e8 di 200-300 righe e in larghezza \u00e8 molto grande, la compressione della query aiuta molto a trovare un posto o a localizzarlo.<\/p>\n<p><\/p>\n<p>Albero degli oggetti, multiprogressioni 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 dati visivamente rapida e chiara in Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/d43efecc6b0b395cdc17a3dd9db53400.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Successivamente mostrer\u00f2 l'albero, le schede. A sinistra - questo \u00e8 l'albero, in alto puoi creare pi\u00f9 schede. Le schede sono come uno spazio di lavoro. Puoi creare pi\u00f9 schede e dare a ciascuna un nome diverso. \u00c8 come un mini sistema per la creazione di report.<\/p>\n<p><\/p>\n<p>Le schede vengono salvate automaticamente. Se ricarichi il browser o chiudi e riapri Tabix, tutto rimarr\u00e0 salvato.<\/p>\n<p><\/p>\n<p>Tasto rapido - 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 tasti rapidi e ce ne sono abbastanza. Ne ho mostrati alcuni qui come esempio. Si tratta di passare da una scheda all'altra, eseguire una query o eseguire pi\u00f9 query. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" 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, ovvero disegnare una mappa tipica su una colonna. \u00c8 possibile evidenziare valori positivi o negativi. Oppure semplicemente colorare un elemento specifico della tabella. Questo \u00e8 comodo quando la tabella \u00e8 enorme e si deve trovare a colpo d'occhio un'anomalia. Quando cercavo anomalie, evidenziavo alcune righe, alcuni elementi in verde o rosso.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" 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 hai bisogno di copiare un risultato da qualche parte, \u00e8 molto comodo. Puoi semplicemente selezionare l'area, dire 'Copia in Redmine' 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 dati visivamente rapida e chiara in Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/43034a47b5ca31ee08e7721cc5f5159c.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Poi c'\u00e8 l'ottimizzazione delle richieste. Una volta ho dimenticato di specificare il campo 'data'. E la mia richiesta in ClickHouse veniva elaborata non molto velocemente, ma abbastanza velocemente, cio\u00e8 in meno di un secondo. Quando ho visto quante righe stava elaborando, mi \u00e8 venuta paura. In un giorno non scriviamo cos\u00ec tante righe in questa tabella. Ho iniziato ad analizzare la richiesta e ho visto che avevo saltato la data in un punto. Cio\u00e8, avevo dimenticato di specificare che avevo bisogno dei dati non su tutta la tabella, ma solo per un periodo specifico.<\/p>\n<p><\/p>\n<p>In Tabix c'\u00e8 la scheda 'Stats', nella quale \u00e8 memorizzata tutta la cronologia delle richieste inviate, quindi l\u00ec puoi vedere quante righe sono state lette da quella richiesta e quanto tempo ha impiegato ad eseguirsi. Questo permette di ottimizzare. <\/p>\n<p><\/p>\n<p>Sulla base del risultato della richiesta, puoi costruire una tabella riassuntiva. Hai inviato una richiesta a ClickHouse, hai ricevuto alcuni dati. E poi puoi afferrare questi dati con il mouse e costruire una tabella riassuntiva.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/0365df303eb55336eeb8a037cb118113.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>La prossima cosa interessante \u00e8 la creazione di grafici. Supponiamo di avere una richiesta cos\u00ec: 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 dati visivamente rapida e chiara in Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/bdf00b9d6bffb907e88d2fdb7bfb16dc.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Puoi dividerlo su diversi assi, cio\u00e8 puoi disegnare subito due grafici affiancati. Scrivere un comando e un secondo comando. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/efe77846e3f5f30a5d73e75be53d608a.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Puoi disegnare istogrammi.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/e531aac548eca2eb9e30dac21f8876b8.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Puoi dividere questo in una matrice di grafici.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" 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 dati visivamente rapida e chiara in Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/e15fe90c49bb850c821dab7492856b0b.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Puoi costruire un calendario di calore. Tra l'altro, \u00e8 una cosa molto comoda quando devi analizzare le anomalie per un anno, cio\u00e8 trovare o picchi o cali. Questa visualizzazione dei dati mi ha aiutato in questo. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" 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 dati visivamente rapida e chiara in Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/a7331b33b77e98ce85aff0316e3dcc76.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/5794844e8c1db71f1507cbdae67fedf6.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Sankeys \u00e8 un interessante grafico. \u00c8 o un Streamgraphs o un River. Ma io lo chiamo River. Consente anche di cercare alcune anomalie. \u00c8 molto comodo. Lo consiglio per la ricerca.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/483f363d93ba80dc9ac165ae083db585.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>La prossima cosa interessante \u00e8 la creazione di una mappa dinamica. Se nel vostro database sono memorizzate latitudine, longitudine e, ad esempio, una destinazione, se per esempio avete trasporti su rotaia o aerei, \u00e8 possibile tracciare i percorsi di destinazione. \u00c8 anche possibile specificare la velocit\u00e0 e la dimensione di questi oggetti, in cui atterrano.<\/p>\n<p><\/p>\n<p>Ma il problema con questa mappa \u00e8 che mostra solo la mappa del mondo, senza dettagli.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/13f302e67e7f84dc85728204153d6377.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Successivamente ho aggiunto Google map. Se memorizzate latitudine e longitudine, \u00e8 possibile rappresentare il risultato su Google map, ma senza il supporto degli aerei.<\/p>\n<p><\/p>\n<p>Abbiamo discusso le funzionalit\u00e0 principali del lavoro con il risultato, con la query in Tabix. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" 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 vostro server ClickHouse. C'\u00e8 una scheda separata 'Metriche' dove \u00e8 possibile vedere la dimensione dei dati memorizzati per ogni colonna. Nello screenshot \u00e8 mostrato che questo campo 'referrer' occupa circa 730 Gb. Se rinunciamo a questo campo, risparmieremo tre shard di 700 GB, ovvero circa 2 TB, che non ci servono. <\/p>\n<p><\/p>\n<p>Abbiamo anche un campo 'request_id', che memorizziamo come stringa. Ma se iniziamo a memorizzarlo in forma numerica, questo campo si ridurr\u00e0 notevolmente. <\/p>\n<p><\/p>\n<p>Qui \u00e8 mostrata anche la configurazione del server e l'elenco delle nodi del vostro cluster. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/fa2a35c1af59b3f56059fcfb26571c6e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>La scheda successiva \u00e8 per le metriche. Esse vengono prelevate in tempo reale da ClickHouse e consentono di analizzare semplicemente lo stato del server e capire cosa stia succedendo. Non \u00e8 un sostituto completo di Grafana. Serve per un'analisi rapida. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" 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 essi \u00e8 possibile capire cosa sta accadendo sul server. Capire cosa succede. Avevo una query che consumava 200 GB in lettura ogni volta. L'ho vista grazie a questa interfaccia. L'ho individuata e corretta. E sono riuscito a ridurla a circa 30 GB, cio\u00e8 prestazioni enormemente migliorate.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 analisi dati visivamente rapida e chiara in Tabix. Igor Strychar\" src=\"\/wp-content\/uploads\/2020\/03\/084b6131b189364f9e093792125649df.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Grazie! E questo \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 scaricare nulla. Aprite nel browser e tutto funzioner\u00e0. <\/p>\n<p><\/p>\n<p>Domande<\/p>\n<p><\/p>\n<p><em>Igor, cosa facciamo adesso? Come intendi sviluppare questo strumento?<\/em><\/p>\n<p><\/p>\n<p>Successivamente apparir\u00e0 un dashboard, cio\u00e8, potrebbe apparire un dashboard. Integrazione con altri database. Questo l'ho fatto, ma non l'ho ancora pubblicato in OpenSource. \u00c8 MySQL e, forse, PostgreSQL. Cio\u00e8, sar\u00e0 possibile inviare richieste non solo a ClickHouse, ma anche ad altri strumenti da Tabix.<\/p>\n<p><\/p>\n<p><em>\u00c8 evidente che \u00e8 stato fatto un enorme lavoro. \u00c8 emersa un'idea abbastanza completa. \u00c8 stato fatto nel browser, presumibilmente per evitare delle soluzioni temporanee su vari assi e per buttare gi\u00f9 tutto in fretta. Ho sentito dire che state<\/em> <em>php<\/em> <em>lavorando, quindi \u00e8 pi\u00f9 semplice buttare gi\u00f9 nel browser e funzioner\u00e0 ovunque. Non ci sono domande su questo. Ecco la domanda. \u00c8 stato davvero fatto molto. Quante persone hanno lavorato a questo? E quanto tempo ci \u00e8 voluto? Perch\u00e9 gli strumenti personalizzati di solito non hanno una funzionalit\u00e0 cos\u00ec ampia.<\/em><\/p>\n<p><\/p>\n<p>Dall'estate all'autunno ha lavorato una sola persona del nostro team. Questa \u00e8 stata la prima versione. Poi ho fatto 330 commit da solo. Ci\u00f2 che vedete, io e un collega lo abbiamo fatto insieme. In 3 mesi, dalla prima versione all'ultima, ho fatto la maggior parte io. Ma conosco molto male Javascript. Questo \u00e8 stato il mio unico e, spero, ultimo progetto in Javascript a cui ho lavorato. Mi \u00e8 stato dato, ho guardato - orrore. Ma avevo molta 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 un ottimo strumento. Hai<\/em> <em>Hai confrontato con Tableau?<\/em> <em>Grazie. Ecco perch\u00e9 ho chiamato Tabix, perch\u00e9 le prime lettere coincidono.<\/em><\/p>\n<p><\/p>\n<p>Perch\u00e9 competete? <\/p>\n<p><\/p>\n<p><em>Ci saranno molti investimenti, competitivit\u00e0 al massimo.<\/em><\/p>\n<p><\/p>\n<p>Come suggerirete di venderlo agli analisti interni, che questo strumento sostituir\u00e0 completamente <\/p>\n<p><\/p>\n<p><em>*Tableau*<\/em> Funziona nativamente con ClickHouse. Ho provato Tableau, ma non permette di scrivere supporto per dizionari e simili.<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>So come lavorano con Tabix le persone. Scrivono query, le esportano in CSV e le caricano nel BI. <strong>E gi\u00e0 l\u00ec fanno qualcosa. Ma a fatica riesco a immaginare come lo 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.<\/strong> Cio\u00e8, ci sono delle limitazioni serie in termini di volume di dati, giusto? <\/p>\n<p><\/p>\n<p><em>S\u00ec. Non riesco a immaginare che vogliate esportare 10.000 righe nella tabella sullo schermo del browser. Perch\u00e9?<\/em><\/p>\n<p><\/p>\n<p>Si presume che sia un'interfaccia per una rapida visualizzazione dei dati? Girare un po', ruotare? <\/p>\n<p><\/p>\n<p><em>Si intende che questo sia un'interfaccia per visualizzare rapidamente i dati? Scorrere un po', muoverli?<\/em><\/p>\n<p><\/p>\n<p>S\u00ec, vediamo rapidamente come funziona e costruiamo semplicemente un grafico riassuntivo. E poi lo inviamo da qualche parte. Abbiamo il nostro sistema di reportistica, da cui prendo semplicemente questa richiesta. Lo disegno in Tabix e lo invio al nostro reporting. <\/p>\n<p><\/p>\n<p><em>E un'altra domanda. Analisi di coorte?<\/em><\/p>\n<p><\/p>\n<p>Se ci sono richieste, aggiungeremo. <\/p>\n<p><\/p>\n<p><em>Quando abbiamo appena iniziato a utilizzare<\/em> <em>ClickHouse, quanto tempo ci \u00e8 voluto per l'implementazione<\/em> <em>ClickHouse<\/em> <em>e per raggiungere<\/em> <em>lo stato di produzione?<\/em><\/p>\n<p><\/p>\n<p>Come ho detto, abbiamo implementato un cluster di test in tempi molto rapidi. Lo abbiamo messo in piedi in due giorni. E abbiamo effettuato ulteriori test per un paio di settimane. E siamo arrivati alla produzione in circa 3 mesi. Ma avevamo il nostro ETL, cio\u00e8 uno strumento per l'immissione dei dati. E scriveva su tutto ci\u00f2 che era possibile. Pu\u00f2 scrivere in MongoDB, Cassandra, MySQL. Insegnargli a scrivere in ClickHouse \u00e8 stato semplice. Avevamo un'infrastruttura pronta per un'implementazione rapida. Dopo circa 3 mesi abbiamo iniziato a rimuovere il primo componente. Dopo 6 mesi ci siamo completamente liberati del 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 costruire percorsi sulle mappe. \u00c8 prevista un'integrazione con Yandex.Maps e in particolare con le mappe personalizzate di Yandex?<\/em><\/p>\n<p><\/p>\n<p>Ho provato a integrarmi invece di Google Map, ma non ho trovato il tema scuro su Yandex.Maps. Ho dimenticato un pezzo. Torno indietro per completare. <\/p>\n<p><\/p>\n<p>Diapositiva \u2013 Google Map. Qui c'\u00e8 il comando \"DRAW_GMAPS\", che disegna la mappa. C'\u00e8 un comando \"DRAW_YMAPS\", cio\u00e8 pu\u00f2 disegnare la mappa di Yandex. E infatti, sotto questo comando c'\u00e8 JavaScript, cio\u00e8 i dati che ottieni da ClickHouse possono essere passati a JavaScript che scrivi qui. E alla fine hai un'area in cui dovrebbe essere disegnata. Puoi disegnare qualsiasi grafico, cio\u00e8 qualsiasi grafico, mappa, puoi disegnare il tuo componente personalizzato. Prima avevo un'altra libreria per disegnare i grafici.<\/p>\n<p><\/p>\n<p><em>Cio\u00e8, c'\u00e8 uno strumento per la personalizzazione della funzionalit\u00e0 di visualizzazione?<\/em><\/p>\n<p><\/p>\n<p>Qualsiasi tipo. Puoi prendere e cambiare colore a questi punti, facendoli non rossi, ma blu, verdi.<\/p>\n<p><\/p>\n<p><em>Grazie per la presentazione! Avevi una diapositiva in cui erano presentati strumenti alternativi per le query<\/em> <em>ClickHouse<\/em> <em>per costruire dashboard, report analitici. Ho capito bene che al momento in cui hai iniziato a lavorare con<\/em> <em>ClickHouse, non sono stati scritti adattatori per questi strumenti. E mi chiedo perch\u00e9 tu abbia deciso di creare il tuo strumento, invece di scrivere un adattatore per uno strumento gi\u00e0 esistente? Penso che migliorare un editor di test sia rapido. Perch\u00e9 hai deciso di fare tutto questo lavoro?<\/em><\/p>\n<p><\/p>\n<p>C'\u00e8 un aspetto interessante: il fatto \u00e8 che io sono il direttore tecnico, non un data scientist. Al momento in cui abbiamo iniziato a implementare Druid, avevo nella mia roadmap circa il 50% delle attivit\u00e0 - facciamo questo calcolo o facciamo quest'altro, o analizziamo questo. E alla fine, abbiamo implementato ClickHouse. Ho iniziato a costruire e calcolare tutto rapidamente, chiudendo rapidamente la mia roadmap. E a quel punto ho capito che mi mancavano conoscenze nella Data Science e nella visualizzazione dei dati. Tabix \u00e8 una sorta di compito a casa per studiare la visualizzazione dei dati. Ho visto come integrare Zeppelin. Ho un leggero disamore per la sua programmazione. Ho esaminato Redash per vedere come integrarlo, ma mi mancava un editor decente. E SuperSet \u00e8 scritto in un linguaggio che non mi piace molto. Cos\u00ec ho deciso di fare il mio progetto e questo \u00e8 il risultato.<\/p>\n<p><\/p>\n<p><em>Igor, accetti le 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. Prima: non parli molto positivamente di<\/em> Javascript. Hai programmato in puro Javascript o stavi usando un framework?*<\/p>\n<p><\/p>\n<p>Meglio in puro Javascript.<\/p>\n<p><\/p>\n<p>Quindi quale framework?<\/p>\n<p><\/p>\n<p>Angular.<\/p>\n<p><\/p>\n<p><em>Chiaro. E la seconda domanda. Non hai 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>Potevi anche semplicemente scrivere un adattatore.<\/em><\/p>\n<p><\/p>\n<p>Esiste. Sembra che la comunit\u00e0 lo abbia fatto, ma, come ho risposto alla domanda precedente, volevo sperimentarlo personalmente.<\/p>\n<p><\/p>\n<p>*No, riguardo alla visualizzazione, ce ne sono.<\/p>\n<p><\/p>\n<p>Dici che c'\u00e8 qualcosa che ti disegner\u00e0 un grafico. Ho aperto un libro sulla visualizzazione dei dati. E ho pensato: 'Proviamo a visualizzare questi dati. Scriver\u00f2 io stesso in modo che possa costruire i dati'. E ho iniziato a comprendere meglio la tecnologia di presentazione dei dati. Se avessi preso un componente pronto, personalmente avrei imparato a usarlo peggio, cio\u00e8 proprio nella visualizzazione. Ma cos\u00ec \u2013 s\u00ec, mi \u00e8 piaciuto R, ma non ho ancora letto il libro \"R per chi non \u00e8 esperto\". <\/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, un grafico?<\/em><\/p>\n<p><\/p>\n<p>Puoi esportare in CSV, in Excel.<\/p>\n<p><\/p>\n<p><em>Non i dati, ma una tabella pronta, un grafico pronto? Ad esempio, per mostrarlo ai superiori.<\/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 all'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> in nginx root_path<\/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 5.0.1.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\/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) 5.0.1.1\" \/>\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..\" \/>\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 visivamente veloce e chiara dei dati in Tabix. Igor Strychar | ProHoster","description":"Ti invitiamo a prendere visione della trascrizione della relazione del 2017 di Igor Strychar \"ClickHouse \u2013 analisi visivamente veloce e chiara dei dati in Tabix\". Interfaccia web per ClickHouse nel progetto Tabix..","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..","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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"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}]}}