Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Minkejja l-fatt li issa hemm ħafna dejta kważi kullimkien, id-databases analitiċi għadhom pjuttost eżotiċi. Huma magħrufa ħażin u saħansitra agħar kapaċi jużawhom b'mod effettiv. Ħafna jkomplu "jieklu Kaktus" bil-MySQL jew il-PostgreSQL, li huma ddisinjati għal xenarji oħra, ibatu b'NoSQL, jew iħallsu żejjed għal soluzzjonijiet kummerċjali. ClickHouse tbiddel ir-regoli tal-logħba u tnaqqas b'mod sinifikanti l-limitu għad-dħul fid-dinja tad-DBMS analitiċi.

Rapport minn BackEnd Conf 2018 u huwa ppubblikat bil-permess tal-kelliem.


Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)
Min jien u għaliex qed nitkellem dwar ClickHouse? Jien direttur tal-iżvilupp f'LifeStreet, li juża ClickHouse. Ukoll, jien il-fundatur ta 'Altinity. Huwa sieħeb Yandex li jippromwovi ClickHouse u jgħin lil Yandex jagħmel ClickHouse aktar suċċess. Lest ukoll biex taqsam l-għarfien dwar ClickHouse.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

U jien mhux ħu Petya Zaitsev. Spiss inkun mistoqsi dwar dan. Le, m’aħniex aħwa.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

"Kulħadd jaf" li ClickHouse:

  • Mgħaġġel ħafna,
  • Komdu ħafna
  • Użat f'Yandex.

Ftit inqas huwa magħruf f'liema kumpaniji u kif jintuża.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Jien ngħidlek għaliex, fejn u kif tintuża ClickHouse, ħlief għal Yandex.

Jien ngħidlek kif kompiti speċifiċi jiġu solvuti bl-għajnuna ta 'ClickHouse f'kumpaniji differenti, liema għodod ClickHouse tista' tuża għall-kompiti tiegħek, u kif intużaw f'kumpaniji differenti.

I qabad tliet eżempji li juru ClickHouse minn angoli differenti. Naħseb li se jkun interessanti.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

L-ewwel mistoqsija hija: "Għaliex għandna bżonn ClickHouse?". Jidher li hija mistoqsija pjuttost ovvja, iżda hemm aktar minn tweġiba waħda għaliha.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

  • L-ewwel tweġiba hija għall-prestazzjoni. ClickHouse huwa mgħaġġel ħafna. Analytics fuq ClickHouse huwa wkoll veloċi ħafna. Ħafna drabi jista 'jintuża fejn xi ħaġa oħra tkun bil-mod ħafna jew ħażina ħafna.
  • It-tieni tweġiba hija l-ispiża. U l-ewwel nett, l-ispiża tal-iskala. Pereżempju, Vertica hija database assolutament kbira. Taħdem tajjeb ħafna jekk ma jkollokx ħafna terabytes ta 'data. Iżda meta niġu għal mijiet ta 'terabytes jew petabytes, l-ispiża ta' liċenzja u appoġġ tidħol f'ammont pjuttost sinifikanti. U huwa għali. U ClickHouse huwa b'xejn.
  • It-tielet tweġiba hija l-ispiża operattiva. Dan huwa approċċ kemmxejn differenti. RedShift huwa analog kbir. Fuq RedShift, tista' tieħu deċiżjoni malajr ħafna. Se taħdem tajjeb, iżda fl-istess ħin, kull siegħa, kull jum, u kull xahar, inti tħallas Amazon pjuttost għali, minħabba li dan huwa servizz għali ħafna. Google BigQuery ukoll. Jekk xi ħadd użaha, allura jaf li hemm tista 'tmexxi diversi talbiet u tikseb kont għal mijiet ta' dollari f'daqqa.

ClickHouse m'għandux dawn il-problemi.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Fejn tintuża ClickHouse issa? Minbarra Yandex, ClickHouse jintuża f'mazz ta 'negozji u kumpaniji differenti.

  • L-ewwelnett, din hija analitika tal-applikazzjoni tal-web, jiġifieri dan huwa każ ta 'użu li ġie minn Yandex.
  • Ħafna kumpaniji AdTech jużaw ClickHouse.
  • Bosta kumpaniji li għandhom bżonn janalizzaw zkuk tat-tranżazzjonijiet minn sorsi differenti.
  • Diversi kumpaniji jużaw ClickHouse biex jimmonitorjaw zkuk tas-sigurtà. Huma jtellgħuhom fuq ClickHouse, jagħmlu rapporti, u jiksbu r-riżultati li jeħtieġu.
  • Il-kumpaniji qed jibdew jużawh fl-analiżi finanzjarja, jiġifieri gradwalment in-negozji l-kbar qed jersqu wkoll lejn ClickHouse.
  • cloudflare. Jekk xi ħadd isegwi ClickHouse, allura probabbilment sema 'l-isem ta' din il-kumpanija. Dan huwa wieħed mill-kontributuri essenzjali mill-komunità. U għandhom installazzjoni ClickHouse serja ħafna. Pereżempju, għamlu Kafka Engine għal ClickHouse.
  • Kumpaniji tat-telekomunikazzjoni bdew jużaw. Diversi kumpaniji jużaw ClickHouse jew bħala prova fuq il-kunċett jew diġà fil-produzzjoni.
  • Kumpanija waħda tuża ClickHouse biex tissorvelja l-proċessi tal-produzzjoni. Huma jittestjaw mikroċirkwiti, iħassru mazz ta 'parametri, hemm madwar 2 karatteristika. U mbagħad janalizzaw jekk il-logħba hijiex tajba jew ħażina.
  • Analitika tal-blockchain. Hemm kumpanija Russa bħal Bloxy.info. Din hija analiżi tan-netwerk ethereum. Dan għamlu wkoll fuq ClickHouse.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

U d-daqs ma jimpurtax. Hemm ħafna kumpaniji li jużaw server żgħir wieħed. U jippermettilhom isolvu l-problemi tagħhom. U saħansitra aktar kumpaniji jużaw raggruppamenti kbar ta 'ħafna servers jew għexieren ta' servers.

U jekk tħares lejn ir-rekords, allura:

  • Yandex: 500+ servers, jaħżnu 25 biljun rekord kuljum hemmhekk.
  • LifeStreet: 60 server, madwar 75 biljun rekord kuljum. Hemm inqas servers, aktar rekords milli f'Yandex.
  • CloudFlare: 36 server, jiffrankaw 200 biljun rekord kuljum. Huma għandhom saħansitra inqas servers u jaħżnu saħansitra aktar data.
  • Bloomberg: 102 servers, madwar triljun entrati kuljum. Detentur tar-rekord.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Ġeografikament, dan huwa wkoll ħafna. Din il-mappa hawn turi mappa tas-sħana ta' fejn ClickHouse qed tintuża fid-dinja. Ir-Russja, iċ-Ċina, l-Amerika jispikkaw b'mod ċar hawn. Ftit hemm pajjiżi Ewropej. U hemm 4 clusters.

