Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Bíótilẹ o daju wipe o wa ni bayi kan pupo ti data fere nibi gbogbo, analitikali infomesonu ni o si tun oyimbo nla. Wọn ti wa ni ibi mọ ati paapa buru ni anfani lati lo wọn fe ni. Ọpọlọpọ tẹsiwaju lati “jẹ cactus” pẹlu MySQL tabi PostgreSQL, eyiti a ṣe apẹrẹ fun awọn oju iṣẹlẹ miiran, jiya pẹlu NoSQL, tabi isanwo ju fun awọn ojutu iṣowo. ClickHouse yi awọn ofin ti awọn ere ati ki o significantly lowers awọn ala fun titẹ awọn aye ti analitikali DBMS.

Ijabọ lati BackEnd Conf 2018 ati pe o jẹ atẹjade pẹlu igbanilaaye ti agbọrọsọ.


Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)
Tani Emi ati kilode ti MO n sọrọ nipa ClickHouse? Mo jẹ oludari idagbasoke ni LifeStreet, eyiti o nlo ClickHouse. Bakannaa, Emi ni oludasile Altinity. O jẹ alabaṣiṣẹpọ Yandex ti o ṣe igbega ClickHouse ati iranlọwọ Yandex ṣe ClickHouse diẹ sii ni aṣeyọri. Tun ṣetan lati pin imọ nipa ClickHouse.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Ati pe emi kii ṣe arakunrin ti Petya Zaitsev. Nigbagbogbo a beere lọwọ mi nipa eyi. Rárá o, àwa kì í ṣe arákùnrin.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

"Gbogbo eniyan mọ" ti ClickHouse:

  • Iyara pupọ,
  • Itura pupọ
  • Ti a lo ni Yandex.

Diẹ diẹ ni a mọ ninu awọn ile-iṣẹ ati bi o ṣe nlo.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Emi yoo sọ idi rẹ fun ọ, nibo ati bii o ṣe lo ClickHouse, ayafi fun Yandex.

Emi yoo sọ fun ọ bi a ṣe yanju awọn iṣẹ-ṣiṣe kan pato pẹlu iranlọwọ ti ClickHouse ni awọn ile-iṣẹ oriṣiriṣi, kini awọn irinṣẹ ClickHouse ti o le lo fun awọn iṣẹ ṣiṣe rẹ, ati bii wọn ṣe lo ni awọn ile-iṣẹ oriṣiriṣi.

Mo mu awọn apẹẹrẹ mẹta ti o fihan ClickHouse lati awọn igun oriṣiriṣi. Mo ro pe o yoo jẹ awon.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Ibeere akọkọ ni: "Kini idi ti a nilo ClickHouse?". O dabi pe o jẹ ibeere ti o han gedegbe, ṣugbọn awọn idahun diẹ sii ju ọkan lọ si i.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

  • Idahun akọkọ jẹ fun iṣẹ ṣiṣe. ClickHouse jẹ iyara pupọ. Awọn atupale lori ClickHouse tun yara pupọ. O le ṣee lo nigbagbogbo nibiti nkan miiran ti lọra pupọ tabi buru pupọ.
  • Idahun keji jẹ idiyele. Ati akọkọ ti gbogbo, awọn iye owo ti igbelosoke. Fun apẹẹrẹ, Vertica jẹ aaye data nla kan. O ṣiṣẹ daradara ti o ko ba ni ọpọlọpọ terabytes ti data. Ṣugbọn nigbati o ba de awọn ọgọọgọrun ti terabytes tabi awọn petabytes, iye owo iwe-aṣẹ ati atilẹyin n lọ sinu iye pataki to ṣe pataki. Ati pe o jẹ gbowolori. Ati ClickHouse jẹ ọfẹ.
  • Idahun kẹta jẹ idiyele iṣẹ. Eyi jẹ ọna ti o yatọ diẹ. RedShift jẹ afọwọṣe nla kan. Lori RedShift, o le ṣe ipinnu ni kiakia. Yoo ṣiṣẹ daradara, ṣugbọn ni akoko kanna, ni gbogbo wakati, lojoojumọ, ati ni gbogbo oṣu, iwọ yoo san Amazon ni ọwọ pupọ, nitori eyi jẹ iṣẹ ti o gbowolori pupọ. Google BigQuery paapaa. Ti ẹnikan ba lo, lẹhinna o mọ pe nibẹ o le ṣiṣe awọn ibeere pupọ ati gba owo kan fun awọn ọgọọgọrun dọla lojiji.

ClickHouse ko ni awọn iṣoro wọnyi.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Nibo ni ClickHouse ti lo ni bayi? Ni afikun si Yandex, ClickHouse ti lo ni opo ti awọn iṣowo ati awọn ile-iṣẹ oriṣiriṣi.

  • Ni akọkọ, eyi ni awọn atupale ohun elo wẹẹbu, ie eyi jẹ ọran lilo ti o wa lati Yandex.
  • Ọpọlọpọ awọn ile-iṣẹ AdTech lo ClickHouse.
  • Awọn ile-iṣẹ lọpọlọpọ ti o nilo lati ṣe itupalẹ awọn akọọlẹ idunadura lati awọn orisun oriṣiriṣi.
  • Awọn ile-iṣẹ pupọ lo ClickHouse lati ṣe atẹle awọn igbasilẹ aabo. Wọn gbe wọn si ClickHouse, ṣe awọn ijabọ, ati gba awọn abajade ti wọn nilo.
  • Awọn ile-iṣẹ bẹrẹ lati lo ni itupalẹ owo, ie ni diẹdiẹ awọn iṣowo nla tun n sunmọ ClickHouse.
  • awọsanmaflare. Ti ẹnikan ba tẹle ClickHouse, lẹhinna wọn ti gbọ orukọ ile-iṣẹ yii. Eyi jẹ ọkan ninu awọn oluranlọwọ pataki lati agbegbe. Ati pe wọn ni fifi sori ClickHouse to ṣe pataki. Fun apẹẹrẹ, wọn ṣe Kafka Engine fun ClickHouse.
  • Awọn ile-iṣẹ ibaraẹnisọrọ bẹrẹ lati lo. Awọn ile-iṣẹ pupọ lo ClickHouse boya bi ẹri lori ero tabi tẹlẹ ni iṣelọpọ.
  • Ile-iṣẹ kan nlo ClickHouse lati ṣe atẹle awọn ilana iṣelọpọ. Wọn ṣe idanwo microcircuits, kọ ọpọlọpọ awọn paramita, awọn abuda 2 wa. Ati lẹhinna wọn ṣe itupalẹ boya ere naa dara tabi buburu.
  • Awọn atupale Blockchain. Iru ile-iṣẹ Russian kan wa bi Bloxy.info. Eyi jẹ itupalẹ ti nẹtiwọọki ethereum. Wọn tun ṣe eyi lori ClickHouse.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Ati iwọn naa ko ṣe pataki. Awọn ile-iṣẹ pupọ lo wa ti o lo olupin kekere kan. Ó sì jẹ́ kí wọ́n yanjú àwọn ìṣòro wọn. Ati paapaa awọn ile-iṣẹ diẹ sii lo awọn iṣupọ nla ti ọpọlọpọ awọn olupin tabi awọn dosinni ti awọn olupin.

