Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

In kasta oo xaqiiqda ah in hadda ay jiraan xog badan oo ku dhow meel kasta, kaydinta xogta falanqaynta ayaa weli ah kuwo qalaad. Si liidata looma yaqaan oo xataa awood yar ayay u isticmaalaan si wax ku ool ah. Kuwo badan ayaa ku sii wada "cunida cactus" MySQL ama PostgreSQL, kuwaas oo loogu talagalay xaalado kale, la halgama NoSQL, ama lacag dheeraad ah xalalka ganacsiga. ClickHouse waa beddelka ciyaarta oo si weyn hoos ugu dhigaysa xannibaadda gelitaanka adduunka falanqaynta DBMS.

Warbixintu waxay ka timid BackEnd Conf 2018 waxaana lagu daabacay ogolaanshaha afhayeenka.


Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)
Kumaan ahay iyo sababta aan uga hadlayo ClickHouse? Waxaan ahay Agaasimaha Horumarinta ee LifeStreet, taas oo adeegsata ClickHouse. Sidoo kale waxaan ahay aasaasihii Altinity. Kani waa lammaane Yandex oo kor u qaada ClickHouse oo ka caawiya Yandex inuu ClickHouse ka dhigo mid guul leh. Waxaan sidoo kale diyaar u ahay inaan wadaago aqoonta ku saabsan ClickHouse.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Oo anigu sidoo kale ma ihi walaalka Petya Zaitsev. Marar badan ayaa la i weydiiyaa arrintan. Maya, walaalo ma nihin.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

"Qof walba waa ogyahay" in ClickHouse:

  • Aad u degdeg badan,
  • Aad u habboon,
  • Waxaa loo adeegsaday Yandex.

Waa la yara yaqaan shirkadaha iyo sida loo isticmaalo.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Waxaan kuu sheegi doonaa sababta, meesha iyo sida loo isticmaalo ClickHouse, ka sokow Yandex.

Waxaan kuu sheegi doonaa sida dhibaatooyinka gaarka ah loo xalliyo iyadoo la adeegsanayo ClickHouse ee shirkado kala duwan, qalabka ClickHouse ee aad u isticmaali karto hawlahaaga, iyo sida loo isticmaalo shirkado kala duwan.

Waxaan doortay saddex tusaale oo muujinaya ClickHouse dhinacyo kala duwan. Waxaan u maleynayaa inay noqon doonto mid xiiso leh.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Su'aasha koowaad waa: "Maxaan ugu baahanahay ClickHouse?" Waxay u muuqataa in su'aashu ay iska caddahay, laakiin waxaa jira in ka badan hal jawaabo.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

  • Jawaabta ugu horeysa waa sababaha waxqabadka. ClickHouse aad buu u dheereeyaa. Falanqaynta ClickHouse sidoo kale aad buu u dheereeyaa. Badanaa waxaa loo isticmaali karaa meesha shay kale si tartiib tartiib ah u shaqeynayo ama aad u liidato.
  • Jawaabta labaad waa kharash. Iyo marka ugu horeysa, kharashka miisaanka. Tusaale ahaan, Vertica waa xog-ururin aad u wanaagsan. Waxay u shaqeysaa si aad u wanaagsan haddii aadan haysan terabytes badan oo xog ah. Laakiin marka aan ka hadlayno boqollaal terabytes ama petabytes, kharashka shatiga iyo taageerada ayaa ah qaddar aad u weyn. Waana qaali. ClickHousena waa bilaash.
  • Jawaabta saddexaad waa kharashka hawlgalka. Tani waa hab ka yara duwan. RedShift waa analoog weyn. RedShift waxaad si degdeg ah go'aan uga gaari kartaa. Si fiican ayay u shaqayn doontaa, laakiin waqti isku mid ah, saacad kasta, maalin kasta iyo bil kasta waxaad bixin doontaa wax badan Amazon, sababtoo ah waa adeeg aad qaali u ah. Google BigQuery sidoo kale. Haddii qof uu isticmaalo, markaas wuu ogyahay inaad ku wadi karto dhowr su'aalood halkaas oo aad si lama filaan ah u heli karto qaansheegad boqolaal doolar ah.

ClickHouse ma laha dhibaatooyinkan.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Halkee laga isticmaalaa ClickHouse hadda? Marka lagu daro Yandex, ClickHouse waxaa loo isticmaalaa ganacsiyo iyo shirkado kala duwan.

  • Marka hore, kani waa falanqaynta codsiga shabakadda, i.e. kani waa kiis isticmaal oo ka yimid Yandex.
  • Shirkado badan oo AdTech ah ayaa isticmaala ClickHouse.
  • Shirkado badan oo u baahan inay falanqeeyaan diiwaanka hawlgelinta ee ilo kala duwan.
  • Dhowr shirkadood ayaa isticmaala ClickHouse si ay ula socdaan diiwaannada amniga. Waxay u geliyaan ClickHouse, waxay sameeyaan warbixinno, oo waxay helaan natiijooyinka ay u baahan yihiin.
  • Shirkaduhu waxay bilaabeen inay u isticmaalaan falanqaynta maaliyadeed, tusaale ahaan si tartiib tartiib ah ganacsiyada waaweyn ayaa sidoo kale ku soo wajahan ClickHouse.
  • CloudFlare Haddii qof uu raaco ClickHouse, waxay u badan tahay inaad maqashay magaca shirkaddan. Tani waa mid ka mid ah wax-soo-saarka muhiimka ah ee bulshada. Oo waxay leeyihiin rakibaad aad u daran ClickHouse. Tusaale ahaan, waxay Kafka u sameeyeen ClickHouse.
  • Shirkadaha isgaarsiinta ayaa bilaabay isticmaalka. Shirkado dhowr ah ayaa u isticmaala ClickHouse midkood caddayn ahaan fikradda ama mar horeba wax soo saarka.
  • Hal shirkad ayaa adeegsata ClickHouse si ay ula socoto hababka wax soo saarka. Waxay tijaabiyaan microcircuits, waxay qoraan farabadan oo cabirro ah, waxaa jira ilaa 2 oo astaamood. Kadibna waxay falanqeeyaan in dufcaddu ay wanaagsan tahay ama ay xun tahay.
  • Blockchain analytics. Waxaa jira shirkad Ruush ah oo la yiraahdo Bloxy.info. Tani waa falanqaynta shabakadda Ethereum. Waxay sidoo kale tan ku sameeyeen ClickHouse.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Waxaa intaa dheer, cabbirku maaha arrin. Waxaa jira shirkado badan oo isticmaala hal server oo yar. Oo wuxuu u oggolaaday inay xalliyaan dhibaatooyinkooda. Iyo xitaa shirkado badan ayaa adeegsada rucubyo badan oo adeegayaal badan ama daraasiin adeegayaal ah.

Oo haddii aad eegto diiwaanada, markaas:

  • Yandex: 500+ server, waxay maalin walba ku kaydiyaan 25 bilyan oo diiwaan.
  • LifeStreet: 60 adeegayaal, ku dhawaad ​​75 bilyan oo diiwaan maalintii. Waxaa jira adeegayaal ka yar iyo diiwaanno ka badan kuwa Yandex.
  • CloudFlare: 36 adeegayaal, waxay kaydiyaan 200 bilyan oo diiwaan maalintii. Waxay heystaan ​​xitaa kayar oo kaydiya xog badan.
  • Bloomberg: 102 adeegayaal, ku dhawaad ​​trillion rikoor maalintii. Haystaha diiwaanka

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Juquraafi ahaan, tani sidoo kale waa wax badan. Khariidaddani waxay tusinaysaa khariidadda kulaylka halka ClickHouse looga isticmaalo adduunka. Halkan waxaa si cad u taagan Ruushka, Shiinaha iyo Ameerika. Waxaa jira dalal yar oo Yurub ah. Waxaana la kala saari karaa 4 rucubood.

