ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Прапаную азнаёміцца ​​з расшыфроўкай дакладу 2017 года Ігар Стрыхар «ClickHouse – візуальна хуткі і наглядны аналіз дадзеных у Tabix».

Вэб-інтэрфейс для ClickHouse у праекце Tabix.
Асноўныя магчымасці:

  • Працуе з ClickHouse напрамую з браўзэра, без неабходнасці ўстаноўкі дадатковага ПЗ;
  • Рэдактар ​​запытаў з падсветкай сінтаксісу;
  • Аўтадапаўненне каманд;
  • Інструменты графічнага аналізу выканання запытаў;
  • Каляровыя схемы на выбар.
    ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар


ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Я - тэхнічны дырэктар СМІ2. Мы - абменны агрэгатар навін навін. Мы захоўваем шмат дадзеных, якія атрымліваем ад нашых партнёраў і рэгіструем іх у ClickHouse - каля 30 000 запытаў у секунду.

Гэта такія дадзеныя, як:

  • Клікі па навінах.
  • Паказы навін у агрэгатары.
  • Паказы банэраў у нашай сетцы.
  • І рэгіструем падзеі з нашага ўласнага лічыльніка, які накшталт Яндэкс.Метрыкі. Гэта наша ўласная мікрааналітыка.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

У нас было вельмі бурнае жыццё да ClickHouse. Мы вельмі пакутавалі, спрабуючы складаваць гэтыя дадзеныя некуды і неяк іх прааналізаваць.

Жыццё да ClickHouse - infiniDB

Першае, што ў нас было, гэта infiniDB. Яна ў нас пражыла 4 гады. Мы яе запусцілі з цяжкасцю.

  • Яна не падтрымлівае кластарызацыю або шардзіраванне. Ніякія такія разумныя рэчы яна са скрынкі па змаўчанні не завяліся.
  • У яе складанасці з загрузкай даных. Толькі спецыфічная кансольная ўтыліта, якая магла толькі грузіць CSV-файлы і толькі неяк вельмі незразумела.
  • База дадзеных аднаструменная. Можна было альбо пісаць, альбо чытаць. Але яна дазваляла апрацоўваць вялікі аб'ём даных.
  • І яшчэ ў яе быў цікавы мыліца. Кожную ноч трэба было патрабаваць сервер, інакш ён не працаваў.

Прапрацавала яна ў нас да канца 2016 года, калі мы поўнасцю перайшлі на ClickHouse.

Жыццё да ClickHouse - Cassandra

Т. к. infiniDB была аднаструменнай, мы вырашылі, што нам патрэбна нейкая шматструменная база, у якой мы можам пісаць вельмі шмат патокаў адначасова.

Мы паспрабавалі шмат цікавых рэчаў. Потым вырашылі паспрабаваць Cassandra. З Cassandra у нас усё было выдатна. 10 запытаў у секунду на стаўку. 000 запытаў дзесьці на чытанне.

Але ў яе таксама былі свае цікавасці. Раз у месяц ці разы на два месяцы ў яе здаралася рассінхранізацыя базы дадзеных. І прыходзілася прачынацца, і бегчы правіць Cassandra. Рэстартавалі серверы па чарзе. І ўсё рабілася гладка і прыгожа.

Жыццё да ClickHouse - Druid

Потым мы зразумелі, што нам трэба яшчэ больш пісаць даныя. У 2016 годзе мы пачалі глядзець Druid.

Druid - гэта адкрытая база, напісаная на Java. Вельмі спецыфічная. І падыходзіла пад clickstream, калі нам трэба захоўваць нейкі паток падзей і потым рабіць па іх агрэгацыю ці рабіць аналітычныя справаздачы.

Druid меў вэрсію 0.9.X.

Сама па сабе база даных разгортваецца вельмі цяжка. Гэта складанасць інфраструктуры. Каб яе разгарнуць трэба было паставіць шмат-шмат жалеза. І кожнае жалеза адказвала за сваю асобную ролю.

