ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

Mo daba pe ki o ka iwe afọwọkọ ti ijabọ 2017 nipasẹ Igor Stryhar “ClickHouse - wiwo iyara ati itupalẹ data mimọ ni Tabix.”

Ni wiwo oju opo wẹẹbu fun ClickHouse ninu iṣẹ akanṣe Tabix.
Осnovnые возможности:

  • Ṣiṣẹ pẹlu ClickHouse taara lati ẹrọ aṣawakiri, laisi iwulo lati fi sọfitiwia afikun sii;
  • Olootu ibeere pẹlu afihan sintasi;
  • Ipari awọn aṣẹ;
  • Awọn irinṣẹ fun itupalẹ ayaworan ti ipaniyan ibeere;
  • Awọn eto awọ lati yan lati.
    ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar


ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

Emi ni oludari imọ ẹrọ ti SMI2. A jẹ akopọ iroyin paṣipaarọ awọn iroyin. A tọju data pupọ ti a gba lati ọdọ awọn alabaṣiṣẹpọ wa ati forukọsilẹ ni ClickHouse - nipa awọn ibeere 30 fun iṣẹju kan.

Eyi jẹ data bii:

  • Tẹ lori iroyin.
  • Awọn ifihan iroyin ni aggregator.
  • Awọn ifihan asia lori nẹtiwọọki wa.
  • Ati pe a forukọsilẹ awọn iṣẹlẹ lati counter ti ara wa, eyiti o jẹ iru si Yandex.Metrica. Eyi ni awọn atupale micro-ara tiwa.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

A ni igbesi aye ti o nira pupọ ṣaaju ClickHouse. A jiya pupọ, ngbiyanju lati tọju data yii ni ibikan ati bakan ṣe itupalẹ rẹ.

Igbesi aye ṣaaju ClickHouse – infiniDB

Ohun akọkọ ti a ni ni infiniDB. O ti gbe pẹlu wa fun 4 ọdun. A ṣe ifilọlẹ pẹlu iṣoro.

  • Ko ṣe atilẹyin iṣupọ tabi pinpin. Ko si iru awọn ohun ọlọgbọn ti o jade kuro ninu apoti nipasẹ aiyipada.
  • O ni iṣoro lati ṣajọpọ data. Nikan IwUlO console kan pato ti o le gbe awọn faili CSV nikan ati ni diẹ ninu awọn ọna ti ko ṣe kedere.
  • Awọn database jẹ nikan-asapo. O le kọ tabi ka. Ṣugbọn o jẹ ki o ṣee ṣe lati ṣe ilana iye nla ti data.
  • Ati ki o tun ní ohun awon crutch. Ni gbogbo alẹ olupin naa ni lati tun bẹrẹ, bibẹẹkọ kii yoo ṣiṣẹ.

O ṣiṣẹ fun wa titi di opin ọdun 2016, nigbati a yipada patapata si ClickHouse.

Igbesi aye ṣaaju ClickHouse - Cassandra

Níwọ̀n bí infiniDB jẹ́ àtẹ̀wọ̀n ẹyọkan, a pinnu pé a nílò irú ibi-ipamọ́ data alásopọ̀-ọ̀pọ̀lọpọ̀ nínú èyí tí a lè kọ ọ̀pọ̀lọpọ̀ àwọn òwú ní àkókò kan náà.

A gbiyanju ọpọlọpọ awọn nkan ti o nifẹ. Lẹhinna a pinnu lati gbiyanju Cassandra. Ohun gbogbo ti jẹ nla pẹlu Cassandra. 10 ibeere fun keji fun idu. Awọn ibeere 000 ni ibikan fun kika.

Ṣugbọn o tun ni awọn anfani tirẹ. Lẹẹkan oṣu kan tabi lẹẹkan ni gbogbo oṣu meji o ni iriri imuṣiṣẹpọ data data kan. Ati pe Mo ni lati ji ati sare lati ṣe atunṣe Cassandra. Awọn olupin naa tun bẹrẹ ni ọkọọkan. Ati ohun gbogbo di dan ati ki o lẹwa.

Igbesi aye ṣaaju ClickHouse - Druid

Lẹhinna a rii pe a nilo lati kọ paapaa data diẹ sii. Ni 2016 a bẹrẹ wiwo Druid.

