Ju ftoj tĂ« njiheni me interpretimin e raportit tĂ« vitit 2017 nga Igor Strychar «ClickHouse â njĂ« analizĂ« e shpejtĂ« dhe vizuale e tĂ« dhĂ«nave nĂ« Tabix».
Ndërfaqja web për ClickHouse në projektin Tabix.
Funksionalitetet kryesore:
- Punon me ClickHouse drejtpërdrejt nga shfletuesi, pa nevojën për të instaluar softuer të shtuar;
- Redaktori i pyetjeve me përmbledhje sintaksore;
- Auto-sugjerimi i komandave;
- Mjetet për analizën grafike të ekzekutimit të pyetjeve;
- Skemat e ngjyrave për zgjedhje.



UnĂ« jam drejtor teknik i SMI2. Ne jemi njĂ« agregator i shkĂ«mbimit tĂ« lajmeve. Ne ruajmĂ« shumĂ« tĂ« dhĂ«na qĂ« i marrim nga partnerĂ«t tanĂ« dhe i regjistrojmĂ« nĂ« ClickHouse â rreth 30,000 pyetje nĂ« sekondĂ«.
Këto janë të dhëna si:
- Klikimet mbi lajmet.
- Shikimet e lajmeve në agregator.
- Shikimet e banerëve në rrjetin tonë.
- Dhe regjistrojmë ngjarje nga numëruesi ynë të vetin, i ngjashëm me Yandex.Metrika. Kjo është mikro-analitika jonë.

Kemi pasur një jetë shumë të trazuar para ClickHouse. Jemi munduar shumë duke u përpjekur t'i ruajmë këto të dhëna diku dhe t'i analizojmë ato siç duhet.
Jeta para ClickHouse â infiniDB
E para gjë që kishim, ishte infiniDB. Ajo jetoi për 4 vjet. E nisim me shumë vështirësi.
- Ajo nuk mbështet klasterizimin ose sharding. Asnjë gjë e tillë nuk është aktivizuar nga kutia në mënyrë të paracaktuar.
- Ajo kishte vështirësi në ngarkimin e të dhënave. Vetëm një mjet specifik konsol që mund të ngarkonte vetëm skedarë CSV dhe vetëm në një mënyrë shumë të paqartë.
- Baza e të dhënave është njëgjyshe. Mund të shkruaje ose të lexoje. Por e mundësonte të përpunonte një volum të madh të dhënash.
- Dhe kishte njĂ« zgjidhje interesante. Ădo natĂ« duhej tĂ« rimbushnim serverin, ndryshe ai nuk funksiononte.
Ajo punoi për ne deri në fund të vitit 2016, kur ne kaluam plotësisht në ClickHouse.
Jeta para ClickHouse â Cassandra
Meqenëse infiniDB ishte njëgjyshe, ne vendosëm se na duhej një bazë të dhënash shumëgjyshe në të cilin mund të shkruanim shumë rrjedha njëkohësisht.
Kemi provuar shumë gjëra interesante. Pastaj vendosëm të provojmë Cassandra. Me Cassandra gjithçka shkoi mrekullisht për ne. 10,000 kërkesa në sekondë për bast. Rreth 2,000 kërkesa për lexim.
Porë, ajo kishte interesat e saj. Një herë në muaj ose çdo dy muaj ndodhte një desinkronizim i bazës së të dhënave. Duhej të zgjoheshim dhe të vraponim për të riparuar Cassandra. Rindiznim serverët një nga një. Pastaj gjithçka bëhej e qetë dhe e bukur.
Jeta para ClickHouse â Druid
Pastaj e kuptuam se na duhej të shkruanim më shumë të dhëna. Në vitin 2016 filluam të shqyrtonim Druid.
Druid është një bazë e hapur, e shkruar në Java. Shumë specifike. Dhe ishte e përshtatshme për clickstream, kur na nevojitej të ruanim një rrjedhë ngjarjesh dhe pastaj të bënim agregim ose të krijonim raportet analitikë.
Druid kishte versionin 0.9.X.
Vetë baza e të dhënave instalohet shumë me vështirësi. Kjo është kompleksiteti i infrastrukturës. Për ta instaluar, duhej të vendosnim shumë-më shumë pajisje. Dhe çdo pajisje ishte përgjegjëse për rolin e saj të veçantë.
PĂ«r tĂ« ngarkuar tĂ« dhĂ«nat nĂ« tĂ«, duhej tĂ« aplikonim ndonjĂ« magji. Ekziston njĂ« projekt OpenSource â Tranquility, i cili humbiste tĂ« dhĂ«nat nĂ« rrjedhĂ«. Kur i ngarkonim tĂ« dhĂ«nat nĂ« tĂ«, ato humbisnin.
Por ndonjëherë e filluam të implementonim atë. Ne, si jelekët, që thitheshim, por vazhdojmë të hamë kaktusin, filluam ta zbatonim. Na duhej rreth një muaj për të përgatitur të gjithë infrastrukturën për të. Kjo do të thotë, të porositnim servera, të konfiguroni role, të realizonim automatizimin e plotë të zhvillimit. Kjo do të thotë, në rast të rënies së klastra, që një klaster tjetër të instalohej automatikisht.