Tani waa falanqayn is barbar dhig ah, looma baahna in la raadiyo tirooyin dhammaystiran. Tani waa falanqaynta booqdayaasha akhriya agabka luqadda Ingiriisiga ee bogga Altinity, sababtoo ah ma jiraan dad ku hadla Ruushka halkaas. Iyo Ruushka, Ukraine, Belarus, i.e. qaybta ku hadasha Ruushka ee bulshada, ayaa ah kuwa ugu badan ee isticmaala. Kadib waxaa yimaada USA iyo Canada. Shiinuhu aad buu u qabsaday. Ku dhawaad ​​ma jirin Shiinaha halkaas lix bilood ka hor; hadda Shiinuhu mar hore ayuu Yurub ka qabsaday oo wuu sii korayaa. Old Europe sidoo kale kama danbeyn, iyo hogaamiyaha isticmaalka ClickHouse waa, nasiib darro ku filan, France.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Maxaan waxan oo dhan u sheegayaa? Si loo muujiyo in ClickHouse ay noqonayso xal caadi ah oo loogu talagalay falanqaynta xogta weyn oo horeba loo adeegsaday meelo badan. Haddii aad isticmaasho, waxaad ku socotaa isbeddel sax ah. Haddii aadan weli isticmaalin, markaa uma baahnid inaad ka cabsato in lagaa tagi doono cidna kuma caawin doonto, sababtoo ah qaar badan ayaa horeyba tan u sameynaya.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Kuwani waa tusaalayaal isticmaalka dhabta ah ee ClickHouse ee dhowr shirkadood.

  • Tusaalaha ugu horreeya waa shabakad xayaysiis: ka guurista Vertica una guurtay ClickHouse. Oo waxaan ogahay dhowr shirkadood oo ka soo wareegay Vertica ama ku jira habka beddelka.
  • Tusaalaha labaad waa kaydinta macaamilka ee ClickHouse. Kani waa tusaale lagu dhisay hab-nololeedka. Wax kasta oo aan loo baahnayn in lagu sameeyo ClickHouse sida ku cad talada horumariyayaashu halkan ayaa lagu sameeyaa. Isla mar ahaantaana waxaa loo sameeyaa si wax ku ool ah oo ay u shaqeyso. Oo waxay u shaqeysaa si aad uga wanaagsan marka loo eego xalka macaamilka caadiga ah.
  • Tusaalaha saddexaad waxa lagu qaybiyaa xisaabinta ClickHouse. Waxaa jirtay su'aal ku saabsan sida ClickHouse loogu dari karo nidaamka deegaanka Hadoop. Waxaan tusi doonaa tusaale ah sida ay shirkadu u samaysay wax la mid ah khariidad yaraynta weelka ee ClickHouse, la socodka xogta meelaynta, iwm, si loo xisaabiyo hawl aan fududayn.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

  • LifeStreet waa shirkad Ad Tech ah oo haysata dhammaan tignoolajiyada la xidhiidha shabakada xayeysiinta.
  • Waxay ku hawlan tahay kobcinta xayaysiiska iyo dalabka barnaamijka.
  • Xog badan: qiyaastii 10 bilyan oo dhacdo maalintii. Intaa waxaa dheer, dhacdooyinka waxaa loo qaybin karaa dhowr dhacdo-hoosaadyo.
  • Waxaa jira macaamiil badan oo xogtan ah, kuwanuna maaha dad kaliya, qaar kale oo badan ayaa ah algorithms kala duwan oo ku hawlan tartanka barnaamijka.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Shirkaddu waxay soo martay waddo dheer oo qodax leh. Oo waxaan kaga hadlay HighLoad. Marka hore, LifeStreet waxay ka haajirtay MySQL (oo joogsi kooban ku leh Oracle) una guurtay Vertica. Waxaadna ka heli kartaa sheeko ku saabsan.

Wax walbana waxay ahaayeen kuwo aad u wanaagsan, laakiin si dhakhso ah ayey u caddaatay in xogtu ay sii kordhaysay oo Vertica ay ahayd mid qaali ah. Sidaa darteed, waxaa la raadiyay habab kala duwan. Qaar ka mid ah ayaa halkan ku qoran. Dhab ahaantii, waxaan samaynay caddayn fikradda ama mararka qaarkood tijaabinta waxqabadka ee ku dhawaad ​​​​dhammaan xog-ururinta ee laga heli jiray suuqa 13 ilaa 16 waxayna ahaayeen qiyaastii ku habboon shaqeynta. Oo waxaan sidoo kale ka hadlay qaar iyaga ka mid ah HighLoad.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Hawshu waxay ahayd in marka hore laga haajiro Vertica, sababtoo ah xogtu way sii kordheysay. Waxayna si aad ah u koreen dhowr sano. Ka dib waxay aadeen shelf, laakiin weli. Iyo saadaalinta koritaankan, shuruudaha ganacsiga ee mugga xogta taas oo nooc ka mid ah falanqaynta loo baahan yahay in la sameeyo, waxay caddaatay in ugu dhakhsaha badan ay jiri doonto hadal ku saabsan petabytes. Oo mar horeba aad ayay qaali u tahay in lagu bixiyo petabytes, markaa waxaan raadinaynay beddelka meesha aan aadi karno.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Xagee loo aadaa? Muddo dheerna waxay ahayd mid gebi ahaanba aan caddayn meesha la aado, sababtoo ah dhinaca kale waxaa jira xog-ururin ganacsi, waxay u muuqdaan inay si fiican u shaqeeyaan. Qaarkood waxay u shaqeeyaan ku dhawaad ​​sidoo kale Vertica, qaar ka sii daran. Laakin dhamaantood waa qaali, wax ka jaban ama ka wanaagsan lama heli karo.

Dhanka kale, waxaa jira xalal il furan, kuwaas oo aan aad u badneyn, i.e. falanqaynta waxaa lagu tirin karaa hal dhinac. Waana bilaash ama waa raqiis, laakiin si tartiib ah ayay u shaqeeyaan. Waxayna inta badan ka maqan yihiin shaqada lagama maarmaanka ah iyo waxtarka leh.

Oo ma jirin wax la isku daro waxyaabaha wanaagsan ee ku jira kaydka ganacsiga iyo dhammaan waxyaabaha bilaashka ah ee ku jira il furan.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Waxba ma dhicin ilaa Yandex si lama filaan ah uga soo saartay ClickHouse koofiyada sida bakaylaha saaxiriinta. Oo kanu wuxuu ahaa go'aan lama filaan ah; dadku waxay weli weydiiyaan su'aasha: "Sabab?", Laakiin si kastaba ha ahaatee.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Isla markiiba xagaaga 2016, waxaan bilownay inaan eegno waxa ClickHouse yahay. Waxaana soo baxday in ay mararka qaarkood ka dheerayn karto Vertica. Waxaan tijaabinay xaalado kala duwan codsiyo kala duwan. Oo haddii weydiintu adeegsatay hal miis oo keliya, i.e. iyada oo aan wax ku biirin, markaa ClickHouse ayaa laba jeer ka dhakhso badan Vertica.

