{"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\/pl\/blog\/administrirovanie\/clickhouse-vizualno-bystryj-i-naglyadnyj-analiz-dannyh-v-tabix-igor-stryhar","title":{"rendered":"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><strong>Zach\u0119cam do zapoznania si\u0119 z transkrypcj\u0105 raportu z 2017 roku Igora Strycharya \"ClickHouse \u2013 wizualnie szybka i czytelna analiza danych w Tabix.\"<\/strong><\/p>\n<p><\/p>\n<p>Interfejs webowy dla ClickHouse w projekcie Tabix.<br \/>\nPodstawowe funkcje:<\/p>\n<p><\/p>\n<ul>\n<li>Dzia\u0142a z ClickHouse bezpo\u015brednio z przegl\u0105darki, bez potrzeby instalacji dodatkowego oprogramowania;<\/li>\n<li>Edytor zapyta\u0144 z pod\u015bwietlaniem sk\u0142adni;<\/li>\n<li>Autouzupe\u0142nianie polece\u0144;<\/li>\n<li>Narz\u0119dzia do graficznej analizy wykonania zapyta\u0144;<\/li>\n<li>Schematy kolor\u00f3w do wyboru.<br \/>\n<img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" 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=\"Odtwarzaj wideo\" 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 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/950e3d0a3ff10d267ae48e897f5cbdb6.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Jestem dyrektorem technicznym w \u0421\u041c\u04182. Jeste\u015bmy agregatorem wiadomo\u015bci. Przechowujemy du\u017c\u0105 ilo\u015b\u0107 danych, kt\u00f3re otrzymujemy od naszych partner\u00f3w i rejestrujemy je w ClickHouse \u2013 oko\u0142o 30 000 zapyta\u0144 na sekund\u0119.<\/p>\n<p><\/p>\n<p>To takie dane, jak:<\/p>\n<p><\/p>\n<ul>\n<li>Klikni\u0119cia w wiadomo\u015bci.<\/li>\n<li>Wy\u015bwietlenia wiadomo\u015bci w agregatorze.<\/li>\n<li>Wy\u015bwietlenia banner\u00f3w w naszej sieci.<\/li>\n<li>I rejestrujemy wydarzenia z naszego w\u0142asnego licznika, kt\u00f3ry dzia\u0142a jak Yandex.Metrica. To nasza w\u0142asna mikroanaliza. <\/li>\n<\/ul>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/8f5a7af9fef04a51fed29279557c3b64.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Mieli\u015bmy bardzo burzliwe \u017cycie przed ClickHouse. Mieli\u015bmy ogromne trudno\u015bci z przechowywaniem tych danych oraz ich analizowaniem.<\/p>\n<p><\/p>\n<p><strong>\u017bycie przed ClickHouse \u2013 infiniDB<\/strong><\/p>\n<p><\/p>\n<p>Pierwsze, co mieli\u015bmy, to infiniDB. U\u017cywali\u015bmy jej przez 4 lata. Uruchomili\u015bmy j\u0105 z ogromnym trudem. <\/p>\n<p><\/p>\n<ul>\n<li>Nie obs\u0142ugiwa\u0142a klasteryzacji ani shardingu. \u017badne z takich inteligentnych rozwi\u0105za\u0144 nie dzia\u0142a\u0142y od razu z pude\u0142ka. <\/li>\n<li>Mia\u0142a trudno\u015bci z za\u0142adowaniem danych. Tylko specyficzna konsolowa u\u017cyteczno\u015b\u0107, kt\u00f3ra potrafi\u0142a \u0142adowa\u0107 tylko pliki CSV i to w bardzo niejasny spos\u00f3b. <\/li>\n<li>Baza danych by\u0142a jednoprotok\u00f3\u0142owa. Mo\u017cna by\u0142o albo pisa\u0107, albo czyta\u0107. Ale pozwala\u0142a przetwarza\u0107 du\u017ce ilo\u015bci danych. <\/li>\n<li>I mia\u0142a jeszcze interesuj\u0105cy b\u0142\u0105d. Ka\u017cdej nocy trzeba by\u0142o restartowa\u0107 serwer, inaczej przestawa\u0142 dzia\u0142a\u0107. <\/li>\n<\/ul>\n<p><\/p>\n<p>Dzia\u0142a\u0142a do ko\u0144ca 2016 roku, kiedy w pe\u0142ni przeszli\u015bmy na ClickHouse.<\/p>\n<p><\/p>\n<p><strong>\u017bycie przed ClickHouse \u2013 Cassandra<\/strong><\/p>\n<p><\/p>\n<p>Poniewa\u017c infiniDB by\u0142a jednoprotok\u00f3\u0142owa, postanowili\u015bmy, \u017ce potrzebujemy jakiej\u015b wielow\u0105tkowej bazy, w kt\u00f3rej mo\u017cemy jednocze\u015bnie pisa\u0107 bardzo wiele w\u0105tk\u00f3w.<\/p>\n<p><\/p>\n<p>Wypr\u00f3bowali\u015bmy wiele interesuj\u0105cych rozwi\u0105za\u0144. Nast\u0119pnie postanowili\u015bmy spr\u00f3bowa\u0107 Cassandry. Z Cassandr\u0105 wszystko sz\u0142o \u015bwietnie. 10 000 zapyta\u0144 na sekund\u0119 przy zapisie, 2 000 zapyta\u0144 gdzie\u015b przy odczycie. <\/p>\n<p><\/p>\n<p>Ale mia\u0142a te\u017c swoje ciekawostki. Raz w miesi\u0105cu lub co dwa miesi\u0105ce dochodzi\u0142o do desynchronizacji bazy danych. I trzeba by\u0142o wstawa\u0107 i biec naprawia\u0107 Cassandr\u0119. Restartowali\u015bmy serwery po kolei. I wszystko stawa\u0142o si\u0119 g\u0142adkie i \u0142adne. <\/p>\n<p><\/p>\n<p><strong>\u017bycie przed ClickHouse - Druid<\/strong><\/p>\n<p><\/p>\n<p>Potem zrozumieli\u015bmy, \u017ce musimy jeszcze wi\u0119cej pisa\u0107 danych. W 2016 roku zacz\u0119li\u015bmy przygl\u0105da\u0107 si\u0119 Druid. <\/p>\n<p><\/p>\n<p>Druid to otwarta baza danych napisana w Javie. Bardzo specyficzna. Idealnie pasowa\u0142a do clickstream, gdy potrzebowali\u015bmy przechowywa\u0107 pewien strumie\u0144 zdarze\u0144, a nast\u0119pnie wykonywa\u0107 na nich agregacje lub tworzy\u0107 raporty analityczne.<\/p>\n<p><\/p>\n<p>Druid mia\u0142 wersj\u0119 0.9.X. <\/p>\n<p><\/p>\n<p>Sama baza danych rozk\u0142ada si\u0119 bardzo ci\u0119\u017cko. To z\u0142o\u017cono\u015b\u0107 infrastruktury. Aby j\u0105 uruchomi\u0107, trzeba by\u0142o postawi\u0107 bardzo du\u017co sprz\u0119tu. A ka\u017cdy sprz\u0119t odpowiada\u0142 za swoj\u0105 odr\u0119bn\u0105 rol\u0119. <\/p>\n<p><\/p>\n<p>Aby za\u0142adowa\u0107 do niej dane, trzeba by\u0142o stosowa\u0107 jakie\u015b czary. Istnieje projekt OpenSource - Tranquility, kt\u00f3ry w strumieniu traci\u0142 nasze dane. Kiedy \u0142adowali\u015bmy do niego dane, je gubi\u0142. <\/p>\n<p><\/p>\n<p>Ale jako\u015b zacz\u0119li\u015bmy go wdra\u017ca\u0107. Jak je\u017ce, kt\u00f3re si\u0119 k\u0142uj\u0105, ale dalej jedz\u0105 kaktus, zacz\u0119li\u015bmy go wprowadza\u0107. Zaj\u0119\u0142o nam to oko\u0142o miesi\u0105ca, aby przygotowa\u0107 ca\u0142\u0105 infrastruktur\u0119 pod niego. Tzn. zam\u00f3wi\u0107 serwery, skonfigurowa\u0107 role, przeprowadzi\u0107 pe\u0142n\u0105 automatyzacj\u0119 rozk\u0142adania. Tzn. w przypadku awarii klastra, aby automatycznie uruchomi\u0142 si\u0119 drugi klaster. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/a8193aab09ab9cce3b69e3b84ce470dd.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ale tu zdarzy\u0142o si\u0119 cud. By\u0142em na urlopie, a moi koledzy przesy\u0142aj\u0105 mi link do <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/yandex\/blog\/303282\/\">habr<\/a><\/noindex>, w kt\u00f3rym m\u00f3wi si\u0119, \u017ce Yandex postanowi\u0142 otworzy\u0107 ClickHouse. M\u00f3wi\u0119, spr\u00f3bujmy.<\/p>\n<p><\/p>\n<p>I dos\u0142ownie w ci\u0105gu 2 dni uruchomili\u015bmy testowy klaster ClickHouse. Zacz\u0119li\u015bmy \u0142adowa\u0107 do niego dane. W por\u00f3wnaniu do infiniDB - to elementarne, w por\u00f3wnaniu do Druid - to elementarne. W por\u00f3wnaniu do Cassandry r\u00f3wnie\u017c elementarne. Poniewa\u017c, je\u015bli \u0142adowa\u0107 dane z php do Cassandry, to nie jest elementarne.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/0b4b6ea08f7f7037d0e26dbe3f33fa53.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Co zyskali\u015bmy? Wydajno\u015b\u0107 w pr\u0119dko\u015bci. Wydajno\u015b\u0107 w przechowywaniu danych. Tzn. u\u017cywa znacznie mniej miejsca na dysku. ClickHouse - jest szybki, naprawd\u0119 szybki w por\u00f3wnaniu do innych produkt\u00f3w. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/9ff5e2ac127be8813b5d5cec49dab73a.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>W momencie uruchomienia, gdy Yandex opublikowa\u0142 ClickHouse w OpenSource, istnia\u0142 tylko klient konsolowy. W naszej firmie MEDIA2 postanowili\u015bmy spr\u00f3bowa\u0107 stworzy\u0107 natywny klient webowy, aby mo\u017cna by\u0142o otworzy\u0107 stron\u0119 w przegl\u0105darce, napisa\u0107 zapytanie i uzyska\u0107 wynik, poniewa\u017c zacz\u0119li\u015bmy pisa\u0107 du\u017co zapyta\u0144. Pisanie w konsoli jest trudne. I zrobili\u015bmy nasz\u0105 pierwsz\u0105 wersj\u0119.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/a2569a45f9bf1b91815ca3dfa0eefcf3.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>I gdzie\u015b bli\u017cej zimy zesz\u0142ego roku zacz\u0119\u0142y pojawia\u0107 si\u0119 zewn\u0119trzne narz\u0119dzia do pracy z ClickHouse. To takie narz\u0119dzia, jak:<\/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>. (Teraz <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>Przedstawi\u0119 kilka z tych narz\u0119dzi, tzn. tych, z kt\u00f3rymi pracowa\u0142em. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/7b91bc29b1c04020b56c89621287e8c1.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Dobre narz\u0119dzie, ale dla Druid. Kiedy wdra\u017cali\u015bmy Druid, testowa\u0142em SuperSet. Spodoba\u0142 mi si\u0119. Dzia\u0142a bardzo szybko dla Druid. <\/p>\n<p><\/p>\n<p>Nie nadaje si\u0119 dla ClickHouse. Tzn. dzia\u0142a, ale obs\u0142uguje tylko podstawowe zapytania, takie jak: SELECT event, GROUP BY event. Nie wspiera bardziej z\u0142o\u017conej sk\u0142adni ClickHouse.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/a708c787120de3db725a9bba4c8bd642.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Nast\u0119pne narz\u0119dzie \u2013 Apache Zeppelin. To dobre i ciekawe rozwi\u0105zanie. Dzia\u0142a. Obs\u0142uguje notatniki, pulpity nawigacyjne i zmienne. Wiem, \u017ce kto\u015b z spo\u0142eczno\u015bci ClickHouse go u\u017cywa. <\/p>\n<p><\/p>\n<p>Ale nie ma wsparcia dla sk\u0142adni ClickHouse, tzn. b\u0119dzie trzeba pisa\u0107 zapytania albo w konsoli, albo gdzie indziej. Nast\u0119pnie trzeba sprawdzi\u0107, czy wszystko dzia\u0142a. To po prostu niewygodne. Ale wsparcie dla dashboard\u00f3w jest bardzo dobre. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/0c2afefc1504d14dd50f88459a652a1c.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Kolejnym narz\u0119dziem jest Redash.IO. Redash jest hostowane w internecie. Tzn. w przeciwie\u0144stwie do poprzednich narz\u0119dzi, nie ma potrzeby go instalowa\u0107. To takie rozwi\u0105zanie do tworzenia pulpit\u00f3w nawigacyjnych z mo\u017cliwo\u015bci\u0105 konsolidacji danych z r\u00f3\u017cnych \u017ar\u00f3de\u0142 danych. Tzn. mo\u017cesz wydobywa\u0107 dane z ClickHouse, MySQL, PostgreSQL i innych baz danych. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/dc639fe6e9716c835d1fe0fdfaa300b8.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Zaledwie miesi\u0105c temu (w marcu 2017 roku) dodano wsparcie w Grafana. Kiedy budujesz raporty w Grafana, powiedzmy, dotycz\u0105ce stanu twojego sprz\u0119tu lub jakich\u015b metryk, teraz mo\u017cna tworzy\u0107 taki sam wykres lub jaki\u015b panel z danych z ClickHouse bezpo\u015brednio. To bardzo wygodne, i my to u siebie wykorzystujemy. To pozwala na wykrywanie anomalii. Tzn. je\u015bli co\u015b si\u0119 dzieje i jaki\u015b sprz\u0119t zawodzi lub jest obci\u0105\u017cony, mo\u017cna przeanalizowa\u0107 przyczyn\u0119, je\u015bli te dane zd\u0105\u017cy\u0142y trafi\u0107 do ClickHouse. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/0dd54a7633d25d0c924c2e6825028eb3.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Pisanie w tych narz\u0119dziach lub w konsoli by\u0142o dla mnie bardzo niewygodne. Postanowi\u0142em wi\u0119c poprawi\u0107 nasz pierwszy interfejs. Zainspirowa\u0142em si\u0119 pomys\u0142em z EventSQL, SuperSet, Zeppelin.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/3252a09e0942428143336639aa399f4d.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Czego chcia\u0142em? Chcia\u0142em uzyska\u0107 wykresy, lepszy edytor, wdro\u017cy\u0107 wsparcie dla s\u0142ownik\u00f3w podpowiedzi. Poniewa\u017c ClickHouse ma \u015bwietn\u0105 funkcj\u0119 \u2013 s\u0142owniki. Ale praca ze s\u0142ownikami jest trudna, poniewa\u017c trzeba pami\u0119ta\u0107 format przechowywanych warto\u015bci, tzn. czy to liczba, czy ci\u0105g tekstowy itd. A poniewa\u017c cz\u0119sto u\u017cywamy s\u0142ownik\u00f3w w r\u00f3\u017cnych wariantach, pisanie zapyta\u0144 by\u0142o dosy\u0107 trudne.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/90a529b4fb5d03a6d61c89e00287b21d.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Min\u0119\u0142y 3 miesi\u0105ce od wydania naszej pierwszej wersji. Zrobi\u0142em oko\u0142o 330 commit\u00f3w w zamkni\u0119tej ga\u0142\u0119zi i powsta\u0142 Tabix.<\/p>\n<p><\/p>\n<p>W przeciwie\u0144stwie do poprzedniej wersji o nazwie ClickHouse-Frontend, postanowi\u0142em nada\u0107 jej prost\u0105 nazw\u0119. Tak powsta\u0142 Tabix.<\/p>\n<p><\/p>\n<p>Co nowego?<\/p>\n<p><\/p>\n<p>Rysuje wykresy. Obs\u0142uguje sk\u0142adni\u0119 SQL ClickHouse. Podpowiada funkcje i posiada wiele innych interesuj\u0105cych mo\u017cliwo\u015bci.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/cd2bbb0c2c3e0fa2d2622bbd2aecdbc7.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Oto jak wygl\u0105da og\u00f3lny schemat Tabix. Po lewej stronie znajduje si\u0119 drzewo. Na \u015brodku \u2013 to edytor zapyta\u0144. A na dole \u2013 to wynik tego zapytania.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/becf5df173220480e077ae8d8e0ebf3e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Poka\u017c\u0119 teraz, jak dzia\u0142a edytor zapyta\u0144. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/d5ca1028922a12d5e6f133704d4c91a2.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Tutaj automatyczne uzupe\u0142nienie zadzia\u0142a\u0142o na tabeli i odpowiednio podpowiada uzupe\u0142nianie p\u00f3l oraz funkcje. Je\u015bli naci\u015bniesz Ctrl + Enter, zapytanie zostanie wykonane lub zako\u0144czy si\u0119 b\u0142\u0119dem. Najprostsze zapytanie wysy\u0142a si\u0119 do Tabix, a wynik otrzymujemy, czyli mo\u017cna szybko pracowa\u0107 z ClickHouse.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/74623f9f5030eb08523dc7269517a5d5.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>S\u0142owniki, jak ju\u017c wspomnia\u0142em, to bardzo interesuj\u0105ca rzecz, z kt\u00f3r\u0105 wiele pracujemy. Umo\u017cliwi\u0142y one zrealizowanie wielu rzeczy. Na przyk\u0142ad w s\u0142ownikach przechowujemy wszystkie miasta. Przechowujemy identyfikator miasta oraz jego nazw\u0119, szeroko\u015b\u0107 i d\u0142ugo\u015b\u0107 geograficzn\u0105. A w bazie danych trzymamy tylko identyfikator miasta. Dzi\u0119ki temu znacznie kompresujemy dane.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/fa698b916b01a58f182003e6a15dfea0.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>To wydaje si\u0119 prost\u0105 rzecz\u0105, ale w ClickHouse naprawd\u0119 dobrze si\u0119 sprawdza. Poniewa\u017c ClickHouse obs\u0142uguje tylko zagnie\u017cd\u017cone z\u0142\u0105czenia, zapytanie ro\u015bnie w d\u00f3\u0142 i w szeroko\u015bci do\u015b\u0107 mocno. Gdy otwierasz nawias i pojawia si\u0119 d\u0142ugie wyra\u017cenie, to taka do\u015b\u0107 prosta rzecz, jak zwijanie zapytania, pozwala \u0142atwiej pracowa\u0107 z samym zapytaniem. Bo gdy zapytanie ma 200-300 linii i jego szeroko\u015b\u0107 jest ogromna, zwijanie zapytania bardzo pomaga znale\u017a\u0107 konkretne miejsce lub w inny spos\u00f3b je zlokalizowa\u0107.<\/p>\n<p><\/p>\n<p>Drzewo obiekt\u00f3w, wiele zapyta\u0144 i karty (Wideo 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 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/d43efecc6b0b395cdc17a3dd9db53400.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Nast\u0119pnie poka\u017c\u0119 o drzewie, kartach. Po lewej stronie znajduje si\u0119 drzewo, na g\u00f3rze mo\u017cesz tworzy\u0107 kilka kart. Karty to jak obszar roboczy. Mo\u017cesz stworzy\u0107 kilka kart i nazwa\u0107 je wed\u0142ug w\u0142asnych preferencji. To jak mini-system do tworzenia raport\u00f3w.<\/p>\n<p><\/p>\n<p>Karty s\u0105 automatycznie zapisywane. Je\u015bli od\u015bwie\u017cysz przegl\u0105dark\u0119 lub zamkniesz, lub otworzysz Tabix, wszystko to pozostanie.<\/p>\n<p><\/p>\n<p>Skr\u00f3t klawiszowy \u2013 wygodne (Wideo 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>S\u0105 skr\u00f3ty klawiszowe i jest ich ca\u0142kiem sporo. Wypisa\u0142em niekt\u00f3re z nich tutaj jako przyk\u0142ad. To prze\u0142\u0105czanie kart, wykonanie zapytania lub wykonanie kilku zapyta\u0144. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/27f3e6d0dbb4d1038bb551808b13d2ac.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Poka\u017c\u0119, jak pracowa\u0107 z wynikiem. Wysy\u0142amy zapytanie. Tutaj rysuj\u0119 sin, cos i tg. Mo\u017cna pod\u015bwietli\u0107 wynik, tzn. stworzy\u0107 typow\u0105 map\u0119 kolumnow\u0105. Mo\u017cna pod\u015bwietli\u0107 dodatnie lub ujemne warto\u015bci. Albo po prostu pokolorowa\u0107 konkretny element tabeli. To jest wygodne, gdy tabela jest ogromna i trzeba na oko znale\u017a\u0107 jak\u0105\u015b anomali\u0119. Gdy szuka\u0142em anomalii, pod\u015bwietla\u0142em niekt\u00f3re wiersze, pewne elementy na zielono lub czerwono.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/af0c21073a1edd81e4d688f119ef7568.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Jest tam wiele interesuj\u0105cych rzeczy. Na przyk\u0142ad, jak skopiowa\u0107 do Redmine w Markdown. Je\u015bli trzeba przekopiowa\u0107 gdzie\u015b wynik, to jest to bardzo wygodne. Mo\u017cna po prostu zaznaczy\u0107 obszar, powiedzie\u0107 \u201eKopiuj do Redmine\u201d, a on skopiuje do Markdown Redmine lub stworzy zapytanie Where.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/43034a47b5ca31ee08e7721cc5f5159c.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Dalej - to optymalizacja zapyta\u0144. Raz zapomnia\u0142em wskaza\u0107 pole \u201edata\u201d. I moje zapytanie w ClickHouse by\u0142o przetwarzane nie bardzo szybko, ale szybko, tzn. w mniej ni\u017c sekund\u0119. Gdy zobaczy\u0142em, ile on danych przetwarza, przerazi\u0142em si\u0119. Nie piszemy w tej tabeli tyle w ci\u0105gu dnia. Zacz\u0105\u0142em analizowa\u0107 zapytanie i zauwa\u017cy\u0142em, \u017ce w jednym miejscu pomin\u0105\u0142em dat\u0119. Tzn. zapomnia\u0142em wskaza\u0107, \u017ce potrzebne mi dane nie z ca\u0142ej tabeli, a za jaki\u015b konkretny okres.<\/p>\n<p><\/p>\n<p>W Tabix jest zak\u0142adka \u201eStatystyki\u201d, w kt\u00f3rej przechowywana jest ca\u0142a historia wys\u0142anych zapyta\u0144, tzn. mo\u017cna tam zobaczy\u0107, ile wierszy zosta\u0142o odczytanych tym zapytaniem i ile czasu trwa\u0142o jego wykonanie. To pozwala na optymalizacj\u0119. <\/p>\n<p><\/p>\n<p>Na podstawie wyniku zapytania mo\u017cna zbudowa\u0107 tabel\u0119 przestawn\u0105. Wys\u0142a\u0142e\u015b zapytanie do ClickHouse, otrzyma\u0142e\u015b jakie\u015b dane. A nast\u0119pnie te dane mo\u017cna przeci\u0105ga\u0107 myszk\u0105 i stworzy\u0107 jak\u0105\u015b tabel\u0119 przestawn\u0105.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/0365df303eb55336eeb8a037cb118113.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Nast\u0119pn\u0105 interesuj\u0105c\u0105 rzecz\u0105 jest budowanie wykres\u00f3w. Za\u0142\u00f3\u017cmy, \u017ce mamy takie zapytanie: dla sin, cos od 0 do 299. Aby go narysowa\u0107, nale\u017cy wybra\u0107 zak\u0142adk\u0119 \u201eRysuj\u201d i otrzymasz wykres z twoimi sin i cos. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/bdf00b9d6bffb907e88d2fdb7bfb16dc.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Mo\u017cna podzieli\u0107 to na r\u00f3\u017cne osie, tzn. mo\u017cna narysowa\u0107 od razu dwa wykresy obok siebie. Napisa\u0107 jedn\u0105 komend\u0119 i drug\u0105 komend\u0119. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/efe77846e3f5f30a5d73e75be53d608a.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Mo\u017cna narysowa\u0107 histogramy.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/e531aac548eca2eb9e30dac21f8876b8.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Mo\u017cna podzieli\u0107 to na matryc\u0119 wykres\u00f3w.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/3404f87cee0e376df8ca62f03fc0fc7e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Mo\u017cna zbudowa\u0107 map\u0119 ciepln\u0105. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/e15fe90c49bb850c821dab7492856b0b.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Mo\u017cna zbudowa\u0107 cieplny kalendarz. Nawiasem m\u00f3wi\u0105c, to bardzo wygodne, gdy trzeba przeanalizowa\u0107 anomalie za rok, tzn. znale\u017a\u0107 albo wzrosty, albo spadki. Ta wizualizacja danych bardzo mi w tym pomog\u0142a. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/08945df379d33aa73518ef10d02fe561.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Nast\u0119pny \u2013 to Treemap.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" 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 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/5794844e8c1db71f1507cbdae67fedf6.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Sankeys \u2013 interesuj\u0105cy diagram. To albo Streamgraph, albo River. Ja nazywam to River. Umo\u017cliwia tak\u017ce wyszukiwanie pewnych anomalii. Jest bardzo wygodny. Polecam jego u\u017cycie do wyszukiwania.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/483f363d93ba80dc9ac165ae083db585.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Nast\u0119pn\u0105 interesuj\u0105c\u0105 rzecz\u0105 jest rysowanie dynamicznej mapy. Je\u015bli w twojej bazie danych przechowywana jest szeroko\u015b\u0107, d\u0142ugo\u015b\u0107 geograficzna i, powiedzmy, cel, na przyk\u0142ad, transporty drogowe lub loty samolotowe, to mo\u017cna narysowa\u0107 trasy do celu. Tam mo\u017cna r\u00f3wnie\u017c ustawi\u0107 pr\u0119dko\u015b\u0107, rozmiar tych obiekt\u00f3w, do kt\u00f3rych przylatuj\u0105.<\/p>\n<p><\/p>\n<p>Jednak problem z t\u0105 map\u0105 polega na tym, \u017ce rysuje tylko map\u0119 \u015bwiata, brakuje szczeg\u00f3\u0142owo\u015bci.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/13f302e67e7f84dc85728204153d6377.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>P\u00f3\u017aniej doda\u0142em Google map. Je\u015bli przechowujesz szeroko\u015b\u0107, d\u0142ugo\u015b\u0107 geograficzn\u0105, mo\u017cesz narysowa\u0107 wynik na Google mapie, ale bez wsparcia dla samolot\u00f3w.<\/p>\n<p><\/p>\n<p>Podstawowe funkcje pracy z wynikiem, z zapytaniem w Tabix, om\u00f3wili\u015bmy. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/849baa55e6865ab451b82f23fe6e5110.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Kolejny krok \u2013 analiza twojego serwera ClickHouse. Jest osobna zak\u0142adka \u201eMetryki\u201d, w kt\u00f3rej mo\u017cna zobaczy\u0107 rozmiar przechowywanych danych dla ka\u017cdej kolumny. Na zrzucie ekranu pokazano, \u017ce to pole \u201ereferrer\u201d zajmuje oko\u0142o 730 GB. Je\u015bli zrezygnujemy z tego pola, zaoszcz\u0119dzimy trzy shard'y po 700 GB, czyli oko\u0142o 2 TB, kt\u00f3re nie s\u0105 nam potrzebne. <\/p>\n<p><\/p>\n<p>Mamy te\u017c pole \u201erequest_id\u201d, kt\u00f3re przechowujemy w postaci tekstowej. Ale je\u015bli zaczniemy je przechowywa\u0107 w formie numerycznej, to znacznie je skompresuje. <\/p>\n<p><\/p>\n<p>Tutaj pokazana jest r\u00f3wnie\u017c konfiguracja serwera i lista w\u0119z\u0142\u00f3w twojego klastra. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/fa2a35c1af59b3f56059fcfb26571c6e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Kolejna zak\u0142adka \u2013 to metryki. S\u0105 pobierane w czasie rzeczywistym z ClickHouse i po prostu pozwalaj\u0105 przeanalizowa\u0107 stan serwera i zrozumie\u0107, co si\u0119 z nim dzieje. To nie zast\u0119puje pe\u0142noprawnej Grafany. To potrzebne, aby szybko przeanalizowa\u0107. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/7de741718ef19b81bd0f7f33dbed019e.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Kolejna zak\u0142adka \u2013 to procesy. Dzi\u0119ki nim mo\u017cna zrozumie\u0107, co dzieje si\u0119 na serwerze. Zrozumie\u0107, co tam si\u0119 dzieje. Mia\u0142em zapytanie, kt\u00f3re za ka\u017cdym razem bra\u0142o 200 GB do odczytu. Zobaczy\u0142em to dzi\u0119ki temu interfejsowi. Z\u0142apa\u0142em to i poprawi\u0142em. I wysz\u0142o oko\u0142o 30 GB, czyli wydajno\u015b\u0107 jest o wiele lepsza.<\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz\" src=\"\/wp-content\/uploads\/2020\/03\/084b6131b189364f9e093792125649df.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Dzi\u0119kuj\u0119! A to jest w OpenSource<\/p>\n<p><\/p>\n<p>Sko\u0144czy\u0142em. I, nawiasem m\u00f3wi\u0105c, to w OpenSource, jest darmowe i nawet nie trzeba pobiera\u0107. Otwieraj w przegl\u0105darce i wszystko b\u0119dzie dzia\u0142a\u0107. <\/p>\n<p><\/p>\n<p>Pytania<\/p>\n<p><\/p>\n<p><em>Igor, co dalej? Gdzie zamierzasz rozwija\u0107 to narz\u0119dzie?<\/em><\/p>\n<p><\/p>\n<p>Wkr\u00f3tce pojawi si\u0119 panel sterowania, tzn. by\u0107 mo\u017ce pojawi si\u0119 panel sterowania. Integracja z innymi bazami danych. Zrobi\u0142em to, ale jeszcze nie opublikowa\u0142em w OpenSource. To MySQL i by\u0107 mo\u017ce PostgreSQL. Tzn. b\u0119dzie mo\u017cna wysy\u0142a\u0107 zapytania z Tabix nie tylko do ClickHouse, ale tak\u017ce do innych narz\u0119dzi.<\/p>\n<p><\/p>\n<p><em>Wida\u0107, \u017ce zrobiono ogromn\u0105 prac\u0119. Powsta\u0142a do\u015b\u0107 kompletna idea. Zrobiono to w przegl\u0105darce, najwyra\u017aniej, aby wykluczy\u0107 obej\u015bcia na r\u00f3\u017cnych osiach i szybko to wszystko zrealizowa\u0107. S\u0142ysza\u0142em, \u017ce pracujecie nad tym, wi\u0119c naj\u0142atwiej jest to zrobi\u0107 w przegl\u0105darce, i wsz\u0119dzie to b\u0119dzie dzia\u0142a\u0107. Nie ma z tym pyta\u0144. Pytanie brzmi: ile os\u00f3b nad tym pracowa\u0142o? Ile czasu to zaj\u0119\u0142o? Bo zwykle narz\u0119dzia dostosowane do siebie nie maj\u0105 takiego du\u017cego funkcjonalno\u015bci.<\/em> <em>php<\/em> <em>Od lata do jesieni pracowa\u0142 nad tym jeden cz\u0142owiek z naszego zespo\u0142u. To by\u0142a pierwsza wersja. Potem 330 commit\u00f3w zrobi\u0142em sam. To, co widzicie, zrobili\u015bmy z koleg\u0105 po r\u00f3wno. W ci\u0105gu 3 miesi\u0119cy z pierwszej wersji do ostatniej w wi\u0119kszo\u015bci zrobi\u0142em to sam. Ale bardzo s\u0142abo znam Javascript. To by\u0142 m\u00f3j jedyny i, mam nadziej\u0119, ostatni projekt w Javascript, nad kt\u00f3rym pracowa\u0142em. Dosta\u0142em go, spojrza\u0142em \u2013 o zgrozo. Ale bardzo chcia\u0142em doprowadzi\u0107 produkt do ko\u0144ca i oto co wysz\u0142o.<\/em><\/p>\n<p><\/p>\n<p>Bardzo dzi\u0119kuj\u0119 za prezentacj\u0119! To doskona\u0142e narz\u0119dzie. Czy por\u00f3wnywali\u015bcie z *Tableau*?<\/p>\n<p><\/p>\n<p><em>Dzi\u0119kuj\u0119. Dlatego nazwa\u0142em to Tabix, poniewa\u017c pierwsze litery si\u0119 zgadzaj\u0105.<\/em> <em>Bo konkurujecie?<\/em> <em>B\u0119dzie du\u017co inwestycji, b\u0119dziemy konkurowa\u0107.<\/em><\/p>\n<p><\/p>\n<p>Jak proponujecie sprzeda\u0107 to wewn\u0119trznym analitykom, \u017ce to narz\u0119dzie w pe\u0142ni zast\u0105pi *Tableau*? <\/p>\n<p><\/p>\n<p><em>Dzia\u0142a natywnie z ClickHouse. Pr\u00f3bowa\u0142em *Tableau*, ale tam nie mo\u017cna pisa\u0107 wsparcia dla s\u0142ownik\u00f3w i tym podobnych rzeczy.<\/em><\/p>\n<p><\/p>\n<p>Wiem, jak pracuj\u0105 z Tabix ludzie. Pisz\u0105 zapytania, eksportuj\u0105 do CSV i \u0142aduj\u0105 do BI. <\/p>\n<p><\/p>\n<p><em>I tam ju\u017c co\u015b robi\u0105. Ale trudno mi wyobrazi\u0107 sobie, jak to robi\u0105, bo to jest narz\u0119dzie graficzne. Mo\u017ce wyeksportowa\u0107 maksymalnie 5 000 wierszy, maksymalnie 6 000 wierszy, ale nie wi\u0119cej, w przeciwnym razie przegl\u0105darka nie wytrzyma.<\/em> Tzn. s\u0105 jakie\u015b powa\u017cne ograniczenia co do obj\u0119to\u015bci danych, tak?<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>Tak. Nie wyobra\u017cam sobie, \u017ce zechcesz wyeksportowa\u0107 10 000 wierszy na ekran przegl\u0105darki. Po co? <strong>Domy\u015blnie to interfejs do szybkiego przegl\u0105dania danych? Troch\u0119 pokr\u0119ci\u0107, powertowa\u0107?<\/strong> Czy to jest zamys\u0142em? <\/p>\n<p><\/p>\n<p><em>No, tak!.<\/em><\/p>\n<p><\/p>\n<p>Tu chodzi o to, aby szybko zorientowa\u0107 si\u0119 w danych. Dobrze, \u017ce podzieli\u0142em si\u0119 tym z wami. <\/p>\n<p><\/p>\n<p><em>Czy to nie jest pomy\u0142ka?<\/em><\/p>\n<p><\/p>\n<p>Tak, szybko zobaczy\u0107, jak to dzia\u0142a i po prostu stworzy\u0107 zbiorczy wykres. A potem przekaza\u0107 gdzie indziej. Mamy nasz w\u0142asny system raportowania, z kt\u00f3rego po prostu bior\u0119 to zapytanie. Rysuj\u0119 w Tabix i wysy\u0142am do naszego raportowania. <\/p>\n<p><\/p>\n<p><em>I jeszcze jedno pytanie. Analiza kohortowa?<\/em><\/p>\n<p><\/p>\n<p>Je\u015bli b\u0119d\u0105 sugestie, dodamy. <\/p>\n<p><\/p>\n<p><em>Kiedy dopiero zaczynali\u015bmy korzysta\u0107<\/em> <em>ClickHouse, ile czasu zaj\u0119\u0142o wdro\u017cenie<\/em> <em>ClickHouse<\/em> <em>i doprowadzenie do<\/em> <em>stanu produkcyjnego?<\/em><\/p>\n<p><\/p>\n<p>Jak powiedzia\u0142em, wdro\u017cyli\u015bmy testowy klaster w bardzo kr\u00f3tkim czasie. W dwa dni go uruchomili\u015bmy. A przez kolejne kilka tygodni go testowali\u015bmy. Do stanu produkcyjnego dotarli\u015bmy w oko\u0142o 3 miesi\u0105ce. Mieli\u015bmy w\u0142asny ETL, tzn. narz\u0119dzie do \u0142adowania danych. I pisa\u0142 on do wszystkiego, co tylko mo\u017cna. Umiemy pisa\u0107 do MongoDB, Cassandra, MySQL. Nauczenie go pisania do ClickHouse by\u0142o proste. Mieli\u015bmy gotow\u0105 infrastruktur\u0119 do szybkiego wdro\u017cenia. W ci\u0105gu oko\u0142o 3 miesi\u0119cy zacz\u0119li\u015bmy wycofywa\u0107 pierwszy komponent. Po 6 miesi\u0105cach ca\u0142kowicie zrezygnowali\u015bmy ze wszystkiego innego. Zosta\u0142 nam tylko ClickHouse.<\/p>\n<p><\/p>\n<p><em>Igor, bardzo dzi\u0119kuj\u0119 za prezentacj\u0119. Bardzo podoba\u0142a mi si\u0119 funkcjonalno\u015b\u0107 budowania \u015bcie\u017cek na mapach. Czy planowana jest integracja z Yandex.Maps, a konkretnie z niestandardowymi mapami Yandex?<\/em><\/p>\n<p><\/p>\n<p>Pr\u00f3bowa\u0142em zintegrowa\u0107 si\u0119 zamiast Google map, ale nie znalaz\u0142em ciemnego motywu na Yandex.Maps. Nie powiedzia\u0142em jednego fragmentu. Cofn\u0119 si\u0119, aby uzupe\u0142ni\u0107. <\/p>\n<p><\/p>\n<p>Slajd \u2013 Google map. Tam jest polecenie \u201eDRAW_GMAPS\u201d, kt\u00f3re rysuje map\u0119. Jest polecenie \u201eDRAW_YMAPS\u201d, co oznacza, \u017ce mo\u017ce narysowa\u0107 map\u0119 Yandex. A tak naprawd\u0119 pod tym poleceniem znajduje si\u0119 JavaScript, tzn. dane, kt\u00f3re otrzymujecie z ClickHouse, mo\u017cna przekaza\u0107 do JavaScript, kt\u00f3ry napiszecie tutaj. I macie na wyj\u015bciu obszar, w kt\u00f3rym powinna zosta\u0107 narysowana. Mo\u017cna narysowa\u0107 dowolny wykres, tzn. ka\u017cdy wykres, map\u0119, mo\u017cecie narysowa\u0107 sw\u00f3j w\u0142asny komponent. Wcze\u015bniej mia\u0142em inn\u0105 bibliotek\u0119 do rysowania samych wykres\u00f3w.<\/p>\n<p><\/p>\n<p><em>Tzn. jest tam narz\u0119dzie do dostosowywania funkcjonalno\u015bci wy\u015bwietlania?<\/em><\/p>\n<p><\/p>\n<p>Jakiekolwiek. Mo\u017cna wzi\u0105\u0107 i przebarwi\u0107 te punkty, uczyniwszy je nie czerwonymi, a niebieskimi, zielonymi.<\/p>\n<p><\/p>\n<p><em>Dzi\u0119kuj\u0119 za prezentacj\u0119! Mieli\u015bcie slajd, na kt\u00f3rym przedstawione by\u0142y alternatywne narz\u0119dzia do zapyta\u0144<\/em> <em>ClickHouse<\/em> <em>do budowania pulpit\u00f3w nawigacyjnych, raport\u00f3w analitycznych. Zrozumia\u0142em, \u017ce w momencie, gdy zacz\u0119li\u015bcie pracowa\u0107 z<\/em> <em>ClickHouse, dla tych narz\u0119dzi nie by\u0142y napisane adaptery. Ciekawe, dlaczego zdecydowali\u015bcie si\u0119 stworzy\u0107 w\u0142asne narz\u0119dzie, zamiast napisa\u0107 adapter do jakiego\u015b gotowego rozwi\u0105zania? My\u015bl\u0119, \u017ce dostrojenie edytora testowego to szybka sprawa. Dlaczego zdecydowali\u015bcie si\u0119 na tyle pracy?<\/em><\/p>\n<p><\/p>\n<p>Tu jest ciekawy moment \u2013 bowiem jestem CTO, a nie data scientist. W momencie, gdy zacz\u0119li\u015bmy wdra\u017ca\u0107 Druid, w moim planie by\u0142o gdzie\u015b 50% zada\u0144 \u2013 policzmy to lub to, albo to przeanalizujmy. I wysz\u0142o tak, \u017ce wdro\u017cyli\u015bmy ClickHouse. Szybko wszystko zbudowa\u0142em, policzy\u0142em, szybko zamkn\u0105\u0142em m\u00f3j plan. I w tamtym momencie zrozumia\u0142em, \u017ce brakuje mi wiedzy w zakresie Data Science, w zakresie wizualizacji danych. Tabix \u2013 to troch\u0119 moje domowe zadanie w zakresie uczenia si\u0119 wizualizacji danych. Patrzy\u0142em, jak doda\u0107 Zeppelin. Mam niewielk\u0105 niech\u0119\u0107 do jego programowania. Redash te\u017c zobaczy\u0142em, jak wzbogaci\u0107, ale brakowa\u0142o mi tam normalnego edytora. A SuperSet te\u017c jest napisany w j\u0119zyku, kt\u00f3rego zbytnio nie lubi\u0119. Dlatego zdecydowa\u0142em si\u0119 na zbudowanie w\u0142asnego rozwi\u0105zania, i oto, co z tego wysz\u0142o.<\/p>\n<p><\/p>\n<p><em>Igor, przyjmujesz pull requesty?<\/em><\/p>\n<p><\/p>\n<p>Tak.<\/p>\n<p><\/p>\n<p><em>Dzi\u0119kuj\u0119 bardzo za prezentacj\u0119! I dwa pytania. Po pierwsze \u2013 nie bardzo pochlebnie wyra\u017casz si\u0119 o<\/em> Javascript. Pisa\u0142e\u015b w czystym Javascript, czy jednak u\u017cywa\u0142e\u015b jakiego\u015b frameworka?*<\/p>\n<p><\/p>\n<p>Lepiej w czystym Javascript.<\/p>\n<p><\/p>\n<p>Wi\u0119c jaki framework?<\/p>\n<p><\/p>\n<p>Angular.<\/p>\n<p><\/p>\n<p><em>Rozumiem. A drugie pytanie. Czy rozwa\u017ca\u0142e\u015b<\/em> R <em>i<\/em> *<strong>Shiny**<\/strong>?*<\/p>\n<p><\/p>\n<p>Rozwa\u017ca\u0142em. Bawi\u0142em si\u0119 tym. <\/p>\n<p><\/p>\n<p><em>Mo\u017cna by\u0142o te\u017c po prostu napisa\u0107 adapter.<\/em><\/p>\n<p><\/p>\n<p>Jest. Chyba spo\u0142eczno\u015b\u0107 go zrobi\u0142a, ale tak jak odpowiada\u0142em na poprzednie pytanie, chcia\u0142em osobi\u015bcie spr\u00f3bowa\u0107.<\/p>\n<p><\/p>\n<p>*Nie, je\u015bli chodzi o wizualizacj\u0119, tam to ju\u017c jest.<\/p>\n<p><\/p>\n<p>M\u00f3wisz, \u017ce jest co\u015b takiego i to narysuje ci wykres. Otworzy\u0142em ksi\u0105\u017ck\u0119 o wizualizacji danych. I pomy\u015bla\u0142em: \u201eSpr\u00f3buj\u0119 to zwizualizowa\u0107. Sam napisz\u0119, \u017ceby to odtworzy\u0142o dane\u201d. I zacz\u0105\u0142em lepiej rozumie\u0107 technologi\u0119 podawania danych. A gdybym wzi\u0105\u0142 gotowy komponent, osobi\u015bcie gorzej bym nauczy\u0142 si\u0119 go u\u017cywa\u0107, tzn. dok\u0142adnie wizualizacji. Ale tak \u2013 tak, R mi si\u0119 spodoba\u0142, ale jeszcze nie czyta\u0142em ksi\u0105\u017cki \u201eR dla d\u0105\u017c\u0105cych do przoduj\u0105cych\u201d <\/p>\n<p><\/p>\n<p><em>Dzi\u0119kuj\u0119!<\/em><\/p>\n<p><\/p>\n<p><em>Proste pytanie. Czy s\u0105 jakie\u015b mo\u017cliwo\u015bci szybkiego wyeksportowania tabeli, wykresu?<\/em><\/p>\n<p><\/p>\n<p>Mo\u017cna wyeksportowa\u0107 do CSV, do Excela.<\/p>\n<p><\/p>\n<p><em>Nie danych, a gotowej tabeli, gotowego wykresu? Na przyk\u0142ad, aby pokaza\u0107 kierownictwu.<\/em><\/p>\n<p><\/p>\n<p>Jest przycisk \u201eEksportuj\u201d oraz przycisk \u201eEksportuj wykres do png, jpg\u201d.<\/p>\n<p><\/p>\n<p><em>Dzi\u0119kuj\u0119!<\/em><\/p>\n<p><\/p>\n<p>P.S. Kr\u00f3tka instrukcja instalacji tabix<\/p>\n<p><\/p>\n<ul>\n<li>Pobierz <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/smi2\/tabix.ui\/releases\">ostatnia wersja<\/a><\/noindex><\/li>\n<li>Rozpakowa\u0107, skopiowa\u0107 katalog <code>build<\/code> do nginx root_path<\/li>\n<li>Skonfigurowa\u0107 nginx<\/li>\n<\/ul>\n<p>\u0179r\u00f3d\u0142o: <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\/pl\/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=\"pl_PL\" \/>\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\/pl\/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 wizualnie szybka i przejrzysta analiza danych w Tabix. Igor Strycharz | ProHoster","description":"Zach\u0119cam do zapoznania si\u0119 z interpretacj\u0105 raportu z 2017 roku Igora Strychara \u201eClickHouse \u2013 wizualnie szybka i przejrzysta analiza danych w Tabix\u201d. Interfejs webowy dla ClickHouse w projekcie Tabix..","canonical_url":"https:\/\/prohoster.info\/pl\/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":"pl_PL","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\/pl\/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\/pl\/wp-json\/wp\/v2\/posts\/73358","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=73358"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/73358\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media\/73359"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=73358"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=73358"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=73358"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}