Ati pe ti o ba wo awọn igbasilẹ, lẹhinna:

  • Yandex: Awọn olupin 500+, wọn tọju awọn igbasilẹ 25 bilionu ni ọjọ kan nibẹ.
  • LifeStreet: Awọn olupin 60, to awọn igbasilẹ 75 bilionu fun ọjọ kan. Awọn olupin diẹ wa, awọn igbasilẹ diẹ sii ju ni Yandex.
  • CloudFlare: Awọn olupin 36, wọn fipamọ awọn igbasilẹ 200 bilionu ni ọjọ kan. Wọn ni paapaa awọn olupin diẹ sii ati tọju data paapaa diẹ sii.
  • Bloomberg: Awọn olupin 102, nipa awọn titẹ sii aimọye kan fun ọjọ kan. Dimu igbasilẹ.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Geographically, eyi tun jẹ pupọ. Maapu yii nibi fihan maapu igbona ti ibiti o ti nlo ClickHouse ni agbaye. Russia, China, America duro jade kedere nibi. Awọn orilẹ-ede Yuroopu diẹ wa. Ati pe awọn iṣupọ 4 wa.

Eyi jẹ itupalẹ afiwera, ko si iwulo lati wa awọn isiro pipe. Eyi jẹ itupalẹ awọn alejo ti o ka awọn ohun elo ede Gẹẹsi lori oju opo wẹẹbu Altinity, nitori ko si awọn ti o sọ ede Rọsia nibẹ. Ati Russia, Ukraine, Belarus, ie apakan ti o sọ Russian ti agbegbe, awọn wọnyi ni ọpọlọpọ awọn olumulo. Lẹhinna US ati Canada wa. Orile-ede China ti n ṣafẹri pupọ. O fẹrẹ jẹ pe ko si Ilu China nibẹ ni oṣu mẹfa sẹhin, ni bayi China ti bori Yuroopu tẹlẹ ati tẹsiwaju lati dagba. Old Europe jẹ tun ko jina sile, ati awọn olori ninu awọn lilo ti ClickHouse ni, oddly to, France.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Kini idi ti MO fi sọ gbogbo eyi? Lati fihan pe ClickHouse n di ojutu boṣewa fun itupalẹ data nla ati pe o ti lo tẹlẹ ni ọpọlọpọ awọn aaye. Ti o ba lo, o wa ni aṣa ti o tọ. Ti o ko ba lo sibẹsibẹ, lẹhinna o ko le bẹru pe iwọ yoo fi ọ silẹ nikan ati pe ko si ẹnikan ti yoo ran ọ lọwọ, nitori ọpọlọpọ ti n ṣe eyi tẹlẹ.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Iwọnyi jẹ awọn apẹẹrẹ ti lilo ClickHouse gidi ni awọn ile-iṣẹ pupọ.

  • Apeere akọkọ jẹ nẹtiwọọki ipolowo: ijira lati Vertica si ClickHouse. Ati pe Mo mọ awọn ile-iṣẹ diẹ ti o ti yipada lati Vertica tabi ti o wa ninu ilana iyipada.
  • Apẹẹrẹ keji jẹ ibi ipamọ iṣowo lori ClickHouse. Eyi jẹ apẹẹrẹ ti a ṣe lori antipatterns. Ohun gbogbo ti ko yẹ ki o ṣee ṣe ni ClickHouse lori imọran ti awọn olupilẹṣẹ ti ṣe nibi. Ati pe o ti ṣe ni imunadoko pe o ṣiṣẹ. Ati pe o ṣiṣẹ dara julọ ju ojutu idunadura aṣoju lọ.
  • Apẹẹrẹ kẹta ti pin iširo lori ClickHouse. Ibeere kan wa nipa bawo ni ClickHouse ṣe le ṣepọ si ilolupo ilolupo Hadoop. Emi yoo ṣe afihan apẹẹrẹ ti bii ile-iṣẹ kan ṣe nkan ti o jọra si maapu dinku eiyan lori ClickHouse, titọju abala data isọdi, ati bẹbẹ lọ, lati ṣe iṣiro iṣẹ-ṣiṣe ti kii ṣe pataki pupọ.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

  • LifeStreet jẹ ile-iṣẹ Ad Tech kan ti o ni gbogbo imọ-ẹrọ ti o wa pẹlu nẹtiwọọki ipolowo kan.
  • O ti wa ni npe ni ipolowo ti o dara ju, ase eto.
  • Ọpọlọpọ data: nipa awọn iṣẹlẹ 10 bilionu fun ọjọ kan. Ni akoko kanna, awọn iṣẹlẹ le pin si ọpọlọpọ awọn iṣẹlẹ abẹlẹ.
  • Ọpọlọpọ awọn alabara wa ti data yii, ati pe kii ṣe eniyan nikan, pupọ diẹ sii - iwọnyi ni ọpọlọpọ awọn algoridimu ti o ṣiṣẹ ni ṣiṣe ase eto.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Ile-iṣẹ naa ti de ọna gigun ati elegun. Ati pe Mo ti sọrọ nipa rẹ lori HighLoad. Ni akọkọ, LifeStreet gbe lati MySQL (pẹlu iduro kukuru ni Oracle) si Vertica. Ati pe o le wa itan kan nipa rẹ.

Ati pe ohun gbogbo dara pupọ, ṣugbọn o yarayara di mimọ pe data n dagba ati Vertica jẹ gbowolori. Nitorina, orisirisi awọn yiyan ni won wá. Diẹ ninu wọn ti wa ni akojọ si nibi. Ati ni otitọ, a ṣe ẹri ti imọran tabi nigbakan idanwo iṣẹ ṣiṣe ti o fẹrẹ to gbogbo awọn apoti isura infomesonu ti o wa lori ọja lati ọdun 13th si ọdun 16th ati pe o fẹrẹ to dara ni awọn ofin ti iṣẹ ṣiṣe. Ati pe Mo tun sọrọ nipa diẹ ninu wọn lori HighLoad.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Iṣẹ naa ni lati jade lati Vertica ni ibẹrẹ, nitori data naa dagba. Ati awọn ti wọn dagba exponentially lori awọn ọdun. Lẹhinna wọn lọ lori selifu, ṣugbọn sibẹsibẹ. Ati pe asọtẹlẹ idagba yii, awọn ibeere iṣowo fun iye data lori eyiti iru awọn itupalẹ kan nilo lati ṣee ṣe, o han gbangba pe petabytes yoo wa ni ijiroro laipẹ. Ati sisanwo fun petabytes ti jẹ gbowolori pupọ tẹlẹ, nitorinaa a n wa ọna miiran nibiti lati lọ.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Nibo ni lati lọ? Ati fun igba pipẹ ko ṣe kedere ibi ti o lọ, nitori ni apa kan awọn apoti isura data iṣowo wa, wọn dabi pe wọn ṣiṣẹ daradara. Diẹ ninu awọn ṣiṣẹ fere daradara bi Vertica, diẹ ninu awọn buru. Ṣugbọn gbogbo wọn jẹ gbowolori, ko si ohun ti o din owo ati dara julọ ko le rii.

Ni apa keji, awọn solusan orisun ṣiṣi wa, eyiti ko lọpọlọpọ, ie fun awọn atupale, wọn le ka lori awọn ika ọwọ. Ati pe wọn jẹ ọfẹ tabi olowo poku, ṣugbọn o lọra. Ati pe wọn nigbagbogbo ko ni iṣẹ pataki ati iwulo.

Ati pe ko si nkankan lati darapo awọn ti o dara ti o wa ninu awọn apoti isura infomesonu iṣowo ati gbogbo awọn ọfẹ ti o wa ni orisun ṣiṣi.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Ko si nkankan titi, lairotẹlẹ, Yandex fa jade ClickHouse, bi alalupayida lati ijanilaya, bi ehoro kan. Ati pe o jẹ ipinnu airotẹlẹ, wọn tun beere ibeere naa: "Kí nìdí?", Ṣugbọn sibẹsibẹ.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Ati lẹsẹkẹsẹ ninu ooru ti 2016, a bẹrẹ lati wo kini ClickHouse jẹ. Ati pe o wa ni pe nigbami o le yara ju Vertica lọ. A ṣe idanwo awọn oju iṣẹlẹ oriṣiriṣi lori awọn ibeere oriṣiriṣi. Ati pe ti ibeere naa ba lo tabili kan nikan, iyẹn ni, laisi eyikeyi idapọ (darapọ), lẹhinna ClickHouse yara ni ilọpo meji bi Vertica.