Aad uma caajisin oo waxaan eegay tijaabooyin badan oo Yandex ah maalintii kale. Waa isku mid halkaas: ClickHouse waa laba jeer ka dhakhso badan Vertica, sidaas darteed waxay badanaa ka hadlaan.

Laakiin haddii su'aalaha ay ku jiraan ku biirista, markaa wax walbaa waxay noqdaan kuwo aan aad u caddayn. Iyo ClickHouse waxay noqon kartaa laba jeer gaabis sida Vertica. Oo haddii aad saxdo oo aad dib u qorto codsiga wax yar, markaas waxay noqonayaan qiyaas ahaan siman. Ma xuma. Waana bilaash.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Ka dib markii la helay natiijooyinka imtixaanka, oo laga eegay dhinacyo kala duwan, LifeStreet waxay aaday ClickHouse.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Waa sanadkii 16-aad, waxaan idin xasuusinayaa. Waxay la mid tahay kaftankii jiirarka ooya oo is duray, laakiin sii cunay cactuskii. Oo tan si faahfaahsan ayaa looga hadlay, waxaa jira muuqaal ku saabsan arrintan, iwm.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Sidaa darteed, si faahfaahsan uga hadli maayo arrintan, kaliya waxaan ka hadli doonaa natiijada iyo dhowr waxyaalood oo xiiso leh oo aanan markaa ka hadlin.

Natiijadu waa:

  • Socdaalkii guusha lahaa iyo nidaamku waxa uu soo socday in ka badan hal sano.
  • Wax soo saarka iyo dabacsanaanta ayaa kordhay. Laga soo bilaabo 10ka bilyan ee diiwaannada ah ee aan awoodi karno in aan ku kaydino maalin kasta muddo gaaban oo keliya, LifeStreet hadda waxay kaydisaa 75 bilyan oo rikoodh maalintii waxayna sidaas samayn kartaa 3 bilood ama ka badan. Haddii aad tiriso meesha ugu sarreysa, markaa tan waxaa lagu kaydiyaa ilaa hal milyan oo dhacdo ilbiriqsikii. In ka badan hal milyan oo su'aalo SQL ah maalintii ayaa loo soo diraa nidaamkan, oo u badan robots kala duwan.
  • In kasta oo xaqiiqda ah in ClickHouse uu bilaabay inuu isticmaalo server ka badan Vertica, kaydinta ayaa sidoo kale lagu sameeyay qalab, sababtoo ah Vertica waxay isticmaashay saxannada SAS qaali ah. ClickHouse waxay isticmaashay SATA. Oo sababtu? Sababtoo ah gelinta Vertica waa isku mid. Waxayna isku xidhiddu u baahan tahay in saxanadu aanay aad u yarayn, sidoo kalena aanay shabakadu aad hoos u dhigin, tusaale ahaan, hawl qaali ah. Iyo gelinta ClickHouse waa asynchronous. Waxaa intaa dheer, waxaad had iyo jeer ku qori kartaa wax kasta oo gudaha ah, ma jiraan kharashyo dheeraad ah oo tan ah, sidaas darteed xogta waxaa la gelin karaa ClickHouse si ka dhaqso badan Vertika, xitaa ma aha saxannada ugu dhaqsaha badan. Wax akhriskuna waa isku mid. Akhriska SATA, haddii ay ku jiraan RAID, markaa dhammaantood waa dhakhso ku filan.
  • Aan xadidnayn shatiga, tusaale ahaan 3 petabytes oo xog ah oo ku jira 60 adeegayaal (20 adeegayaal waa hal nuqul) iyo 6 tiriliyan diiwaanka xaqiiqooyinka iyo isku geynta. Vertica ma awoodin wax sidan oo kale ah.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Hadda waxaan u socdaa waxyaabaha la taaban karo ee tusaalahan.

  • Midda kowaad waa qorshe wax ku ool ah. Wax badan ayaa ku xiran nidaamka.
  • Midda labaad waa abuurista SQL hufan.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Weydiinta OLAP ee caadiga ah ayaa la doortaa. Tiirarka qaar waxay u baxaan koox koox, tiirarka qaar waxay tagaan hawlo wadareedka. Waxaa jira meel, kaas oo loo malayn karo sida jeex cube ah. Kooxda oo dhan marka la eego waxa loo malayn karaa saadaal. Taasina waa sababta loogu yeero falanqaynta xogta kala duwan.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Badanaa tan waxaa loo qaabeeyey qaabka jaantuska xiddigaha, marka ay jirto xaqiiqo udub dhexaad ah iyo sifooyinka xaqiiqadan dhinacyada, oo ay weheliyaan fallaadhaha.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Iyo marka laga eego aragtida naqshadeynta jirka, sida ay ugu habboon tahay miiska, waxay badanaa sameeyaan matalaad caadi ah. Waad ka dhigi kartaa Normalize, laakiin waa qaali saxanka oo aan aad ugu fiicnayn su'aalaha. Sidaa darteed, badanaa waxay sameeyaan aragti caadi ah, tusaale ahaan miis xaqiiqo ah iyo miisas badan oo badan.

Laakiin kani si fiican uguma shaqeeyo ClickHouse. Waxaa jira laba sababood:

  • Midda kowaad waa sababta oo ah ClickHouse ma laha ku biirto aad u wanaagsan, i.e. waxaa jira ku biiris, laakiin way xun yihiin. Ilaa hadda way xun yihiin.
  • Midda labaad waa in miisaska aan la cusboonaysiin. Caadi ahaan calaamadahan ku yaal agagaarka jaantuska xiddiga, wax ayaa u baahan in la beddelo. Tusaale ahaan, magaca macmiilka, magaca shirkadda, iwm. Oo ma shaqaynayso.

Oo waxaa jira waddo looga baxo tan gudaha ClickHouse. xitaa laba:

  • Midda koowaad waa adeegsiga qaamuusyada. Qaamuusyada dibeda ah waa waxa 99% ka caawiya in ay ku xaliyaan dhibaatada nidaamka xiddiga, iyada oo la cusbooneysiinayo iyo wixii la mid ah.
  • Midda labaad waa isticmaalka qalabyada. Habayntu waxay sidoo kale caawisaa in laga takhaluso isku-xidhka iyo dhibaatooyinka caadiga ah.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

  • Looma baahna ku biirista
  • La cusboonaysiin karo Laga soo bilaabo Maarso 2018, fursad aan sharciyeysnayn ayaa soo muuqatay (kan kuma heli doontid dukumeentiyada) si aad u cusboonaysiiso qaamuusyada qayb ahaan, i.e. gelisyada isbedelay. Ficil ahaan, waa sida miis oo kale.
  • Had iyo jeer xusuusta, sidaas darteed waxay ku biirtaa shaqada qaamuuska si ka dhakhso badan haddii ay ahaan lahayd miis ku jiifa diskka mana aha xaqiiqo ah inay ku jirto kaydka, waxay u badan tahay inaysan ahayn.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

  • Uma baahnid ku biiris sidoo kale.
  • Kani waa 1 kooban oo matalaad badan ah.
  • Fikradaydana, arrays ayaa loo sameeyay geeks. Kuwani waa hawlaha lambda iyo walxaha.

