ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

Jag föreslĂ„r att ni bekantar er med avrapporteringen frĂ„n 2017 av Igor Strychar «ClickHouse – en visuell, snabb och tydlig datanalys i Tabix».

WebbgrÀnssnittet för ClickHouse i projektet Tabix.
Key features:

  • Arbetar med ClickHouse direkt frĂ„n webblĂ€saren, utan behov av att installera ytterligare programvara;
  • FrĂ„geredigerare med syntaxmarkering;
  • Autokomplettering av kommandon;
  • Verktyg för grafisk analys av frĂ„gors prestanda;
  • FĂ€rgscheman att vĂ€lja mellan.
    ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar


Spela video

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

Jag Ă€r teknisk direktör pĂ„ СМИ2. Vi Ă€r en nyhetsaggregator. Vi lagrar stora mĂ€ngder data som vi fĂ„r frĂ„n vĂ„ra partners och registrerar dem i ClickHouse – ungefĂ€r 30 000 förfrĂ„gningar per sekund.

Det handlar om sÄdana data som:

  • Klick pĂ„ nyheter.
  • Visningar av nyheter i aggregatorsystemet.
  • Visningar av banners i vĂ„rt nĂ€tverk.
  • Och vi registrerar hĂ€ndelser frĂ„n vĂ„r egen rĂ€knare, som liknar Yandex.Metrika. Det Ă€r vĂ„r egen mikroanalys.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

Vi hade ett mycket turbulent liv före ClickHouse. Vi hade stora problem med att lagra dessa data nÄgonstans och att analysera dem pÄ nÄgot sÀtt.

Livet före ClickHouse — infiniDB

Det första vi hade var infiniDB. Den var i drift i 4 Är. Vi fick igÄng den med svÄrighet.

  • Den stödde inte klustring eller sharding. Inga sĂ„dana smarta funktioner fanns tillgĂ€ngliga frĂ„n början.
  • Den hade problem med datalastning. Det finns bara ett specifikt kommandoradsverktyg som bara kunde ladda CSV-filer och pĂ„ ett ganska oklart sĂ€tt.
  • Databasen var enkeltrĂ„dad. Man kunde antingen skriva eller lĂ€sa. Men den tillĂ€t att bearbeta stora mĂ€ngder data.
  • Och den hade en intressant workaround. Varje natt var vi tvungna att starta om servern, annars fungerade den inte.

Den var i drift hos oss tills slutet av 2016 nÀr vi helt bytte till ClickHouse.

Livet före ClickHouse — Cassandra

Eftersom infiniDB var enkeltrÄdad, bestÀmde vi att vi behövde en flertrÄdad databas dÀr vi kunde skriva mycket med flera trÄdar samtidigt.

Vi testade mÄnga intressanta alternativ. Sedan bestÀmde vi oss för att prova Cassandra. Med Cassandra gick allt fantastiskt. 10 000 förfrÄgningar per sekund vid insÀttning. 2 000 förfrÄgningar nÄgonstans vid lÀsning.

Men den hade ocksÄ sina intressanta problem. En gÄng i mÄnaden eller varannan mÄnad rÄkade den ut för databassynkronisering. Vi var tvungna att vakna och springa för att fixa Cassandra. Vi startade om servrarna en efter en. Och allt blev smidigt och vackert.

Livet före ClickHouse – Druid

Sedan insĂ„g vi att vi behövde skriva Ă€nnu mer data. År 2016 började vi titta pĂ„ Druid.

Druid Àr en öppen databas, skriven i Java. VÀldigt specifik. Den passade för clickstream, nÀr vi behövde lagra en ström av hÀndelser och sedan utföra aggregering eller göra analytiska rapporter.

Druid hade version 0.9.X.

SjÀlva databasen Àr vÀldigt svÄr att implementera. Det handlar om infrastrukturens komplexitet. För att stÀlla in den behövde man sÀtta upp mycket och mycket hÄrdvara. Och varje hÄrdvara ansvarade för sin specifika roll.

För att ladda data i den var man tvungen att tillĂ€mpa nĂ„gon form av hĂ€xkonst. Det finns ett OpenSource-projekt – Tranquility, som förlorade vĂ„r data i processen. NĂ€r vi laddade data i den, förlorade den dem.