Emi ko ọlẹ pupọ ati wo awọn idanwo Yandex ni ọjọ miiran. O jẹ kanna nibẹ: ClickHouse jẹ iyara meji bi Vertica, nitorinaa wọn nigbagbogbo sọrọ nipa rẹ.

Ṣugbọn ti awọn akojọpọ ba wa ninu awọn ibeere, lẹhinna ohun gbogbo wa jade kii ṣe aibikita pupọ. Ati ClickHouse le jẹ ilọpo meji bi o lọra bi Vertica. Ati pe ti o ba ṣe atunṣe ibeere naa diẹ ti o si tun kọ, lẹhinna wọn jẹ dogba. Ko buru. Ati ofe.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Ati lẹhin ti o ti gba awọn abajade idanwo, ati wiwo rẹ lati awọn igun oriṣiriṣi, LifeStreet lọ si ClickHouse.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Odun 16th ni yi, Mo leti o. O dabi awada nipa awọn eku ti o sọkun ti wọn si gún ara wọn, ṣugbọn tẹsiwaju lati jẹ cactus naa. Ati pe eyi ni apejuwe ni apejuwe, fidio kan wa nipa eyi, ati bẹbẹ lọ.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Nitorinaa, Emi kii yoo sọrọ nipa rẹ ni awọn alaye, Emi yoo sọrọ nikan nipa awọn abajade ati awọn nkan ti o nifẹ diẹ ti Emi ko sọrọ nipa lẹhinna.

Abajade ni:

  • Iṣilọ aṣeyọri ati diẹ sii ju ọdun kan eto naa ti n ṣiṣẹ tẹlẹ ni iṣelọpọ.
  • Isejade ati irọrun ti pọ si. Ninu awọn igbasilẹ bilionu 10 ti a le ni lati fipamọ fun ọjọ kan ati lẹhinna fun igba diẹ, LifeStreet ni bayi tọju awọn igbasilẹ 75 bilionu fun ọjọ kan ati pe o le ṣe eyi fun awọn oṣu 3 tabi diẹ sii. Ti o ba ka ni tente oke, lẹhinna eyi jẹ to awọn iṣẹlẹ miliọnu kan fun iṣẹju kan. Diẹ ẹ sii ju awọn ibeere SQL miliọnu kan lọ ni ọjọ kan wa ninu eto yii, pupọ julọ lati awọn roboti oriṣiriṣi.
  • Bíótilẹ o daju pe awọn olupin diẹ sii ni a lo fun ClickHouse ju fun Vertica, wọn tun fipamọ sori ohun elo, nitori kuku awọn disiki SAS gbowolori ni a lo ni Vertica. ClickHouse lo SATA. Ati kilode? Nitori ni Vertica fi sii jẹ amuṣiṣẹpọ. Ati mimuuṣiṣẹpọ nbeere pe awọn disiki ko fa fifalẹ pupọ, ati paapaa pe nẹtiwọọki ko fa fifalẹ pupọ, iyẹn ni, iṣẹ ṣiṣe gbowolori kuku. Ati ni ClickHouse fi sii jẹ asynchronous. Pẹlupẹlu, o le kọ ohun gbogbo nigbagbogbo ni agbegbe, ko si awọn idiyele afikun fun eyi, nitorinaa data le fi sii sinu ClickHouse ni iyara pupọ ju sinu Vertika, paapaa lori awọn awakọ ti o lọra. Ati kika jẹ nipa kanna. Kika lori SATA, ti wọn ba wa ni RAID, lẹhinna eyi ni gbogbo iyara to.
  • Ko ni opin nipasẹ iwe-aṣẹ, ie 3 petabytes ti data ni awọn olupin 60 (awọn olupin 20 jẹ ẹda kan) ati awọn igbasilẹ 6 aimọye ni awọn otitọ ati awọn akojọpọ. Ko si iru eyi ti o le fun ni Vertica.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Mo yipada si awọn nkan ti o wulo ni apẹẹrẹ yii.

  • Ni igba akọkọ ti jẹ eto ti o munadoko. Pupọ da lori ero.
  • Awọn keji ni daradara SQL iran.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Ibeere OLAP aṣoju jẹ yiyan. Diẹ ninu awọn ọwọn lọ si ẹgbẹ nipasẹ, diẹ ninu awọn ọwọn lọ si awọn iṣẹ apapọ. Nibẹ ni ibi ti, eyi ti o le wa ni ipoduduro bi kan bibẹ kan ti cube. Gbogbo ẹgbẹ nipasẹ ni a le ronu bi asọtẹlẹ kan. Ati idi idi ti o fi n pe ni iṣiro data multivariate.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Ati nigbagbogbo eyi jẹ apẹrẹ ni irisi eto-irawọ, nigbati o jẹ otitọ aarin ati awọn abuda ti otitọ yii ni awọn ẹgbẹ, lẹgbẹẹ awọn egungun.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Ati ni awọn ofin ti apẹrẹ ti ara, bi o ṣe baamu lori tabili, wọn maa n ṣe aṣoju deede. O le denormalize, sugbon o jẹ gbowolori lori disk ati ki o ko gan daradara lori awọn ibeere. Nitorinaa, wọn nigbagbogbo ṣe aṣoju deede, ie tabili otitọ ati ọpọlọpọ, awọn tabili iwọn pupọ.

Ṣugbọn ko ṣiṣẹ daradara ni ClickHouse. Idi meji lo wa:

  • Ni igba akọkọ ti nitori ClickHouse ko ni dara julọ darapo, i.e. nibẹ ni o wa parapo, sugbon ti won wa ni buburu. Lakoko ti o buru.
  • Awọn keji ni wipe awọn tabili ti wa ni ko imudojuiwọn. Nigbagbogbo ninu awọn awo wọnyi, eyiti o wa ni ayika star-circuit, ohun kan nilo lati yipada. Fun apẹẹrẹ, orukọ alabara, orukọ ile-iṣẹ, ati bẹbẹ lọ. Ati pe ko ṣiṣẹ.

Ati pe ọna kan wa ninu eyi ni ClickHouse. ani meji:

  • Ohun akọkọ ni lilo awọn iwe-itumọ. Awọn iwe-itumọ ita jẹ ohun ti o ṣe iranlọwọ 99% yanju iṣoro naa pẹlu ero-irawọ, pẹlu awọn imudojuiwọn ati bẹbẹ lọ.
  • Awọn keji ni awọn lilo ti orun. Awọn apẹrẹ tun ṣe iranlọwọ lati yọkuro awọn idapọ ati awọn iṣoro pẹlu isọdi deede.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

  • Ko si idapo nilo.
  • Igbegasoke. Lati Oṣu Kẹta ọdun 2018, aye ti ko ni iwe-aṣẹ ti han (iwọ kii yoo rii eyi ninu iwe-ipamọ) lati ṣe imudojuiwọn awọn iwe-itumọ ni apakan, ie awọn titẹ sii ti o yipada. Ni iṣe, o dabi tabili kan.
  • Nigbagbogbo ni iranti, nitorinaa darapọ mọ iṣẹ iwe-itumọ yiyara ju ti o ba jẹ tabili ti o wa lori disiki ati pe kii ṣe otitọ pe o wa ninu kaṣe, o ṣeese kii ṣe.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

  • O ko nilo awọn akojọpọ boya.
  • Eyi jẹ iwapọ 1-si-ọpọlọpọ aṣoju.
  • Ati ninu ero mi, a ṣe apẹrẹ fun awọn giigi. Iwọnyi jẹ awọn iṣẹ lambda ati bẹbẹ lọ.