Por ndodhi një mrekulli. Isha në pushim, dhe kolegët e mi më dërgojnë një lidhje në , ku flitet për faktin se Yandex vendosi të hapë ClickHouse. Them se le të provojmë.
Dhe pĂ«r vetĂ«m 2 ditĂ« u zhvillua njĂ« klaster testimi ClickHouse. Filluan tĂ« ngarkonin tĂ« dhĂ«na nĂ« tĂ«. Krahasuar me infiniDB â Ă«shtĂ« shumĂ« e lehtĂ«, krahasuar me Druid â Ă«shtĂ« shumĂ« e lehtĂ«. Krahasuar me Cassandra gjithashtu Ă«shtĂ« shumĂ« e lehtĂ«. Sepse nĂ«se ngarkon tĂ« dhĂ«nat nga php nĂ« Cassandra, kjo nuk Ă«shtĂ« e lehtĂ«.

ĂfarĂ« morĂ«m? PerformancĂ« nĂ« shpejtĂ«si. PerformancĂ« nĂ« ruajtjen e tĂ« dhĂ«nave. Kjo do tĂ« thotĂ« se pĂ«rdoret shumĂ« mĂ« pak hapĂ«sirĂ« disk. ClickHouse â Ă«shtĂ« i shpejtĂ«, Ă«shtĂ« shumĂ« i shpejtĂ« krahasuar me produkte tĂ« tjera.

Në momentin e lançimit, kur Yandex publikoi ClickHouse në OpenSource, kishte vetëm një klient konsolë. Ne në kompaninë tonë, SMI2, vendosëm të provonim të bënim një klient natyral për web, që të mund të hapnim një faqe nga shfletuesi, të shkruanim një pyetje dhe të merrnim rezultatin, sepse filluam të shkruanim shumë pyetje. Të shkruash në konsolë është e vështirë. Dhe ne bëmë versionin tonë të parë.

Dhe diku më afër dimrit të kaluar, filluan të shfaqen mjete të tjera për të punuar me ClickHouse. Këto janë mjete si:
- .
- .
- . (Tani )
- .
- .
Do të shqyrtoj disa nga këto mjete, dmth. ato me të cilat kam punuar.

Një instrument i mirë, por për Druid. Kur implementova Druid, e shqyrtova SuperSet. Më pëlqeu. Për Druid funksionon shumë shpejt.
Për ClickHouse nuk është i përshtatshëm. Dmth. është i përshtatshëm, funksionon, por është gati të përpunojë vetëm pyetje elementare si: SELECT event, GROUP BY event. Ai nuk mbështet sintaksën më të komplikuar të ClickHouse.