Men pÄ nÄgot sÀtt började vi implementera den. Vi, som igelkottar som fick taggar men fortsatte att Àta kaktus, började implementera den. Det tog oss ungefÀr en mÄnad att förbereda hela infrastrukturen för den. D.v.s. bestÀlla servrar, stÀlla in roller, genomföra full automatisering av implementeringen. D.v.s. i hÀndelse av att klustret faller, för att automatiskt stÀlla in ett andra kluster.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

Men plötsligt hÀnde ett mirakel. Jag var pÄ semester, och mina kollegor skickade mig en lÀnk till habr, dÀr det stod att Yandex hade beslutat att öppna ClickHouse. Jag sa att lÄt oss testa.

Och bokstavligt talat pĂ„ 2 dagar stĂ€llde vi in ett testkluster för ClickHouse. Vi började ladda data i det. JĂ€mfört med infinDB – det var elementĂ€rt, jĂ€mfört med Druid – det var elementĂ€rt. JĂ€mfört med Cassandra ocksĂ„ elementĂ€rt. För eftersom man laddar data i Cassandra frĂ„n php, sĂ„ Ă€r det inte elementĂ€rt.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

Vad fick vi? Prestanda i hastighet. Prestanda i datalagring. D.v.s. det anvÀnds mycket mindre lagringsutrymme. ClickHouse Àr snabbt, det Àr mycket snabbt jÀmfört med andra produkter.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

Vid tidpunkten för lanseringen, nĂ€r Yandex publicerade ClickHouse i OpenSource, fanns det bara en konsolklient. Vi pĂ„ vĂ„rt företag, СМИ2, bestĂ€mde oss för att försöka göra en inbyggd klient för webben, sĂ„ att man kunde öppna en sida i webblĂ€saren, skriva en frĂ„ga och fĂ„ resultatet, eftersom vi började skriva mĂ„nga frĂ„gor. Att skriva i konsolen Ă€r kĂ€mpigt. Och vi gjorde vĂ„r första version.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

Och nÄgon gÄng nÀrmare vintern förra Äret började oberoende verktyg för att arbeta med ClickHouse dyka upp. Det handlar om verktyg som:

Jag kommer att gÄ igenom nÄgra av dessa verktyg, det vill sÀga de som jag har arbetat med.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

Ett bra verktyg, men för Druid. NÀr vi implementerade Druid, provade jag SuperSet. Jag gillade det. För Druid arbetar det mycket snabbt.

Det passar inte för ClickHouse. Det vill sÀga, det fungerar, men Àr bara redo att hantera grundlÀggande frÄgor som: SELECT event, GROUP BY event. Den stödjer inte mer komplex syntaks för ClickHouse.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

NÀsta verktyg Àr Apache Zeppelin. Det Àr en bra och intressant sak. Det fungerar. Den stödjer anteckningsböcker, dashboards och variabler. Jag vet att nÄgon frÄn ClickHouse-gemenskapen anvÀnder det.

Men det finns ingen stöd för ClickHouse-syntax, det vill sÀga du mÄste skriva frÄgor antingen i konsolen eller nÄgon annanstans. DÀrefter kontrollera att allt fungerar. Det Àr helt enkelt obekvÀmt. Men stödet för dashboarding Àr bra.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

NÀsta verktyg Àr Redash.IO. Redash hostas pÄ internet. Det vill sÀga, till skillnad frÄn de tidigare verktygen behöver det inte installeras. Och det Àr en sÄdan dashboarding med möjlighet till datakonsolidering frÄn olika datakÀllor. Det vill sÀga, du kan exportera frÄn ClickHouse, MySQL, PostgreSQL och andra databaser.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

Bokstavligen för en mÄnad sedan (i mars 2017) kom stöd för Grafana. NÀr du bygger rapporter i Grafana, lÄt oss sÀga, om din hÄrdvaras status eller nÄgra metrik, sÄ kan du nu bygga samma grafik eller en sÄdan panel med data frÄn ClickHouse direkt. Det Àr mycket bekvÀmt, och vi anvÀnder det hos oss. Det gör det möjligt att hitta avvikelser. Det vill sÀga, om nÄgot hÀnder och viss hÄrdvara gÄr ner eller spÀnns, sÄ kan man se orsaken, om dessa data har hunnit komma in i ClickHouse.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