Eyi kii ṣe fun awọn ọrọ pupa. Eyi jẹ iṣẹ ṣiṣe ti o lagbara pupọ ti o fun ọ laaye lati ṣe ọpọlọpọ awọn nkan ni ọna ti o rọrun pupọ ati didara.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Awọn apẹẹrẹ aṣoju ti o ṣe iranlọwọ lati yanju awọn akojọpọ. Awọn apẹẹrẹ wọnyi rọrun ati pe o to:

  • Ṣewadii nipasẹ awọn afi. Ti o ba ni hashtags nibẹ ati pe o fẹ lati wa diẹ ninu awọn ifiweranṣẹ nipasẹ hashtag.
  • Ṣewadii nipasẹ awọn orisii iye bọtini. Awọn abuda kan tun wa pẹlu iye kan.
  • Titoju awọn atokọ ti awọn bọtini ti o nilo lati tumọ si nkan miiran.

Gbogbo awọn iṣẹ-ṣiṣe wọnyi le ṣee yanju laisi awọn akojọpọ. Awọn afi le wa ni fi si diẹ ninu awọn ila ati ki o yan pẹlu kan deede ikosile tabi ni lọtọ tabili, sugbon ki o si o ni lati se parapo.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Ati ni ClickHouse, iwọ ko nilo lati ṣe ohunkohun, o to lati ṣapejuwe okun okun fun hashtags tabi ṣe eto itẹ-ẹiyẹ fun awọn eto iye-bọtini.

Eto itẹle le ma jẹ orukọ ti o dara julọ. Iwọnyi jẹ awọn akojọpọ meji ti o ni apakan ti o wọpọ ni orukọ ati diẹ ninu awọn abuda ti o jọmọ.

Ati pe o rọrun pupọ lati wa nipasẹ tag. Ni iṣẹ kan has, eyi ti o sọwedowo wipe orun ni ohun ano. Gbogbo eniyan, ri gbogbo awọn titẹ sii ti o jọmọ apejọ wa.

Wiwa nipasẹ subid jẹ idiju diẹ sii. A nilo lati kọkọ wa atọka ti bọtini, lẹhinna mu ipin pẹlu atọka yii ki o ṣayẹwo pe iye yii jẹ ohun ti a nilo. Sibẹsibẹ, o rọrun pupọ ati iwapọ.

Ọrọ ikosile deede ti iwọ yoo fẹ lati kọ ti o ba pa gbogbo rẹ mọ ni laini kan, yoo jẹ, lakọọkọ, ṣoki. Ati pe, ni ẹẹkeji, o ṣiṣẹ to gun ju awọn akojọpọ meji lọ.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Apeere miiran. O ni ohun orun ibi ti o ti fipamọ awọn ID. Ati pe o le tumọ wọn si awọn orukọ. Išẹ arrayMap. Eyi jẹ iṣẹ lambda aṣoju. O kọja awọn ikosile lambda nibẹ. Ati pe o fa iye ti orukọ fun ID kọọkan lati inu iwe-itumọ.

Iwadi le ṣee ṣe ni ọna kanna. Iṣẹ asọtẹlẹ ti kọja ti o ṣayẹwo kini awọn eroja baamu.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Nkan wọnyi gidigidi simplify awọn Circuit ati ki o yanju kan ìdìpọ isoro.

Ṣugbọn iṣoro atẹle ti a n dojukọ, ati eyiti Emi yoo fẹ mẹnuba, jẹ awọn ibeere to munadoko.

  • ClickHouse ko ni oluṣeto ibeere kan. Bẹẹkọ rara.
  • Sibẹsibẹ, awọn ibeere eka tun nilo lati gbero. Ninu awọn ọran wo?
  • Ti o ba jẹ pe ọpọlọpọ awọn akojọpọ wa ninu ibeere naa, o fi ipari si wọn ni awọn yiyan. Ati awọn ibere ninu eyi ti won ti wa ni executed ọrọ.
  • Ati keji - ti o ba pin ibeere naa. Nitoripe ninu ibeere ti a pin kaakiri, awọn ipin inu inu nikan ni a pin kaakiri, ati pe ohun gbogbo miiran ti kọja si olupin kan ti o sopọ si ati ṣiṣẹ nibẹ. Nitorinaa, ti o ba ti pin awọn ibeere pẹlu ọpọlọpọ awọn idapọ (darapọ), lẹhinna o nilo lati yan aṣẹ naa.

Ati paapaa ni awọn ọran ti o rọrun, nigbami o tun jẹ dandan lati ṣe iṣẹ ti oluṣeto ati tun awọn ibeere atunkọ diẹ.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Eyi jẹ apẹẹrẹ kan. Ni apa osi ni ibeere ti o fihan awọn orilẹ-ede 5 oke. Ati pe o gba iṣẹju 2,5, ni ero mi. Ati ni apa ọtun, ibeere kanna, ṣugbọn tun kọ diẹ. Dipo kikojọpọ nipasẹ okun, a bẹrẹ si akojọpọ nipasẹ bọtini (int). Ati pe o yara. Ati lẹhinna a sopọ iwe-itumọ si abajade. Dipo awọn aaya 2,5, ibeere naa gba iṣẹju-aaya 1,5. Eyi dara.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Apeere ti o jọra pẹlu awọn asẹ atunkọ. Eyi ni ibeere fun Russia. O nṣiṣẹ fun awọn aaya 5. Ti a ba tun kọwe ni ọna ti a ṣe afiwe lẹẹkansi kii ṣe okun, ṣugbọn awọn nọmba pẹlu diẹ ninu awọn bọtini ti o ni ibatan si Russia, lẹhinna o yoo yarayara.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Ọpọlọpọ awọn ẹtan bẹẹ wa. Ati pe wọn gba ọ laaye lati yara awọn ibeere ni pataki ti o ro pe o ti n ṣiṣẹ ni iyara, tabi, ni idakeji, nṣiṣẹ laiyara. Wọn le ṣe paapaa yiyara.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

  • Iṣẹ to pọ julọ ni ipo pinpin.
  • Tito lẹsẹsẹ nipasẹ awọn oriṣi ti o kere ju, gẹgẹ bi mo ti ṣe nipasẹ ints.
  • Ti awọn akojọpọ eyikeyi ba wa (darapọ), awọn iwe-itumọ, lẹhinna o dara lati ṣe wọn bi ibi-afẹde ikẹhin, nigbati o ba ti ni data tẹlẹ o kere ju ti a pin, lẹhinna iṣiṣẹ apapọ tabi ipe iwe-itumọ yoo pe ni awọn akoko diẹ ati pe yoo yarayara .
  • Rirọpo Ajọ.

Awọn imuposi miiran wa, kii ṣe awọn ti Mo ti ṣafihan. Ati pe gbogbo wọn le ṣe iyara ipaniyan awọn ibeere nigba miiran ni pataki.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Jẹ ki a lọ si apẹẹrẹ atẹle. Ile-iṣẹ X lati AMẸRIKA. Kí ló ń ṣe?

Iṣẹ kan wa:

  • Aisinipo asopọ ti awọn iṣowo ipolowo.
  • Awoṣe o yatọ si abuda si dede.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Kini oju iṣẹlẹ naa?