Instrumenti tjetĂ«r â Apache Zeppelin. ĂshtĂ« njĂ« gjĂ« e mirĂ« dhe interesante. Funksionon. Ai mbĂ«shtet shĂ«nime, panele monitorimi, mbĂ«shtet variablat. Di qĂ« dikush nga komuniteti ClickHouse e pĂ«rdor.
Porosie të sintaksës ClickHouse nuk është e mbështetur, që do të thotë se do të duhet të shkruani kërkesat ose në konsolë, ose diku tjetër. Më pas, duhet të verifikoni nëse gjithçka funksionon. Kjo është thjesht e pakëndshme. Por mbështetja për dashboard është shumë e mirë.

Arsyeja tjetĂ«r â Ă«shtĂ« Redash.IO. Redash Ă«shtĂ« i hostuar nĂ« internet. Kjo do tĂ« thotĂ« se ndryshe nga mjetet e mĂ«parshme, nuk Ă«shtĂ« e nevojshme ta instaloni. Ky Ă«shtĂ« njĂ« dĂ«shtim me mundĂ«si konsolidimi tĂ« tĂ« dhĂ«nave nga burime tĂ« ndryshme. KĂ«shtu qĂ« mund tĂ« tĂ«rheqni tĂ« dhĂ«na nga ClickHouse, MySQL, PostgreSQL dhe nga baza tĂ« tjera tĂ« dhĂ«nash.

Pikërisht një muaj më parë (në mars 2017) u prezantua mbështetja në Grafana. Kur ndërroni raporte në Grafana, për shembull, për gjendjen e pajisjeve tuaja ose për ndonjë metrikë, tani është e mundur të ndërtoni një grafik të ngjashëm ose ndonjë panel nga të dhënat nga ClickHouse direkt. Kjo është shumë e këndshme dhe ne e përdorim në sistemin tonë. Kjo lejon gjetjen e anomalive. Kështu që, nëse ndodh diçka dhe ndonjë pajisje bie ose ndjehet e ngarkuar, mund të shihni arsyen, përsa kohë këto të dhëna kanë arritur në ClickHouse.

Më dukej shumë e pakëndshme të shkruaja në këto mjete ose në konsolë. Kështu që kam vendosur të përmirësoj ndërfaqen tonë të parë. Kam marrë idenë nga EventSQL, SeperSet, Zeppelin.

ĂfarĂ« do tĂ« kishit? Doja tĂ« merrja grafikĂ«t, njĂ« redaktues tĂ« avancuar, tĂ« implementoja mbĂ«shtetje pĂ«r fjalorĂ«t e sugjerimeve. Sepse ClickHouse ka njĂ« funksion tĂ« shkĂ«lqyer - janĂ« fjalorĂ«t. Por Ă«shtĂ« e vĂ«shtirĂ« tĂ« punosh me fjalorĂ«t, sepse duhet tĂ« mbash mend formatin e vlerave tĂ« ruajtur, dmth. Ă«shtĂ« numĂ«r apo string etj. Dhe pasi qĂ« shpesh i pĂ«rdorim fjalorĂ«t nĂ« variacionet e tyre tĂ« ndryshme, ishte mjaft e vĂ«shtirĂ« tĂ« shkruaja pyetje.

Kanë kaluar 3 muaj nga lëshimi i versionit tonë të parë. Kam bërë rreth 330 komitë në degën e mbyllur dhe ka dalë Tabix.
Në krahasim me versionin e kaluar, i cili quhej ClickHouse-Frontend, vendosa ta riemëroj në një emër më të thjeshtë. Dhe ashtu doli Tabix.
ĂfarĂ« ka dalĂ«?
Vizaton grafikët. Mbështet sintaksën SQL të ClickHouse. Jep sugjerime për funksionet dhe ka shumë gjëra interesante që di të bëjë.