Tani maahan danta ereyada. Tani waa shaqeyn aad u awood badan oo kuu ogolaaneysa inaad sameyso waxyaabo badan si fudud oo xarrago leh.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Tusaalooyinka caadiga ah ee ka caawiya xallinta shaxanka. Tusaalooyinkani waa kuwo fudud oo cad:

  • Ku raadi tags Haddii aad halkaas ku haysato hashtag oo aad rabto in aad ka hesho qaar ka mid ah qoraallada hashtag.
  • Ku raadi lammaane-qiimaha muhiimka ah. Waxa kale oo jira sifooyin macno leh.
  • Kaydinta liisaska furayaasha aad u baahan tahay si aad shay kale ugu turjunto.

Dhammaan dhibaatooyinkan waxaa lagu xallin karaa iyada oo aan la habeynin. Calaamadaha waxaa lagu dhejin karaa sadar waxaana lagu dooran karaa iyadoo la isticmaalayo odhaah caadi ah, ama miis gaar ah, laakiin markaa waa inaad sameysaa isku-dar ah.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Laakin gudaha ClickHouse uma baahnid inaad wax sameyso, kaliya sharax xarkaha xarkaha ee hashtags ama u samee qaab dhismeed buul leh oo loogu talagalay nidaamyada qiimaha-furaha ah.

Qaab dhismeed buul leh ayaa laga yaabaa inuusan ahayn magaca ugu fiican. Waa laba hannaan oo magaca qayb ka mid ah ku leh iyo sifooyin la xidhiidha.

Waxayna aad u fududahay in lagu raadiyo sumad. Waxaa jira shaqo has, kaas oo hubinaya in shaxdu ka kooban tahay curiye. Qof kasta, waxaan helnay dhammaan qoraallada la xiriira shirkeena.

Ku raadinta subid waa ka sii dhib badan Marka hore waxaan u baahanahay inaan helno tusaha furaha, ka dibna soo qaad curiyaha leh tusahan oo hubi in qiimahani yahay waxa aan u baahanahay. Laakiin si kastaba ha ahaatee aad u fudud oo is haysta.

Odhaahda caadiga ah ee aad rabto inaad qorto, haddii aad ku kaydiso dhammaan hal sadar, waxay noqon doontaa, marka hore, mid qallafsan. Iyo, marka labaad, waxay shaqeysay wax ka badan laba habab.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Tusaale kale. Waxaad haysataa habayn aad ku kaydsato aqoonsiga Waxaadna u turjumi kartaa magacyo. Shaqada arrayMap. Tani waa shaqada lambda ee caadiga ah. Halkaas waxaad ku dhaaftaa tibaaxaha lambda. Waxayna qaamuuska ka soo saartaa magaca qiimihii aqoonsiga kasta.

Waxaad samayn kartaa raadinta si la mid ah. Hawl saadaasha ah ayaa la dhex maraa, taas oo hubinaysa waxa ay cunsurradu ku habboon yihiin.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Waxyaabahani waxay si weyn u fududeeyaan wareegga waxayna xalliyaan dhibaatooyin fara badan.

Laakiin mushkiladda xigta ee aan la kulanay oo aan jeclaan lahaa inaan xuso waa weydiimo hufan.

  • ClickHouse ma laha qorsheeye su'aal Dhab ahaantii maya.
  • Laakiin si kastaba ha ahaatee, weydiimaha adag ayaa weli u baahan in la qorsheeyo. Xaaladdee?
  • Haddii codsigu leeyahay dhawr xidhmo, kuwaas oo aad ku duuduubto door-hoosaadyo. Iyo sida ay u kala horreeyaan.
  • Marka labaadna, haddii codsiga la qaybiyo. Sababtoo ah su'aal la qaybiyay, kaliya kuwa hoose ee hoose ayaa loo fuliyaa si loo qaybiyo, wax kasta oo kale ayaa loo diraa hal server oo aad ku xirtay oo halkaas lagu fuliyo. Sidaa darteed, haddii aad u qaybisay su'aalo badan oo ku biiraya, markaa waxaad u baahan tahay inaad doorato amar.

Iyo xitaa kiisaska fudud, mararka qaarkood waxaad sidoo kale u baahan tahay inaad sameyso shaqada jadwalka oo aad dib u qorto su'aalaha wax yar.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Waa kan tusaale Dhinaca bidix waxa ku yaal su'aal muujinaysa 5 waddan ee ugu sarreeya. Oo waxay ku socotaa 2,5 ilbiriqsi, waxaan qabaa. Dhinaca midigna waa codsi la mid ah, laakiin wax yar ayaa dib loo qoray. Halkii aan ku kooxeyn lahayn xarig, waxaan bilownay kooxeynta furaha (int). Wayna dheeraysaa. Ka dibna waxaan ku xidhnay qaamuuska natiijada. Halkii 2,5 ilbiriqsi, codsigu wuxuu qaadanayaa 1,5 ilbiriqsi. Tani way wanaagsan tahay.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Tusaalaha la midka ah ee leh filtarrada dib u qorida. Halkan waxaa ah codsi ku saabsan Ruushka. Waxay socotaa 5 ilbiriqsi. Haddii aan dib u qorno si aan mar kale is barbar dhigno xadhig, laakiin lambarrada leh qaar ka mid ah furayaashaas oo la xidhiidha Ruushka, markaa waxay noqon doontaa mid aad u dhaqso badan.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Waxaa jira khiyaamo badan oo noocaas ah. Waxayna kuu oggolaanayaan inaad si weyn u dedejiso weydiimaha aad u malaynayso inay si dhakhso ah u socdaan, ama, caksigeeda, si tartiib tartiib ah u socdaan. Xitaa si degdeg ah ayaa loo samayn karaa.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

  • Shaqada ugu badan ee qaabka loo qaybiyay.
  • Ku kala soocida noocyada ugu yar, sidaan ku sameeyay ints.
  • Haddii ay jiraan wax ku biira ama qaamuusyo, markaa way fiicantahay in la sameeyo iyaga ugu dambeeya, marka aad hore u haysatid xogta ugu yaraan qayb ahaan, ka dibna hawlgalka ku biirista ama wacitaanka qaamuuska waxaa loogu yeeri doonaa waqtiyo yar oo dhakhso ah.
  • Beddelida filtarrada

Waxaa jira farsamooyin kale, ma aha oo kaliya kuwa aan soo bandhigay. Dhammaantoodna mararka qaarkood waxay kuu oggolaanayaan inaad si weyn u dedejiso fulinta su'aalaha.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Aan u gudubno tusaalaha xiga. Shirkadda X ee Maraykanka. Maxay samaynaysaa?

Waxaa jirtay hawl

  • Isku xirka khadka tooska ah ee macaamilada xayaysiiska
  • Jilidda moodooyinka isku xidhka ee kala duwan.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Waa maxay xaaladdu?

Booqdaha caadiga ah ayaa soo booqda goobta, tusaale ahaan, 20 jeer bishiiba xayeysiisyo kala duwan, ama mararka qaarkood wuxuu yimaadaa isagoon wax xayeysiis ah samaynin, sababtoo ah wuxuu xasuustaa boggan. Eegaa alaabooyinka qaarkood, ku rid dambiisha, ka soo saar dambiisha. Iyo, dhamaadka, wax iibsadaa.