Каб загрузіць дадзеныя ў яе, трэба было прымяняць нейкае шаманства. Ёсць OpenSource праект - Tranquility, які ў струмені губляў у нас дадзеныя. Калі мы ў яго загружалі дадзеныя, ён іх губляў.

Але неяк мы яго пачалі ўкараняць. Мы, як вожыкі, якія калоліся, але працягвалі есці кактус, пачалі яго ўкараняць. Недзе месяц нам спатрэбіўся, каб падрыхтаваць усю інфраструктуру пад яго. Т. е. замовіць сервера, наладзіць ролі, вырабіць поўную аўтаматызацыю разгортвання. Т. е. у выпадку падзення кластара, каб аўтаматычна разгортваўся другі кластар.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Але тут здарыўся цуд. Я быў у адпачынку, і мае калегі мне дасылаюць спасылку на хабр, дзе гаворыцца аб тым, што Яндэкс вырашыў адкрыць ClickHouse. Я кажу, што давайце паспрабуем.

І літаральна за 2 дні разгарнулі тэставы кластар ClickHouse. Пачалі загружаць у яго дадзеныя. У параўнанні з infiniDB - гэта элементарна, у параўнанні з Druid - гэта элементарна. У параўнанні з Cassandra таксама элементарна. Бо калі з php грузіць у Cassandra дадзеныя, тое гэта не элементарна.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Што мы атрымалі? Перформанс у хуткасці. Перфоманс у захоўванні даных. Т. е. выкарыстоўваецца значна менш дыскавай прасторы. ClickHouse - хуткі, ён вельмі хуткі ў параўнанні з іншымі прадуктамі.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

На момант запуску, калі Яндэкс апублікаваў ClickHouse у OpenSource, быў толькі кансольны кліент. Мы ў нашай кампаніі СМІ2 вырашылі паспрабаваць зрабіць натыўны кліент пад web, каб можна было з браўзэра адчыніць старонку, напісаць запыт і атрымаць вынік, таму што мы шмат пачалі пісаць запытаў. Пісаць у кансолі цяжка. І мы зрабілі першую нашу версію.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

І дзесьці бліжэй да зімы мінулага гады пачалі з'яўляцца іншыя прылады для працы з ClickHouse. Гэта такія інструменты, як:

Я разгледжу некаторыя з гэтых прылад, т. е. тыя, з якімі я працаваў.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Добрая прылада, але для Druid. Калі ўкаранялі Druid, я мацаў SuperSet. Мне ён спадабаўся. Для Druid ен працуе вельмі хутка.

Для ClickHouse ён не падыходзіць. Т. е. ён падыходзіць, ён запускаецца, але гатовы апрацоўваць толькі элементарныя запыты тыпу: SELECT event, GROUP BY event. Ён не падтрымлівае больш складаны сінтаксіс ClickHouse.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Наступны інструмент - Apache Zeppelin. Гэта добрая і цікавая рэч. Працуе. Ён падтрымлівае блакноты, дашборды, падтрымлівае зменныя. Я ведаю, што нехта з супольнасці ClickHouse яго выкарыстоўвае.