Din hija analiżi komparattiva, m'hemmx għalfejn tfittex ċifri assoluti. Din hija analiżi tal-viżitaturi li jaqraw materjali bil-lingwa Ingliża fuq il-websajt ta 'Altinity, minħabba li m'hemm l-ebda wieħed li jitkellem ir-Russu hemmhekk. U r-Russja, l-Ukrajna, il-Belarus, jiġifieri l-parti tal-komunità li titkellem bir-Russu, dawn huma l-aktar utenti numerużi. Imbagħad jiġu l-Istati Uniti u l-Kanada. Iċ-Ċina qed tlaħħaq ħafna. Ma kien hemm kważi l-ebda Ċina hemm sitt xhur ilu, issa ċ-Ċina diġà qabżet lill-Ewropa u qed tkompli tikber. L-Ewropa l-Qadima mhix wisq lura, u l-mexxej fl-użu ta 'ClickHouse hija, stramba, Franza.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Għaliex qed ngħid dan kollu? Biex turi li ClickHouse qed issir soluzzjoni standard għall-analiżi tad-dejta kbira u diġà tintuża f'ħafna postijiet. Jekk tużaha, int fit-tendenza t-tajba. Jekk għadek m'intix tużah, allura ma tistax tibża' li titħalla waħdek u ħadd ma jgħinek, għax ħafna diġà qed jagħmlu dan.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Dawn huma eżempji ta’ użu reali ta’ ClickHouse f’diversi kumpaniji.

  • L-ewwel eżempju huwa netwerk tar-reklami: migrazzjoni minn Vertica għal ClickHouse. U naf ftit kumpaniji li għamlu transizzjoni minn Vertica jew qegħdin fil-proċess ta 'tranżizzjoni.
  • It-tieni eżempju huwa l-ħażna transazzjonali fuq ClickHouse. Dan huwa eżempju mibni fuq antipatterns. Dak kollu li m'għandux isir f'ClickHouse fuq il-parir tal-iżviluppaturi jsir hawn. U dan isir b'mod effettiv tant li jaħdem. U taħdem ħafna aħjar mis-soluzzjoni transazzjonali tipika.
  • It-tielet eżempju huwa kompjuters distribwiti fuq ClickHouse. Kien hemm mistoqsija dwar kif ClickHouse tista 'tiġi integrata fl-ekosistema Hadoop. Se nuri eżempju ta 'kif kumpanija għamlet xi ħaġa simili għal mappa tnaqqas kontenitur fuq ClickHouse, iżżomm kont tal-lokalizzazzjoni tad-dejta, eċċ., Biex tikkalkula kompitu mhux trivjali ħafna.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

  • LifeStreet hija kumpanija Ad Tech li għandha t-teknoloġija kollha li tiġi ma 'netwerk ta' reklami.
  • Hija involuta fl-ottimizzazzjoni tar-reklami, offerti programmatiċi.
  • Ħafna dejta: madwar 10 biljun avveniment kuljum. Fl-istess ħin, l-avvenimenti hemmhekk jistgħu jinqasmu f'diversi sub-avvenimenti.
  • Hemm ħafna klijenti ta 'din id-dejta, u dawn mhumiex biss nies, ħafna aktar - dawn huma diversi algoritmi li huma involuti f'offerti programmatiċi.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Il-kumpanija waslet triq twila u tax-xewk. U tkellimt dwarha fuq HighLoad. L-ewwel, LifeStreet mċaqalqa minn MySQL (b'waqfa qasira f'Oracle) għal Vertica. U tista’ ssib storja dwarha.

U kollox kien tajjeb ħafna, iżda malajr deher ċar li d-dejta qed tikber u Vertica hija għalja. Għalhekk, ġew imfittxija diversi alternattivi. Xi wħud minnhom huma elenkati hawn. U fil-fatt, għamilna prova tal-kunċett jew xi kultant ttestjar tal-prestazzjoni ta 'kważi d-databases kollha li kienu disponibbli fis-suq mit-13 sas-16-il sena u kienu bejn wieħed u ieħor adattati f'termini ta' funzjonalità. U tkellimt ukoll dwar xi wħud minnhom fuq HighLoad.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Il-kompitu kien li jemigraw minn Vertica fl-ewwel lok, minħabba li d-dejta kibret. U kibru b'mod esponenzjali matul is-snin. Imbagħad marru fuq l-ixkaffa, iżda xorta waħda. U tbassar dan it-tkabbir, ir-rekwiżiti tan-negozju għall-ammont ta 'dejta li fuqha kien hemm bżonn li ssir xi tip ta' analitika, kien ċar li dalwaqt jiġu diskussi petabytes. U l-ħlas għal petabytes diġà jiswa ħafna flus, għalhekk konna qed infittxu alternattiva fejn imorru.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Fejn tmur? U għal żmien twil ma kien xejn ċar fejn għandhom imorru, għax minn naħa hemm databases kummerċjali, jidhru li jaħdmu tajjeb. Xi wħud jaħdmu kważi kif ukoll Vertica, uħud agħar. Iżda huma kollha għaljin, xejn irħas u aħjar ma setax jinstab.

Min-naħa l-oħra, hemm soluzzjonijiet ta 'sors miftuħ, li mhumiex numerużi ħafna, jiġifieri għall-analitika, jistgħu jingħaddu fuq is-swaba'. U huma b'xejn jew irħas, iżda bil-mod. U ħafna drabi ma jkollhomx il-funzjonalità meħtieġa u utli.

U ma kien hemm xejn li jgħaqqad it-tajjeb li hemm fid-databases kummerċjali u dak kollu b'xejn li huwa fis-sors miftuħ.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Ma kien hemm xejn sakemm, bla mistenni, Yandex ħareġ ClickHouse, bħal magician minn kappell, bħal fenek. U kienet deċiżjoni mhux mistennija, għadhom jistaqsu l-mistoqsija: "Għaliex?", Iżda madankollu.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

U mill-ewwel fis-sajf tal-2016, bdejna nħarsu lejn x'inhi ClickHouse. U rriżulta li kultant jista 'jkun aktar mgħaġġel minn Vertica. Ittestjajna xenarji differenti fuq talbiet differenti. U jekk il-mistoqsija użata tabella waħda biss, jiġifieri, mingħajr ebda join (join), allura ClickHouse kienet darbtejn aktar mgħaġġla minn Vertica.