Su'aalo macquul ah: "Yaa bixinaya xayeysiiska, haddii loo baahdo?" iyo "Xayeysiiska, haddii ay jiraan, saameyn ku yeeshay isaga?" Taasi waa, sababta uu u iibsaday iyo sida loo hubiyo in dadka la midka ah qofkan ay sidoo kale iibsadaan?

Si loo xaliyo dhibaatadan, waxaad u baahan tahay inaad ku xidho dhacdooyinka ka dhacaya mareegaha si sax ah, taas oo ah, si uun u dhis xiriir iyaga ka dhexeeya. Kadibna waxaa loo gudbiyaa falanqaynta DWH. Oo ku salaysan falanqaynta this, dhiso moodooyinka cidda si ay u muujiyaan waxa advertising.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Wax kala iibsiga xayaysiisku waa dhacdooyin isticmaale oo xidhiidh la leh oo ka bilaabma xayaysiis la soo bandhigay, ka dibna wax dhacaan, ka dib waxa laga yaabaa iibsi, ka dibna waxa dhici karta in wax laga iibsado gudaha wax iibsiga. Tusaale ahaan, haddii kani yahay mobiil app ama ciyaaraha mobilada, markaa inta badan rakibida codsiga waa bilaash, laakiin haddii wax kale halkaas lagu sameeyo, markaa waxay u baahan kartaa lacag. Markasta oo qofku uu ku kharash gareeyo app-ka, waa badan yahay qiimaha uu leeyahay. Laakiin tan waxaad u baahan tahay inaad wax walba ku xirto.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Waxaa jira noocyo badan oo xirxiran.

Kuwa ugu caansan waa:

  • Is dhexgalka u dambeeya, halkaas oo isdhexgalka uu yahay mid gujin ama aragti ah.
  • Isdhexgalka Koowaad, i.e. waxii ugu horeeyay ee qofka keenay goobta.
  • Isku darka toosan - wadaag loo siman yahay qof walba.
  • Attenuation.
  • Iyo wixi la mida.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Sideese ay u wada shaqeeyeen markii hore? Waxaa jiray Runtime iyo Cassandra. Cassandra waxa loo isticmaalay sidii kaydinta wax kala iibsiga, i.e. dhammaan wixii la xidhiidha waxa lagu kaydiyay. Iyo marka ay dhacdo qaar ka mid ah dhacdo Runtime, tusaale ahaan, bandhiga bogga ama wax kale, codsi waxaa loo sameeyaa Cassandra haddii uu jiro qof noocaas ah iyo in kale. Dabadeed macaamilkii la xidhiidha ayaa la helay. Oo xadhiggiina waa la sameeyey.

Oo haddii aad nasiib leedahay in codsigu ka kooban yahay id wax kala iibsiga, markaa tani waa sahlan tahay. Laakiin sida caadiga ah nasiib ma lihid. Sidaa darteed, waxay ahayd lagama maarmaan in la helo macaamil ganacsi ee ugu dambeeya ama macaamilka la riixo ugu dambeeya, iwm.

Waxayna dhamaantood si fiican u shaqeeyeen ilaa xiriirku uu noqday gujiskii ugu dambeeyay. Sababtoo ah waxaa jira, waxaad dhahdaa, 10 milyan oo gujis ah maalintii, 300 milyan bishii, haddii aad dejiso daaqad muddo bil ah. Iyo maadaama Cassandra ay dhammaan tahay inay ahaato xusuusta si ay si dhakhso ah u shaqeyso, sababtoo ah Runtime ayaa looga baahan yahay inuu si dhakhso ah uga jawaabo, qiyaastii 10-15 server ayaa loo baahnaa.

Oo markii ay rabeen inay ku xidhaan wax kala iibsiga bandhigga, isla markiiba ma aysan dhicin. Oo sababtu? Waxaa la arki karaa in dhacdooyinka 30 jeer ka badan loo baahan yahay in la kaydiyo. Oo, sidaas darteed, waxaad u baahan tahay 30 jeer oo ka badan server. Oo waxay soo baxday in tani ay tahay nooc ka mid ah jaantusyada astronomical. Haysashada ilaa 500 oo adeegayaal si loo sameeyo isku xirka, in kasta oo xaqiiqda ah in ay jiraan server aad uga yar Runtime, waa nooc ka mid ah jaantus qaldan. Waxayna bilaabeen inay ka fikiraan waxay samayn lahaayeen.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Oo waxaan tagnay ClickHouse. Sida tan loo sameeyo ClickHouse? Jaleecada hore, waxay u muuqataa in tani ay tahay qaab-ka-hortagga.

  • Wax kala iibsigu wuu sii kordhayaa, waxaanu ku lifaaqaynaa dhacdooyin badan oo badan, tusaale ahaan waa la bedeli karaa, ClickHouse si fiican uguma shaqeeyo walxaha la bedeli karo.
  • Marka booqde noo yimaado, waxaan u baahanahay in aan ku soo ceshano macaamilkiisa furaha, booqashadiisa id. Tani sidoo kale waa weydiin dhibic; ClickHouse ma sameeyo taas. Caadiyan ClickHouse waxay leedahay baaritaanno waaweyn, laakiin halkan waxaan u baahanahay inaan helno dhowr diiwaan. Sidoo kale qaab ka hortag ah.
  • Intaa waxaa dheer, macaamilku wuxuu ku jiray json, laakiin ma aysan rabin inay dib u qoraan, sidaas darteed waxay rabeen inay ku kaydiyaan json aan qaabaysan, iyo haddii loo baahdo, wax ka soo saar. Tani sidoo kale waa ka-hortagga.

Taasi waa, tiro ka mid ah hababka ka hortagga.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Laakiin si kastaba ha ahaatee, waxaan ku guuleysanay inaan abuurno nidaam si fiican u shaqeeyay.

Maxaa la sameeyay? ClickHouse ayaa soo muuqday, kuwaas oo loox, loo qaybiyay diiwaan, lagu tuuray. Adeeg loo nisbeeyey ayaa soo muuqday kaas oo ka helay diiwaannada ClickHouse. Intaa ka dib, gelitaan kasta oo aqoonsi booqasho ah, waxaan helay macaamil ganacsi oo aan wali la hawlgelin iyo sawir-qaadyo, tusaale ahaan macaamil ganacsi oo hore u xidhnaa, taas oo ah natiijada shaqadii hore. Waxaan mar hore ka sameeyay macquul iyaga ka mid ah, doortay macaamil ganacsi sax ah, iyo xiriirin dhacdooyin cusub. Mar labaad galiyay Logu wuxuu ku noqday ClickHouse, i.e. waa nidaam meerto ah oo joogto ah. Intaa waxaa dheer, waxaan u tagay DWH si aan halkaas ugu lafo-guro.

Si fiican ugumay shaqayn qaabkan Iyo si ay ugu fududaato ClickHouse, markii uu jiray codsiga aqoonsiga booqashada, waxay u qaybiyeen codsiyadan blocks 1-000 booqasho ids waxayna ka saareen dhammaan wax kala iibsiga 2-000 qof. Kadibna way wada shaqeeyeen.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Haddii aad eegto gudaha ClickHouse, waxaa jira 3 miisas oo waaweyn oo u adeega waxaas oo dhan.

Jadwalka ugu horreeya ee logu shubo, iyo logudyada waxaa lagu shubaa iyada oo aan haba yaraatee wax habayn.

