Ju ofroj tĂ« njihet me interpretimin e raportit tĂ« vitit 2017 nga Igor Strikhar «ClickHouse â analizĂ« e shpejtĂ« dhe e qartĂ« vizualisht e tĂ« dhĂ«nave nĂ« Tabix».
Ndërfaqja në internet për ClickHouse në projektin Tabix.
Karakteristikat kryesore:
- Punon me ClickHouse drejtpërdrejt nga shfletuesi, pa nevojën për instalimin e software-së shtesë;
- Redaktori i pyetjeve me ndriçim sintaksor;
- Autopopullimi i komandave;
- Mjetet e analizës grafike të ekzekutimit të pyetjeve;
- Paletat e ngjyrave përzgjedhje.



UnĂ« jam drejtor teknik nĂ« SMI2. Ne jemi njĂ« agregator lajmesh pĂ«r shkĂ«mbimin e lajmeve. RuajmĂ« shumĂ« tĂ« dhĂ«na qĂ« i marim nga partnerĂ«t tanĂ« dhe i regjistrojmĂ« nĂ« ClickHouse â rreth 30,000 pyetje nĂ« sekondĂ«.
Këto janë të dhëna si:
- Klikimet në lajme.
- Shfaqjet e lajmeve në agregator.
- Shfaqjet e banderoleve në rrjetin tonë.
- Dhe regjistrojmë ngjarjet nga numëruesi ynë të brendshëm, i ngjashëm me Yandex.Metrika. Kjo është mikroanalitika jonë.

Patëm një jetë të trazuar para ClickHouse. Kemi vuajtur shumë duke u përpjekur të ruanim këto të dhëna ndokund dhe t'i analizojmë siç duhet.
Jeta para ClickHouse â infiniDB
E para që patëm, ishte infiniDB. Ajo qëndroi për 4 vjet. E filluam me vështirësi.
- Ajo nuk mbështeste klasterizimin ose sharding-un. Asnjë veçori e tillë e zgjuar nuk ishte e aktivizuar nga kutia.
- Sfondi kishte probleme me ngarkimin e të dhënave. Vetëm një utilitar konsolë specifik, i cili mund të ngarkonte vetëm skedarët CSV dhe vetëm në mënyrë shumë të paqartë.
- Baza e të dhënave ishte njëpërdorëshe. Mund të shkruaje ose të lexoje. Por ajo lejonte përpunimin e një sasi të madhe të dhënash.
- Dhe kishte njĂ« zgjidhje interesante. Ădo natĂ«, duhej tĂ« rihapej serveri, ndryshe ai nuk punonte.
Ajo punoi deri në fund të vitit 2016, kur kaluam plotësisht në ClickHouse.
Jeta para ClickHouse â Cassandra
Pasi infiniDB ishte njëpërdorëshe, ne vendosëm që na duhej një bazë të dhënash shumëpërdorëse, në të cilën mund të shkruanim shumë rrjedha në të njëjtën kohë.
Provuam shumë gjëra interesante. Pastaj vendosëm të provonim Cassandra. Me Cassandra kishim gjithçka në rregull. 10,000 pyetje në sekondë për shkak. 2,000 pyetje për lexim.
Por ajo kishte gjithashtu interesat e veta. Një herë në muaj ose një herë në dy muaj, ndodhte të kishte një desinkronizim të bazës së të dhënave. Dhe duhej të zgjoheshim dhe të vraponim për ta rregulluar Cassandra. Restartonim serverët një për një. Dhe gjithçka bëhej e qetë dhe e bukur.
Jeta para ClickHouse â Druid
Pastaj, ne kuptuam se na duhej të shkruanim edhe më shumë të dhëna. Në vitin 2016 filluam të shikonim Druid.
Druid është një bazë e hapur, e shkruar në Java. Jashtëzakonisht specifike. Dhe ishte e përshtatshme për clickstream, kur na duhej të ruanim një flux ngjarjesh dhe pastaj të bënim agregimin e tyre ose të bënim raporte analitike.
Druid kishte versionin 0.9.X.
Vetë baza e të dhënave është shumë e vështirë për tu vendosur. Kjo është një vështirësi infrastrukturore. Për ta vendosur, na duhej të vendosnim shumë pajisje. Dhe çdo pajisje ishte përgjegjëse për një rol të veçantë.
PĂ«r tĂ« ngarkuar tĂ« dhĂ«nat nĂ« tĂ«, ishte e nevojshme tĂ« aplikonim ndonjĂ« farĂ« magjie. Ekziston njĂ« projekt OpenSource â Tranquility, i cili nĂ« flux humbiste tĂ« dhĂ«nat tona. Kur ngarkonim tĂ« dhĂ«na nĂ« tĂ«, ai i humbiste.
Por njëfarë mënyre filluam ta implementonim. Ishim si shpezë të cilët po lëndoheshin, por vazhdonin të hanin kaktus, filluam ta implementonim. Na duhej rreth një muaj për të përgatitur të gjithë infrastrukturën për të. Domethënë, të porositej servera, të konfiguroheshin rolet, të realizohej automatizimi i plotë i vendosjes. Domethënë, në rast rënia e klastra, që të vendosësh automatikisht një klasër të dytë.