Ma kontx għażżien wisq u ħarist lejn it-testijiet Yandex il-ġurnata l-oħra. Hemm l-istess: ClickHouse hija darbtejn aktar mgħaġġla minn Vertica, għalhekk ħafna drabi jitkellmu dwarha.

Imma jekk ikun hemm tingħaqad fil-mistoqsijiet, allura kollox jirriżulta mhux b'mod ċar ħafna. U ClickHouse jista' jkun id-doppju tal-mod kif Vertica. U jekk tikkoreġi kemmxejn it-talba u tiktebha mill-ġdid, allura huma bejn wieħed u ieħor ugwali. Mhux ħażin. U b'xejn.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

U wara li rċeviet ir-riżultati tat-test, u ħares lejha minn angoli differenti, LifeStreet mar ClickHouse.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Din hija s-16-il sena, infakkarkom. Kienet qisha ċajta dwar ġrieden li jibku u mnaqqxa lilhom infushom, iżda baqgħu jieklu l-kaktus. U dan kien deskritt fid-dettall, hemm vidjo dwar dan, eċċ.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Għalhekk, mhux se nitkellem dwarha fid-dettall, se nitkellem biss dwar ir-riżultati u ftit affarijiet interessanti li ma tkellimtx dwarhom dak iż-żmien.

Ir-riżultati huma:

  • Migrazzjoni b'suċċess u aktar minn sena s-sistema diġà qed taħdem fil-produzzjoni.
  • Il-produttività u l-flessibbiltà żdiedu. Mill-10 biljun rekord li nistgħu naffordjaw li naħżnu kuljum u mbagħad għal żmien qasir, LifeStreet issa taħżen 75 biljun rekord kuljum u tista 'tagħmel dan għal 3 xhur jew aktar. Jekk tgħodd fil-quċċata, allura dan huwa sa miljun avveniment kull sekonda. F'din is-sistema jaslu aktar minn miljun mistoqsija SQL kuljum, l-aktar minn robots differenti.
  • Minkejja l-fatt li ntużaw aktar servers għal ClickHouse milli għal Vertica, ffrankaw ukoll fuq il-ħardwer, minħabba li ntużaw diski SAS pjuttost għoljin f'Vertica. ClickHouse użat SATA. U għaliex? Minħabba li fil-Vertica daħħal huwa sinkroniku. U s-sinkronizzazzjoni teħtieġ li d-diski ma jonqosx wisq, u wkoll li n-netwerk ma jonqosx wisq, jiġifieri, operazzjoni pjuttost għalja. U fil ClickHouse daħħal huwa asinkroniku. Barra minn hekk, tista 'dejjem tikteb kollox lokalment, m'hemm l-ebda spejjeż addizzjonali għal dan, għalhekk id-dejta tista' tiddaħħal f'ClickHouse ħafna aktar malajr milli f'Vertika, anke fuq drives aktar bil-mod. U l-qari huwa madwar l-istess. Qari fuq SATA, jekk ikunu f'RAID, allura dan kollu huwa mgħaġġel biżżejjed.
  • Mhux limitat b'liċenzja, jiġifieri 3 petabytes ta' data f'60 server (20 server hija replika waħda) u 6 triljun rekord f'fatti u aggregazzjonijiet. Xejn bħal dan ma jista’ jingħata f’Vertica.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Issa ndur għal affarijiet prattiċi f'dan l-eżempju.

  • L-ewwel hija skema effiċjenti. Jiddependi ħafna fuq l-iskema.
  • It-tieni huwa ġenerazzjoni SQL effiċjenti.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Mistoqsija OLAP tipika hija tagħżel. Uħud mill-kolonni jmorru għall-grupp minn, xi wħud mill-kolonni jmorru għall-funzjonijiet aggregati. Hemm fejn, li jista 'jiġi rappreżentat bħala porzjon ta' kubu. Il-grupp kollu minn jista' jitqies bħala projezzjoni. U hu għalhekk li tissejjaħ analiżi tad-dejta multivarjata.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

U ħafna drabi dan huwa mmudellat fil-forma ta 'skema ta' stilla, meta jkun hemm fatt ċentrali u karatteristiċi ta 'dan il-fatt tul il-ġnub, tul ir-raġġi.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

U f'termini ta 'disinn fiżiku, kif jaqbel fuq il-mejda, ġeneralment jagħmlu rappreżentazzjoni normalizzata. Tista 'denormalize, iżda huwa għali fuq disk u mhux effiċjenti ħafna fuq mistoqsijiet. Għalhekk, ġeneralment jagħmlu rappreżentazzjoni normalizzata, jiġifieri tabella tal-fatti u ħafna, ħafna tabelli ta 'dimensjoni.

Iżda ma taħdimx tajjeb fi ClickHouse. Hemm żewġ raġunijiet:

  • L-ewwel huwa għaliex ClickHouse ma tantx għandha joins tajbin, jiġifieri hemm joins, iżda huma ħżiena. Filwaqt li ħażina.
  • It-tieni hija li t-tabelli mhumiex aġġornati. Normalment f'dawn il-pjanċi, li huma madwar iċ-ċirkwit tal-istilla, jeħtieġ li tinbidel xi ħaġa. Per eżempju, l-isem tal-klijent, l-isem tal-kumpanija, eċċ. U ma taħdimx.

U hemm mod kif toħroġ minn dan fi ClickHouse. anke tnejn:

  • L-ewwel huwa l-użu tad-dizzjunarji. Dizzjunarji Esterni huwa dak li jgħin lil 99% isolvu l-problema bl-iskema tal-istilla, b'aġġornamenti eċċ.
  • It-tieni huwa l-użu ta 'arrays. Arrays jgħinu wkoll biex jeħles mill-joints u l-problemi man-normalizzazzjoni.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

  • M'hemmx bżonn li jingħaqad.
  • Aġġornabbli. Minn Marzu 2018, dehret opportunità mhux dokumentata (din ma ssibx fid-dokumentazzjoni) biex taġġorna d-dizzjunarji parzjalment, jiġifieri dawk l-entrati li nbidlu. Prattikament, huwa bħal mejda.
  • Dejjem fil-memorja, għalhekk jingħaqad ma 'xogħol dizzjunarju aktar malajr milli kieku kienet tabella li hija fuq disk u għadu mhux fatt li huwa fil-cache, aktarx le.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

  • M'għandekx bżonn tissieħeb lanqas.
  • Din hija rappreżentazzjoni kompatta 1-to-ħafna.
  • U fl-opinjoni tiegħi, arrays huma magħmula għall-geeks. Dawn huma funzjonijiet lambda u l-bqija.