Shaxda labaad. Iyada oo loo marayo aragtida dhabta ah, dhacdooyinka aan weli la sheegin, sida, aan la xiriirin, ayaa laga soo saaray qoraalladan. Iyada oo loo marayo aragtida dhabta ah, wax kala iibsiga ayaa laga soo saaray qoraalladan si loo dhiso sawir sawir leh. Taasi waa, sawir-qaadis ayaa la abuuray aragti gaar ah oo la taaban karo, taas oo ah xaaladda ugu dambeysa ee ururinta macaamilka.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Halkan qoraalku wuxuu ku qoran yahay SQL. Waxaan jeclaan lahaa inaan ka faalloodo dhowr arrimood oo muhiim ah oo ku jira.

Waxa ugu horreeya ee muhiimka ah waa awoodda ClickHouse si loo soo saaro tiirarka iyo beeraha json. Taasi waa, ClickHouse waxay leedahay habab loogu shaqeeyo json. Aad iyo aad bay u asal yihiin.

VisitParamExtractInt waxay kuu ogolaanaysaa inaad ka soo saarto sifooyinka json, ie. garaaca ugu horreeya waa kicin. Oo habkan waxaad ka soo saari kartaa aqoonsiga macaamil ganacsi ama booqo id. Markan.

Mar labaad, halkan waxaa loo isticmaali karaa qalab gaar ah. Waxa loola jeedaa? Taas macnaheedu waa inaadan geli karin miiska, tusaale ahaan lama gelin, waa la xisaabiyaa oo la kaydiyaa marka la geliyo. Markaad geliso, ClickHouse ayaa kuu qabanaysa shaqada. Waxa aad u baahan doonto hadhow waa laga soo saaray json.

Xaaladdan oo kale, aragtida maaddada ah ayaa loogu talagalay xargaha cayriin. Iyo miiska ugu horreeya oo leh qoryo cayriin ku dhawaad ​​ayaa loo isticmaalaa. Maxayse qabataa? Marka hore, waxay beddeshaa kala-soocidda, i.e. kala-soocidda hadda waxaa lagu sameeyaa id booqasho, sababtoo ah waxaan u baahanahay inaan si dhakhso ah u soo saarno macaamilkiisa gaar ahaan qof gaar ah.

Midda labaad ee muhiimka ah waa index_granularity. Haddii aad aragtay MergeTree, markaa inta badan qiimaha caadiga ahi waa 8 index_granularity. Waa maxay? Kani waa cabirka tusaha ee sparsity. Gudaha ClickHouse, tusmuhu waa yar yahay; marna ma tilmaamo rikoodh kasta. Tani waxay sameeysaa 192 kasta. Tanina way wanaagsan tahay markaad u baahan tahay inaad xisaabiso xog badan, laakiin way xun tahay markaad u baahan tahay inaad xisaabiso wax yar, sababtoo ah waxaa jira wax badan oo dheeraad ah. Oo haddii aan hoos u dhigno granularity index, ka dibna waxaan yareeynaa dusha sare. Ma aad ka dhigi kartid mid, sababtoo ah waxaa laga yaabaa inaysan jirin xusuus ku filan. Tusmadu had iyo jeer waxa lagu kaydiyaa xusuusta.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Sawirka sawirku wuxuu isticmaalaa hawlo kale oo ClickHouse oo xiiso leh.

Marka hore waa AggregatingMergeTree. Iyo AggregatingMergeTree waxay kaydisaa argMax, ie. kani waa heerka wax kala iibsiga ee u dhigma wakhtiga ugu dambeeya. Wax kala beddelasho cusub ayaa had iyo jeer loo sameeyaa booqdahan. Iyo xaaladii ugu dambaysay ee wax kala iibsigan, waxaanu ku darnay dhacdo waxaanu yeelanay xaalad cusub. Waxay mar kale ku dhufatay ClickHouse. Oo iyada oo loo marayo argMax aragtidan dhabta ah waxaan mar walba heli karnaa xaaladda hadda jirta.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

  • Ku xidhiddu waa "aan la isku xidhin" laga bilaabo Runtime.
  • Ilaa 3 bilyan oo macaamil ganacsi bishii waa la kaydiyaa oo la farsameeyaa. Kani waa amar ka weyn kan Cassandra, ie, habka wax kala iibsiga ee caadiga ah.
  • Kooxda 2x5 ClickHouse server. 5 server iyo server kasta wuxuu leeyahay nuqul. Tani xitaa way ka yar tahay sidii ay ahayd Cassandra si loo sameeyo sifo ku saleysan guji, laakiin halkan waxaan ku leenahay aragti ku saleysan. Taasi waa, halkii ay kordhin lahaayeen tirada server-yada 30 jeer, waa la dhimay.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Tusaalaha ugu dambeeyana waa shirkadda maaliyadeed ee Y, oo falanqeysay isku-xirnaanta isbeddelka qiimaha saamiyada.

Hawshuna waxay ahayd sidan:

  • Waxaa jira ku dhawaad ​​5 oo saami.
  • Xigashooyinka 100kii millise-ciidba waa la yaqaan.
  • Xogtu waxay urursatay in ka badan 10 sano. Sida muuqata, shirkadaha qaar way ka badan yihiin, qaarna way ka yar tahay.
  • Waxa jira ku dhawaad ​​100 bilyan oo saf.

Waxayna ahayd lagama maarmaan in la xisaabiyo isku-xidhka isbeddelada.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Halkan waxaa ah laba kayd iyo xigashooyinkooda. Haddii mid kor u kaco oo kan kalena kor u kaco, markaa tani waa xidhiidh togan, i.e. mid kor u kaca midna kor u kaca. Haddii mid kor u kaco, sida dhamaadka garaafka, kan kalena hoos u dhaco, ka dibna tani waa xidhiidh taban, i.e. marka mid kor u kaco, kan kalena hoos u dhaco.

Marka la falanqeeyo isbeddelladan wadaagga ah, qofku wuxuu samayn karaa saadaal suuqa maaliyadeed.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Laakiin hawshu waa adag tahay. Maxaa tan loo sameynayaa? Waxaan haynaa 100 bilyan oo diiwaan oo ka kooban: waqti, kayd iyo qiimo. Waxaan u baahanahay inaan marka hore xisaabinno 100 bilyan oo jeer socodsiinta Kala duwanaanshaha algorithm qiimaha. RunningDifference waa shaqo ku jirta ClickHouse oo si isdaba joog ah u xisaabisa faraqa u dhexeeya laba sadar.

Kadibna waxaan u baahanahay inaan xisaabino isku-xirnaanta, isku-xirnaanta waa in lagu xisaabiyaa lammaane kasta. 5 oo saami, lammaanuhu waa 000 milyan. Tanina waa wax badan, tusaale ahaan 12,5 jeer waxaad u baahan tahay inaad xisaabiso shaqadan isku xidhka ah.