Këtu është skema e përgjithshme e Tabix. Në majë paraqitet një pemë. Në qendër - është redaktori i pyetjes. Dhe poshtë - është rezultati i kësaj pyetje.

MĂ« pas do t'ju tregoj se si funksionon redaktori i pyetjeve.

Këtu automatikisht ka funksionuar auto-k kompletimi në tabelë dhe jep sugjerime përkatëse, si auto-k kompletimi për fushat. Dhe sugjerimet për funksionet. Nëse shtypni ctrl + enter, kërkesa do të ekzekutohet ose do të ndodhë një gabim. Kërkesa më e thjeshtë dërgohet në Tabix dhe merrni rezultatin, domethënë, mund të punoni shpejt me ClickHouse.

Fjalorët, siç e thashë, janë një gjë shumë interesante, me të cilën ne punojmë shumë. Dhe që na ka lejuar të bëjmë shumë gjëra. Për shembull, në fjalorë ruajmë të gjitha qytetet. Ruajmë identifikuesin e qytetit dhe emrin e qytetit, gjerësinë dhe gjatësi. Ndërsa në bazë ruajmë vetëm identifikuesin e qytetit. Prandaj, ne i kompresojmë të dhënat shumë.

Kjo duket si një gjë e thjeshtë, por në ClickHouse ajo ndihmon në mënyrë shumë interesante. Për shkak se ClickHouse mbështet vetëm bashkime të thelluara, kërkesa rritet ndjeshëm në lartësi dhe gjerësi. Kur hapet një kllapë dhe vazhdon me një shprehje të gjatë, një gjë e tillë e thjeshtë si përmbledhja e kërkesës ndihmon për ta bërë punën me kërkesën më të lehtë. Sepse kur kërkesa ka 200-300 rreshta dhe është shumë e gjerë, përmbledhja e kërkesës është shpëtim dhe ndihmon për të gjetur një vend ose për ta lokalizuar.
Pema e objekteve, shumëkërkesat dhe tabet (Video 13:46) )

Tani do tĂ« tregoj pĂ«r pemĂ«n, tabet. NĂ« tĂ« majtĂ« â kjo Ă«shtĂ« pema, dhe lart mund tĂ« krijoni disa tab. Tabet janĂ« si njĂ« vend pune. Mund tĂ« krijoni disa tab dhe çdo njĂ«ri ta emĂ«rtoni sipas dĂ«shirĂ«s. Kjo Ă«shtĂ« si njĂ« mini sistem pĂ«r ndĂ«rtimin e raportit.
Tabet ruajnë automatikisht. Nëse rindizni shfletuesin tuaj ose e mbyllni, ose hapni Tabix, të gjitha këto do të ruajnë.
Celesi i shpejtĂ« â i dobishĂ«m (Video 14:39) )
Ka shumë celesa të shpejtë dhe unë kam nxjerrë disa prej tyre këtu si shembuj. Këto janë për kalimin e tab, për të ekzekutuar kërkesën ose për të ekzekutuar disa kërkesa.

Do të tregoj se si të punoni me rezultatin. Dërgojmë kërkesën. Këtu vizatoj sin, cos dhe tg. Mund të theksoj rezultatin, pra, të vizatoj një hartë tipike për kolonën. Mund të theksoj vlerat pozitive ose negative. Ose thjesht të koloroj ndonjë element specifik të tabelës. Kjo është e dobishme kur tabela është e madhe dhe duhet të gjej ndonjë anomali me sy. Kur kërkoja anomali, theksoja disa rreshta, disa elementë me ngjyrë të gjelbër ose të kuqe.

Ka shumë gjëra interesante aty. Për shembull, si të kopjoni në Redmine Markdown. Nëse duhet të kopjoni rezultatin diku, kjo është shumë e dobishme. Mund të thjesht të përzgjidhni zonën, të thoni "Copy to Redmine" dhe ai do ta kopjojë në Redmine Markdown ose do të krijojë një kërkesë Where.

Më pas është optimizimi i pyetjeve. Një herë e harrova të specifikoj fushën "date". Dhe pyetja ime në ClickHouse u përpunua mjaft shpejt, pra më pak se një sekondë. Kur pashë sa shumë rreshta kalon, mu bë frikë. Ne brenda një dite nuk shkruajmë aq shumë rreshta në këtë tabelë. Fillova të analizoj pyetjen dhe pashë se kisha humbur datën në një vend. Pra, harrova të specifikoj se më duhen të dhënat jo për të gjithë tabelën, por për një periudhë të caktuar.
Në Tabix ka një skedë "Stats", ku ruhet e gjithë historia e pyetjeve të dërguara, pra aty mund të shikoni se sa shumë rreshta janë lexuar nga kjo pyetje dhe sa kohë ka zgjatur ajo. Kjo lejon optimizimin.
Mund të ndërtoni një tabelë përmbledhëse mbi rezultatin e pyetjes. Ju dërguat një pyetje në ClickHouse, morët disa të dhëna. Më pas këto të dhëna mund t'i lëvizni me miun dhe të ndërtoni një tabelë përmbledhëse.

Gjëja tjetër interesante është ndërtimi i grafikëve. Le të themi, kemi këtë pyetje: për sin, cos nga 0 deri në 299. Dhe për ta vizatuar, duhet të zgjidhni skedën "Draw" dhe do të merrni grafik me sin dhe cos tuaj.

Kjo mund të ndahet në akse të ndryshme, dmth. mund të vizatoni dy grafikë ngjitur. Shkruani komandën e parë dhe komandën e dytë.

Mund të vizatoni histogramet.

Mund ta ndani këtë në një matricë grafikësh.

Mund të krijoni një hartë nxehtësie.

Mund të krijoni një kalendar nxehtësie. Përveç kësaj, është një gjë shumë e dobishme kur duhet të analizohet anomalitë për një vit, dmth. të gjeni ose shpërthimet, ose rëniet. Kjo vizualizim e të dhënave më ka ndihmuar në këtë.

Gjëja tjetër është Treemap.


Sankeys â njĂ« grafik interesant. Ai Ă«shtĂ« ose Streamgraphs, ose River. Por unĂ« e quaj River. Ai gjithashtu lejon tĂ« kĂ«rkoni disa anomalitĂ«. ĂshtĂ« shumĂ« i pĂ«rshtatshĂ«m. Rekomandoj ta pĂ«rdorni pĂ«r kĂ«rkimin.

Gjëja tjetër interesante është vizatimi i një harta dinamike. Nëse në bazën tuaj të të dhënave ruhen gjatësia, gjerësia dhe, le të themi, është ruajtur destinimi, nëse keni, për shembull, transport të automjeteve ose avionët fluturojnë, mund të vizatoni rrugët e destinacionit. Po ashtu, mund të specifikoni shpejtësinë, madhësinë e këtyre objekteve, në të cilat ato mbërrijnë.
Por problemi me këtë hartë është se ajo vizaton vetëm hartën e botës, nuk ka detaje.

Më pas, unë shtova Google Map. Nëse mbani gjatësinë dhe gjerësinë, mund të shfaqni rezultatin në Google Map, por pa përkrahjen e avionëve.
Funksionet kryesore për punën me rezultatin dhe kërkesën në Tabix i kemi diskutuar.

E ardhshmja është analiza e serverit tuaj ClickHouse. Ka një sektion të veçantë "Metrix", ku mund të shihni madhësinë e të dhënave të ruajtura për çdo kolonë. Në ekranin e kapur tregohet se kjo fushë "referrer" na merr rreth 730 GB. Nëse heqim këtë fushë, do të kursejmë tre sharda prej 700 GB, që do të thotë rreth 2 TB, të cilat nuk na nevojiten.
Po ashtu, kemi një fushë "request_id", të cilën e ruajmë si varg. Por nëse fillojmë ta ruajmë në formë numerike, do ta kompresojë këtë fushë ndjeshëm.
Po ashtu, këtu është tregohet konfigurimi i serverit dhe lista e nodëve të klasterit tuaj.

Sekioni tjetër është metrikat. Ato merret në kohë reale nga ClickHouse dhe thjesht lejojnë të analizoni gjendjen e serverit dhe të kuptoni çfarë po ndodh me të. Kjo nuk është zëvendësim për një Grafana të plotë. Kjo është e nevojshme për të analizuar shpejt.

Tabi tjetër janë proceset. Ato mund të tregojnë se çfarë po ndodh në server. Të kuptosh se çfarë po ndodh. Kam pasur një kërkesë që konsumonte 200 GB për lexim çdo herë. E pashë këtë përmes këtij ndërfaqe. E identifikova dhe e rregullova. Dhe arrita rreth 30 GB, dmth. performanca është shumë më e mirë.

Faleminderit! Dhe kjo është në OpenSource
E përfundova. Dhe, për më tepër, kjo është në OpenSource, është falas dhe as nuk duhet ta shkarkoni. Hapni në shfletues dhe gjithçka do të funksionojë.
Pyetje
Igor, çfarë do të bësh më pas? Ku do ta zhvillosh këtë mjet?
Dhe më pas do të ketë një dashboard, dmth. ndoshta do të ketë një dashboard. Integrim me bazat e tjera të të dhënave. Këto i kam bërë, por ende nuk i kam publikur në OpenSource. Kjo është MySQL dhe ndoshta PostgreSQL. Dmth. do të jetë e mundur që nga Tabix të dërgoni kërkesa jo vetëm në ClickHouse, por edhe në mjete të tjera.
Duket se është bërë një punë e madhe. U krijua një ide mjaft e plotë. Në shfletues është bërë, duket, për të eliminuar ndihmat në axha dhe për të nxjerrë gjithçka shpejt. Kam dëgjuar që ju po php Ju punoni, prandaj është më e lehtë të nisni në shfletues dhe do të funksionojë kudo. Në këtë nuk ka pyetje. Pyetja është kështu. Ka shumë të bëra me të vërtetë. Sa njerëz kanë punuar mbi këtë? Dhe sa kohë ka marrë gjithçka? Sepse mjetet për zakonisht nuk kanë kaq shumë funksionalitet.
Nga vera nĂ« vjeshtĂ« ka punuar njĂ« person nga ekipi ynĂ«. Kjo ishte versione e parĂ«. MĂ« pas, unĂ« kam bĂ«rĂ« 330 komite. Ajo qĂ« shihni, e kemi bĂ«rĂ« me kolegun tim. PĂ«r 3 muaj nga versioni mĂ« i parĂ« deri nĂ« versionin mĂ« tĂ« fundit, unĂ« kam bĂ«rĂ« kryesisht. Por unĂ« njoh shumĂ« dobĂ«t Javascript. Ky ishte projekti im i vetĂ«m dhe, shpresoj, tĂ« fundit qĂ« kam punuar nĂ« Javascript. MĂ« erdhi, e shikova â o, tmerr. Por mĂ« pĂ«lqente shumĂ« ta pĂ«rfundoj produktin dhe ja çfarĂ« doli.
Faleminderit shumë për referatin! Ky është një mjet i shkëlqyer. S Tableau krahasoni?
Faleminderit. Prandaj, Tabix e quajti kështu, sepse inicialet përputhen.
Sepse konkuroni?
Do të ketë shumë investime, do të konkurrojmë.
Si do tĂ« propozonit ta shisni analistĂ«ve tĂ« brendshĂ«m, qĂ« ky mjet do tĂ« zĂ«vendĂ«sojĂ« plotĂ«sisht *Tableau*? ĐаĐșОД бŃĐŽŃŃ Đ°ŃĐłŃĐŒĐ”ĐœŃŃ?
Funksionon natyrshĂ«m me ClickHouse. Kam provuar Tableau, por atje nuk mund tĂ« shkruhet mbĂ«shtetje pĂ«r fjalorĂ«t dhe tĂ« ngjashme. E di si punojnĂ« njerĂ«zit me Tabix. Ata shkruajnĂ« njĂ« kĂ«rkesĂ«, e nxjerrin nĂ« CSV dhe e ngarkojnĂ« nĂ« BI. Dhe atje bĂ«jnĂ« diçka. Por vĂ«shtirĂ« e imagjinoj se si e bĂ«jnĂ« kĂ«tĂ«, sepse â Ă«shtĂ« njĂ« mjet grafik. Ai mund tĂ« nxjerrĂ« 5,000 rreshta, maksimumi 6,000 rreshta, por jo mĂ« shumĂ«, pĂ«rndryshe shfletuesi nuk e duron.
Pra, ka disa kufizime serioze në vëllimin e të dhënave, apo jo?
Po. Nuk e imagjinos dot se do të dëshironit të nxirrnin 10,000 rreshta në një tabelë në shfletues. Pse?
Nuk është menduar që ky të jetë një ndërfaqe për shikimin e shpejtë të të dhënave? Të shikojmë pak, të rrotullojmë?
Po, të shikoni shpejt se si punon dhe thjesht të ndërtoni një grafik përmbledhës. Pastaj ta dërgoni diku. Ne kemi sistemin tonë të raportimit, nga ku unë thjesht e marr këtë kërkesë. E vizatoj në Tabix dhe e dërgoj në raportimin tonë.
Dhe një pyetje tjetër. Analizë e kohortave?
Nëse ka kërkesa, do ta shtojmë.
Kur filluam të përdornim ClickHouse, sa kohë zgjati implementimi ClickHouse dhe gjetja në gjendjen e prodhimit?
Sipas asaj që thashë, ne kemi implementuar një klaster testues në një kohë shumë të shkurtër. Në dy ditë e kemi vendosur. Dhe për disa javë e kemi testuar. Dhe në production arritëm pas rreth 3 muajve. Por ne kishim ETL-në tonë, domethënë një instrument për regjistrimin e të dhënave. Dhe ai shkruante në gjithçka që mundej. Ai dinte të shkruante në MongoDB, Cassandra, MySQL. Ta mësojmë të shkruajë në ClickHouse ishte e thjeshtë. Kishim infrastrukturën e gatshme për një implementim të shpejtë. Pas rreth 3 muajve filluam të hedhim komponentin e parë. Pas 6 muajve, ne u ndamë plotësisht nga gjithçka tjetër. Na mbeti vetëm ClickHouse.
Igor, faleminderit shumë për prezantimin. Më pëlqeu shumë funksionaliteti i ndërtimit të rrugëve nëpër harta. A planifikohet integrimi me Yandex.Maps dhe veçanërisht me harta të personalizuara të Yandex?
Provoja të integrohem në vend të Google map, por nuk e gjeta temën e errët në Yandex.Maps. Nuk e tregova një pjesë. Do të kthehem për të shtuar.
Slide â Google map. A there is a command 'DRAW_GMAPS' that draws the map. There is a command 'DRAW_YMAPS', which can render Yandex.Map. In fact, under this command, there is Javascript, meaning that the data you get from ClickHouse can be sent to the Javascript you write here. And you have an area to render it out. Any chart can be drawn, meaning any chart, map, or you can draw your own component. I used another library for drawing the charts before this.
So there is a tool for customizing the display functionality?
Any. You can take and repaint these points, making them not red, but blue, green.
Thank you for the presentation! You had a slide that presented alternative tools for queries ClickHouse for building dashboards, analytical reports. I understood that at the moment when you started working with ClickHouse, për këto mjete nuk janë shkruar adaptuesit. Dhe më intereson pse vendosët të bëni mjetin tuaj, në vend që të shkruani një adaptues për ndonjë mjet të gatshëm? Mendoj se sa e shpejtë është të përshtasësh redaktorin e testit. Pse vendosët të bëni kaq shumë punë?
Këtu është një moment interesant - çështja është se unë jam drejtor teknik, jo shkencëtar të dhënash. Në atë kohë, kur filluam të implementonim Druid, koha ime e planit kishte rreth 50% detyrash - le të llogarisim këtë ose le të llogarisim këtë ose të analizojmë këtë. Dhe rezultoi se ne implementuam ClickHouse. Fillova të ndërtoj shpejt, të llogaris, dhe mbylla shpejt planin tim. Dhe në atë kohë e kuptova që më mungonin njohuritë për Shkencën e të Dhënave, për vizualizimin e të dhënave. Tabix është një lloj detyre shtëpie për studimin e vizualizimit të të dhënave. Kam parë si të shtoj Zeppelin. Kam një antipati të lehtë për programimin e tij. Shikova si të shtoj Redash, por më mungonte një redaktor i mirë atje. Edhe SuperSet është shkruar në atë gjuhë që nuk e dua shumë. Prandaj vendosa të bëj një biçikletë, dhe ja çfarë të arritëm.
Igor, pranon ti kërkesën për tërheqje?
Po.
Faleminderit shumĂ« pĂ«r referatin! Dhe dy pyetje. E para â ti nuk flet shumĂ« mirĂ« pĂ«r Javascript. A ke shkruar nĂ« Javascript tĂ« pastĂ«r apo Ă«shtĂ« ndonjĂ« framework?
Më mirë në Javascript të pastër.
Pra, cili framework?
Angular.
E kuptoj. Dhe pyetja e dytë. A ke shqyrtuar ndonjëherë R dhe *Shiny**?*
E kam shqyrtuar. Kam luajtur me të.
Ishte e mundur të shkruaje thjesht një adapter.
Po, ekziston. Duket se komuniteti e ka bërë, por, siç u përgjigja në pyetje e mëparshme, dëshiroja ta provoj vetë.
*Jo, për sa i përket vizualizimit, ekziston.
Ti thua se ka njĂ« gjĂ« qĂ« do ta vizualizojĂ« grafikun pĂ«r ty. Hapa njĂ« libĂ«r pĂ«r vizualizimin e tĂ« dhĂ«nave. Dhe mendova: «Le tĂ« pĂ«rpiqem t'i vizualizoj kĂ«to tĂ« dhĂ«na. Do ta shkruaj vetĂ« qĂ« ai tĂ« ndĂ«rtojĂ« tĂ« dhĂ«nat». Dhe fillova tĂ« kuptoj mĂ« mirĂ« teknologjinĂ« e paraqitjes sĂ« tĂ« dhĂ«nave. NĂ«se do tĂ« merrja njĂ« komponent tĂ« gatshĂ«m, do tĂ« mĂ«sja mĂ« keq si ta pĂ«rdorja, pra, pikĂ«risht vizualizimin. Por kĂ«shtu â po, mĂ« pĂ«lqeu R, por akoma nuk kam lexuar librin «R pĂ«r fillestarĂ«t.»
Faleminderit!
Një pyetje e thjeshtë. A ekzistojnë mundësi për të eksportuar shpejt një tabelë, grafikun?
Mund të eksportohet në CSV, në Excel.
Ajo t'i jepni një tabelë të gatshme, një graf të përgatitur? Për shembull, për ta treguar drejtuesve.
Ka një buton «Shkarko» dhe ka një buton «Shkarko grafikun në png, në jpg».
Faleminderit!
P.S. Udhëzues i shkurtër për instalimin e tabix.
- Shkarko
- Zbërthe, kopjo direktorinë
ndërtonë rrugën e nginx root_path - Konfiguro nginx
Burimi: habr.com