Dan mhux għal kliem aħmar. Din hija funzjonalità qawwija ħafna li tippermettilek tagħmel ħafna affarijiet b'mod sempliċi ħafna u eleganti.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Eżempji tipiċi li jgħinu biex isolvu l-arrays. Dawn l-eżempji huma sempliċi u ċari biżżejjed:

  • Fittex bit-tikketti. Jekk għandek hashtags hemm u trid issib xi postijiet mill-hashtag.
  • Fittex bil-pari ewlenin-valur. Hemm ukoll xi attributi b'valur.
  • Taħżen listi ta 'ċwievet li għandek bżonn tittraduċi f'xi ħaġa oħra.

Dawn il-kompiti kollha jistgħu jiġu solvuti mingħajr arrays. It-tikketti jistgħu jitpoġġew f'xi linja u jintgħażlu b'espressjoni regolari jew f'tabella separata, iżda mbagħad trid tagħmel joins.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

U f'ClickHouse, m'għandekx bżonn tagħmel xejn, huwa biżżejjed li tiddeskrivi l-firxa ta 'string għal hashtags jew tagħmel struttura nested għal sistemi ta' valur ewlieni.

L-istruttura nested tista 'ma tkunx l-aħjar isem. Dawn huma żewġ matriċi li għandhom parti komuni fl-isem u xi karatteristiċi relatati.

U huwa faċli ħafna li tfittex b'tikketta. Ikollu funzjoni has, li jiċċekkja li l-array fih element. Kulħadd, sab l-entrati kollha li għandhom x'jaqsmu mal-konferenza tagħna.

It-tfittxija permezz tas-subid hija daqsxejn aktar ikkumplikata. Irridu l-ewwel insibu l-indiċi taċ-ċavetta, u mbagħad nieħdu l-element b'dan l-indiċi u niċċekkjaw li dan il-valur huwa dak li neħtieġu. Madankollu, huwa sempliċi ħafna u kompatt.

L-espressjoni regolari li tixtieq tikteb jekk iżżommha kollha f'linja waħda, tkun, l-ewwelnett, goff. U, it-tieni, ħadem ħafna itwal minn żewġ matriċi.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Eżempju ieħor. Għandek firxa fejn taħżen l-ID. U tista’ tittraduċihom f’ismijiet. Funzjoni arrayMap. Din hija funzjoni lambda tipika. Tgħaddi espressjonijiet lambda hemmhekk. U hi tiġbed il-valur tal-isem għal kull ID mid-dizzjunarju.

It-tfittxija tista' ssir bl-istess mod. Tgħaddi funzjoni tal-predikat li tivverifika dak li jaqblu l-elementi.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Dawn l-affarijiet jissimplifikaw bil-kbir iċ-ċirkwit u jsolvu mazz ta 'problemi.

Iżda l-problema li jmiss li qed niffaċċjaw, u li nixtieq insemmi, hija mistoqsijiet effiċjenti.

  • ClickHouse m'għandux pjanifikatur tal-mistoqsijiet. Assolutament le.
  • Madankollu, għad iridu jiġu ppjanati mistoqsijiet kumplessi. F'liema każijiet?
  • Jekk hemm multipli joins fil-query, inti wraphom f'subselects. U l-ordni li biha jiġu esegwiti hija importanti.
  • U t-tieni - jekk it-talba titqassam. Minħabba li f'mistoqsija mqassma, is-subselect l-aktar ġewwa biss tiġi eżegwita mqassma, u kull ħaġa oħra tiġi mgħoddija lil server wieħed li inti konnessi miegħu u eżegwit hemmhekk. Għalhekk, jekk qassejt mistoqsijiet b'ħafna tingħaqad (join), allura trid tagħżel l-ordni.

U anke f'każijiet aktar sempliċi, xi drabi huwa wkoll meħtieġ li jsir ix-xogħol ta 'l-iskedar u tikteb mill-ġdid il-mistoqsijiet ftit.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Hawn eżempju. Fuq in-naħa tax-xellug hemm mistoqsija li turi l-aqwa 5 pajjiżi. U tieħu 2,5 sekondi, fl-opinjoni tiegħi. U fuq in-naħa tal-lemin, l-istess mistoqsija, iżda kemmxejn miktuba mill-ġdid. Minflok ma nġabru b’sekwenza, bdejna niġbru b’ċavetta (int). U huwa aktar mgħaġġel. U mbagħad aħna konnessi dizzjunarju mar-riżultat. Minflok 2,5 sekondi, it-talba tieħu 1,5 sekondi. Dan huwa tajjeb.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Eżempju simili b'kitba mill-ġdid filtri. Hawnhekk hawn talba għar-Russja. Hija taħdem għal 5 sekondi. Jekk nerġgħu niktbuha b'tali mod li nerġgħu nqabblu mhux string, iżda numri b'xi sett ta 'dawk iċ-ċwievet li jirrelataw mar-Russja, allura jkun ħafna aktar mgħaġġel.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Hemm ħafna tricks bħal dawn. U jippermettulek tħaffef b'mod sinifikanti l-mistoqsijiet li taħseb li diġà qed jaħdmu malajr, jew, għall-kuntrarju, jimxu bil-mod. Jistgħu jsiru saħansitra aktar malajr.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

  • Xogħol massimu fil-mod distribwit.
  • Issortjar skond it-tipi minimi, kif għamilt minn ints.
  • Jekk ikun hemm xi joins (join), dizzjunarji, allura huwa aħjar li tagħmilhom bħala l-aħħar għażla, meta diġà jkollok data mill-inqas parzjalment raggruppata, allura l-operazzjoni ta ' join jew sejħa dizzjunarju se tissejjaħ inqas drabi u tkun aktar mgħaġġla.
  • Tissostitwixxi l-filtri.

Hemm tekniki oħra, u mhux biss dawk li wrejt. U kollha kemm huma jistgħu kultant iħaffu b'mod sinifikanti l-eżekuzzjoni tal-mistoqsijiet.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Ejja ngħaddu għall-eżempju li jmiss. Kumpanija X mill-Istati Uniti. X'inhi tagħmel?

Kien hemm kompitu:

  • Konnessjoni offline ta' transazzjonijiet ta' reklamar.
  • Immudellar ta 'mudelli ta' rbit differenti.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

X'inhu x-xenarju?

Viżitatur ordinarju jiġi fis-sit, pereżempju, 20 darba fix-xahar minn reklami differenti, jew eżatt hekk kultant jiġi mingħajr reklami, għax jiftakar dan is-sit. Jħares lejn xi prodotti, ipoġġihom fil-basket, joħroġhom mill-basket. U, fl-aħħar, xi ħaġa tixtri.