Alejo lasan wa si aaye naa, fun apẹẹrẹ, awọn akoko 20 ni oṣu kan lati awọn ipolowo oriṣiriṣi, tabi bii iyẹn nigbakan wa laisi ipolowo eyikeyi, nitori pe o ranti aaye yii. Wo awọn ọja kan, fi wọn sinu agbọn, mu wọn jade kuro ninu agbọn. Ati, ni ipari, ohun kan ra.

Awọn ibeere ti o ni imọran: "Tani o yẹ ki o sanwo fun ipolongo, ti o ba jẹ dandan?" ati "Ipolowo wo ni o ni ipa lori rẹ, ti eyikeyi?". Iyẹn ni, kilode ti o ra ati bawo ni o ṣe gba awọn eniyan bii ẹni yii lati ra paapaa?

Lati le yanju iṣoro yii, o nilo lati sopọ awọn iṣẹlẹ ti o waye lori oju opo wẹẹbu ni ọna ti o tọ, iyẹn ni, bakan kọ asopọ laarin wọn. Lẹhinna wọn firanṣẹ fun itupalẹ si DWH. Ati pe da lori itupalẹ yii, kọ awọn awoṣe tani ati kini awọn ipolowo lati ṣafihan.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Idunadura ipolowo jẹ eto ti awọn iṣẹlẹ olumulo ti o ni ibatan ti o bẹrẹ lati iṣafihan ipolowo kan, lẹhinna nkan kan ṣẹlẹ, lẹhinna boya rira, ati lẹhinna awọn rira le wa laarin rira kan. Fun apẹẹrẹ, ti eyi jẹ ohun elo alagbeka tabi ere alagbeka, lẹhinna nigbagbogbo fifi sori ẹrọ ohun elo naa waye fun ọfẹ, ati pe ti nkan kan ba ṣe nibẹ, lẹhinna owo le nilo fun eyi. Ati pe eniyan diẹ sii ni lilo ninu ohun elo naa, diẹ sii ni iye ti o jẹ. Ṣugbọn fun eyi o nilo lati sopọ ohun gbogbo.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Ọpọlọpọ awọn awoṣe abuda wa.

Awọn julọ gbajumo ni:

  • Ibaṣepọ to kẹhin, nibiti ibaraenisepo jẹ boya tẹ tabi ifihan kan.
  • Ibaṣepọ akọkọ, ie ohun akọkọ ti o mu eniyan wá si aaye naa.
  • Apapo laini - gbogbo dogba.
  • Attenuation.
  • Ati bẹbẹ lọ.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Ati bawo ni gbogbo rẹ ṣe ṣiṣẹ ni ibẹrẹ? Nibẹ wà Runtime ati Cassandra. Cassandra ni a lo bi ibi ipamọ iṣowo, ie gbogbo awọn iṣowo ti o jọmọ ti wa ni ipamọ ninu rẹ. Ati nigbati diẹ ninu awọn iṣẹlẹ ba wa ni Runtime, fun apẹẹrẹ, fifihan diẹ ninu awọn oju-iwe tabi nkan miiran, lẹhinna a beere ibeere kan si Cassandra - ṣe iru eniyan bẹẹ tabi rara. Lẹhinna awọn iṣowo ti o jọmọ rẹ gba. Ati awọn asopọ ti a ṣe.

Ati pe ti o ba ni orire pe ibeere naa ni id idunadura kan, lẹhinna o rọrun. Sugbon maa ko si orire. Nitorinaa, o jẹ dandan lati wa idunadura ti o kẹhin tabi idunadura pẹlu titẹ ti o kẹhin, ati bẹbẹ lọ.

Ati pe gbogbo rẹ ṣiṣẹ daradara niwọn igba ti abuda naa wa si titẹ ti o kẹhin. Nitoripe o wa, sọ pe, 10 milionu tẹ fun ọjọ kan, 300 milionu fun osu kan, ti a ba ṣeto window kan fun osu kan. Ati pe niwọn igba ti Cassandra o ni lati wa ni gbogbo ni iranti lati le ṣiṣẹ ni iyara, nitori akoko ṣiṣe nilo lati dahun ni iyara, o gba nipa awọn olupin 10-15.

Ati pe nigba ti wọn fẹ lati sopọ idunadura kan si ifihan, o yipada lẹsẹkẹsẹ ko dun. Ati kilode? O le rii pe awọn akoko 30 diẹ sii awọn iṣẹlẹ nilo lati wa ni ipamọ. Ati pe, ni ibamu, o nilo awọn olupin ni igba 30 diẹ sii. Ati pe o wa ni pe eyi jẹ diẹ ninu iru eeya astronomical. Lati tọju awọn olupin 500 lati le ṣe ọna asopọ, botilẹjẹpe awọn olupin ti o dinku pupọ wa ni akoko asiko, lẹhinna eyi jẹ iru eeya ti ko tọ. Nwọn si bẹrẹ si ro ohun ti lati se.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Ati pe a lọ si ClickHouse. Ati bi o ṣe le ṣe lori ClickHouse? Ni wiwo akọkọ, o dabi pe eyi jẹ eto ti awọn ilana ti o lodi si.

  • Idunadura naa dagba, a kio awọn iṣẹlẹ diẹ sii ati siwaju sii, ie o jẹ iyipada, ati ClickHouse ko ṣiṣẹ daradara daradara pẹlu awọn ohun iyipada.
  • Nigbati alejo kan ba wa si wa, a nilo lati fa awọn iṣowo rẹ jade nipasẹ bọtini, nipasẹ id ibẹwo rẹ. Eyi tun jẹ ibeere aaye kan, wọn ko ṣe iyẹn ni ClickHouse. Nigbagbogbo ClickHouse ni awọn ọlọjẹ nla, ṣugbọn nibi a nilo lati gba diẹ ninu awọn igbasilẹ. Tun ẹya antipattern.
  • Ni afikun, idunadura naa wa ni json, ṣugbọn wọn ko fẹ lati tun kọwe, nitorina wọn fẹ lati tọju json ni ọna ti ko ni ipilẹ, ati pe ti o ba jẹ dandan, fa ohun kan jade ninu rẹ. Ati pe eyi tun jẹ antipattern.

Iyẹn ni, ṣeto awọn antipattern.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Ṣugbọn sibẹsibẹ o wa jade lati ṣe eto ti o ṣiṣẹ daradara.

Kí ni wọ́n ṣe? ClickHouse ti han, sinu eyiti a sọ awọn akọọlẹ, pin si awọn igbasilẹ. Iṣẹ iyasọtọ kan han ti o gba awọn akọọlẹ lati ClickHouse. Lẹhin iyẹn, fun titẹ sii kọọkan, nipasẹ id isanwo, Mo gba awọn iṣowo ti o le ma ti ni ilọsiwaju sibẹsibẹ ati pẹlu awọn aworan ifaworanhan, ie awọn iṣowo ti a ti sopọ tẹlẹ, eyun abajade ti iṣẹ iṣaaju. Mo ti ṣe kannaa tẹlẹ ninu wọn, yan idunadura to tọ, ti sopọ awọn iṣẹlẹ tuntun. Wọle lẹẹkansi. Iwe akọọlẹ naa pada si ClickHouse, ie o jẹ eto iyipo nigbagbogbo. Ati ni afikun, Mo lọ si DWH lati ṣe itupalẹ rẹ nibẹ.

O wa ni fọọmu yii pe ko ṣiṣẹ daradara. Ati lati jẹ ki o rọrun fun ClickHouse, nigbati ibeere kan wa nipasẹ id ibẹwo, wọn ṣe akojọpọ awọn ibeere wọnyi sinu awọn bulọọki ti awọn ids ibẹwo 1-000 ati fa gbogbo awọn iṣowo jade fun eniyan 2-000. Ati lẹhinna gbogbo rẹ ṣiṣẹ.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Ti o ba wo inu ClickHouse, lẹhinna awọn tabili akọkọ 3 nikan wa ti o ṣe iranṣẹ gbogbo eyi.

Tabili akọkọ sinu eyiti awọn igbasilẹ ti gbejade, ati awọn igbasilẹ ti wa ni ikojọpọ fẹrẹ laisi sisẹ.

Keji tabili. Nipasẹ wiwo ohun elo, lati awọn akọọlẹ wọnyi, awọn iṣẹlẹ ti a ko ti sọ tẹlẹ, ie, awọn ti ko ni ibatan, ti buje. Ati nipasẹ wiwo ohun elo, awọn iṣowo ti fa jade ninu awọn akọọlẹ wọnyi lati kọ aworan kan. Iyẹn ni, wiwo ohun elo pataki kan ti kọ aworan kan, eyun ni ipo ikojọpọ ti o kẹhin ti idunadura naa.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Eyi ni ọrọ ti a kọ sinu SQL. Emi yoo fẹ lati sọ asọye lori awọn nkan pataki diẹ ninu rẹ.

Ohun pataki akọkọ ni agbara lati fa awọn ọwọn ati awọn aaye lati json ni ClickHouse. Iyẹn ni, ClickHouse ni diẹ ninu awọn ọna fun ṣiṣẹ pẹlu json. Wọn jẹ pupọ, pupọ atijo.

visitParamExtractInt ngbanilaaye lati yọ awọn abuda jade lati json, ie iṣẹ ikọlu akọkọ. Ati ni ọna yii o le fa id idunadura jade tabi ṣabẹwo id. Ni akoko yi.

Ni ẹẹkeji, aaye ti o ni ẹtan ni a lo nibi. Kini o je? Eyi tumọ si pe o ko le fi sii sinu tabili, ie ko fi sii, o ṣe iṣiro ati fipamọ sori fifi sii. Nigbati o ba nfiranṣẹ, ClickHouse ṣe iṣẹ naa fun ọ. Ati pe ohun ti o nilo nigbamii ti fa tẹlẹ lati json.

Ni ọran yii, wiwo ohun elo jẹ fun awọn ori ila aise. Ati tabili akọkọ pẹlu iṣẹ ṣiṣe awọn akọọlẹ aise jẹ lilo nikan. Kí sì ni ó ṣe? Ni akọkọ, o yipada yiyan, ie yiyan ni bayi lọ nipasẹ id ibẹwo, nitori a nilo lati yara fa idunadura rẹ jade fun eniyan kan pato.

Ohun pataki keji ni index_granularity. Ti o ba ti rii MergeTree, o maa n jẹ 8 nipasẹ aiyipada index_granularity. Kini o jẹ? Eyi ni paramita sparseness atọka. Ni ClickHouse itọka naa ko fọnka, ko ṣe atọka gbogbo awọn titẹ sii. O ṣe eyi ni gbogbo 192. Ati pe eyi dara nigbati ọpọlọpọ data nilo lati ṣe iṣiro, ṣugbọn buburu nigbati diẹ, nitori pe o wa ni oke nla. Ati pe ti a ba dinku granularity atọka, lẹhinna a dinku oke. Ko le dinku si ọkan, nitori pe o le ma si iranti to. Atọka ti wa ni ipamọ nigbagbogbo ni iranti.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Aworan aworan tun nlo diẹ ninu awọn ẹya ClickHouse ti o nifẹ si.

Ni akọkọ, o jẹ AggregatingMergeTree. Ati awọn ile itaja AggregatingMergeTree argMax, ie eyi ni ipo iṣowo ti o baamu si akoko akoko to kẹhin. Lẹkọ ti wa ni ti ipilẹṣẹ gbogbo awọn akoko fun a fi alejo. Ati ni ipo ikẹhin ti iṣowo yii, a ṣafikun iṣẹlẹ kan ati pe a ni ipinlẹ tuntun kan. O lu ClickHouse lẹẹkansi. Ati nipasẹ argMax ni wiwo ohun elo yii, a le gba ipo lọwọlọwọ nigbagbogbo.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

  • Asopọmọra ti wa ni "pipọ" lati asiko-ṣiṣe.
  • Titi di awọn iṣowo bilionu 3 fun oṣu kan ti wa ni ipamọ ati ni ilọsiwaju. Eyi jẹ aṣẹ titobi diẹ sii ju ti o wa ni Cassandra, ie ni eto iṣowo iṣowo aṣoju.
  • Iṣupọ ti awọn olupin ClickHouse 2x5. Awọn olupin 5 ati olupin kọọkan ni ẹda kan. Eyi paapaa kere ju ti o wa ni Cassandra lati le ṣe ikasi orisun tẹ, ati pe nibi ti a ni orisun orisun. Iyẹn ni, dipo jijẹ nọmba awọn olupin nipasẹ awọn akoko 30, wọn ṣakoso lati dinku wọn.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Ati apẹẹrẹ ti o kẹhin jẹ ile-iṣẹ inawo Y, eyiti o ṣe itupalẹ awọn ibamu ti awọn iyipada ninu awọn idiyele ọja.

Ati pe iṣẹ naa ni:

  • O fẹrẹ to awọn ipin 5.
  • Awọn agbasọ ọrọ ni gbogbo 100 milliseconds ni a mọ.
  • Awọn data ti a ti akojo lori 10 ọdun. Nkqwe, fun diẹ ninu awọn ile-iṣẹ diẹ sii, fun diẹ ninu awọn kere.
  • O fẹrẹ to awọn ori ila bilionu 100 ni apapọ.

Ati pe o jẹ dandan lati ṣe iṣiro ibamu ti awọn iyipada.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Eyi ni awọn akojopo meji ati awọn agbasọ wọn. Ti ọkan ba lọ soke ti ekeji ba lọ soke, lẹhinna eyi jẹ ibaramu rere, i.e. ọkan lọ soke ati ekeji lọ soke. Ti ọkan ba lọ soke, bi ni opin ti awọn aworan, ti ekeji si lọ silẹ, lẹhinna eyi jẹ ibamu odi, ie nigbati ọkan ba dide, ekeji ṣubu.

Ṣiṣayẹwo awọn iyipada ibaraenisọrọ wọnyi, ọkan le ṣe awọn asọtẹlẹ ni ọja owo.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Ṣugbọn iṣẹ-ṣiṣe naa nira. Kini a nṣe fun eyi? A ni 100 bilionu igbasilẹ ti o ni: akoko, iṣura, ati owo. A nilo lati ṣe iṣiro akọkọ awọn akoko 100 bilionu ti nṣiṣẹ Iyatọ lati algorithm idiyele. RunningDifference jẹ iṣẹ kan ni ClickHouse ti o ṣe iṣiro iyatọ lẹsẹsẹ laarin awọn okun meji.

Ati lẹhin eyi, o nilo lati ṣe iṣiro ibamu, ati pe a gbọdọ ṣe iṣiro fun bata kọọkan. Fun awọn ipin 5, awọn orisii jẹ 000 milionu. Ati pe eyi jẹ pupọ, ie awọn akoko 12,5 o jẹ dandan lati ṣe iṣiro iru iṣẹ ibamu kan.

Ati pe ti ẹnikan ba gbagbe, lẹhinna ͞x ati ͞y jẹ oluṣayẹwo. ireti iṣapẹẹrẹ. Iyẹn ni, o ṣe pataki kii ṣe lati ṣe iṣiro awọn gbongbo ati awọn akopọ nikan, ṣugbọn tun awọn akopọ ọkan diẹ sii ninu awọn akopọ wọnyi. Opo awọn iṣiro nilo lati ṣee ṣe awọn akoko miliọnu 12,5, ati paapaa akojọpọ nipasẹ awọn wakati. A tun ni ọpọlọpọ awọn wakati. Ati pe o ni lati ṣe ni iṣẹju-aaya 60. Awada ni.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

O jẹ dandan lati ni akoko ni o kere ju bakan, nitori gbogbo eyi ṣiṣẹ pupọ, laiyara pupọ ṣaaju ki ClickHouse wa.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Wọn gbiyanju lati ṣe iṣiro rẹ lori Hadoop, lori Spark, lori Greenplum. Ati gbogbo eyi jẹ o lọra pupọ tabi gbowolori. Iyẹn ni, o ṣee ṣe lati ṣe iṣiro bakan, ṣugbọn lẹhinna o jẹ gbowolori.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Ati lẹhinna ClickHouse wa pẹlu ati pe awọn nkan dara pupọ.

Mo leti pe a ni iṣoro pẹlu agbegbe data, nitori awọn ibamu ko le wa ni agbegbe. A ko le fi diẹ ninu awọn data sori olupin kan, diẹ ninu miiran ati iṣiro, a gbọdọ ni gbogbo data nibi gbogbo.

Kí ni wọ́n ṣe? Ni ibẹrẹ, data ti wa ni agbegbe. Olupin kọọkan tọju data lori idiyele ti ṣeto awọn ipin kan. Ati awọn ti wọn ko ni lqkan. Nitorinaa, o ṣee ṣe lati ṣe iṣiro logReturn ni afiwe ati ni ominira, gbogbo eyi ṣẹlẹ titi di igba ni afiwe ati pinpin.

Lẹhinna a pinnu lati dinku data wọnyi, lakoko ti a ko padanu ikosile. Din lilo awọn akojọpọ, ie fun akoko kọọkan, ṣe akojọpọ awọn akojopo ati titobi awọn idiyele. Nitorina, o gba to Elo kere data aaye. Ati pe wọn rọrun diẹ lati ṣiṣẹ pẹlu. Iwọnyi jẹ awọn iṣẹ ti o jọra, ie a ka apakan ni afiwe ati lẹhinna kọ si olupin naa.

Lẹhin iyẹn, o le tun ṣe. Lẹta naa "r" tumọ si pe a tun ṣe data yii. Iyẹn ni, a ni data kanna lori gbogbo awọn olupin mẹta - iwọnyi ni awọn akojọpọ.

Ati lẹhinna pẹlu iwe afọwọkọ pataki lati ṣeto ti awọn ibatan miliọnu 12,5 ti o nilo lati ṣe iṣiro, o le ṣe awọn idii. Iyẹn ni, awọn iṣẹ-ṣiṣe 2 pẹlu awọn orisii 500 ti awọn ibatan. Ati pe iṣẹ-ṣiṣe yii ni lati ṣe iṣiro lori olupin ClickHouse kan pato. O ni gbogbo data naa, nitori data naa jẹ kanna ati pe o le ṣe iṣiro wọn lẹsẹsẹ.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Lekan si, eyi ni ohun ti o dabi. Ni akọkọ, a ni gbogbo data ninu eto yii: akoko, awọn ipin, idiyele. Lẹhinna a ṣe iṣiro logReturn, ie data ti eto kanna, ṣugbọn dipo idiyele ti a ti ni logReturn tẹlẹ. Lẹhinna wọn tun ṣe, ie a ni akoko ati ẹgbẹArray fun awọn ọja ati awọn idiyele. Sreplicated. Ati lẹhin naa, a ṣe ipilẹṣẹ awọn iṣẹ-ṣiṣe kan ati pe a jẹ wọn si ClickHouse ki o le ka wọn. Ati pe o ṣiṣẹ.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Lori ẹri ti imọran, iṣẹ-ṣiṣe naa jẹ iṣẹ-ṣiṣe, ie, data ti o kere ju ni a mu. Ati pe awọn olupin mẹta nikan.

Awọn ipele meji akọkọ: ṣe iṣiro Log_return ati fifisilẹ ni awọn akojọpọ gba bii wakati kan.

Ati iṣiro ti ibamu jẹ nipa awọn wakati 50. Ṣugbọn awọn wakati 50 ko to, nitori wọn ti ṣiṣẹ fun awọn ọsẹ. O jẹ aṣeyọri nla kan. Ati pe ti o ba ka, lẹhinna 70 igba fun iṣẹju kan ohun gbogbo ni a ka lori iṣupọ yii.

Ṣugbọn ohun ti o ṣe pataki julọ ni pe eto yii jẹ adaṣe laisi awọn igo, ie, o fẹrẹ fẹrẹ to laini. Ati pe wọn ṣayẹwo. Ni aṣeyọri gbe e soke.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

  • Eto ti o tọ jẹ idaji ogun. Ati pe ero ti o tọ ni lilo gbogbo awọn imọ-ẹrọ ClickHouse pataki.
  • Summing/AggregatingMergeTrees jẹ awọn imọ-ẹrọ ti o gba ọ laaye lati ṣajọpọ tabi wo aworan aworan ipinlẹ bi ọran pataki kan. Ati pe o jẹ irọrun pupọ pupọ.
  • Awọn iwo ohun elo gba ọ laaye lati fori opin atọka kan. Boya Emi ko sọ ni kedere, ṣugbọn nigba ti a kojọpọ awọn iwe-ipamọ, awọn iwe-igi aise wa ninu tabili pẹlu atọka kan, ati pe awọn akọọlẹ abuda wa ninu tabili, ie data kanna, nikan ti a ṣe, ṣugbọn atọka naa jẹ patapata. awon miran. O dabi pe o jẹ data kanna, ṣugbọn iyatọ ti o yatọ. Ati Awọn iwo Ohun elo gba ọ laaye, ti o ba nilo rẹ, lati fori iru aropin ClickHouse kan.
  • Din granularity atọka fun awọn ibeere aaye.
  • Ati pinpin data ni ọgbọn, gbiyanju lati ṣe agbegbe data laarin olupin bi o ti ṣee ṣe. Ati gbiyanju lati rii daju pe awọn ibeere tun lo isọdibilẹ nibiti o ti ṣeeṣe bi o ti ṣee ṣe.

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

Ati pe o ṣe akopọ ọrọ kukuru yii, a le sọ pe ClickHouse ti ni iduroṣinṣin ni agbegbe ti awọn apoti isura data iṣowo mejeeji ati awọn apoti isura infomesonu orisun, ie, pataki fun awọn atupale. O ni ibamu daradara sinu ala-ilẹ yii. Ati pe kini diẹ sii, laiyara bẹrẹ lati ṣaju awọn miiran, nitori nigbati o ba ni ClickHouse, iwọ ko nilo InfiniDB. Vertika le ma nilo laipẹ ti wọn ba ṣe atilẹyin SQL deede. Gbadun!

Ilana ati adaṣe ti lilo ClickHouse ni awọn ohun elo gidi. Alexander Zaitsev (2018)

-O ṣeun fun iroyin na! Iyanu pupọ! Ṣe awọn afiwera eyikeyi wa pẹlu Apache Phoenix?

Rara, Emi ko tii gbọ ẹnikan ti o ṣe afiwe. A ati Yandex gbiyanju lati tọju gbogbo awọn afiwe ClickHouse pẹlu awọn apoti isura data oriṣiriṣi. Nitori ti o ba lojiji ohun kan wa ni iyara ju ClickHouse, lẹhinna Lesha Milovidov ko le sun ni alẹ ati bẹrẹ lati yara yara. Emi ko tii gbọ iru lafiwe bẹ.

  • (Aleksey Milovidov) Apache Phoenix jẹ ẹrọ SQL ti o ni agbara nipasẹ Hbase. Hbase jẹ nipataki fun oju iṣẹlẹ iṣẹ iye bọtini. Nibẹ, ni laini kọọkan, nọmba lainidii ti awọn ọwọn le wa pẹlu awọn orukọ lainidii. Eyi le sọ nipa awọn ọna ṣiṣe bii Hbase, Cassandra. Ati awọn ti o jẹ gbọgán eru analitikali ibeere ti yoo ko sise deede fun wọn. Tabi o le ro pe wọn ṣiṣẹ daradara ti o ko ba ni iriri eyikeyi pẹlu ClickHouse.

  • Спасибо

    • E kaasan Emi ni tẹlẹ oyimbo nife ninu yi koko, nitori ti mo ni ohun analitikali subsystem. Ṣugbọn nigbati Mo wo ClickHouse, Mo gba rilara pe ClickHouse dara dara julọ fun itupalẹ iṣẹlẹ, iyipada. Ati pe ti MO ba nilo lati ṣe itupalẹ ọpọlọpọ awọn data iṣowo pẹlu opo awọn tabili nla, lẹhinna ClickHouse, niwọn bi o ti ye mi, ko dara pupọ fun mi? Paapa ti wọn ba yipada. Ṣe eyi tọ tabi awọn apẹẹrẹ wa ti o le tako eyi?

    • Eyi jẹ ẹtọ. Ati pe eyi jẹ otitọ ti awọn apoti isura infomesonu amọja pataki julọ. Wọn ti wa ni sile fun o daju wipe o wa ni ọkan tabi diẹ ẹ sii ti o tobi tabili ti o wa ni iyipada, ati fun ọpọlọpọ awọn kekere ti o yi laiyara. Iyẹn ni, ClickHouse ko dabi Oracle, nibi ti o ti le fi ohun gbogbo si ki o kọ diẹ ninu awọn ibeere eka pupọ. Lati le lo ClickHouse ni imunadoko, o nilo lati kọ ero kan ni ọna ti o ṣiṣẹ daradara ni ClickHouse. Iyẹn ni, yago fun isọdi deede, lo awọn iwe-itumọ, gbiyanju lati ṣe awọn ọna asopọ gigun diẹ. Ati pe ti a ba kọ ero naa ni ọna yii, lẹhinna awọn iṣẹ-ṣiṣe iṣowo ti o jọra ni a le yanju lori ClickHouse daradara diẹ sii ju lori data ibatan ibatan ibile.

O ṣeun fun iroyin na! Mo ni ibeere kan nipa titun owo nla. Nwọn si ní atupale. O jẹ dandan lati ṣe afiwe bi wọn ṣe lọ soke ati isalẹ. Ati pe Mo loye pe o kọ eto naa ni pataki fun awọn atupale yii? Ti o ba jẹ ni ọla, fun apẹẹrẹ, wọn nilo ijabọ miiran lori data yii, ṣe wọn nilo lati tun kọ ero naa ki o gbe data naa bi? Iyẹn ni, lati ṣe iru ilana iṣaaju lati gba ibeere naa?

Nitoribẹẹ, eyi ni lilo ClickHouse fun iṣẹ-ṣiṣe kan pato. O le ṣe atunṣe ni aṣa diẹ sii laarin Hadoop. Fun Hadoop, eyi jẹ iṣẹ-ṣiṣe pipe. Ṣugbọn lori Hadoop o lọra pupọ. Ati pe ibi-afẹde mi ni lati ṣafihan pe ClickHouse le yanju awọn iṣẹ ṣiṣe ti o yanju nigbagbogbo nipasẹ awọn ọna oriṣiriṣi patapata, ṣugbọn ni akoko kanna ṣe daradara siwaju sii. Eyi jẹ apẹrẹ fun iṣẹ-ṣiṣe kan pato. O han gbangba pe ti iṣoro ba wa pẹlu nkan ti o jọra, lẹhinna o le yanju ni ọna kanna.

O la gan an ni. O sọ pe wakati 50 ni a ṣe ilana. Ṣe o jẹ lati ibẹrẹ, nigbawo ni o kojọpọ data tabi gba awọn abajade?

Bẹẹni Bẹẹni.

O dara o ṣeun pupọ.

Eyi wa lori iṣupọ olupin 3 kan.

Ẹ kí! O ṣeun fun iroyin na! Ohun gbogbo ti jẹ gidigidi awon. Emi kii yoo beere diẹ nipa iṣẹ ṣiṣe, ṣugbọn nipa lilo ClickHouse ni awọn ofin iduroṣinṣin. Iyẹn ni, ṣe o ni eyikeyi, ṣe o ni lati mu pada bi? Bawo ni ClickHouse ṣe huwa ninu ọran yii? Ati pe o ṣẹlẹ pe o ni ẹda kan bi? Fun apẹẹrẹ, a pade iṣoro kan pẹlu ClickHouse nigbati o tun jade ni opin rẹ ti o ṣubu.

Nitoribẹẹ, ko si awọn ọna ṣiṣe to dara julọ. Ati ClickHouse tun ni awọn iṣoro tirẹ. Ṣugbọn ṣe o ti gbọ nipa Yandex.Metrica ko ṣiṣẹ fun igba pipẹ? Boya beeko. O ti n ṣiṣẹ ni igbẹkẹle lati ọdun 2012-2013 lori ClickHouse. Mo le sọ kanna nipa iriri mi. A ko ni awọn ikuna pipe rara. Diẹ ninu awọn ohun apa kan le ṣẹlẹ, ṣugbọn wọn ko ṣe pataki rara lati kan iṣowo naa ni pataki. Ko ṣẹlẹ rara. ClickHouse jẹ igbẹkẹle pupọ ati pe ko jamba laileto. O ko ni lati ṣe aniyan nipa rẹ. Kii ṣe nkan aise. Eyi ti fihan nipasẹ ọpọlọpọ awọn ile-iṣẹ.

Pẹlẹ o! O sọ pe o nilo lati ronu lori ero data lẹsẹkẹsẹ. Ti o ba ṣẹlẹ? Mi data ti wa ni pouring ati pouring. Oṣu mẹfa kọja, ati pe Mo loye pe ko ṣee ṣe lati gbe bii eyi, Mo nilo lati tun gbe data naa ki o ṣe nkan pẹlu wọn.

Eyi da lori dajudaju lori eto rẹ. Awọn ọna pupọ lo wa lati ṣe eyi pẹlu fere ko si iduro. Fun apẹẹrẹ, o le ṣẹda Wiwo Ohun elo ninu eyiti o le ṣe eto data ti o yatọ ti o ba le ṣe ya aworan alailẹgbẹ. Iyẹn ni, ti o ba ngbanilaaye aworan agbaye nipa lilo ClickHouse, ie jade diẹ ninu awọn nkan, yi bọtini akọkọ pada, yi ipin pada, lẹhinna o le ṣe Wiwo Ohun elo. Kọ data atijọ rẹ sibẹ, awọn tuntun yoo kọ laifọwọyi. Ati lẹhinna kan yipada si lilo Wiwo Ohun elo, lẹhinna yi igbasilẹ pada ki o pa tabili atijọ. Eyi jẹ ọna ti kii ṣe iduro ni gbogbogbo.

O ṣeun.

orisun: www.habr.com

Fi ọrọìwòye kun