Jag tyckte att det var mycket besvÀrligt att skriva i dessa verktyg eller i konsolen. Och jag beslöt mig för att förbÀttra vÄrt första grÀnssnitt. Och jag sneglade pÄ idén frÄn EventSQL, SeperSet, Zeppelin.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

Vad ville jag? Jag ville ha grafer, en förbÀttrad redigerare, implementera stöd för ordlistor och förslag. Eftersom ClickHouse har en utmÀrkt funktion - det Àr ordlistor. Men det Àr svÄrt att arbeta med ordlistor eftersom man mÄste komma ihÄg formatet pÄ de lagrade vÀrdena, det vill sÀga om det Àr ett nummer eller en strÀng och sÄ vidare. Eftersom vi ofta anvÀnder ordlistor i deras olika varianter, sÄ var det ganska svÄrt att skriva frÄgor.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

Det har gÄtt 3 mÄnader sedan lanseringen av vÄr första version. Jag har gjort cirka 330 commits i den stÀngda grenen och Tabix blev resultatet.

Till skillnad frÄn den tidigare versionen som kallades ClickHouse-Frontend, beslöt jag mig för att ge den ett enklare namn. SÄ hÀr blev det Tabix.

Vad har kommit?

Ritar diagram. Stöder SQL-syntax för ClickHouse. Ger förslag pÄ funktioner och kan mycket annat intressant.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

SĂ„ hĂ€r ser den övergripande schemat för Tabix ut. Till vĂ€nster finns trĂ€det. I mitten – det Ă€r frĂ„geredigeraren. Och lĂ€ngst ner – resultatet av denna förfrĂ„gan.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

NÀsta kommer jag att visa hur frÄgeredigeraren fungerar.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

HÀr aktiverades automatisk autocompletion pÄ tabellen och ger förslag, och sedan autocompletion pÄ fÀlten. Och förslag pÄ funktioner. Om du trycker ctrl enter, sÄ kommer förfrÄgan att köras eller ge ett fel. Den enklaste förfrÄgan skickas till Tabix och resultatet erhÄlls, det vill sÀga, man kan snabbt arbeta med ClickHouse.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

Ordböcker, som jag redan nÀmnt, Àr en mycket intressant sak som vi arbetar mycket med. Och som har möjliggjort mÄnga saker. Till exempel lagrar vi i ordböcker alla stÀder. Vi lagrar stadens identifierare och namn, dess latitud och longitud. Och i databasen lagrar vi endast stadsidentifieraren. DÀrmed komprimerar vi datan mycket kraftigt.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

Detta kan tyckas vara en enkel sak, men i ClickHouse hjÀlper det pÄ ett intressant sÀtt. Eftersom ClickHouse endast stöder inbÀddade join, vÀxer förfrÄgan nedÄt och Ät sidorna ganska kraftigt. Och nÀr en parentes öppnas och det finns ett lÄngt uttryck, sÄ hjÀlps en ganska enkel sak som att dölja förfrÄgan till att lÀttare arbeta med sjÀlva förfrÄgan. För nÀr förfrÄgan Àr 200-300 rader lÄng och mycket bred, sÄ Àr det mycket till hjÀlp att dölja den och sedan hitta nÄgot stÀlle eller pÄ nÄgot sÀtt lokalisera det.

ObjekttrÀd, multipla förfrÄgningar och flikar (Video 13:46) https://youtu.be/w1-XsL3nbRg?t=826)

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

NĂ€sta visar jag om trĂ€det och flikarna. Till vĂ€nster – det Ă€r trĂ€det, upptill kan man skapa flera flikar. Flikarna fungerar som arbetsytor. Du kan skapa flera flikar och ge varje en egen benĂ€mning. Det fungerar som ett minisystem för att skapa rapporter.

Flikarna sparas automatiskt. Om du laddar om webblÀsaren eller stÀnger den eller öppnar Tabix igen, sÄ sparas allt detta.