Mistoqsijiet raġonevoli: "Min għandu jħallas għar-reklamar, jekk meħtieġ?" u "X'reklamar influwenzah, jekk hemm?". Jiġifieri għaliex xtara u kif iġib nies bħal din il-persuna biex jixtru wkoll?

Sabiex issolvi din il-problema, għandek bżonn tgħaqqad l-avvenimenti li jseħħu fuq il-websajt bil-mod it-tajjeb, jiġifieri, b'xi mod tibni konnessjoni bejniethom. Imbagħad jintbagħtu għall-analiżi lid-DWH. U bbażat fuq din l-analiżi, ibni mudelli ta 'min u liema reklami li juru.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Tranżazzjoni tar-reklam hija sett ta 'avvenimenti relatati mal-utent li jibdew milli juru reklam, imbagħad jiġri xi ħaġa, imbagħad forsi xiri, u mbagħad jista' jkun hemm xiri fi ħdan xiri. Pereżempju, jekk din hija applikazzjoni mobbli jew logħba mobbli, allura ġeneralment l-installazzjoni tal-applikazzjoni ssir b'xejn, u jekk issir xi ħaġa hemmhekk, allura jistgħu jkunu meħtieġa flus għal dan. U aktar ma persuna tonfoq fl-applikazzjoni, iktar tkun siewja. Iżda għal dan għandek bżonn tgħaqqad kollox.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Hemm ħafna mudelli li jorbtu.

L-aktar popolari huma:

  • L-aħħar Interazzjoni, fejn l-interazzjoni hija jew klikk jew impressjoni.
  • L-Ewwel Interazzjoni, jiġifieri l-ewwel ħaġa li ġabet persuna fis-sit.
  • Kombinazzjoni lineari - kollha indaqs.
  • Attenwazzjoni.
  • U l-bqija.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

U kif ħadem kollox fl-ewwel post? Kien hemm Runtime u Cassandra. Cassandra intużat bħala ħażna ta 'tranżazzjonijiet, jiġifieri t-tranżazzjonijiet relatati kollha ġew maħżuna fiha. U meta jiġi xi avveniment f'Runtime, pereżempju, li juri xi paġna jew xi ħaġa oħra, allura saret talba lil Cassandra - hemm persuna bħal din jew le. Imbagħad it-tranżazzjonijiet li jirrelataw magħha nkisbu. U l-konnessjoni saret.

U jekk huwa xortik tajba li t-talba għandha id-transazzjoni, allura huwa faċli. Imma normalment l-ebda xortih. Għalhekk, kien meħtieġ li ssib l-aħħar transazzjoni jew it-tranżazzjoni bl-aħħar klikk, eċċ.

U kollox ħadem tajjeb ħafna sakemm l-irbit kien għall-aħħar klikk. Għax hemm, ngħidu aħna, 10 miljun klikks kuljum, 300 miljun kull xahar, jekk nistabbilixxu tieqa għal xahar. U peress li f'Cassandra trid tkun kollha fil-memorja sabiex taħdem malajr, minħabba li r-Runtime jeħtieġ li jirrispondi malajr, ħa madwar 10-15-il server.

U meta riedu jgħaqqdu tranżazzjoni mal-wiri, immedjatament irriżulta li mhux daqshekk divertenti. U għaliex? Wieħed jista 'jara li 30 darba aktar avvenimenti jeħtieġ li jinħażnu. U, għalhekk, għandek bżonn 30 darba aktar servers. U jirriżulta li din hija xi tip ta 'figura astronomika. Biex iżżomm sa 500 server sabiex tagħmel il-linking, minkejja l-fatt li hemm ħafna inqas servers f'Runtime, allura din hija xi tip ta 'figura żbaljata. U bdew jaħsbu x’għandhom jagħmlu.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

U morna ClickHouse. U kif tagħmel dan fuq ClickHouse? L-ewwel daqqa t'għajn, jidher li dan huwa sett ta 'mudelli kontra.

  • It-tranżazzjoni tikber, aħna ngħaqqdu aktar u aktar avvenimenti magħha, jiġifieri hija mutevoli, u ClickHouse ma taħdimx tajjeb ħafna ma 'oġġetti mutabbli.
  • Meta viżitatur jiġi għandna, għandna bżonn iġbed it-tranżazzjonijiet tiegħu biċ-ċavetta, bl-id taż-żjara tiegħu. Din hija wkoll mistoqsija punt, ma jagħmlux dan f'ClickHouse. Normalment ClickHouse għandha ... skans kbar, iżda hawnhekk irridu nġibu xi rekords. Ukoll antipattern.
  • Barra minn hekk, it-tranżazzjoni kienet f'json, iżda ma ridux jiktbuha mill-ġdid, għalhekk riedu jaħżnu json b'mod mhux strutturat, u jekk meħtieġ, iġbed xi ħaġa minnha. U dan huwa wkoll antipattern.

Jiġifieri sett ta 'antidisinji.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Iżda madankollu rriżulta li saret sistema li ħadmet tajjeb ħafna.

X'sar? ClickHouse deher, li fiha ġew mitfugħa zkuk, maqsuma f'rekords. Deher servizz attribwit li rċieva zkuk minn ClickHouse. Wara dan, għal kull dħul, b'id żjara, irċevejt tranżazzjonijiet li setgħu ma ġewx ipproċessati għadhom u flimkien ma' snapshots, jiġifieri tranżazzjonijiet diġà konnessi, jiġifieri r-riżultat ta 'xogħol preċedenti. Diġà għamilt loġika minnhom, għażilt it-tranżazzjoni korretta, konnessi avvenimenti ġodda. Logged mill-ġdid. Ir-reġistru mar lura għal ClickHouse, jiġifieri hija sistema ċiklika kontinwament. U barra minn hekk mort id-DWH biex janalizzah hemm.

Kien f'din il-forma li ma tantx ħadmet tajjeb. U biex tagħmilha aktar faċli għal ClickHouse, meta kien hemm talba b'id taż-żjara, huma ġabru dawn it-talbiet fi blokki ta '1-000 ids ta' żjara u ħarġu t-tranżazzjonijiet kollha għal 2-000 persuna. U allura kollox ħadem.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Jekk tħares ġewwa ClickHouse, allura hemm biss 3 tabelli ewlenin li jservu dan kollu.

L-ewwel tabella li fiha jittellgħu zkuk, u z-zkuk jittellgħu kważi mingħajr proċessar.