Haddii qofna ilaawo, ͞x iyo ͞y waa saaxiibbo. muunad filasho. Taasi waa, waxaad u baahan tahay inaadan xisaabin oo kaliya xididdada iyo wadarta, laakiin sidoo kale tirooyin kale oo ku jira wadartan. Xisaabin badan iyo tiro badan ayaa loo baahan yahay in la sameeyo 12,5 milyan jeer, sidoo kale waxay u baahan yihiin in saacad kasta la kooxeeyo. Waxaan sidoo kale haysanaa saacado badan. Oo waa inaad ku samaysaa 60 ilbiriqsi gudahood. Waa kaftan.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Waxay ahayd inaan si uun u samayno, sababtoo ah dhammaan waxay u shaqeeyeen si aad iyo aad u tartiib tartiib ah ka hor intaysan ClickHouse iman.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Waxay isku dayeen inay tan ku xisaabiyaan Hadoop, Spark, Greenplum. Oo waxaas oo dhami waxay ahaayeen kuwo aad u gaabis ah ama qaali ah. Taasi waa, waxaa suurtagal ah in si uun loo xisaabiyo, laakiin markaa way qaali ahayd.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Kadibna ClickHouse ayaa yimid wax walbana aad bay u fiicnaadeen.

Aan ku xasuusiyo in ay dhibaato naga haysato deegaanka xogta, sidaa darteed isku xidhka lama meel dhigi karo. Ma ku dari karno xogta hal server, qaarna mid kale oo xisaabiya; waa inaan haysanaa dhammaan xogta meel kasta.

Maxay sameeyeen? Markii hore, xogtu waa la soo koobay. Server kastaa waxa uu kaydiyaa xogta binta ee saamiyo gaar ah. Iyaguna isma galaan. Sidaa darteed, waxaa suurtagal ah in la xisaabiyo logReturn is barbar socda oo madax-bannaan; waxaas oo dhami waxay u dhacaan si siman oo loo qaybiyo.

Kadib waxaan go'aansanay inaan yareyno xogtan iyadoon lumin muujinta. Iska yaree isticmaalka arrays, tusaale ahaan wakhti kasta samee kayd badan iyo qiimo kala duwan. Sidaas awgeed waxay qaadataa meel xogeed aad uga yar. Waxayna xoogaa ku habboon yihiin in lala shaqeeyo. Kuwani waa hawlo isbarbar socda, tusaale ahaan waxaan qayb ahaan tirinnaa isbarbaryaac ka dibna u qor server-ka.

Tan markaas waa la soo celin karaa. Xarafka "r" macnihiisu waa in aan nuqul ka samaynay xogtan. Taasi waa, waxaanu ku haynaa xog isku mid ah dhammaan saddexda server - kuwani waa arrays.

Kadibna, adoo isticmaalaya qoraal gaar ah, waxaad ka samayn kartaa baakado ka kooban 12,5 milyan oo xiriir ah oo u baahan in la xisaabiyo. Taasi waa, 2 hawlood oo leh 500 oo lammaane oo isku xidhan. Oo hawshan waa in lagu xisaabiyaa server ClickHouse gaar ah. Xogta oo dhan wuu hayaa sababtoo ah xogtu waa isku mid oo si isku xigta ayuu u xisaabin karaa.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Waa kan sida ay mar kale u egtahay. Marka hore, waxaan haynaa dhammaan xogta qaab dhismeedka soo socda: waqtiga, saamiyada, qiimaha. Kadib waxaan xisaabinay logReturn, ie. xogta qaab dhismeed isku mid ah, kaliya halkii qiimaha waxaan ku haynaa logReturn. Kadibna dib ayaa loo hagaajiyay, i.e. waxaan helnay waqti iyo groupArray iyadoo la adeegsanayo xayeysiisyo iyo liisaska qiimaha. La soo koobay Taas ka dib, waxay soo saareen hawlo badan waxayna ku quudiyeen ClickHouse si ay u xisaabiyaan. Wayna shaqeysaa.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Marka la eego caddaynta fikradda, hawshu waxay ahayd hawl-hoosaad, ie. waxay qaateen xog yar. Oo kaliya saddex server.

Labadan marxaladood ee ugu horreeya: xisaabinta Log_return iyo ku duubida armaajooyinka waxay qaadatay saacad kasta.

Xisaabinta isku xidhkana waxay qaadataa ilaa 50 saacadood. Laakiin 50 saacadood kuma filna, sababtoo ah markii hore waxay u shaqeysay iyaga toddobaadyo. Waxay ahayd guul weyn. Oo haddii aad tiriso, markaas wax walba waxaa lagu tiriyey 70 jeer ilbiriqsi kasta kooxdan.

Laakiin waxa ugu muhiimsan ayaa ah in nidaamkani aanu lahayn wax caqabado ah, tusaale ahaan waxa uu si toos ah u miisaamaa. Wayna hubiyeen. Si guul leh ayaa loo miisaamay

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

  • Nidaamka saxda ah waa kala badh guusha. Nidaamka saxda ahina waa in la isticmaalo dhammaan tignoolajiyada ClickHouse ee lagama maarmaanka u ah.
  • Summing/AggregatingMergeTrees waa tignoolajiyada kuu ogolaanaysa inaad isu geyso ama aad tiriso sawirka gobolka sida kiis gaar ah. Waxayna tani si weyn u fududaynaysaa waxyaabo badan.
  • Aragtida maadada ah waxay kuu ogolaanaysaa inaad ka gudubto xaddidaadda hal-index. Waxaa laga yaabaa in aanan si cad u dhihin, laakiin markii aan ku shubanay lo'da, lo'da ceeriin waxay ku jireen miis leh hal index, iyo sifada looxyadu waxay ku jireen miiska, i.. xog isku mid ah, oo kaliya ayaa la sifeeyay, laakiin tusaha ayaa ahaa. si buuxda kuwa kale. Waxay u muuqataa inay tahay xog isku mid ah, laakiin kala soocid kala duwan. Iyo Aragtiyada Materialized waxay kuu ogolaanaysaa, haddii aad u baahan tahay, inaad ka gudubto xaddidaadda ClickHouse.
  • Iska yaree tusmada cabbirka su'aalaha dhibcaha.
  • Oo u qaybi xogta si caqli-gal ah, isku day inaad xogta gudaha server-ka ka dhigto inta ugu badan ee suurtogalka ah. Isku day inaad hubiso in codsiyada sidoo kale ay isticmaalaan deegaan-goynta halka ay suurtagal tahay intii suurtogal ah.

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

Si aan u soo koobno ​​hadalkan gaaban, waxaan dhihi karnaa in ClickHouse ay hadda si adag u qabsatay labadaba xogta ganacsiga iyo kaydka xogta furan, i.e. gaar ahaan falanqaynta. Wuxuu si fiican ugu habboon yahay muuqaalkan. Iyo waxa ka sii badan, waxay si tartiib tartiib ah u bilaabeysaa inay dadka kale barato, sababtoo ah marka ClickHouse uu jiro, uma baahnid InfiniDB. Toosan ayaa laga yaabaa inaan dhaqso loo baahnayn haddii ay bixiyaan taageerada SQL ee caadiga ah. Adeegso!

Aragtida iyo dhaqanka isticmaalka ClickHouse ee codsiyada dhabta ah. Alexander Zaitsev (2018)

-Waad ku mahadsan tahay warbixinta! Aad u xiiso badan! Ma jiraan wax la barbardhigay Apache Phoenix?