Druid jẹ sọfitiwia orisun ṣiṣi ti a kọ ni Java. Gan pato. Ati pe o dara fun titẹ ṣiṣan, nigba ti a nilo lati tọju iru ṣiṣan ti awọn iṣẹlẹ ati lẹhinna ṣe akopọ lori wọn tabi ṣe awọn ijabọ itupalẹ.

Druid ní version 0.9.X.

Awọn database ara jẹ gidigidi soro lati ran awọn. Eleyi jẹ awọn complexity ti awọn amayederun. Lati ran o, o jẹ dandan lati fi sori ẹrọ pupọ, ọpọlọpọ irin. Ati kọọkan nkan ti hardware wà lodidi fun awọn oniwe-ara lọtọ ipa.

Lati gbe data sinu rẹ, o jẹ dandan lati lo iru shamanism kan. Iṣẹ akanṣe OpenSource kan wa - Ifokanbalẹ, eyiti o padanu data lati ọdọ wa ni ṣiṣan kan. Nigba ti a ba kojọpọ data sinu rẹ, o padanu rẹ.

Ṣugbọn bakan a bẹrẹ lati ṣe imuse rẹ. A, bii hedgehogs ti o mu oogun ṣugbọn tẹsiwaju lati jẹ cactus, bẹrẹ lati ṣafihan rẹ. O gba to bii oṣu kan lati ṣeto gbogbo awọn amayederun fun u. Iyẹn ni, paṣẹ awọn olupin, tunto awọn ipa, ati imuṣiṣẹ adaṣe adaṣe ni kikun. Iyẹn ni, ni iṣẹlẹ ti ikuna iṣupọ kan, iṣupọ keji yoo gbejade laifọwọyi.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

Ṣugbọn nigbana ni iyanu kan ṣẹlẹ. Mo wa lori isinmi ati awọn ẹlẹgbẹ mi fi ọna asopọ kan ranṣẹ si mi habr, ti o sọ pe Yandex pinnu lati ṣii ClickHouse. Mo sọ pe jẹ ki a gbiyanju rẹ.

Ati ni itumọ ọrọ gangan ni awọn ọjọ 2 a ran iṣupọ idanwo ClickHouse kan. A bẹrẹ ikojọpọ data sinu rẹ. Ti a ṣe afiwe si infiniDB, eyi jẹ alakọbẹrẹ; ni akawe si Druid, eyi jẹ alakọbẹrẹ. Ti a ṣe afiwe si Cassandra, o tun jẹ alakọbẹrẹ. Nitori ti o ba gbe data lati PHP sinu Cassandra, lẹhinna eyi kii ṣe alakọbẹrẹ.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

Kini a gba? Išẹ ni iyara. Išẹ ni ipamọ data. Iyẹn ni, aaye disk ti o kere pupọ ti lo. ClickHouse yara, o yara pupọ ni akawe si awọn ọja miiran.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

Ni akoko ifilọlẹ, nigbati Yandex ṣe atẹjade ClickHouse ni OpenSource, alabara console nikan wa. A ni ile-iṣẹ wa SMI2 pinnu lati gbiyanju lati ṣe alabara abinibi fun oju opo wẹẹbu, ki a le ṣii oju-iwe kan lati ẹrọ aṣawakiri kan, kọ ibeere kan ati gba abajade, nitori a bẹrẹ kikọ ọpọlọpọ awọn ibeere. Kikọ ninu console jẹ nira. Ati pe a ṣe ẹya akọkọ wa.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

Ati ni ibikan ti o sunmọ igba otutu ti ọdun to koja, awọn irinṣẹ ẹnikẹta fun ṣiṣẹ pẹlu ClickHouse bẹrẹ si han. Awọn wọnyi ni awọn irinṣẹ bii:

Emi yoo wo diẹ ninu awọn irinṣẹ wọnyi, iyẹn, awọn ti mo ti ṣiṣẹ pẹlu.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

A ti o dara ọpa, ṣugbọn fun Druid. Nigbati Druid n ṣe imuse, Mo n ṣe idanwo SuperSet. Mo feran re. Fun Druid o yara pupọ.

Ko dara fun ClickHouse. Iyẹn ni, o baamu, o bẹrẹ, ṣugbọn o ti ṣetan lati ṣe ilana awọn ibeere alakọbẹrẹ nikan bii: Iṣẹlẹ Yan, GROUP BY iṣẹlẹ. Ko ṣe atilẹyin sintasi ClickHouse eka diẹ sii.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