It-tieni tabella. Permezz tal-veduta mmaterjalizzata, minn dawn ir-zkuk, ġrajjiet li għadhom ma ġewx attribwiti, jiġifieri, dawk mhux relatati, ingidmu. U permezz tal-veduta mmaterjalizzata, it-tranżazzjonijiet inħarġu minn dawn ir-zkuk biex tinbena stampa. Jiġifieri, ħsieb immaterjalizzat speċjali bniet snapshot, jiġifieri l-aħħar stat akkumulat tat-tranżazzjoni.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Hawn hu t-test miktub bl-SQL. Nixtieq nikkummenta dwar ftit affarijiet importanti fiha.

L-ewwel ħaġa importanti hija l-abbiltà li tiġbed il-kolonni u l-oqsma minn json f'ClickHouse. Jiġifieri, ClickHouse għandha xi metodi biex taħdem ma 'json. Huma ħafna, ħafna primittivi.

visitParamExtractInt jippermettilek estratt attributi minn json, jiġifieri l-ewwel hit jaħdem. U b'dan il-mod tista 'tiġbed l-id tat-tranżazzjoni jew iżżur id. Din id-darba.

It-tieni nett, hawnhekk jintuża qasam immaterjalizzat delikat. Xi tfisser? Dan ifisser li ma tistax daħħalha fit-tabella, jiġifieri ma tiddaħħalx, hija kkalkulata u maħżuna mal-inserzjoni. Meta twaħħal, ClickHouse jagħmel ix-xogħol għalik. U dak li għandek bżonn aktar tard huwa diġà miġbud minn json.

F'dan il-każ, il-vista materializzata hija għal ringieli mhux maħduma. U l-ewwel tabella bi zkuk prattikament nejjin tintuża biss. U x’jagħmel? L-ewwelnett, tibdel l-issortjar, jiġifieri l-issortjar issa jmur b'id taż-żjara, għaliex għandna bżonn malajr iġbed it-tranżazzjoni tiegħu għal persuna speċifika.

It-tieni ħaġa importanti hija index_granularity. Jekk rajt MergeTree, ġeneralment ikun 8 b'mod awtomatiku index_granularity. X'inhu? Dan huwa l-parametru tal-isparseness tal-indiċi. Fi ClickHouse l-indiċi huwa skars, qatt ma indiċi kull entrata. Jagħmel dan kull 192 8. U dan huwa tajjeb meta ħafna dejta tkun meħtieġa biex tiġi kkalkulata, iżda ħażina meta ftit, minħabba li hemm overhead kbir. U jekk innaqqsu l-granularità tal-indiċi, allura nnaqqsu l-overhead. Ma jistax jitnaqqas għal wieħed, għax jista 'ma jkunx hemm biżżejjed memorja. L-indiċi huwa dejjem maħżun fil-memorja.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Snapshot juża wkoll xi karatteristiċi oħra interessanti ta' ClickHouse.

L-ewwel, huwa AggregatingMergeTree. U AggregatingMergeTree jaħżen argMax, jiġifieri dan huwa l-istat tat-tranżazzjoni li jikkorrispondi għall-aħħar timestamp. It-tranżazzjonijiet huma ġġenerati l-ħin kollu għal viżitatur partikolari. U fl-aħħar stat ta 'din it-tranżazzjoni, aħna żidna avveniment u għandna stat ġdid. Reġgħet laqat ClickHouse. U permezz ta 'argMax f'din il-fehma mmaterjalizzata, nistgħu dejjem niksbu l-istat attwali.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

  • L-irbit huwa "diżakkoppjat" mir-Runtime.
  • Sa 3 biljun tranżazzjoni fix-xahar huma maħżuna u pproċessati. Dan huwa ordni ta’ kobor aktar milli kien f’Cassandra, jiġifieri f’sistema transazzjonali tipika.
  • Raggruppament ta' servers ClickHouse 2x5. 5 servers u kull server għandu replika. Dan huwa saħansitra inqas milli kien f'Cassandra sabiex isir attribuzzjoni bbażata fuq il-klikk, u hawn għandna impressjoni bbażata. Jiġifieri, minflok żiedu n-numru ta 'servers bi 30 darba, irnexxielhom inaqqsuhom.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

U l-aħħar eżempju huwa l-kumpanija finanzjarja Y, li analizzat il-korrelazzjonijiet tal-bidliet fil-prezzijiet tal-istokk.

U l-kompitu kien:

  • Hemm madwar 5 sehem.
  • Il-kwotazzjonijiet kull 100 millisekondi huma magħrufa.
  • Id-dejta ġiet akkumulata fuq 10 snin. Apparentement, għal xi kumpaniji aktar, għal xi inqas.
  • B'kollox hemm madwar 100 biljun ringiela.

U kien meħtieġ li tiġi kkalkulata l-korrelazzjoni tal-bidliet.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Hawn żewġ stokks u l-kwotazzjonijiet tagħhom. Jekk wieħed jitla’ u l-ieħor jitla’, allura din hija korrelazzjoni pożittiva, jiġifieri wieħed jitla’ u l-ieħor jitla’. Jekk wieħed jitla ', bħal fl-aħħar tal-grafika, u l-ieħor jinżel, allura din hija korrelazzjoni negattiva, jiġifieri meta wieħed jogħla, l-ieħor jaqa'.

Meta janalizza dawn il-bidliet reċiproċi, wieħed jista 'jagħmel tbassir fis-suq finanzjarju.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Iżda l-kompitu huwa diffiċli. X'qed isir għal dan? Għandna 100 biljun rekord li għandhom: ħin, stokk, u prezz. Għandna bżonn nikkalkulaw l-ewwel 100 biljun darba d-Differenza running mill-algoritmu tal-prezz. RunningDifference hija funzjoni f'ClickHouse li b'mod sekwenzjali tikkalkula d-differenza bejn żewġ kordi.

U wara dan, trid tikkalkula l-korrelazzjoni, u l-korrelazzjoni trid tiġi kkalkulata għal kull par. Għal 5 sehem, pari huma 000 miljun. U dan huwa ħafna, jiġifieri 12,5 darbiet huwa meħtieġ li tikkalkula biss tali funzjoni ta 'korrelazzjoni.

U jekk xi ħadd nesa, allura ͞x u ͞y huma checkmate. aspettattiva tat-teħid tal-kampjuni. Jiġifieri, huwa meħtieġ mhux biss li jiġu kkalkulati l-għeruq u s-somom, iżda wkoll somom oħra ġewwa dawn is-somom. Mazz ta 'kalkoli jeħtieġ li jsiru 12,5 miljun darba, u anke miġbura f'sigħat. Għandna wkoll ħafna sigħat. U trid tagħmel dan f'60 sekonda. Ċajta.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Kien meħtieġ li jkollok ħin tal-inqas b'xi mod, għax dan kollu ħadem bil-mod ħafna u ħafna qabel ma waslet ClickHouse.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Huma ppruvaw jikkalkulawha fuq Hadoop, fuq Spark, fuq Greenplum. U dan kollu kien bil-mod jew għali ħafna. Jiġifieri, kien possibbli li b'xi mod jiġi kkalkulat, iżda mbagħad kien għali.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