Але няма падтрымкі сінтаксісу ClickHouse, т. е. прыйдзецца запыты пісаць альбо ў кансолі, альбо яшчэ недзе. Далей правяраць, што ўсё гэта працуе. Гэта проста няёмка. Але падтрымка дашбордынгу ў яго добрая.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Наступны інструмент - гэта Redash.IO. Redash хосціцца ў інтэрнэце. Т. е. у адрозненні ад папярэдніх прылад яго не трэба ўсталёўваць. І гэта такі дашбордынг з магчымасцю кансалідацыі дадзеных з розных DataSource. Т. е. вы можаце выгрузіць з ClickHouse, з MySQL, з PostgreSQL і з іншых баз дадзеных.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Літаральна месяц таму (у сакавіку 2017 года) з'явілася падтрымка ў Grafana. Калі вы будуеце справаздачы ў Grafana, дапусцім, па стане вашага жалеза ці па нейкіх метрыках, то зараз можна будаваць такі ж графік ці нейкую панэльку з дадзеных з ClickHouse напрамую. Гэта вельмі зручна, і мы гэта выкарыстоўваем у сябе. Гэта дазваляе знайсці анамаліі. Т. е. калі нешта адбываецца і нейкае жалеза падае або напружваецца, то можна паглядзець прычыну, калі гэтыя дадзеныя паспелі патрапіць у ClickHouse.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Мне было вельмі няёмка пісаць у гэтых прыладах або ў кансолі. І я вырашыў дапрацаваць наш першы інтэрфейс. І падгледзеў ідэю ў EventSQL, SeperSet, Zeppelin.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Што хацелася? Жадалася атрымаць графікі, палепшаны рэдактар, рэалізаваць падтрымку слоўнікаў падказак. Таму што ў ClickHouse ёсць выдатная функцыя - гэта слоўнікі. Але са слоўнікамі цяжка працаваць, таму што трэба памятаць фармат захоўваемых значэнняў, г. зн. гэты лік ці радок і г. д. А так як мы часта выкарыстоўваем слоўнікі ў іх розных варыяцыях, то дастаткова цяжка было пісаць запыты.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Прайшло 3 месяцы ад рэлізу першай нашай версіі. Я нарабіў каля 330 комітаў у закрытую галінку і атрымаўся Tabix.

У адрозненні ад папярэдняй версіі, якая звалася ClickHouse-Frontend, я вырашыў пераназваць яго ў простую назву. І атрымаўся Tabix.

Што зьявілася?

Малюе графікі. Падтрымлівае SQL сінтаксіс ClickHouse. Падказвае па функцый і шмат чаго цікавага ўмее.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Вось так выглядае агульная схема Tabix. Злева прадстаўлена дрэва. Па цэнтры - гэта рэдактар ​​запыту. І знізу - гэта вынік гэтага запыту.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Далей пакажу, як працуе рэдактар ​​запыту.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Тут аўтаматычна аўтакампліт спрацаваў на табліцы і падказвае, адпаведна, аўтакампліт па палях. І падказкі па функцый. Калі націснуць ctrl увод, то запыт выканаецца ці зваліцца з памылкай. Самы просты запыт адпраўляецца ў Tabix і атрымліваецца вынік, т. е. хутка можна працаваць з ClickHouse.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Слоўнікі, як я ўжо сказаў, гэта вельмі цікавая штука, з якой мы вельмі шмат працуем. І якая дазволіла многія рэчы зрабіць. Дапусцім, у слоўніках мы захоўваем усе гарады. Захоўваем ідэнтыфікатар горада і імя горада, яго шырыню і даўгату. А ў базе захоўваем толькі ідэнтыфікатар горада. Адпаведна, мы сціскаем дадзеныя вельмі моцна.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Гэта, здавалася б, простая рэч, але ў ClickHouse яна вельмі цікава дапамагае. З-за таго, што ClickHouse падтрымлівае толькі укладзеныя join, запыт расце ўніз і ў шырыню дастаткова моцна. І калі клямарка адчыняецца, і ідзе нейкі доўгі выраз, то такая досыць простая рэч, як згортванне запыту, дапамагае лягчэй працаваць з самім запытам. Таму што калі запыт у 200-300 радкоў і ў шырыню ён вельмі вялізны, то вельмі ратуе згортванне запыту і пасля знайсці нейкае месца ці неяк яго лакалізаваць.

Дрэва аб'ектаў, мультызапыты і ўкладкі (Відэа 13:46 https://youtu.be/w1-XsL3nbRg?t=826)

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Наступнымі пакажу пра дрэва, укладкі. Злева - гэта дрэва, зверху можна ствараць некалькі ўкладак. Укладкі - гэта як workspace. Вы можаце стварыць некалькі ўкладак і кожную па-свойму назваць. Гэта як мінісістэма для пабудовы справаздачы.