Ọpa atẹle jẹ Apache Zeppelin. Eyi jẹ ohun ti o dara ati ti o nifẹ. Awọn iṣẹ. O ṣe atilẹyin awọn iwe ajako, dasibodu, ati atilẹyin awọn oniyipada. Mo mọ ẹnikan ni ClickHouse agbegbe nlo o.

Ṣugbọn ko si atilẹyin fun sintasi ClickHouse, ie iwọ yoo ni lati kọ awọn ibeere boya ninu console tabi ibomiiran. Nigbamii, ṣayẹwo pe gbogbo rẹ ṣiṣẹ. O kan korọrun. Ṣugbọn o ni atilẹyin dasibodu to dara.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

Ọpa atẹle jẹ Redash.IO. Redash ti gbalejo lori Intanẹẹti. Iyẹn ni, ko dabi awọn irinṣẹ iṣaaju, ko nilo lati fi sori ẹrọ. Ati pe eyi jẹ dasibodu pẹlu agbara lati fese data lati oriṣiriṣi DataSources. Iyẹn ni, o le ṣe igbasilẹ lati ClickHouse, lati MySQL, lati PostgreSQL ati lati awọn apoti isura data miiran.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

Ni oṣu kan sẹhin (Oṣu Kẹta ọdun 2017), atilẹyin han ni Grafana. Nigbati o ba kọ awọn ijabọ ni Grafana, fun apẹẹrẹ, lori ipo ohun elo rẹ tabi lori diẹ ninu awọn metiriki, ni bayi o le kọ iwọn kanna tabi iru nronu kan lati data lati ClickHouse taara. Eleyi jẹ gidigidi rọrun, ati awọn ti a lo o ara wa. Eyi n gba ọ laaye lati wa awọn anomalies. Iyẹn ni, ti nkan ba ṣẹlẹ ati pe ohun elo kan ṣubu tabi di wahala, lẹhinna o le wo idi ti data yii ba ṣakoso lati wọle si ClickHouse.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

Mo rii pe o buruju pupọ lati kọ sinu awọn irinṣẹ wọnyi tabi ninu console. Ati ki o Mo pinnu lati mu wa akọkọ ni wiwo. Ati pe Mo ni imọran lati EventSQL, SeperSet, Zeppelin.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

Kini o fẹ? Mo fẹ lati gba awọn eya aworan, olootu ilọsiwaju, ati imuse atilẹyin fun awọn iwe-itumọ itọka. Nitori ClickHouse ni ẹya nla - awọn iwe-itumọ. Ṣugbọn o ṣoro lati ṣiṣẹ pẹlu awọn iwe-itumọ, nitori o nilo lati ranti ọna kika ti awọn iye ti a fipamọ, ie o jẹ nọmba tabi okun, bbl Ati pe niwọn igba ti a lo awọn iwe-itumọ nigbagbogbo ni awọn iyatọ oriṣiriṣi wọn, o nira pupọ lati kọ awọn ibeere.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

Awọn oṣu 3 ti kọja lati itusilẹ ti ẹya akọkọ wa. Mo ṣe nipa awọn adehun 330 si ẹka aladani kan ati pe o jẹ Tabix.

Ko dabi ẹya ti tẹlẹ, eyiti a pe ni ClickHouse-Frontend, Mo pinnu lati tun lorukọ rẹ si orukọ ti o rọrun. Ati awọn ti o wa ni jade Tabix.

Kini o farahan?

Yiya awọn aworan. Atilẹyin ClickHouse SQL sintasi. Fun imọran lori awọn iṣẹ ati pe o le ṣe ọpọlọpọ awọn ohun ti o nifẹ.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

Eyi ni ohun ti ero Tabix gbogbogbo dabi. Ni apa osi ni igi kan. Ni aarin ni olootu ibeere. Ati ni isalẹ ni abajade ibeere yii.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

Nigbamii Emi yoo fihan ọ bi olootu ibeere ṣe n ṣiṣẹ.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

Nibi autocomplete ṣiṣẹ laifọwọyi lori tabili ati ki o ta, ni ibamu, autocomplete fun awọn aaye. Ati awọn italologo lori awọn iṣẹ. Ti o ba tẹ ctrl tẹ, ibeere naa yoo ṣiṣẹ tabi kuna pẹlu aṣiṣe kan. Ibeere ti o rọrun julọ ni a firanṣẹ si Tabix ati pe abajade ti gba, ie o le yara ṣiṣẹ pẹlu ClickHouse.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