U mbagħad daħal ClickHouse u l-affarijiet marru ħafna aħjar.

Infakkarkom li għandna problema bil-lokalità tad-dejta, għax il-korrelazzjonijiet ma jistgħux jiġu lokalizzati. Ma nistgħux inpoġġu xi wħud mid-dejta fuq server wieħed, xi wħud fuq ieħor u nikkalkulaw, irridu jkollna d-dejta kollha kullimkien.

X'għamlu? Inizjalment, id-dejta hija lokalizzata. Kull server jaħżen data dwar l-ipprezzar ta 'ċertu sett ta' ishma. U ma jikkoinċidux. Għalhekk, huwa possibbli li jiġi kkalkulat logReturn b'mod parallel u indipendenti, dan kollu jiġri s'issa b'mod parallel u mqassam.

Imbagħad iddeċidejna li nnaqqsu din id-dejta, filwaqt li ma nitilfux l-espressività. Naqqas l-użu ta 'arrays, jiġifieri għal kull perjodu ta' żmien, agħmel firxa ta 'ħażniet u firxa ta' prezzijiet. Għalhekk, tieħu ħafna inqas spazju tad-dejta. U huma ftit aktar faċli biex taħdem magħhom. Dawn huma operazzjonijiet kważi paralleli, jiġifieri naqraw parzjalment b'mod parallel u mbagħad niktbu lis-server.

Wara dan, jista 'jiġi replikat. L-ittra "r" tfisser li aħna rreplikajna din id-dejta. Jiġifieri, għandna l-istess data fuq it-tliet servers - dawn huma l-arrays.

U mbagħad bi skript speċjali minn dan is-sett ta '12,5 miljun korrelazzjoni li jeħtieġ li jiġu kkalkulati, tista' tagħmel pakketti. Jiġifieri 2 biċċa xogħol b'500 par ta 'korrelazzjonijiet. U dan il-kompitu għandu jiġi kkalkulat fuq server ClickHouse speċifiku. Huwa għandu d-dejta kollha, għax id-dejta hija l-istess u jista 'jikkalkulahom b'mod sekwenzjali.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Għal darb'oħra, dan huwa kif jidher. L-ewwel, għandna d-dejta kollha f'din l-istruttura: ħin, ishma, prezz. Imbagħad ikkalkulajna logReturn, jiġifieri dejta tal-istess struttura, iżda minflok il-prezz diġà għandna logReturn. Imbagħad reġgħu saru, jiġifieri ksibna l-ħin u l-groupArray għall-ħażniet u l-prezzijiet. Sreplikat. U wara dan, iġġenerajna mazz ta 'kompiti u għalfhom lil ClickHouse sabiex din tgħoddhom. U jaħdem.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

Fuq prova tal-kunċett, il-kompitu kien subkompitu, jiġifieri, ittieħdet inqas dejta. U tliet servers biss.

Dawn l-ewwel żewġ stadji: il-kalkolu ta' Log_return u t-tgeżwir f'arrays ħadu madwar siegħa.

U l-kalkolu tal-korrelazzjoni huwa ta 'madwar 50 siegħa. Imma 50 siegħa mhux biżżejjed, għax kienu jaħdmu għal ġimgħat. Kien suċċess kbir. U jekk tgħodd, allura 70 darba kull sekonda kollox kien magħdud fuq dan il-cluster.

Iżda l-iktar ħaġa importanti hija li din is-sistema hija prattikament mingħajr konġestjonijiet, jiġifieri, tiskala kważi b'mod lineari. U ċċekkjawha. Żiedha b'suċċess.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

  • L-iskema t-tajba hija nofs is-suċċess. U l-iskema t-tajba hija l-użu tat-teknoloġiji kollha meħtieġa tal-ClickHouse.
  • Summing/AggregatingMergeTrees huma teknoloġiji li jippermettulek tiġbor jew tikkunsidra snapshot tal-istat bħala każ speċjali. U tissimplifika ħafna ħafna affarijiet.
  • Veduti Materjalizzati jippermettulek tevita l-limitu tal-indiċi wieħed. Forsi ma għidtx b'mod ċar ħafna, iżda meta tgħabba z-zkuk, iż-zkuk mhux ipproċessati kienu fit-tabella b'indiċi wieħed, u r-zkuk tal-attributi kienu fit-tabella, jiġifieri l-istess data, iffiltrata biss, iżda l-indiċi kien kompletament differenti. Jidher li hija l-istess data, iżda għażla differenti. U l-Veduti Materializzati jippermettilek, jekk għandek bżonnha, tevita limitazzjoni ClickHouse bħal din.
  • Naqqas il-granularità tal-indiċi għal mistoqsijiet tal-punti.
  • U tqassam id-dejta b'mod intelliġenti, ipprova illokalizza d-dejta fis-server kemm jista 'jkun. U tipprova tiżgura li t-talbiet jużaw ukoll il-lokalizzazzjoni fejn possibbli kemm jista' jkun.

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

U niġbru dan id-diskors qasir, nistgħu ngħidu li ClickHouse issa okkupat sew it-territorju kemm ta 'databases kummerċjali kif ukoll ta' databases ta 'sors miftuħ, jiġifieri, speċifikament għall-analitika. Huwa jidħol perfettament f'dan il-pajsaġġ. U barra minn hekk, bil-mod jibda jkeċċi lill-oħrajn, għax meta jkollok ClickHouse, m'għandekx bżonn InfiniDB. Vertika jista 'ma jkunx meħtieġ malajr jekk jagħmlu appoġġ SQL normali. Igawdu!

Teorija u prattika tal-użu ta' ClickHouse f'applikazzjonijiet reali. Alexander Zaitsev (2018)

-Grazzi tar-rapport! Interessanti hafna! Kien hemm xi paraguni ma' Apache Phoenix?