Heta tangenter – bekvĂ€mt (Video 14:39) https://youtu.be/w1-XsL3nbRg?t=879)

Det finns heta tangenter och de Àr ganska mÄnga. Jag har tagit med nÄgra av dem hÀr som exempel. Det handlar om att vÀxla flik, köra en förfrÄgan eller köra flera förfrÄgningar.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

Jag ska visa hur man arbetar med resultatet. Vi skickar en förfrÄgan. HÀr ritar jag sin, cos och tg. Man kan markera resultatet, dvs. rita en typisk karta i kolumn. Man kan markera positiva eller negativa vÀrden. Eller helt enkelt fÀrga ett specifikt element i tabellen. Detta Àr praktiskt nÀr tabellen Àr enorm och man behöver hitta en viss avvikelse med ögonen. NÀr jag letade efter avvikelser markerade jag vissa rader, vissa element i grönt eller rött.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

Det finns mÄnga intressanta saker dÀr. Till exempel, hur man kopierar till Redmine Markdown. Om man behöver kopiera resultatet nÄgonstans Àr det vÀldigt praktiskt. Man kan helt enkelt markera omrÄdet, sÀga "Copy to Redmine" och den kopierar till Redmine Markdown eller skapar en förfrÄgan Where.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

Vidare – det handlar om att optimera förfrĂ„gningar. Jag glömde en gĂ„ng att ange fĂ€ltet "date". Och min förfrĂ„gan i ClickHouse behandlades inte sĂ€rskilt snabbt, men snabbt, dvs. pĂ„ mindre Ă€n en sekund. NĂ€r jag sĂ„g hur mĂ„nga rader den gick igenom kĂ€nde jag mig skrĂ€md. Vi skriver inte sĂ„ mĂ„nga rader i denna tabell pĂ„ en hel dag. Jag började analysera förfrĂ„gan och sĂ„g att jag hade missat datumet pĂ„ ett stĂ€lle. Dvs. jag glömde ange att jag behövde data för en specifik period, inte för hela tabellen.

I Tabix finns det en flik "Stats", dÀr hela historiken av skickade förfrÄgningar lagras, dvs. dÀr kan man se hur mÄnga rader som lÀstes av denna förfrÄgan och hur lÄng tid den tog. Detta gör det möjligt att optimera.

Över resultatet av förfrĂ„gan kan man bygga en pivot-tabell. Du skickade en förfrĂ„gan till ClickHouse, fick nĂ„gra data. Och sedan kan dessa data manipuleras med musen och en pivot-tabell kan byggas.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

NĂ€sta intressanta sak – det Ă€r att rita diagram. Anta att vi har en sĂ„dan förfrĂ„gan: pĂ„ sin, cos frĂ„n 0 till 299. Och för att rita det behöver man vĂ€lja fliken "Draw" och du fĂ„r ett diagram med dina sin och cos.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

Man kan dela upp detta pÄ olika axlar, dvs. man kan rita tvÄ diagram bredvid varandra. Skriva ett kommando och ett annat kommando.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

Man kan rita histogram.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

Man kan dela upp detta i en matris av diagram.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

Man kan bygga en vÀrmekarta.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

Man kan bygga en vÀrme-kalender. Förresten, det Àr en mycket praktisk sak nÀr man behöver analysera avvikelser under ett Är, dvs. hitta antingen toppar eller nedgÄngar. Denna datavisualisering hjÀlpte mig med detta.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

NÀsta - det Àr Treemap.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

Sankeys – en intressant graf. Den Ă€r antingen Streamgraphs eller River. Men jag kallar den River. Den gör det ocksĂ„ möjligt att söka efter anomalier. Den Ă€r vĂ€ldigt anvĂ€ndarvĂ€nlig. Jag rekommenderar att anvĂ€nda den för att göra sökningar.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

NÀsta intressanta sak Àr att rita en dynamisk karta. Om ni har latitud, longitud och, lÄt oss sÀga, ett syfte lagrat i databasen, om ni till exempel har transportföretag eller flygplan, sÄ kan ni rita destinationernas vÀgar. DÀr kan ni ocksÄ ange hastighet, storlek pÄ dessa objekt och hur de kommer att anlÀnda.