-Maya, maan maqal qof la barbardhigay. Anaga iyo Yandex waxaan isku daynaa inaan la socono dhammaan isbarbardhigga ClickHouse ee leh xog uruurin kala duwan. Sababtoo ah haddii si lama filaan ah shay u soo baxo inuu ka dhaqso badan yahay ClickHouse, markaa Lesha Milovidov ma seexan karto habeenkii oo waxay bilaabataa inay si dhakhso ah u dedejiso. Ma maqal is barbar dhig sidan oo kale ah.

  • (Alexey Milovidov) Apache Phoenix waa mashiinka SQL ee ku saleysan Hbase. Hbase waxaa inta badan loogu talagalay nooca shaqada ee qiimaha muhiimka ah. Halkaa, xariiq kastaa wuxuu yeelan karaa tiro aan sabab lahayn oo tiirar ah oo leh magacyo aan sabab lahayn. Tan waxaa laga sheegi karaa nidaamyada sida Hbase iyo Cassandra. Waana su'aalo gorfayn oo culus oo aan si caadi ah ugu shaqaynayn iyaga. Ama waxaad u maleyn kartaa inay si fiican u shaqeeyaan haddii aadan wax khibrad ah u lahayn ClickHouse.

  • Бпасибо

    • Galab wanaagsan Horeba mawduucan aad ayaan u xiiseeyaa, sababtoo ah waxaan leeyahay hab-hoosaad hoosaadyo gorfayneed. Laakiin markaan eego ClickHouse, waxaan dareemayaa in ClickHouse uu aad ugu habboon yahay falanqaynta dhacdada, la beddeli karo. Oo haddii aan u baahdo in aan falanqeeyo xog badan oo ganacsi oo leh farabadan miisaska waaweyn, ka dibna ClickHouse, ilaa inta aan fahmayo, miyaanu ku haboonayn aniga? Gaar ahaan haddii ay isbeddelaan. Tani ma saxbaa mise waxaa jira tusaalooyin taas beenin kara?

    • Tani waa sax. Tanina waa run oo ku saabsan inta badan xog-ururinta gaarka ah. Waxay ku habboon yihiin in ay jiraan hal ama dhowr miis oo waaweyn oo la beddeli karo, iyo kuwo yar yar oo si tartiib tartiib ah isu beddelaya. Taasi waa, ClickHouse maaha sida Oracle, halkaas oo aad wax walba ku dhejin karto oo aad ku dhisi karto qaar ka mid ah weydiimaha aadka u adag. Si aad u isticmaasho ClickHouse si wax ku ool ah, waxaad u baahan tahay inaad u dhisto nidaamka hab si fiican ugu shaqeeya ClickHouse. Taasi waa, iska ilaali caadiyeynta xad dhaafka ah, isticmaal qaamuusyada, isku day inaad sameyso xiriiro dhaadheer oo yar. Oo haddii nidaamka loo dhisay habkan, markaa dhibaatooyinka ganacsiga ee la midka ah ayaa lagu xallin karaa ClickHouse si aad uga waxtar badan marka loo eego xogta dhaqameed ee xiriirka.

Waad ku mahadsan tahay warbixinta! Waxaan qabaa su'aal ku saabsan kiiskii maaliyadeed ee ugu dambeeyay. Waxay lahaayeen falanqayn. Waxay ahayd lagama maarmaan in la is barbar dhigo sida ay kor iyo hoos ugu baxaan. Oo waxaan fahamsanahay inaad u dhistay nidaamka gaar ahaan falanqayntan? Hadday berrito, aynu nidhaahno, waxay u baahan yihiin warbixin kale oo ku saabsan xogtan, miyay u baahan yihiin inay dib u dhisaan jaantuska oo ay ku shubaan xogta? Taasi waa, ma sameeyaa nooc ka mid ah ka-hortagista si loo helo codsiga?

Dabcan, tani waxay u adeegsanaysaa ClickHouse hawl gaar ah. Waxaa lagu xalin karaa si dhaqan ahaan gudaha Hadoop. Hadoop tani waa hawl ku habboon. Laakiin Hadoop aad ayuu u gaabiyaa. Hadafkayguna waa inaan muujiyo in ClickHouse uu xallin karo mashaakilaadka sida caadiga ah lagu xalliyo siyaalo kala duwan, laakiin isla markaa si hufan u samee. Tani waxaa loogu talagalay hawl gaar ah. Waxaa cad in haddii ay jirto dhibaato xoogaa la mid ah, markaas in lagu xallin karo si la mid ah.

Way caddahay. Waxaad sheegtay inay qaadatay 50 saacadood in la farsameeyo. Ma laga bilaabo bilawgii hore, marka aad xogta ku shubtay ama aad heshay natiijooyinka?

Haa Haa.

OK aad baad u mahadsantahay.

Tani waxay ku jirtaa 3 koox oo server ah.

Salaan! Waad ku mahadsan tahay warbixinta! Wax walba waa mid aad u xiiso badan. Ma weydiinayo wax yar oo ku saabsan shaqeynta, laakiin ku saabsan isticmaalka ClickHouse ee aragtida xasilloonida. Yacni, wax dhibaato ah ma ku soo martay oo ma soo celisay? Sidee u dhaqmaa ClickHouse? Weligaa ma dhacday in nuqulkaaga uu sidoo kale shil galo? Tusaale ahaan, waxaan la kulanay dhibaato ClickHouse markii ay wali dhaaftay xadkeedii oo ay dhacday.

Dabcan, ma jiraan nidaamyo ku habboon. Iyo ClickHouse sidoo kale waxay leedahay dhibaatooyinkeeda. Laakiin miyaad maqashay Yandex.Metrica oo aan shaqaynayn wakhti dheer? Malaha maya. Waxay u shaqaynaysay si la isku halleyn karo ilaa 2012-2013 ee ClickHouse. Waxaan sidoo kale ka dhihi karaa waayo-aragnimadayda. Weligay guuldarrooyin dhammaystiran nama soo marin. Waxyaalaha qayb ahaan way dhici karaan, laakiin weligood ma ahayn kuwo muhiim ah oo si dhab ah u saameeya ganacsiga. Tani weligeed hore uma dhicin. ClickHouse waa la isku halayn karo oo si aan kala sooc lahayn uma shil. Uma baahnid inaad ka walwasho. Wax cayriin maaha. Tan waxaa caddeeyey shirkado badan.

Hello! Waxaad sheegtay inaad u baahan tahay inaad isla markiiba si taxadar leh uga fikirto qorshaha xogta. Maxaa dhacaya haddii tani dhacdo? Xogteyda ayaa soo qulquleysa oo bixisa. Lix bilood ayaa dhaaftay, waxaanan fahamsanahay inaanan sidan ku noolaan karin, waxaan u baahanahay inaan dib u soo geliyo xogta oo aan wax ku sameeyo.

Tani waxay ku xidhan tahay, dabcan, nidaamkaaga. Waxaa jira dhowr siyaabood oo tan loo sameeyo ku dhawaad ​​aan joogsi lahayn. Tusaale ahaan, waxaad abuuri kartaa Aragti wax-ku-ool ah oo aad ku abuuri karto qaab-dhismeed xog oo ka duwan haddii si gaar ah loo habayn karo. Taasi waa, haddii ay ogolaato khariidaynta iyadoo la isticmaalayo ClickHouse, tusaale ahaan soo saarista waxyaabaha qaarkood, bedelida furaha aasaasiga ah, bedelida qaybinta, markaa waxaad samayn kartaa Muuqaal Materialized. Halkaa xogtaadii hore ayaa dib lagu qori doonaa, kuwa cusub ayaa si toos ah loo qori doonaa. Ka dibna kaliya u beddel isticmaalka View Materialized View, ka dibna beddel rikoorka oo dili miiskii hore. Tani guud ahaan waa hab aan joogsi lahayn.

Бпасибо.

Source: www.habr.com

Add a comment