Le, ma smajt lil ħadd iqabbel. Aħna u Yandex nippruvaw inżommu kont tal-paraguni kollha ta' ClickHouse ma' databases differenti. Għax jekk f'daqqa waħda xi ħaġa tirriżulta li tkun aktar mgħaġġla minn ClickHouse, allura Lesha Milovidov ma tistax torqod bil-lejl u tibda tħaffefha malajr. Jien ma smajtx b'tali paragun.

  • (Aleksey Milovidov) Apache Phoenix hija magna SQL mħaddma minn Hbase. Hbase huwa prinċipalment għal xenarju ta' xogħol ta' valur ewlieni. Hemm, f'kull linja, jista 'jkun hemm numru arbitrarju ta' kolonni b'ismijiet arbitrarji. Dan jista 'jingħad dwar sistemi bħal Hbase, Cassandra. U huma preċiżament mistoqsijiet analitiċi tqal li mhux se jaħdmu normalment għalihom. Jew tista' taħseb li jaħdmu tajjeb jekk ma kellek l-ebda esperjenza ma' ClickHouse.

  • Grazzi

    • Il-waranofsinhar it-tajjeb Jien diġà interessat pjuttost f'dan is-suġġett, għax għandi sottosistema analitika. Imma meta nħares lejn ClickHouse, inħoss li ClickHouse hija adattata ħafna għall-analiżi tal-avvenimenti, mutevoli. U jekk għandi bżonn tanalizza ħafna dejta tan-negozju b'mazz ta 'tabelli kbar, allura ClickHouse, sa fejn nifhem, mhix adattata ħafna għalija? Speċjalment jekk jinbidlu. Dan huwa korrett jew hemm eżempji li jistgħu jirribattu dan?

    • Dan huwa dritt. U dan jgħodd għall-biċċa l-kbira tad-databases analitiċi speċjalizzati. Huma mfassla għall-fatt li hemm tabelli kbar waħda jew aktar li jistgħu jinbidlu, u għal ħafna żgħar li jinbidlu bil-mod. Jiġifieri, ClickHouse mhix bħal Oracle, fejn tista 'tpoġġi kollox u tibni xi mistoqsijiet kumplessi ħafna. Sabiex tuża ClickHouse b'mod effettiv, trid tibni skema b'mod li taħdem tajjeb fi ClickHouse. Jiġifieri, evita n-normalizzazzjoni eċċessiva, uża dizzjunarji, ipprova tagħmel inqas links twal. U jekk l-iskema tinbena b'dan il-mod, allura kompiti kummerċjali simili jistgħu jiġu solvuti fuq ClickHouse b'mod ħafna aktar effiċjenti milli fuq database relazzjonali tradizzjonali.

Grazzi tar-rapport! Għandi mistoqsija dwar l-aħħar każ finanzjarju. Huma kellhom analytics. Kien meħtieġ li jitqabblu kif jitilgħu u jinżlu. U nifhem li bnejt is-sistema speċifikament għal din l-analitika? Jekk għada, pereżempju, għandhom bżonn xi rapport ieħor dwar din id-dejta, iridu jibnu mill-ġdid l-iskema u jtellgħu d-dejta? Jiġifieri, tagħmel xi tip ta 'preproċessar biex tikseb it-talba?

Naturalment, dan huwa l-użu ta 'ClickHouse għal kompitu speċifiku ħafna. Hija tista 'tiġi solvuta aktar tradizzjonalment fi ħdan Hadoop. Għal Hadoop, dan huwa kompitu ideali. Iżda fuq Hadoop huwa bil-mod ħafna. U l-għan tiegħi huwa li nuri li ClickHouse tista' ssolvi ħidmiet li normalment jiġu solvuti b'mezzi kompletament differenti, iżda fl-istess ħin tagħmel dan b'mod ħafna aktar effiċjenti. Dan huwa mfassal għal kompitu speċifiku. Huwa ċar li jekk ikun hemm problema b'xi ħaġa simili, allura tista 'tiġi solvuta b'mod simili.

Huwa ċar. Inti għidt li ġew ipproċessati 50 siegħa. Huwa mill-bidu nett, meta tagħbija d-data jew ħadt ir-riżultati?

Iva Iva.

OK grazzi ħafna.

Dan huwa fuq cluster ta '3 servers.

Tislijiet! Grazzi tar-rapport! Kollox huwa interessanti ħafna. Mhux se nistaqsi ftit dwar il-funzjonalità, iżda dwar l-użu ta 'ClickHouse f'termini ta' stabbiltà. Jiġifieri kellek xi, kellek tirrestawra? Kif jaġixxi ClickHouse f'dan il-każ? U ġara li kellek replika wkoll? Aħna, pereżempju, ffaċċjajna problema ma 'ClickHouse meta xorta toħroġ mill-limitu tagħha u taqa'.

Naturalment, m'hemm l-ebda sistemi ideali. U ClickHouse għandha wkoll il-problemi tagħha stess. Imma smajt dwar Yandex.Metrica ma taħdimx għal żmien twil? Probabbilment le. Ilu jaħdem b'mod affidabbli mill-2012-2013 fuq ClickHouse. L-istess nista' ngħid dwar l-esperjenza tiegħi. Qatt ma kellna fallimenti sħaħ. Xi affarijiet parzjali setgħu jiġru, iżda qatt ma kienu kritiċi biżżejjed biex jaffettwaw serjament in-negozju. Qatt ma ġara. ClickHouse hija pjuttost affidabbli u ma tiġġarrafx bl-addoċċ. M'għandekx għalfejn tinkwieta dwarha. Mhijiex ħaġa prima. Dan ġie ppruvat minn ħafna kumpaniji.

Bongu! Inti għidt li għandek bżonn taħseb fuq l-iskema tad-dejta mill-ewwel. X'jiġri jekk ġara? Id-data tiegħi qed tferra u tferra. Jgħaddu sitt xhur, u nifhem li huwa impossibbli li ngħix hekk, għandi bżonn nerġa' ntella' d-dejta u nagħmel xi ħaġa magħhom.

Dan jiddependi naturalment fuq is-sistema tiegħek. Hemm diversi modi kif tagħmel dan prattikament mingħajr waqfien. Pereżempju, tista 'toħloq Veduta Materjalizzata li fiha tagħmel struttura ta' data differenti jekk tista 'tiġi mmarkata b'mod uniku. Jiġifieri, jekk tippermetti l-immappjar bl-użu ta 'ClickHouse, jiġifieri estratt xi affarijiet, ibdel iċ-ċavetta primarja, ibiddel il-qsim, allura tista' tagħmel View Materjalizzat. Ikteb fuq id-dejta l-antika tiegħek hemmhekk, oħrajn ġodda jinkitbu awtomatikament. U mbagħad aqleb biss għall-użu tal-Veduta Materjali, imbagħad aqleb ir-rekord u oqtol il-mejda l-antika. Dan huwa ġeneralment metodu bla waqfien.

Grazzi.

Sors: www.habr.com

Żid kumment