Укладкі аўтаматычна захоўваюцца. Калі вы перазагрузіце браўзэр ці зачыніце, ці адкрыеце Tabix, тое ўсё гэта захаваецца.

Hotkey - зручна (Відэа 14:39 https://youtu.be/w1-XsL3nbRg?t=879)

Ёсць hotkey і іх дастаткова шмат. Я некаторыя вывеў з іх тут для прыкладу. Гэта пераключэнне ўкладкі, выканаць запыт або выканаць некалькі запытаў.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Пакажу, як працаваць з рэзультатам. Адпраўляем запыт. Тут я малюю sin, cos і tg. Можна падсвятліць вынік, т. е. тыпавую карту на калонку адмаляваць. Можна падсвятліць дадатныя ці адмоўныя значэнні. Або проста размаляваць нейкі пэўны элемент табліцы. Гэта зручна, калі табліца вялізная і трэба вачыма знайсці нейкую анамалію. Калі я шукаў анамаліі, я падсвятляў нейкія радкі, нейкія элементы зялёным ці чырвоным колерам.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Ёсць тамака шмат цікавых рэчаў. Напрыклад, як скапіяваць у Redmine Markdown. Калі трэба адкапіраваць кудысьці вынік, то гэта вельмі зручна. Можна проста вылучыць вобласць, сказаць "Copy to Redmine" і ён адкапіюе ў Redmine Markdown або створыць запыт Where.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Далей - гэта аптымізацыя запытаў. Я аднойчы забыўся пазначыць поле "date". І ў мяне запыт у ClickHouse апрацоўваўся не вельмі-вельмі хутка, але хутка, т. е. менш за секунду. Калі я ўбачыў, колькі ён радкоў прабягае, мне стала страшна. Мы за суткі столькі радкоў не пішам у гэтую табліцу. Я пачаў аналізаваць запыт і ўбачыў, што прапусціў дату ў адным месцы. Т. е. забыўся паказаць, што мне дадзеныя патрэбныя не па ўсёй табліцы, а трэба за нейкі пэўны перыяд.

У Tabix ёсць укладка "Stats", у якой захоўваюцца ўся гісторыя адпраўленых запытаў, т. е. там можна паглядзець, колькі радкоў было прачытана гэтым запытам і колькі часу ён выконваўся. Гэта дазваляе аптымізаваць.

Над вынікам запыту можна будаваць зводную табліцу. Вы даслалі запыт у ClickHouse, атрымалі нейкія дадзеныя. І далей гэтыя дадзеныя можна патузаць мышкай і пабудаваць нейкую зводную табліцу.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Наступная цікавая рэч - гэта пабудова графікаў. Дапушчальны, у нас вось такі запыт: на sin, cos ад 0 да 299. І каб яго адмаляваць трэба абраць укладку «Draw» і вы атрымаеце графік з вашымі sin і cos.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Можна разбіць гэта на розныя восі, г. зн. можна адмаляваць адразу два графікі побач. Напісаць адну каманду і другую каманду.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Можна адмаляваць гістаграмы.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Можна разбіць гэта на матрыцу графікаў.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Можна пабудаваць цеплавую карту.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Можна пабудаваць цеплавы каляндар. Дарэчы, вельмі зручная рэч, калі трэба прааналізаваць анамаліі за год, т. е. знайсці або воплескі, або падзенні. Мне дапамагла ў гэтым гэтая візуалізацыя звестак.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Наступны гэта Treemap.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Sankeys - цікавы графік. Ён альбо Streamgrahps, альбо River. Але я яго называю River. Ён таксама дазваляе шукаць нейкія анамаліі. Ён вельмі зручны. Рэкамендую выкарыстоўваць яго для пошуку.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Наступная цікавая рэч - гэта адмалёўка дынамічнай карты. Калі ў вас у базе дадзеных захоўваецца шырыня, даўгата і, дапусцім, захоўваецца прызначэнне, калі ў вас, да прыкладу, аўтаперавозкі ці самалёты лётаюць, то можна адмаляваць шляхі прызначэння. Таксама там можна задаць хуткасць, памер гэтых аб'ектаў, у якія яны прылятаюць.

Але праблема з гэтай картай у тым, што яна малюе толькі карту свету, няма дэталізацыі.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

У наступстве я дадаў Google map. Калі вы захоўваеце шырыню, даўгату, то можна адмаляваць вынік на Google map, але без падтрымкі самалёцікаў.

Асноўныя функцыі працы з вынікам, з запытам у Tabix мы абгаварылі.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Наступны - гэта аналіз вашага сервера ClickHouse. Ёсць асобная ўкладка "Метрыкі", у якіх можна паглядзець памер захоўваемых дадзеных па кожнай калонцы. На скрыншоце паказана, што вось гэтае поле "referrer" у нас займае нешта парадку 730 Gb. Калі мы адмовімся ад гэтага поля, то мы зэканомім тры шарды па 700 GB, т. е. парадку 2 TB, якія нам не патрэбныя.

Таксама ў нас ёсць поле "request_id", якое мы захоўваем у радку. Але калі мы пачнем яго захоўваць у лікавым выглядзе, то сцісне гэтае поле каласальна.

Таксама тут паказана канфігурацыя сервера і спіс нод вашага кластара.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Наступная ўкладка - гэта метрыкі. Яны залазяць у realtime c ClickHouse і проста дазваляюць прааналізаваць стан сервера і зразумець, што з ім адбываецца. Гэта не замена паўнавартаснай Grafana. Гэта неабходна для таго, каб хутка прааналізаваць.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Наступная ўкладка - гэта працэсы. Па іх можна зразумець, што адбываецца на сэрвэры. Зразумець, што там робіцца. У мяне быў запыт, які аджыраў на чытанне 200 GB кожны раз. Я гэта ўбачыў дзякуючы гэтаму інтэрфейсу. Адлавіў яго і падправіў. І атрымалася каля 30 GB, т. е. перфоманс у разы.

ClickHouse - візуальна хуткі і наглядны аналіз дадзеных у Tabix. Ігар Стрыхар

Дзякуй! І гэта ў OpenSource

Я скончыў. І, дарэчы, гэта ў OpenSource, гэта бясплатна і нават не трэба спампоўваць. Адкрывайце ў браўзэры і ўсё будзе працаваць.

пытанні

Ігар, што далей? Куды ты будзеш развіваць гэты інструмент?

Далей з'явіцца дашбордынгу, т. е., магчыма, з'явіцца дашбордынгу. Інтэграцыя з іншымі базамі даных. Гэта я зрабіў, але яшчэ не апублікаваў у OpenSource. Гэта MySQL і, магчыма, PostgreSQL. Т. е. можна будзе з Tabix адпраўляць запыты не толькі ў ClickHouse, але і ў іншыя прылады.

Відаць, што зроблены вялізны аб'ём працы. Атрымалася дастаткова паўнацэнная ідэя. У браўзэры зроблена, мабыць, для таго, каб выключыць мыліцы на ўсякіх восях і хуценька накідаць усю гэту справу. Я так чуў, што вы на PHP працуеце, таму прасцей за ўсё накідаць у браўзэры і ўсюды будзе працаваць. Да гэтага пытанняў няма. Пытанне такое. Там зроблена сапраўды вельмі шмат. Колькі чалавек над гэтым працавала? І колькі часу ўсё гэта заняло? Таму што прылады пад сябе звычайна не валодаюць такім вялікім функцыяналам.

З лета па восень працаваў адзін чалавек з нашай каманды. Гэта была першая версія. Потым 330 комітаў я адзін рабіў. Тое, што вы бачыце, мы з калегам напалову гэта рабілі. За 3 месяцы з першай самай версіі да апошняй я адзін у большай частцы зрабіў. Але я вельмі дрэнна ведаю Javascript. Гэта быў мой адзіны і, спадзяюся, апошні мой праект на Javascript, зь якім я працаваў. Ён мне дастаўся, я паглядзеў - о, жах. Але мне вельмі жадалася дарабіць прадукт і вось што атрымалася.

Дзякуй вялікі за даклад! Гэта выдатная прылада. З Жывая карціна параўноўвалі?

Дзякуй. Таму Tabix і назваў, бо першыя літары супадаюць.

Бо канкурыруеце?

Будзе шмат інвестыцыяў, будзем канкураваць.

Як прапануеце прадаць унутраным аналітыкам, што гэтая прылада цалкам заменіць *Tableau*? Якія будуць аргумэнты?

Натыўна працуе з ClickHouse. Я спрабаваў Tableau, але тамака нельга пісаць падтрымку слоўнікаў і таму падобнае. Я ведаю, як працуюць з Tabix людзі. Яны пішуць запыт, выгружаюць у CSV і загружаюць у BI. І ўжо там нешта робяць. Але я сабе з цяжкасцю ўяўляю, як яны гэта робяць, таму што - гэта графічны інструмент. Ён можа выгрузіць 5 радкоў, максімум 000 радкоў, але не больш, інакш браўзэр не вытрымае.

Т. е. ёсць нейкія сур'ёзныя абмежаванні па аб'ёме дадзеных, так?

Так. Я не ўявлю сабе, што вы захочаце 10 радкоў сабе ў табліцу выгрузіць на экран браўзэра. Навошта?

Мяркуецца, што гэта інтэрфейс для хуценькага прагляду даных? Пакруціць крыху, пакруціць?

Так, хутка паглядзець, як яно працуе і проста пабудаваць графік зводны. А далей аддаваць некуды. У нас гэта свая ўласная рэпартынг-сыстэма, адкуль я проста бяру вось гэты запыт. Малюю ў Tabix і адпраўляю ў рэпартынг наш.

І яшчэ пытанне. Кагортны аналіз?

Калі будуць пажаданні, дадамо.

Калі толькі пачыналі карыстацца ClickHouse, колькі заняло па часе ўкараненне ClickHouse і давядзенне да production-стану?

Як я і сказаў, мы ўкаранілі тэставы кластар за вельмі сціснутыя тэрміны. За два дні мы яго разгарнулі. І яшчэ пару тыдняў мы яго тэсціравалі. І да production мы дайшлі месяцы за 3. Але ў нас быў свой уласны ETL, г. зн. інструмент для запісу дадзеных. І ён у нас пісаў ва ўсё, што можна. Ён умее пісаць у MongoDB, Cassandra, MySQL. Навучыць яго пісаць у ClickHouse было проста. У нас была гатовая інфраструктура для хуткага ўкаранення. Месяца за 3 гады мы першы кампанент пачалі выкідваць. За 6 месяцаў мы поўнасцю адмовіліся ад усяго астатняга. У нас застаўся адзін ClickHouse.

Ігар, дзякуй вялікі за даклад. Мне вельмі спадабаўся функцыянал пабудовы шляхоў па картах. Ці плануецца інтэграцыя з Яндэкс.Картамі і ў прыватнасці з кастамнымі Яндэкс.Картамі?

Я паспрабаваў інтэгравацца замест Google map, але я не знайшоў цёмную тэму на Яндэкс.Картах. Я не расказаў адзін кавалачак. Адкручу, каб дапоўніць.

Слайд - Google map. Вось там ёсць каманда "DRAW_GMAPS", якая малюе карту. Ёсць каманда "DRAW_YMAPS", г.зн. можа адмаляваць Яндекс.Карту. А фактычна пад гэтай камандай знаходзіцца Javascript, т. е. дадзеныя, якія вы атрымліваецца з ClickHouse можна перадаць у Javascript, які вы тут напішыце. І ў вас на выхадзе ёсць вобласць, куды яна павінна адмалявацца. Можна любы графік адмаляваць, г. зн. любы графік, карту, можаце свой уласны кампанент адмаляваць. У мяне да гэтага была іншая бібліятэка для адмалёўкі саміх графікаў.

Т. е. там ёсць інструмент для кастамізацыі функцыяналу адлюстравання?

Любыя. Можна ўзяць і перафарбаваць гэтыя кропкі, зрабіўшы іх не чырвонымі, а сінімі, зялёнымі.

Дзякуй за даклад! У вас быў слайд, на якім былі прадстаўлены альтэрнатыўныя інструменты для запытаў ClickHouse для пабудовы дашбордаў, аналітычных справаздач. Я так зразумеў, што на момант, калі вы пачалі працаваць з ClickHouse, для гэтых інструментаў не былі напісаны адаптары. І мне цікава, чаму вы вырашылі рабіць сваю ўласную прыладу, замест таго, каб напісаць адаптар для нейкай гатовай прылады? Я думаю, што дацюніць тэставы рэдактар ​​- гэта хутка. Чаму вы вырашылі рабіць столькі працы?

Тут цікавы такі момант - справа ў тым, што я тэхнічны дырэктар, а не дата-саентыст. Да таго моманту, як мы пачалі ўкараняць Druid, у мяне ў roadmap было дзесьці 50 % задач - давайце палічым вось гэта ці давайце палічым вось гэта, ці вось гэта прааналізуем. І атрымалася так, што мы ўкаранілі ClickHouse. І пачаў усё хутка будаваць, лічыць, закрыў хутка свой roadmap. І да таго моманту я зразумеў, што мне бракуе ведаў па Data Science, па візуалізацыі дадзеных. Tabix - гэта свайго роду маё хатняе заданне па вывучэнні візуалізацыі дадзеных. Я глядзеў, як дапоўніць Zeppelin. У мяне ёсць лёгкае не каханне да яго праграмавання. Redash я паглядзеў, як дапоўніць, але мне хапала там нармальнага рэдактара. І SuperSet таксама напісаны на той мове, якую я не вельмі кахаю. І таму я вырашыў веласіпедаваць, і вось, што атрымалася.

Ігар, Pull request вы прымаеце?

Да.

Дзякуй вялікі за даклад! І два пытанні. Першы - вы не вельмі пахвальна адклікаецеся аб Javascript. Вы пісалі на голым Javascript ці ўсё ж гэта нейкі фрэймворк?*

Лепш на голым Javascript.

Дык які фрэймворк?

Кутні.

Зразумела. І другое пытанне. Ці не разглядалі вы R и *Shiny**?*

Разглядаў. Гуляўся.

Можна ж было таксама проста напісаць адаптар.

Ён ёсць. Накшталт кам'юніці яго зрабіў, але, як я адказваў на папярэдняе пытанне, мне захацелася самому памацаць.

*Не, наконт візуалізацыі, там жа ёсць.

Ты кажаш, што ёсьць такая штука і яна адмалюе табе графік. Я адкрыў кніжку па візуалізацыі звестак. І падумаў: «Давай-ка я паспрабую гэтыя дадзеныя адвізуалізаваць. Сам напішу, каб ён адбудаваў дадзеныя». І я пачаў лепш разбірацца ў тэхналогіі падачы даных. А калі б я ўзяў гатовы кампанент, я асабіста горш бы навучыўся б ім карыстацца, т. е. менавіта візуалізацыяй. Але так - так, R мне спадабалася, але я яшчэ не чытаў кніжку "R для чайнікаў".

Дзякуй!

Просты пытанне. Нейкія ёсць магчымасці хутка выгрузіць таблічку, графік?

Можна выгрузіць у CSV, у Excel.

Не дадзеныя, а гатовую таблічку, гатовы графік? Напрыклад, каб паказаць начальству.

Ёсць кнопачка "Выгрузіць" і ёсць кнопачка "Выгрузіць графік у png, у jpg".

Дзякуй!

PS Міні-інструкцыя па ўстаноўцы tabix

  • Спампаваць апошні рэліз
  • Распакаваць, скапіяваць дырэкторыю build у nginx root_path
  • Наладзіць nginx

Крыніца: habr.com

Дадаць каментар