Awọn iwe-itumọ, bi Mo ti sọ tẹlẹ, jẹ ohun ti o nifẹ pupọ pẹlu eyiti a ṣiṣẹ pupọ. Ati eyiti o jẹ ki a ṣe ọpọlọpọ awọn nkan. Jẹ ki a sọ pe a tọju gbogbo awọn ilu ni awọn iwe-itumọ. A tọju idamo ilu ati orukọ ilu, latitude ati longitude rẹ. Ati ninu ibi ipamọ data a tọju idanimọ ilu nikan. Nitorinaa, a rọ data naa ni agbara pupọ.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

Eyi dabi ohun ti o rọrun, ṣugbọn o ṣe iranlọwọ ni ClickHouse ni ọna ti o nifẹ pupọ. Nitori otitọ pe ClickHouse nikan ṣe atilẹyin awọn akojọpọ itẹ-ẹiyẹ, ibeere naa dagba si isalẹ ati jakejado to. Ati nigbati akọmọ ba ṣii ati diẹ ninu ikosile gigun wa, lẹhinna nkan ti o rọrun bi biba ibeere naa jẹ ki o rọrun lati ṣiṣẹ pẹlu ibeere funrararẹ. Nitori nigbati ibeere naa ba jẹ awọn laini 200-300 gigun ati tobi pupọ ni iwọn, o ṣe iranlọwọ pupọ lati ṣubu ibeere naa lẹhinna wa aaye kan tabi bakanna sọ agbegbe rẹ di.