Men problemet med den hÀr kartan Àr att den bara ritar en vÀrldskarta, det finns ingen detaljering.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

Senare lade jag till Google Maps. Om ni lagrar latitud och longitud kan ni rita resultatet pÄ Google Maps, men utan stöd för smÄ flygplan.

De huvudsakliga funktionerna för att arbeta med resultatet och förfrÄgningar i Tabix har vi diskuterat.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

NÀsta Àr analysen av er ClickHouse-server. Det finns en separat flik "Metrik" dÀr man kan se storleken pÄ lagrade data per kolumn. PÄ skÀrmdumpen syns det att detta fÀlt "referrer" tar upp cirka 730 GB. Om vi skulle överge detta fÀlt skulle vi spara tre shards pÄ 700 GB, det vill sÀga omkring 2 TB, som vi inte behöver.

Vi har ocksÄ fÀltet "request_id" som vi lagrar som en strÀng. Men om vi börjar lagra det som ett numeriskt vÀrde skulle detta fÀlt krympa avsevÀrt.

HÀr visas ocksÄ serverkonfigurationen och listan över noder i ert kluster.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

NÀsta flik Àr metrik. De hÀmtas i realtid frÄn ClickHouse och gör det möjligt att analysera serverns tillstÄnd och förstÄ vad som hÀnder med den. Det Àr inte en fullstÀndig ersÀttning för Grafana. Det behövs för att snabbt analysera.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

NÀsta flik handlar om processer. Genom dem kan man förstÄ vad som hÀnder pÄ servern. FörstÄ vad som pÄgÄr dÀr. Jag hade en frÄga som tog 200 GB i lÀsning varje gÄng. Jag upptÀckte det tack vare detta grÀnssnitt. Jag fÄngade det och justerade det. Och nu ligger vi pÄ cirka 30 GB, det vill sÀga prestandan har ökat mÄnga gÄnger.

ClickHouse – visuellt snabb och tydlig dataanalys i Tabix. Igor Strikhar

Tack! Och detta Àr i OpenSource

Jag har avslutat. Och för övrigt, detta Ă€r i OpenSource, det Ă€r gratis och ni behöver inte ens ladda ner det. Öppna det i webblĂ€saren sĂ„ fungerar allt.

FrÄgor

Igor, vad hÀnder hÀrnÀst? Hur tÀnker du utveckla det hÀr verktyget?

DÀrefter kommer dashboarden att dyka upp, det vill sÀga, det kan hÀnda att dashboarden kommer. Integration med andra databaser. Det hÀr gjorde jag, men har Ànnu inte publicerat det som öppen kÀllkod. Det gÀller MySQL och möjligtvis PostgreSQL. Det vill sÀga, det kommer att vara möjligt att skicka förfrÄgningar frÄn Tabix inte bara till ClickHouse, utan Àven till andra verktyg.

Det Àr uppenbart att en enorm mÀngd arbete har lagts ner. Resultatet Àr en relativt komplett idé. Det görs i webblÀsaren, tydligen för att undvika knepiga lösningar pÄ olika axlar och snabbt fÄ ihop allt detta. Jag har hört att ni arbetar med det, sÄ det Àr enklast att fÄ ihop det i webblÀsaren sÄ fungerar det överallt. php Det finns inga frÄgor om det. Det Àr verkligen mycket arbete nedlagt dÀr. Hur mÄnga personer har arbetat med detta? Och hur lÄng tid har allt detta tagit? För verktyg anpassade till ett projekt brukar normalt sett inte ha sÄ mycket funktionalitet.

FrĂ„n sommaren till hösten arbetade en person frĂ„n vĂ„rt team. Det var den första versionen. Sedan gjorde jag 330 commits ensam. Det ni ser Ă€r nĂ„got vi gjorde tillsammans, min kollega och jag. PĂ„ tre mĂ„nader gick jag frĂ„n den första versionen till den senaste, mycket av det gjorde jag sjĂ€lv. Men jag Ă€r mycket dĂ„lig pĂ„ Javascript. Det hĂ€r var mitt enda och, förhoppningsvis, sista projekt med Javascript som jag arbetade med. Det kom till mig, jag tittade pĂ„ det – oh, hemskt. Men jag ville verkligen slutföra produkten och sĂ„ hĂ€r blev det.