Por këtu ndodhi një mrekulli. Unë isha në pushim, dhe kolegët e mi më dërguan një lidhje në , ku thuhej se Yandex vendosi të hapë ClickHouse. I thashë që le të provojmë.
Dhe pĂ«r vetĂ«m 2 ditĂ« vendosĂ«m njĂ« klasĂ«r testues tĂ« ClickHouse. Filluam tĂ« ngarkonim tĂ« dhĂ«na nĂ« tĂ«. NĂ« krahasim me infiniDB â Ă«shtĂ« elementar, nĂ« krahasim me Druid â Ă«shtĂ« elementar. NĂ« krahasim me Cassandra gjithashtu Ă«shtĂ« elementar. Sepse nĂ«se ngarkohet tĂ« dhĂ«nat nĂ« Cassandra nga php, atĂ«herĂ« kjo nuk Ă«shtĂ« elementare.

ĂfarĂ« fituam? PerformancĂ« nĂ« shpejtĂ«si. PerformancĂ« nĂ« ruajtjen e tĂ« dhĂ«nave. DomethĂ«nĂ«, pĂ«rdoret shumĂ« mĂ« pak hap disku. ClickHouse Ă«shtĂ« i shpejtĂ«, Ă«shtĂ« shumĂ« i shpejtĂ« krahasuar me produktet e tjera.

NĂ« momentin e lançimit, kur Yandex publikoi ClickHouse nĂ« OpenSource, ishte vetĂ«m klienti konsol. Ne nĂ« kompaninĂ« tonĂ« ĐĄĐĐ2 vendosĂ«m tĂ« provojmĂ« tĂ« bĂ«jmĂ« njĂ« klient natyror pĂ«r web, nĂ« mĂ«nyrĂ« qĂ« tĂ« mund tĂ« hapnim njĂ« faqe nga shfletuesi, tĂ« shkruanim njĂ« kĂ«rkesĂ« dhe tĂ« merrnim rezultatin, sepse filluam tĂ« shkruanim shumĂ« kĂ«rkesa. TĂ« shkruash nĂ« konsol Ă«shtĂ« e vĂ«shtirĂ«. Dhe ne bĂ«mĂ« versionin tonĂ« tĂ« parĂ«.

Dhe rreth dimrit të vitit të kaluar filluan të shfaqeshin mjete të tjera për punë me ClickHouse. Këto janë mjete si:
- .
- .
- . (Tani )
- .
- .
Do të shqyrtoj disa nga këto mjete, pra ato me të cilat kam punuar.

Një mjet i mirë, por për Druid. Kur implementoja Druid, e provoja SuperSet. Më pëlqeu. Punon shumë shpejt për Druid.
Nuk është i përshtatshëm për ClickHouse. Pra, është i përshtatshëm, funksionon, por është i aftë vetëm për të përpunuar kërkesa elementare si: SELECT event, GROUP BY event. Nuk mbështet sintaksën më të komplikuar të ClickHouse.

Mjeti tjetër është Apache Zeppelin. Kjo është një gjë e mirë dhe interesante. Funksionon. Mbështet notebook-et, dashboard-et, mbështet variablat. E di që dikush nga komuniteti ClickHouse e përdor atë.
Por nuk ka mbështetje për sintaksën e ClickHouse, pra do t'ju duhet të shkruani kërkesat ose në konsolë ose diku tjetër. Pastaj të kontrolloni që gjithçka funksionon. Kjo është thjesht e pakëndshme. Por mbështetja për dashboard është e mirë.

Mjeti tjetër është Redash.IO. Redash është i hostuar në internet. Pra, në krahasim me mjetet e mëparshme, nuk ka nevojë ta instaloni. Dhe ky është një dashboard me mundësinë e konsolidimit të të dhënave nga Burime të Diferencuara. Pra, mund të shkarkoni nga ClickHouse, nga MySQL, nga PostgreSQL dhe nga bazat e tjera të të dhënave.

Pikërisht një muaj më parë (në mars 2017) u shfaq mbështetja në Grafana. Kur krijoni raportet në Grafana, le të themi, për gjendjen e pajisjeve tuaja ose për disa metrika, tani mund të krijoni një grafik të tillë ose ndonjë panel nga të dhënat e ClickHouse drejtpërdrejt. Kjo është shumë e përshtatshme, dhe ne e përdorim te ne. Kjo lejon të gjejmë anomali. Pra, nëse ndodhin gjëra dhe ndonjë pajisje dështon ose ngarkohet, mund të shihni shkakun, nëse këto të dhëna kanë arritur në ClickHouse.

Më ishte shumë e papërshtatshme të shkruaja në këto mjete ose në konsolë. Dhe vendosa të punoj mbi ndërfaqen tonë të parë. Dhe munda idenë nga EventSQL, SeperSet, Zeppelin.

ĂfarĂ« doja? Doja tĂ« merrja grafikĂ«, njĂ« redaktor tĂ« pĂ«rmirĂ«suar, 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Ă« punoni me fjalorĂ«t, sepse duhet tĂ« mbani mend formatin e vlerave tĂ« ruajtura, pra nĂ«se Ă«shtĂ« numĂ«r ose varg, etj. Dhe meqenĂ«se ne shpesh pĂ«rdorim fjalorĂ«t nĂ« variacione tĂ« ndryshme, ishte mjaft e vĂ«shtirĂ« tĂ« shkruaja kĂ«rkesa.

Kalonin 3 muaj nga lansimi i versionit tonë të parë. Kam bërë rreth 330 komitete në degën e mbyllur dhe rezultati ishte Tabix.
Ndryshe nga versioni i mëparshëm, i cili quhej ClickHouse-Frontend, kam vendosur ta riformuloj atë në një emër më të thjeshtë. Dhe tani quhet Tabix.
ĂfarĂ« ka rĂ«nĂ«?
Vizaton grafikë. Mbështet sintaksën SQL të ClickHouse. Sugjeron për funksionet dhe ka shumë aftësi interesante.

KĂ«shtu duket skema e pĂ«rgjithshme e Tabix. Majtas Ă«shtĂ« paraqitur njĂ« pemĂ«. NĂ« qendĂ«r â Ă«shtĂ« redaktori i kĂ«rkesĂ«s. Dhe poshtĂ« â Ă«shtĂ« rezultati i kĂ«saj kĂ«rkese.

Tani do të tregoj se si funksionon redaktori i kërkesës.

Këtu automatikisht ka funksionuar autokompleti mbi tabelën dhe sugjeron, përkatësisht, autokompletin mbi fushat. Dhe sugjerimet për funksionet. Nëse shtypni ctrl dhe pastaj enter, kërkesa do të ekzekutohet ose do të dështojë me 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 kam thënë më parë, janë një gjë shumë interesante, me të cilën ne punojmë shumë. Dhe që na ka lejuar të realizojmë shumë gjëra. Për shembull, në fjalorë ruajmë të gjitha qytetet. Ruajmë identifikuesin e qytetit dhe emrin e qytetit, gjerësi dhe gjatësi. Ndërsa në bazë ruajmë vetëm identifikuesin e qytetit. Kështu, ne e kompresojmë të dhënat shumë.

Kjo, duke u dukur si një gjë e thjeshtë, në ClickHouse ndihmon shumë interessant. Pasi ClickHouse mbështet vetëm join të thella, kërkesa rritet mjaft poshtë dhe gjerë. Dhe kur hapet një kllapë dhe vjen një shprehje e gjatë, një gjë mjaft e thjeshtë si tërheqja e kërkesës ndihmon për të punuar më lehtë me kërkesën e vet. Sepse kur kërkesa ka 200-300 rreshta dhe është shumë e gjerë, tërheqja e kërkesës ndihmon shumë për të gjetur ndonjë vend apo për ta lokalizuar.
Pemë objektesh, shumëkërkesa dhe skedarët (Video 13:46 )

Tani do tĂ« tregoj pĂ«r pemĂ«n, skedarĂ«t. Majtas â Ă«shtĂ« pema, lart mund tĂ« krijoni disa skedarĂ«. SkedarĂ«t janĂ« si njĂ« hapĂ«sirĂ« pune. Mund tĂ« krijoni disa skedarĂ« dhe secilĂ«n ta emroni ndryshe. Kjo Ă«shtĂ« si njĂ« minisitĂ«m pĂ«r ndĂ«rtimin e raporteve.
Skedarët ruhen automatikisht. Nëse e rinisni shfletuesin tuaj ose e mbyllni, ose hapni Tabix, gjithçka do të ruhet.
Kombinimi i çelĂ«save â komod (Video 14:39 )
Ka kombinime çelësash dhe ka mjaft prej tyre. Disa nga ato i kam paraqitur këtu si shembuj. Kjo është për ndërrimin e skedarëve, për të ekzekutuar kërkesën ose për të ekzekutuar disa kërkesa.

Do të tregoj si të punoni me rezultatin. Dërgoni kërkesën. Këtu vizatoj sin, cos dhe tg. Mund të theksoni rezultatin, domethënë, të vizatoni një hartë tipike mbi kolonën. Mund të theksoni vlerat pozitive ose negative. Ose thjesht të ngjyrosni ndonjë element të veçantë të tabelës. Kjo është e dobishme kur tabela është shumë e madhe dhe duhet të gjejmë ndonjë anomali me sy. Kur kërkoja anomali, theksoja disa rreshta, disa elemente me ngjyrë të gjelbër ose të kuqe.

Ka shumĂ« gjĂ«ra interesante atje. PĂ«r shembull, si tĂ« kopjosh nĂ« Redmine Markdown. NĂ«se nevojitet tĂ« kopjoni rezultatin diku, kjo Ă«shtĂ« shumĂ« e dobishme. Mund thjesht tĂ« seleksiononi njĂ« zonĂ«, tĂ« thoni âKopjoni nĂ« Redmineâ dhe ai do ta kopjojĂ« nĂ« Redmine Markdown ose do tĂ« krijojĂ« njĂ« kĂ«rkesĂ« Where.

MĂ« pas, kjo Ă«shtĂ« optimizimi i kĂ«rkesave. NjĂ« herĂ« harrova tĂ« specifikoj fushĂ«n âdateâ. Dhe kĂ«rkesa ime nĂ« ClickHouse u pĂ«rpunua jo shumĂ« shpejt, por shpejt, domethĂ«nĂ«, pĂ«r mĂ« pak se njĂ« sekondĂ«. Kur pashĂ« sa shumĂ« rreshta kalonte, mĂ« friksoi. Ne nuk shkruajmĂ« kaq shumĂ« rreshta nĂ« kĂ«tĂ« tabelĂ« brenda njĂ« dite. Nisa tĂ« analizoj kĂ«rkesĂ«n dhe pashĂ« qĂ« kisha humbur datĂ«n nĂ« njĂ« vend. DomethĂ«nĂ«, harrova tĂ« specifikoj qĂ« mĂ« nevojiten 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 kĂ«rkesave tĂ« dĂ«rguara, domethĂ«nĂ« atje mund tĂ« shihni sa rreshta ishin lexuar nga kjo kĂ«rkesĂ« dhe sa kohĂ« zgjati ajo. Kjo lejon optimizimin.
Mund të ndërtosh një tabelë përmbledhëse mbi rezultatin e kërkesës. Keni dërguar një kërkesë në ClickHouse, keni marrë disa të dhëna. Dhe më pas këto të dhëna mund t'i tërheqni me miun dhe të ndërtoni ndonjë tabelë përmbledhëse.

GjĂ«ja interesante tjetĂ«r Ă«shtĂ« ndĂ«rtimi i grafikĂ«ve. Supozoni qĂ« kemi njĂ« kĂ«rkesĂ« tĂ« tillĂ«: pĂ«r sin, cos nga 0 deri nĂ« 299. Dhe pĂ«r ta vizatuar, duhet tĂ« zgjidhni skedĂ«n âDrawâ dhe do tĂ« merrni grafikun me sin dhe cos tuaj.

Mund ta ndajmë këtë në osi të ndryshme, domethënë, mund të vizatojmë njëkohësisht dy grafikë afër njëri-tjetrit. Të shkruajmë një komandë dhe një komandë tjetër.

Mund të vizatojmë histograma.

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

Mund të ndërtojmë një hartë termike.

Mund të ndërtojmë një kalendar termik. Për më tepër, është një gjë shumë e dobishme kur nevojitet të analizoni anomali për një vit, domethënë, të gjeni ose shpërthime ose rënie. Kjo vizualizim të dhënash më ndihmoi 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 anomali tĂ« ndryshme. ĂshtĂ« shumĂ« i pĂ«rshtatshĂ«m. E rekomandoj pĂ«r kĂ«rkimin e tyre.

Gjëja tjetër interesante është vizatimi i një harta dinamike. Nëse keni në bazën e të dhënave gjerësinë, gjatësi dhe, për shembull, destinacionin, nëse keni, për shembull, transport të automjeteve ose aeroplanëve në fluturim, mund të vizatoni rrugët e destinacioneve. Aty mund të vendosni gjithashtu shpejtësinë, madhësinë e objekteve në të cilat ata fluturojnë.
Por problemi me këtë hartë është se ajo vizaton vetëm hartën e botës, pa detaje.

Më pas, unë shtova Google map. Nëse keni gjerësinë dhe gjatësi, mund të vizatoni rezultatin në Google map, por pa mbështetje për aeroplanët.
Ne diskutuan funksionet kryesore të punës me rezultatet, me kërkesat në Tabix.

Tjetra, është analiza e serverit tuaj ClickHouse. Ka një seksion të veçantë "Metrika", ku mund të shikoni gjatësinë e të dhënave të ruajtura për secilën kolonë. Në screenshot tregohet se ky fushë "referrer" zë rreth 730 Gb. Nëse ne heqim këtë fushë, do të kursejmë tre sharda nga 700 GB, pra rreth 2 TB, të cilat nuk na duhen.
Po ashtu, kemi një fushë "request_id", që e ruajmë në formë string. Por nëse fillojmë ta ruajmë në formë numerike, do ta kompresojmë këtë fushë shumë.
Gjithashtu, këtu tregohet konfigurimi i serverit dhe lista e nodeve të klashtër tuaj.

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

Seksioni tjetër është proceset. Nëpërmjet tyre mund të kuptoni çfarë po ndodh në server. Të kuptoni se çfarë po ndodh atje. Kam pasur një kërkesë që merrte 200 GB çdo herë për lexim. E pashë këtë falë këtij interfejsi. E kapëm dhe e rregulluam. Dhe arritëm rreth 30 GB, pra performanca u rrit shumë.

Faleminderit! Dhe kjo është në OpenSource.
Kam përfunduar. Dhe, për t'u thënë të vërtetën, ajo është në OpenSource, është falas dhe madje nuk është e nevojshme ta shkarkoni. Hidhni një sy në shfletues dhe gjithçka do të funksionojë.
Pyetje
Igor, çfarë do të ndodhë më pas? Ku do ta zhvillosh këtë mjet?
Më vonë do të shfaqet dashboard-i, që do të thotë se ndoshta do të shfaqet dashboard-i. Integrimi me baza të tjera të të dhënave. Unë e kam bërë këtë, por ende nuk e kam publikuar në OpenSource. Kjo është MySQL dhe ndoshta PostgreSQL. Pra, do të jetë e mundur të dërgoni kërkesa jo vetëm në ClickHouse, por edhe në mjete të tjera nga Tabix.
Këtu shihet se është bërë një volum i madh pune. U krijua një ide mjaft e plotë. Në shfletues është bërë, duket, për të përjashtuar zgjidhje të shpejta në çdo os dhe për të përmbledhur gjithçka shpejt. Kam dëgjuar se ju jeni në php punoni, prandaj është më e lehtë të përmbledhësh në shfletues dhe gjithçka do të funksionojë. Këtij nuk ka pyetje. Pyetja është kjo. Aty është bërë vërtet shumë. Sa njerëz kanë punuar mbi këtë? Dhe sa kohë ka zgjatur gjithçka? Sepse mjetet për vetë zakonisht nuk kanë një funksionalitet kaq të madh.
Nga vera nĂ« vjeshtĂ« punoi njĂ« person nga ekipi ynĂ«. Kjo ishte versioni i parĂ«. Pastaj bĂ«ra 330 komitĂ« vetĂ«. AtĂ« qĂ« shihni, e kemi bĂ«rĂ« unĂ« dhe njĂ« kolegu ynĂ« bashkĂ«. PĂ«r 3 muaj nga versioni i parĂ« deri nĂ« tĂ« fundit, unĂ« nĂ« pjesĂ«n mĂ« tĂ« madhe e kam bĂ«rĂ«. Por unĂ« e njoh shumĂ« dobĂ«t Javascript-in. Ky ishte projekti im i vetĂ«m dhe, shpresoj, tĂ« fundit qĂ« kam punuar nĂ« Javascript. MĂ« erdhi nĂ« dorĂ«, e shikova â oh, terror. Por doja shumĂ« ta pĂ«rfundonja produktin dhe kjo Ă«shtĂ« rezultati.
Faleminderit shumë për raportin! Ky është një instrument i shkëlqyer. A Tableau e keni krahasuar?
Faleminderit. Prandaj e quajta Tabix, sepse shkronjat e para përputhen.
Sepse konkuroni?
Do të ketë shumë investime, do të konkurrojmë.
Si do tĂ« propozonit tĂ« shitej analistĂ«ve tĂ« brendshĂ«m, qĂ« ky instrument plotĂ«sisht do tĂ« zĂ«vendĂ«sojĂ« *Tableau*? ĐаĐșОД бŃĐŽŃŃ Đ°ŃĐłŃĐŒĐ”ĐœŃŃ?
Puna e natyrshme me ClickHouse. Kam provuar Tableau, por atje nuk mund tĂ« shkruani mbĂ«shtetje pĂ«r fjalorĂ« dhe kĂ«shtu me radhĂ«. E di si punojnĂ« njerĂ«zit me Tabix. Ata shkruajnĂ« kĂ«rkesĂ«n, e nxjerrin nĂ« CSV dhe e ngarkojnĂ« nĂ« BI. Dhe aty bĂ«jnĂ« diçka. Por e imagjinoj me vĂ«shtirĂ«si se si bĂ«jnĂ« kĂ«tĂ«, sepse â Ă«shtĂ« njĂ« instrument grafik. Ai mund tĂ« nxjerrĂ« deri nĂ« 5,000 rreshta, maksimumi 6,000 rreshta, por jo mĂ« shumĂ«, pĂ«rndryshe shfletuesi nuk e pĂ«rballon.
Pra, ka disa kufizime serioze në volumet e të dhënave, apo jo?
Po. Nuk e imaginon se do të dëshironit të nxirrni 10,000 rreshta në ekranin e shfletuesit. Pse?
Nënkuptohet se ky është një interfeks për një shikim të shpejtë të të dhënave? Të rrotullohet pak, të kthehet?
Po, shpejt të shohim si funksionon dhe thjesht të ndërtojmë një grafik përmbledhës. Më pas ta dërgojmë diku. Ne kemi sistemin tonë të raportimit, nga ku thjesht marr këtë kërkesë. E vizatoj në Tabix dhe e dërgoj në raportin tonë.
Dhe një pyetje tjetër. Analiza e koortëve?
Nëse ka kërkesa, do t'i shtojmë.
Kur sapo filluam të përdorim ClickHouse, sa kohë mori implementimi ClickHouse dhe dëshira për ta çuar në gjendjen e prodhimit?
Siç e thashë, ne e kemi implementuar klustërin testues në kohë rekord. Pas dy ditësh e kemi shpalosur. Dhe disa javë e kemi provuar. Dhe për të arritur në prodhim na mori rreth 3 muaj. Por ne kishim ETL tonë, dmth. një mjet për regjistrimin e të dhënave. Ai regjistronte në të gjitha sistemet e mundshme. Ai di të regjistrojë në MongoDB, Cassandra, MySQL. Ta mësojmë atë të regjistrojë në ClickHouse ishte e thjeshtë. Ne kishim infrastrukturën gati për implementim të shpejtë. Pas rreth 3 muajsh filluam të nxjerrim komponentin e parë. Pas 6 muajsh ne u larguam 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ë karta. A është planifikuar integrimi me Yandex.Maps dhe veçanërisht me kartat e personalizuara të Yandex?
Kam provuar të integrohem në vend të Google map, por nuk gjeta temën e errët në Yandex.Maps. Nuk e theksova një pjesë. Do të rrok për ta plotësuar.
Slides â Google map. Atje ka komandĂ«n "DRAW_GMAPS", e cila vizaton hartĂ«n. Ka komandĂ«n "DRAW_YMAPS", dmth. mund tĂ« vizatojĂ« hartĂ«n e Yandex. Dhe nĂ« fakt nĂ«n kĂ«tĂ« komandĂ« ndodhet Javascript, dmth. tĂ« dhĂ«nat qĂ« merrni nga ClickHouse mund t'i dĂ«rgoni nĂ« Javascript, tĂ« cilin e shkruani kĂ«tu. Dhe ju keni njĂ« zonĂ« nĂ« dalje ku ajo duhet tĂ« vizatohet. Mund tĂ« vizatoni çdo grafik, dmth. çdo grafik, hartĂ«, mund tĂ« vizatoni komponentin tuaj tĂ« personalizuar. Para kĂ«saj kisha njĂ« bibliotekĂ« tjetĂ«r pĂ«r vizatimin e grafikĂ«ve.
Dmth. ka një mjet për personalizimin e funksionalitetit të shfaqjes?
Ădo gjĂ«. Mund tĂ« merrni dhe tĂ« ndryshoni ngjyrat e kĂ«tyre pikave, duke i bĂ«rĂ« ato jo tĂ« kuqe, por tĂ« blu, tĂ« gjelbra.
Faleminderit për prezantimin! Keni pasur një slide, ku janë paraqitur mjete alternative për kërkesat ClickHouse për ndërtimin e dashboard-eve, raporteve analitike. E kuptova se në momentin kur filluat të punoni me ClickHouse, për këto mjete nuk janë shkruar adaptues. Dhe më intereson pse keni vendosur të krijoni mjetin tuaj, në vend që të shkruanit një adaptues për ndonjë mjet të gatshëm? Mendoj se ndreqja e redaktorit të testeve është e shpejtë. Pse vendosët të bëni kaq shumë punë?
KĂ«tu ka njĂ« moment interesant â çështja Ă«shtĂ« se unĂ« jam drejtor teknik, jo njĂ« shkencĂ«tar tĂ« dhĂ«nash. NĂ« atĂ« kohĂ«, kur filluam tĂ« implementonim Druid, nĂ« roadmap-in tim kishte rreth 50 % detyrash â le tĂ« llogarisim kĂ«tĂ« ose le tĂ« llogarisim atĂ«, ose ta analizojmĂ« kĂ«tĂ«. Dhe ndodhi qĂ« ne implementuam ClickHouse. Dhe fillova tĂ« ndĂ«rtoja shpejt, llogariti, mbylla shpejt roadmap-in tim. Dhe nĂ« atĂ« moment kuptova se 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. E shikova si tĂ« plotĂ«soj Zeppelin. Kam njĂ« pak pak dashuri pĂ«r programimin e tij. E shikova Redash-in si tĂ« plotĂ«soj, por mĂ« mungonte njĂ« redaktor normal. Dhe SuperSet gjithashtu Ă«shtĂ« shkruar nĂ« atĂ« gjuhĂ« qĂ« nuk e dua shumĂ«. Dhe prandaj vendosa tĂ« krijoj njĂ« biçikletĂ«, dhe ja çfarĂ« doli.
Igor, a pranoni Pull Request?
Po.
Faleminderit shumĂ« pĂ«r prezantimin! Dhe dy pyetje. E para â nuk flisni shumĂ« mirĂ« pĂ«r Javascript. A keni shkruar nĂ« Javascript tĂ« pastĂ«r apo Ă«shtĂ« ndonjĂ« framework?*
Më mirë në Javascript të pastër.
Pra, cili është framework-u?
Angular.
E kuptoj. Dhe pyetja e dytë. A keni konsideruar R dhe *Shiny**?*
E kam konsideruar. Kam luajtur me të.
Mund të kishet shkruar një adaptues të thjeshtë.
Ai është aty. Duket se komuniteti e ka bërë, por, siç thashë në pyetjen e mëparshme, më pëlqeu të eksperimentoj vetë.
*Jo, në lidhje me vizualizimin, atje ka.
Ti thua se ka njĂ« gjĂ« dhe ajo do tĂ« tĂ« vizualizojĂ« njĂ« grafik. Hapa libra pĂ«r vizualizimin e tĂ« dhĂ«nave. Dhe mendoj: 'Le tĂ« provosh tĂ« vizualizosh kĂ«to tĂ« dhĂ«na. Do ta shkruaj vetĂ«, qĂ« tĂ« vizualizojĂ« tĂ« dhĂ«nat'. Dhe fillova tĂ« kuptoj mĂ« mirĂ« teknologjinĂ« e paraqitjes sĂ« tĂ« dhĂ«nave. Dhe nĂ«se do tĂ« kisha marrĂ« njĂ« komponent tĂ« gatshĂ«m, unĂ« personalisht do tĂ« mĂ«sova mĂ« pak se si ta pĂ«rdorja, pra dhe nĂ« lidhje me vizualizimin. Por kĂ«shtu â po, R mĂ« pĂ«lqeu, por akoma nuk e kam lexuar librin "R pĂ«r fillestarĂ«t".
Faleminderit!
Pyetje e thjeshtë. A ka ndonjë mundësi të nxjerrësh shpejt një tabelë, një grafik?
Mund të nxirret në CSV, në Excel.
Jo të dhënat, por një tabelë të gatshme, një grafik të gatshëm? Për shembull, për ta treguar shefit.
Ka një buton "Shkarko" dhe ka një buton "Shkarko grafikën në png, në jpg".
Faleminderit!
P.S. Mini-udhëzimi për instalimin e tabix
- Descargar
- Shkarkoni, kopjoni direktorinë
buildnë root_path të nginx - Konfiguroni nginx
Burimi: habr.com