Igi ohun, awọn ibeere pupọ ati awọn taabu (Fidio 13:46 https://youtu.be/w1-XsL3nbRg?t=826)

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

Nigbamii Emi yoo fihan ọ nipa igi ati awọn taabu. Ni apa osi ni igi kan; lori oke o le ṣẹda awọn taabu pupọ. Awọn taabu dabi aaye iṣẹ. O le ṣẹda awọn taabu pupọ ki o fun ọkọọkan lorukọ ọtọtọ. O dabi eto-kekere kan fun kikọ ijabọ kan.

Awọn taabu ti wa ni ipamọ laifọwọyi. Ti o ba tun ẹrọ aṣawakiri rẹ bẹrẹ tabi sunmọ tabi ṣi Tabix, gbogbo eyi yoo wa ni fipamọ.

Hotkey - rọrun (Fidio 14:39 https://youtu.be/w1-XsL3nbRg?t=879)

Awọn bọtini itẹwe wa ati pe ọpọlọpọ wọn wa. Mo ti jade diẹ ninu wọn nibi bi apẹẹrẹ. Eyi jẹ awọn taabu yi pada, ṣiṣe ibeere tabi ṣiṣe awọn ibeere pupọ.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

Emi yoo fihan ọ bi o ṣe le ṣiṣẹ pẹlu abajade. A firanṣẹ ibeere kan. Nibi ti mo n fa ese, cos ati tg. O le ṣe afihan abajade, ie fa maapu aṣoju fun iwe kan. O le ṣe afihan awọn iye rere tabi odi. Tabi nìkan awọ kan pato tabili ano. Eyi jẹ irọrun nigbati tabili ba tobi ati pe o nilo lati wa diẹ ninu anomaly pẹlu oju rẹ. Nigbati mo n wa awọn ohun aiṣedeede, Mo ṣe afihan diẹ ninu awọn ila, diẹ ninu awọn eroja ni alawọ ewe tabi pupa.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

Ọpọlọpọ awọn nkan ti o nifẹ si wa nibẹ. Fun apẹẹrẹ, bii o ṣe le daakọ sinu Redmine Markdown. Ti o ba nilo lati daakọ abajade ni ibikan, eyi rọrun pupọ. O le nirọrun yan agbegbe kan, sọ “Daakọ si Redmine” ati pe yoo daakọ sinu Redmine Markdown tabi ṣẹda ibeere Nibo kan.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

Nigbamii ni iṣapeye ibeere. Mo ti gbagbe lẹẹkan lati pato aaye "ọjọ". Ati pe ibeere mi ni ClickHouse ko ni ilọsiwaju pupọ, yarayara, ṣugbọn yarayara, ie kere ju iṣẹju kan. Nigbati mo ri iye awọn ila ti o gba nipasẹ, Mo bẹru. A ko kọ ọpọlọpọ awọn ori ila si tabili yii ni ọjọ kan. Mo bẹrẹ itupalẹ ibeere naa ati rii pe Mo ti padanu ọjọ kan ni aye kan. Iyẹn ni, Mo gbagbe lati tọka pe Emi ko nilo data fun gbogbo tabili, ṣugbọn fun akoko kan pato.

Tabix ni taabu “Awọn iṣiro” kan, eyiti o tọju gbogbo itan-akọọlẹ ti awọn ibeere ti a firanṣẹ, ie nibẹ o le rii iye awọn laini ti o ka nipasẹ ibeere yii ati bii o ṣe pẹ to lati ṣiṣẹ. Eyi ngbanilaaye iṣapeye.

O le kọ tabili pivot lori abajade ibeere naa. O firanṣẹ ibeere kan si ClickHouse ati gba diẹ ninu data. Ati lẹhinna o le gbe data yii pẹlu asin rẹ ki o kọ iru tabili pivot kan.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

Nigbamii ti awon ohun ti wa ni igbero. Jẹ ki a sọ pe a ni ibeere wọnyi: fun ẹṣẹ, cos lati 0 si 299. Ati lati fa o, o nilo lati yan taabu "Fa" ati pe iwọ yoo gba aworan kan pẹlu ẹṣẹ rẹ ati cos.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

O le pin eyi si oriṣiriṣi awọn aake, ie o le ya awọn aworan meji ni ẹgbẹ ni ẹgbẹ ni ẹẹkan. Kọ aṣẹ kan ati aṣẹ keji.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

O le ya awọn histogram.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

O le fọ eyi si isalẹ sinu matrix ti awọn aworan.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

O le kọ maapu ooru kan.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

O le kọ kan gbona kalẹnda. Nipa ọna, eyi jẹ ohun ti o rọrun pupọ nigbati o nilo lati ṣe itupalẹ awọn asemase ju ọdun kan lọ, ie, wa boya awọn spikes tabi awọn silė. Wiwo data yii ṣe iranlọwọ fun mi pẹlu eyi.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

Next ni Treemap.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

Sankeys jẹ apẹrẹ ti o nifẹ. O jẹ boya Streamgrahps tabi Odò. Sugbon mo pe o River. O tun faye gba o lati wa fun eyikeyi anomalies. O ni itunu pupọ. Mo ṣeduro lilo rẹ fun wiwa.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

Nigbamii ti awon ohun ti wa ni yiya a ìmúdàgba map. Ti o ba tọju latitude, longitude ninu aaye data rẹ ati, sọ, tọju ibi-afẹde kan, ti o ba, fun apẹẹrẹ, ni oko nla tabi awọn ọkọ ofurufu ti n fo, lẹhinna o le fa awọn ipa ọna ibi. Paapaa nibẹ o le ṣeto iyara ati iwọn awọn nkan wọnyi sinu eyiti wọn fo.

Ṣugbọn iṣoro pẹlu maapu yii ni pe o fa maapu agbaye nikan, ko si alaye.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

Nigbamii Mo fi Google map kun. Ti o ba tọju latitude, longitude, lẹhinna o le fa abajade lori maapu Google, ṣugbọn laisi atilẹyin ọkọ ofurufu.

A ti jiroro awọn iṣẹ akọkọ ti ṣiṣẹ pẹlu awọn abajade ati awọn ibeere ni Tabix.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

Eyi ti o tẹle jẹ itupalẹ ti olupin ClickHouse rẹ. Taabu “Metrics” lọtọ wa, nibiti o ti le rii iwọn data ti o fipamọ fun iwe kọọkan. Sikirinifoto fihan pe aaye “itọkasi” yii gba to 730 Gb. Ti a ba fi aaye yii silẹ, a yoo fipamọ awọn shards mẹta ti 700 GB kọọkan, ie nipa 2 TB ti a ko nilo.

A tun ni aaye "request_id" ti a fipamọ sinu okun kan. Ṣugbọn ti a ba bẹrẹ fifipamọ rẹ ni ọna nọmba, aaye yii yoo dinku pupọ.

O tun fihan iṣeto olupin ati atokọ ti awọn apa inu iṣupọ rẹ.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

Taabu atẹle jẹ awọn metiriki. Wọn wọle si akoko gidi pẹlu ClickHouse ati irọrun gba ọ laaye lati ṣe itupalẹ ipo olupin naa ki o loye ohun ti n ṣẹlẹ si. Eyi kii ṣe rirọpo fun Grafana ni kikun. Eyi jẹ pataki fun itupalẹ iyara.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

Nigbamii ti taabu ni awọn ilana. Lati ọdọ wọn o le ni oye ohun ti n ṣẹlẹ lori olupin naa. Loye ohun ti n ṣẹlẹ nibẹ. Mo ni ibeere kan ti o jẹ 200 GB ti kika ni akoko kọọkan. Mo ti ri yi ọpẹ si yi ni wiwo. Mo mú un mo sì tún un ṣe. Ati pe o wa ni iwọn 30 GB, ie iṣẹ kan ni awọn igba.

ClickHouse – iyara oju ati itupalẹ data inu inu ni Tabix. Igor Stryhar

E dupe! Ati pe o wa ni OpenSource

Mo ti pari. Ati nipasẹ ọna, o jẹ OpenSource, o jẹ ọfẹ ati pe iwọ ko paapaa nilo lati ṣe igbasilẹ rẹ. Ṣii ni ẹrọ aṣawakiri kan ati pe ohun gbogbo yoo ṣiṣẹ.

Awọn ibeere

Igor, kini atẹle? Nibo ni iwọ yoo ṣe agbekalẹ irinṣẹ yii?

Nigbamii ti, awọn dasibodu yoo han, ie, boya awọn dasibodu yoo han. Integration pẹlu miiran infomesonu. Mo ṣe eyi, ṣugbọn ko tii ṣe atẹjade ni OpenSource. Eyi jẹ MySQL ati o ṣee ṣe PostgreSQL. Iyẹn ni, yoo ṣee ṣe lati firanṣẹ awọn ibeere lati Tabix kii ṣe si ClickHouse nikan, ṣugbọn si awọn irinṣẹ miiran.

O han gbangba pe ọpọlọpọ iṣẹ ti a ti ṣe. O wa ni jade lati wa ni a iṣẹtọ pipe agutan. Eyi ni a ṣe ni ẹrọ aṣawakiri, nkqwe, lati le pa awọn crutches kuro lori gbogbo iru awọn aake ati ki o yara sọ gbogbo nkan naa papọ. Mo ti gbọ pe o wa lori PHP ṣiṣẹ, nitorinaa ọna ti o rọrun julọ ni lati tẹ ni ẹrọ aṣawakiri ati pe yoo ṣiṣẹ nibi gbogbo. Ko si ibeere nipa eyi. Ibeere naa ni eyi. Pupọ ti ṣe looto nibẹ. Eniyan melo ni o ṣiṣẹ lori eyi? Ati igba melo ni gbogbo rẹ gba? Nitoripe awọn irinṣẹ aṣa nigbagbogbo ko ni iṣẹ ṣiṣe pupọ.

Eniyan kan lati ẹgbẹ wa ṣiṣẹ lati igba ooru si Igba Irẹdanu Ewe. Eyi jẹ ẹya akọkọ. Lẹhinna Mo ṣe awọn iṣẹ 330 nikan. Ohun ti o rii, ẹlẹgbẹ mi ati Emi ṣe ni idaji. Ni awọn oṣu 3, lati ẹya akọkọ si ti o kẹhin, Mo ṣe pupọ julọ nikan. Sugbon Emi ko mọ Javascript daradara. Eyi ni nikan mi ati, Mo nireti, iṣẹ akanṣe Javascript ikẹhin mi ti Mo ṣiṣẹ pẹlu. Mo gba, Mo wo - oh, ẹru. Ṣugbọn Mo fẹ gaan lati pari ọja naa ati pe eyi ni ohun ti o ṣẹlẹ.

O ṣeun pupọ fun ijabọ naa! Eleyi jẹ nla kan ọpa. PẸLU Iwọn Njẹ o ti ṣe afiwe?

E dupe. Ìdí nìyẹn tí mo fi sọ orúkọ rẹ̀ Tabix, nítorí pé àwọn lẹ́tà àkọ́kọ́ jẹ́ bákan náà.

Nitoripe o dije?

Idoko-owo pupọ yoo wa, a yoo dije.

Bii o ṣe le funni lati ta si awọn atunnkanka inu pe ọpa yii yoo rọpo patapata *Tableau*? Kini yoo jẹ awọn ariyanjiyan?

Ṣiṣẹ abinibi pẹlu ClickHouse. Mo gbiyanju Tableau, ṣugbọn o ko ba le kọ support fun dictionaries ati bi nibẹ. Mo mọ bi eniyan ṣe n ṣiṣẹ pẹlu Tabix. Wọn kọ ibeere kan, gbee si CSV ati gbee si BI. Ati pe wọn ti n ṣe nkan tẹlẹ nibẹ. Ṣugbọn o ṣoro fun mi lati ronu bi wọn ṣe ṣe eyi, nitori pe o jẹ irinṣẹ ayaworan. O le gbe awọn ori ila 5 silẹ, o pọju awọn ori ila 000, ṣugbọn ko si siwaju sii, bibẹẹkọ ẹrọ aṣawakiri ko ni koju.

Iyẹn ni, awọn idiwọn pataki kan wa lori iye data, otun?

Bẹẹni. Emi ko le fojuinu pe iwọ yoo fẹ lati gbe awọn ori ila 10 sinu tabili rẹ sori iboju aṣawakiri rẹ. Fun kini?

Ṣe eyi tumọ si pe eyi jẹ wiwo fun wiwo data ni kiakia? Yipada diẹ diẹ, yi lọ bi?

Bẹẹni, yara wo bi o ṣe n ṣiṣẹ ati pe o kan kọ aworan akojọpọ kan. Ati lẹhinna fun ni ibikan. A ni eto ijabọ tiwa, lati ibiti Mo ti gba ibeere yii nirọrun. Mo fa ni Tabix ati firanṣẹ si ijabọ wa.

Ati ibeere miiran. Itupalẹ ẹgbẹ?

Ti awọn ibeere eyikeyi ba wa, a yoo ṣafikun.

Nigbawo ni o kan bẹrẹ lilo rẹ? ClickHouse, igba melo ni imuse naa gba? Tẹ Ile ati kiko si gbóògì ipinle?

Gẹgẹbi mo ti sọ, a ṣe imuse iṣupọ idanwo ni akoko kukuru pupọ. A gbe lọ ni ọjọ meji. Ati pe a ṣe idanwo fun ọsẹ meji diẹ sii. Ati pe a de iṣelọpọ ni awọn oṣu 3. Ṣugbọn a ni ETL tiwa, ie ohun elo fun gbigbasilẹ data. O si kowe ninu ohun gbogbo ti o le. O le kọ ni MongoDB, Cassandra, MySQL. O rọrun lati kọ ọ bi o ṣe le kọ ni ClickHouse. A ni awọn amayederun ti a ti ṣetan fun imuse ni iyara. Laarin awọn oṣu 3 a bẹrẹ jiju paati akọkọ. Ni awọn oṣu 6 a kọ ohun gbogbo silẹ patapata. A nikan ni ClickHouse kan sosi.

Igor, o ṣeun pupọ fun ijabọ naa. Mo nifẹ pupọ si iṣẹ ṣiṣe ti awọn ọna kikọ nipa lilo awọn maapu. Ṣe awọn ero eyikeyi wa fun isọpọ pẹlu Yandex.Maps ati ni pataki pẹlu aṣa Yandex.Maps?

Mo gbiyanju lati ṣepọ dipo Google map, ṣugbọn emi ko ri akori dudu lori Yandex.Maps. Nko so nkan kan fun yin. Emi yoo pada sẹhin lati ṣafikun.

Ifaworanhan – Google map. Aṣẹ kan wa “DRAW_GMAPS”, eyiti o fa maapu kan. Aṣẹ kan wa “DRAW_YMAPS”, ie o le fa Yandex.Map kan. Ṣugbọn ni otitọ, labẹ aṣẹ yii Javascript wa, ie data ti o gba lati ClickHouse le gbe lọ si Javascript, eyiti o kọ nibi. Ati pe o ni agbegbe ti o wu jade nibiti o yẹ ki o fa. O le ya aworan eyikeyi, ie eyikeyi aworan, maapu, o le fa paati tirẹ. Ṣaaju eyi, Mo ni ile-ikawe miiran fun iyaworan awọn aworan funrararẹ.

Iyẹn ni, ṣe ọpa kan wa fun isọdi iṣẹ ṣiṣe ifihan bi?

Eyikeyi. O le mu ki o tun ṣe awọn aami wọnyi, ṣiṣe wọn kii ṣe pupa, ṣugbọn buluu, alawọ ewe.

O ṣeun fun iroyin na! O ni ifaworanhan ti o ṣafihan awọn irinṣẹ ibeere yiyan Tẹ Ile fun kikọ dashboards ati analitikali iroyin. Mo loye pe ni akoko ti o bẹrẹ ṣiṣẹ pẹlu ClickHouse, ko si awọn oluyipada ti a ti kọ fun awọn irinṣẹ wọnyi. Ati pe Mo n iyalẹnu idi ti o fi pinnu lati ṣe ọpa tirẹ, dipo kikọ ohun ti nmu badọgba fun diẹ ninu awọn irinṣẹ ti a ti ṣetan? Mo ro pe tweaking olootu idanwo yara. Kini idi ti o pinnu lati ṣe ọpọlọpọ iṣẹ?

Ojuami ti o nifẹ si wa nibi - otitọ ni pe Emi jẹ oludari imọ-ẹrọ, kii ṣe onimọ-jinlẹ data. Ni akoko ti a bẹrẹ imuse Druid, oju-ọna opopona mi ni nipa 50% awọn iṣẹ ṣiṣe - jẹ ki a ṣe iṣiro eyi, tabi jẹ ki a ṣe iṣiro eyi, tabi ṣe itupalẹ eyi. Ati pe o wa ni pe a ṣe imuse ClickHouse. Ati pe o bẹrẹ lati kọ ohun gbogbo ni kiakia, ka, o si yara pa ọna-ọna rẹ. Ati ni akoko yẹn Mo rii pe Emi ko ni oye ni Imọ-jinlẹ data ati iworan data. Tabix jẹ iru iṣẹ amurele mi fun kikọ wiwo data. Mo n wo bi o ṣe le ṣe iranlowo Zeppelin. Mo ni ikorira diẹ fun siseto rẹ. Redash Mo wo bi o ṣe le ṣafikun rẹ, ṣugbọn olootu deede to fun mi. Ati SuperSet tun jẹ kikọ ni ede ti Emi ko fẹran gaan. Ati nitorinaa Mo pinnu lati gun kẹkẹ, ati pe eyi ni ohun ti o ṣẹlẹ.

Igor, ṣe o gba awọn ibeere Fa?

Bẹẹni.

O ṣeun pupọ fun ijabọ naa! Ati awọn ibeere meji. Ni akọkọ, iwọ ko sọrọ ni ipọnni pupọ nipa Javascript. Ṣe o kọ ni igboro Javascript tabi o jẹ iru ilana kan?*

Dara julọ ni igboro Javascript.

Nitorina kini ilana?

Angula.

O la gan an ni. Ati ibeere keji. Njẹ o ti ronu R и *Didan**?*

Ti ro o. Ti ṣere.

O tun le kan kọ ohun ti nmu badọgba.

Oun ni. O dabi ẹnipe agbegbe ṣe, ṣugbọn, bi mo ti dahun ibeere ti tẹlẹ, Mo fẹ gbiyanju funrararẹ.

* Rara, nipa iworan, o wa paapaa.

O sọ pe iru nkan bẹẹ wa ati pe yoo ya aworan kan fun ọ. Mo ṣii iwe kan lori iworan data. Mo sì rò pé: “Jẹ́ kí n gbìyànjú láti fojú inú wo data yìí. Emi yoo kọ si i ki o le tun data naa kọ. ” Ati pe Mo bẹrẹ lati ni oye imọ-ẹrọ ipese data daradara. Ati pe ti MO ba ti mu paati ti a ti ṣetan, Emi funrarami yoo ti kọ ẹkọ buru si bi a ṣe le lo, iyẹn ni, iwoju. Ṣugbọn bẹẹni, Mo nifẹ R, ṣugbọn Emi ko ka iwe “R fun Dummies” sibẹsibẹ.

O ṣeun!

Ibeere ti o rọrun. Ṣe awọn ọna eyikeyi wa lati yara po si ami tabi iṣeto bi?

Le ṣe gbejade si CSV tabi Tayo.

Kii ṣe data, ṣugbọn awo ti o ti ṣetan, aworan ti o ti ṣetan? Fun apẹẹrẹ, lati fihan Oga.

Bọtini kan wa “Po si” ati pe bọtini kan wa “Po si aworan agbeka ni png, ni jpg”.

O ṣeun!

PS Mini-ilana fun fifi tabix

  • Gba lati ayelujara titun Tu
  • Unpack, daakọ liana build ni nginx root_path
  • Ṣe atunto nginx

orisun: www.habr.com

Fi ọrọìwòye kun