Stort tack för presentationen! Det Àr ett utmÀrkt verktyg. Har ni jÀmfört med *Tableau*? Tack. DÀrför kallade jag det Tabix, eftersom de första bokstÀverna överlappar.

För att ni konkurrerar?

Det kommer att bli mycket investeringar, vi kommer att konkurrera.

Hur föreslÄr ni att sÀlja det till interna analytiker, att det hÀr verktyget helt kommer att ersÀtta *Tableau*?

*Tableau* fungerar nativt med ClickHouse. Jag har provat Tableau, men dĂ€r kan man inte skriva stöd för ordböcker och sĂ„dana saker. Jag vet hur folk arbetar med Tabix. De skriver en förfrĂ„gan, laddar ner i CSV och laddar upp i BI.? КаĐșОД Đ±ŃƒĐŽŃƒŃ‚ Đ°Ń€ĐłŃƒĐŒĐ”ĐœŃ‚Ń‹?

Och redan dÀr gör de nÄgot. Men jag har svÄrt att förestÀlla mig hur de gör detta, eftersom det Àr ett grafiskt verktyg. Det kan ladda ner 5 000 rader, max 6 000 rader, men inte mer, annars klarar inte webblÀsaren av det. Det finns sÄ att sÀga allvarliga begrÀnsningar för datavolymen, eller hur? Ja. Jag kan inte förestÀlla mig att ni skulle vilja ladda ner 10 000 rader till er tabell pÄ webblÀsarens skÀrm. Varför?

Det förutsÀtts att det Àr ett grÀnssnitt för snabb visning av data? Att snurra lite, vÀnda och vrida?

Ja. För att det Àr ett grÀnssnitt för snabbt dataöversikt?

Detta verkar vara ett grÀnssnitt för snabb visning av data?

Ja, det Àr snabbt att se hur det fungerar och enkelt att bygga en sammanstÀllningsgraf. Sedan kan man skicka den nÄgonstans. Vi har vÄrt eget rapporteringssystem, dÀr jag bara tar den hÀr frÄgan. Jag ritar i Tabix och skickar till vÄr rapportering.

Och en frÄga till. Kohortanalys?

Om det finns önskemÄl, lÀgger vi till det.

NÀr vi just började anvÀnda det ClickHouse, hur lÄng tid tog implementeringen ClickHouse och att nÄ produktionslÀge?

Som jag sa, vi implementerade en testkluster pÄ mycket kort tid. PÄ tvÄ dagar satte vi upp det. Och ytterligare ett par veckor testade vi det. Och vi kom till produktion efter cirka 3 mÄnader. Men vi hade vÄr egen ETL, det vill sÀga verktyg för att skriva data. Och den kunde skriva till allt möjligt. Den kan skriva till MongoDB, Cassandra, MySQL. Att lÀra den att skriva till ClickHouse var enkelt. Vi hade en fÀrdig infrastruktur för snabb implementering. Efter ungefÀr 3 mÄnader började vi ta bort den första komponenten. Efter 6 mÄnader hade vi helt övergett allt annat. Vi hade kvar bara ClickHouse.

Igor, stort tack för presentationen. Jag gillade verkligen funktionaliteten för att bygga vÀgar pÄ kartorna. Planeras det nÄgon integration med Yandex.Kartor och specifikt med anpassade Yandex.Kartor?

Jag försökte integrera istÀllet för Google-kartan, men jag hittade inget mörkt tema pÄ Yandex.Kartor. Jag nÀmnde inte en bit. Jag spolar tillbaka för att komplettera.

Bild – Google-karta. DĂ€r finns det en kommando "DRAW_GMAPS", som ritar kartan. Det finns en kommando "DRAW_YMAPS", det vill sĂ€ga den kan rita Yandex.Kartan. Och faktiskt ligger det Javascript under det kommandot, det vill sĂ€ga data som du fĂ„r frĂ„n ClickHouse kan överföras till Javascript som du skriver hĂ€r. Och du har en yta dĂ€r det ska ritas. Man kan rita vilken graf som helst, det vill sĂ€ga vilken graf som helst, en karta, du kan rita din egen komponent. Jag hade tidigare ett annat bibliotek för att rita sjĂ€lva graferna.

Det vill sÀga, det finns ett verktyg för att anpassa visningsfunktionen?

Vilka som helst. Man kan ta och fÀrga dessa punkter sÄ att de inte Àr röda, utan blÄa, gröna.

Tack för presentationen! Ni hade en bild som presenterade alternativa verktyg för förfrÄgningar ClickHouse för att bygga dashboards, analytiska rapporter. Jag förstod det som att vid den tidpunkt dÄ ni började arbeta med ClickHouse, ingen adaptrar har skrivits för dessa verktyg. Jag undrar varför ni valde att göra ert eget verktyg istÀllet för att skriva en adapter för nÄgot fÀrdigt verktyg? Jag tycker att det borde vara snabbt att justera testredaktören. Varför valde ni att göra sÄ mycket arbete?

Det finns en intressant punkt – jag Ă€r teknisk chef, inte data scientist. Vid den tidpunkt dĂ„ vi började implementera Druid, hade jag ungefĂ€r 50 % av uppgifterna pĂ„ min vĂ€gkarta – lĂ„t oss rĂ€kna detta eller lĂ„t oss rĂ€kna det, eller analysera detta. Och det blev sĂ„ att vi implementerade ClickHouse. Jag började snabbt bygga, rĂ€kna och stĂ€ngde snabbt min vĂ€gkarta. Och vid den tiden insĂ„g jag att jag saknade kunskaper inom Data Science och datavisualisering. Tabix Ă€r mitt sĂ€tt att lĂ€ra mig datavisualisering. Jag tittade pĂ„ hur jag kunde komplettera Zeppelin. Jag har en lĂ€tt motvilja mot dess programmering. Jag tittade pĂ„ Redash och hur jag kunde komplettera det, men jag saknade en ordentlig redigerare dĂ€r. SuperSet Ă€r ocksĂ„ skrivet pĂ„ det sprĂ„k jag inte riktigt tycker om. SĂ„ jag bestĂ€mde mig för att bygga nĂ„got sjĂ€lv, och hĂ€r Ă€r vad som kom ut av det.

Igor, accepterar ni pull requests?

Ja.

Tack sĂ„ mycket för presentationen! Jag har tvĂ„ frĂ„gor. Första – ni pratar inte sĂ€rskilt positivt om Javascript. Skrev ni i rent Javascript eller anvĂ€nder ni nĂ„got ramverk?*

BĂ€ttre i rent Javascript.

SĂ„ vilket ramverk?

Angular.

FörstÄtt. Och den andra frÄgan. Har ni övervÀgt R och *Shiny**?*

Ja, jag har övervÀgt det. Testat lite.

Man kunde bara ha skrivit en adapter ocksÄ.

Det finns en. Det verkar som att gemenskapen har gjort den, men som jag svarade pÄ föregÄende frÄga, ville jag sjÀlv pröva.

*Nej, angÄende visualisering, det finns ju.

Du sÀger att det finns en grej som ritar en graf Ät dig. Jag öppnade en bok om datavisualisering och tÀnkte: 'LÄt mig försöka visualisera dessa data. Jag skriver sjÀlv, sÄ att den kan bygga upp data.' Och jag började förstÄ tekniken för datadistribution bÀttre. Om jag hade anvÀnt en fÀrdig komponent, skulle jag personligen ha lÀrt mig att anvÀnda den sÀmre, det vill sÀga specifikt visualisering. Men ja, R tyckte jag om, men jag har Ànnu inte lÀst boken 'R för dummies'.

Tack!

En enkel frÄga. Finns det nÄgra möjligheter att snabbt exportera en tabell, en graf?

Man kan exportera till CSV, till Excel.

Inte data, utan en fÀrdig tabell, en fÀrdig graf? Till exempel för att visa för cheferna.

Det finns en knapp "Ladda ner" och en knapp "Ladda ner grafiken i png, i jpg".

Tack!

P.S. En liten installationsguide för tabix

  • Ladda ner senaste versionen
  • Packa upp, kopiera katalogen build till nginx root_path
  • Konfigurera nginx

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster