Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

I te mea he punaha motuhake a ClickHouse, i te wa e whakamahia ana he mea nui kia whai whakaaro ki nga ahuatanga o tana hoahoanga. I roto i tenei ripoata, ka korero a Alexey mo nga tauira o nga hapa noa i te wa e whakamahi ana i te ClickHouse, ka taea e te mahi kore mahi. Ko nga tauira mahi ka whakaatu me pehea e taea ai e te whiriwhiri i tetahi, tetahi atu kaupapa tukatuka raraunga te whakarereke i nga mahi ma nga ota nui.

Kia ora katoa! Ko Alexey toku ingoa, ka mahia e au te ClickHouse.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Tuatahi, ka tere ahau ki te pai ki a koe i tenei ra, i tenei ra e kore ahau e korero ki a koe he aha te ClickHouse. Ki te pono, kua ngenge ahau. I nga wa katoa ka korero ahau ki a koe he aha tena. A pea kua mohio te katoa.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Engari, ka korero atu ahau ki a koe he aha nga hapa ka taea, ara, me pehea e taea ai e koe te whakamahi i te ClickHouse i te he. Ko te mea pono, kaore he take ki te mataku, no te mea kei te whakawhanake tatou i te ClickHouse hei punaha ngawari, ngawari, me te mahi i waho o te pouaka. I whakauruhia e ahau, kaore he raru.

Engari me mahara tonu koe he mea motuhake tenei punaha a ka taea e koe te kite i tetahi keehi rerekee ka tangohia tenei punaha mai i tana rohe whakamarie.

Na, he aha te momo rake kei reira? Ko te nuinga ka korero ahau mo nga mea marama. Ka kitea nga mea katoa ki nga tangata katoa, ka mohio nga tangata katoa ki nga mea katoa, ka koa pea he tino mohio ratou, a ko te hunga kaore i te mohio ka ako i tetahi mea hou.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Ko te tauira tuatahi me te ngawari, he mea kino, he maha nga wa ka puta, he maha nga whakaurunga me nga waahanga iti, ara, he maha nga whakauru iti.

Mena ka whakaarohia e matou te mahi a ClickHouse ki te whakauru, ka taea e koe te tuku i te terabyte o nga raraunga i roto i te tono kotahi. Ehara i te raruraru.

A kia kite tatou he aha te mahi angamaheni. Hei tauira, kei a matou he ripanga mai i nga raraunga Yandex.Metrica. Patua. 105 etahi pou. 700 paita kare i kōpeke. A ka whakauruhia e matou i roto i te huarahi pai i roto i nga waahanga kotahi miriona rarangi.

Ka whakauruhia e matou a MergeTree ki roto i te teepu, ka puta he haurua miriona rarangi ia hekona. Nui. I roto i te ripanga tukurua ka iti ake, tata ki te 400 nga rarangi ia hekona.

A, ki te whakahohea e koe te whakaurunga o te koorama, ka iti ake te mahi, engari he pai tonu te mahi, 250 kupu mo ia hekona. Ko te whakaurunga o te koorama he waahanga kore i tuhia ki ClickHouse*.

* mai i te 2020, kua tuhia.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Ka aha mena ka mahi koe i tetahi mea kino? Ka kuhu tatou i tetahi rarangi ki te ripanga MergeTree ka whiwhi 59 rarangi mo ia hekona. He 10 nga wa puhoi ake. I roto i te ReplicatedMergeTree - 000 nga rarangi mo ia hekona. A, ki te kaina te koorama, ka puta kia 6 nga rarangi mo ia hekona. Ki taku nei whakaaro, he ahua kino tenei. Me pehea e taea ai e koe te puhoi penei? Kua tuhia ano e ahau ki runga i taku T-hate kia kaua a ClickHouse e whakaroa. Engari ahakoa ka tupu i etahi wa.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Inaa, koinei to tatou ngoikoretanga. Ka taea e maatau te mahi pai nga mea katoa, engari kaore i mahia. A kaore matou i mahi na te mea kaore i hiahiatia e taatau tuhinga. I a matou he patu. Katahi ano ka tae mai nga roopu ki to matou tomokanga, kaore he raru. Ka whakauruhia e matou ka pai nga mea katoa. Engari, ko te tikanga, ka taea nga ahuatanga katoa. Hei tauira, i a koe he paihere o nga kaitoro kei runga i nga raraunga ka hangaia. A kaore i te whakauru i nga raraunga i nga wa katoa, engari ka mutu tonu me nga whakaurunga auau. A me karo tatou i tenei.

Mai i te tirohanga hangarau, ko te tohu ka mahia e koe he whakauru ki ClickHouse, kaore nga raraunga e mutu ki tetahi memtable. Karekau he tino hanga rakau MergeTree, engari he MergeTree noa, na te mea karekau he pororakau, he MemTable ranei. Ka tuhi tonu matou i nga raraunga ki te punaha konae, kua oti te whakarite ki nga pou. Mena he 100 nga pou kei a koe, neke atu i te 200 nga konae me tuhi ki tetahi raarangi motuhake. He tino uaua tenei katoa.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Na ka puta ake te patai: "Me pehea te mahi tika?" Mena he penei te ahuatanga ka hiahia tonu koe ki te tuhi i nga raraunga ki ClickHouse.

Tikanga 1. Koinei te huarahi ngawari. Whakamahia etahi momo rarangi tohatoha. Hei tauira, Kafka. Ka tango noa koe i nga raraunga mai i Kafka ka kohia kotahi te rua. A ka pai nga mea katoa, ka tuhi koe, ka pai nga mea katoa.

Ko nga ngoikoretanga ko te Kafka tetahi atu punaha tohatoha nui. Kei te mohio ano ahau mena kei a koe a Kafka i to kamupene. He pai, he watea. Engari ki te kore e noho, me whakaaro kia toru nga wa i mua i te toia ano tetahi atu punaha toha ki to kaupapa. Na he pai ki te whakaaro ki etahi atu.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Tikanga 2. He momo kura tawhito tenei me te wa ano he tino ngawari. Kei a koe etahi momo tūmau e whakaputa ana i o raarangi. A ka tuhi noa i o raarangi ki tetahi konae. A kotahi te tuarua, hei tauira, ka whakaingoatia ano tenei konae ka haea he mea hou. A ko tetahi tuhinga motuhake, ma te cron, ma etahi daemon ranei, ka tango i te konae tawhito ka tuhia ki ClickHouse. Mena ka tuhi koe i nga raarangi kotahi i te rua, ka pai nga mea katoa.

Engari ko te kino o tenei tikanga ko te mea ka ngaro atu to kaimau i runga i te hanga i nga raarangi ki tetahi waahi, ka ngaro ano nga raraunga.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Tikanga 3. Ko tetahi atu tikanga whakamere, kaore e hiahiatia he konae mo te wa poto. Hei tauira, kei a koe etahi momo panui panui, etahi atu daemon whakamere ranei e whakaputa raraunga ana. A ka taea e koe te whakaemi i te paihere o nga raraunga tika i roto i te RAM, i roto i te parepare. A, ka pau te wa, ka waiho e koe tenei parepare ki te taha, hangaia he mea hou, a ki roto i te miro motuhake, whakauruhia nga mea kua kohia ki ClickHouse.

I tetahi atu taha, ka ngaro ano nga raraunga me te patu -9. Mena ka pakaru to tūmau, ka ngaro koe i enei raraunga. A ko tetahi atu raruraru, ki te kore e taea e koe te tuhi ki te paataka raraunga, ka kohia to raraunga ki roto i te RAM. A ka pau te RAM, ka ngaro noa nga raraunga.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Tikanga 4. Ko tetahi atu tikanga whakamere. Kei a koe etahi momo tukanga tūmau. A ka taea e ia te tuku raraunga ki ClickHouse tonu, engari me mahi i roto i te hononga kotahi. Hei tauira, i tukuna e ahau he tono http me te whakawhiti-whakawaehere: kua pakaruhia me te whakauru. A, he iti rawa te whakaputa, ka taea e koe te tuku ia raina, ahakoa ka nui ake te utu mo te hanga i enei raraunga.

Heoi, i tenei keehi ka tukuna nga raraunga ki a ClickHouse tonu. A ma te ClickHouse e aukati i a raatau ano.

Engari ka ara ake ano nga raruraru. Inaianei ka ngaro koe i nga raraunga, tae atu ki te wa e mate ai to tukanga me te mate te tukanga ClickHouse, no te mea he whakauru kore. A i roto i te ClickHouse whakaurunga he ngota tae noa ki tetahi paepae kua tohua i te rahi o nga rarangi. Ko te tikanga, he huarahi whakamere tenei. Ka taea hoki te whakamahi.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Tikanga 5. Tenei ano tetahi tikanga whakamere. Koinei etahi momo tūmau i whakawhanakehia e te hapori mo te kohinga raraunga. Kaore au i titiro ki a au ano, no reira kaore au e kaha ki te kii i tetahi mea. Heoi, kaore he taurangi e whakaratohia ana mo ClickHouse ake. He puna tuwhera ano tenei, engari i tera taha, ka whakamahia pea koe ki etahi paerewa kounga e ngana ana matou ki te whakarato. Engari mo tenei mea - kaore au e mohio, haere ki GitHub, tirohia te waehere. Tena pea i tuhia e ratou tetahi mea noa.

* mai i te 2020, me taapiri ano ki te whakaaro Whare Kitten.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Tikanga 6. Ko tetahi atu tikanga ko te whakamahi i nga ripanga Buffer. Ko te painga o tenei tikanga he tino ngawari ki te timata ki te whakamahi. Waihangahia he ripanga Buffer ka kuhu ki roto.

Ko te kino ko te raruraru kaore i tino whakatauhia. Mena, i roto i te reiti penei i a MergeTree, me whakarōpū raraunga koe ma te puranga kotahi mo ia hekona, na, i roto i te reiti i roto i te ripanga papaa, me whakarōpū koe ki runga ki te maha mano mo ia hēkona. Mena ka neke ake i te 10 ia hekona, ka kino tonu. A, ki te whakauruhia e koe ki roto i nga roopu, ka kite koe he kotahi rau mano nga rarangi mo ia hekona. Na tenei kei runga i nga raraunga tino taumaha.

Karekau hoki he pororakau o nga teepu buffer. A, ki te he tetahi mea ki to tūmau, ka ngaro nga raraunga.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

A hei bonus, no tata nei ka whai waahi matou ki ClickHouse ki te tiki raraunga mai i Kafka. He miihini tepu - Kafka. Hanga noa koe. A ka taea e koe te whakairi i nga whakaaturanga whakakitenga ki runga. I tenei keehi, ka tangohia e ia nga raraunga mai i Kafka ka whakauruhia ki roto i nga ripanga e hiahia ana koe.

A ko te mea tino pai mo tenei whai waahi ko te mea ehara na matou i mahi. He ahuatanga hapori tenei. A, ka kii ahau "ahuatanga hapori," ko taku tikanga kaore he whakahawea. I panuihia e matou te waehere, i arotakehia, me pai te mahi.

* mai i te tau 2020, kua puta te tautoko rite mo RabbitMQ.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

He aha atu pea ka raru, karekau ranei ina whakauru raraunga? Mena ka mahia e koe he tono uara whakauru me te tuhi i etahi korero tatau i roto i nga uara. Hei tauira, inaianei() he korero tatau. A, i tenei keehi, ka akiakihia a ClickHouse ki te whakarewa i te kaiwhakamaori o enei korero ki ia raina, ka heke nga mahi i runga i nga ota o te nui. He pai ake te karo i tenei.

* i tenei wa, kua tino whakatauhia te raru, kua kore he whakahekenga mahi i te wa e whakamahi ana i nga korero i roto i te VALUES.

Ko tetahi atu tauira ko te wa ka raru pea ka whai raraunga koe i runga i te puranga kotahi no te roopu wehewehe. Ma te taunoa, ko nga waahanga ClickHouse i te marama. A, ki te whakauru koe i te puranga o te miriona rarangi, a he raraunga mo etahi tau, katahi ka maha nga waahanga wehewehenga kei reira. A he rite tenei ki te meka ka maha nga waahanga ka iti ake te rahi, na te mea kei roto ka wehea tuatahi ki nga waahanga.

* I tata nei, i roto i te aratau whakamatautau, i tapirihia e ClickHouse te tautoko mo te whakatakotoranga kiato o nga kongakonga me nga waahanga i roto i te RAM me te tuhi-i mua i te raarangi, e tata ana te whakaoti rapanga.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Inaianei me titiro ki te momo raru tuarua - te tuhi raraunga.

Ko te tuhi raraunga ka taea te kaha, te aho ranei. Ko te aho te wa i tangohia e koe ka kii he momo aho katoa o mara. He kino tenei. Kaore he take ki te mahi i tenei.

Me whakaaro me pehea te mahi tika i roto i aua keehi ka hiahia koe ki te kii kei a matou etahi mara, he aho, a ma ClickHouse tonu e whakaaro, kaore au e raru. Engari he pai tonu te whakapau kaha.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Hei tauira, kei a matou he wahitau IP. I tetahi take, i tiakina e matou hei aho. Hei tauira, 192.168.1.1. A i tetahi atu keehi, he momo momo UInt32*. 32 bits he ranea mo te wahitau IPv4.

Tuatahi, he mea rerekee, ka kopirihia nga raraunga kia rite tonu. Ka puta he rereketanga, engari kaore i te nui. Na karekau he raruraru motuhake mo te kōpae I/O.

Engari he rereke te rereketanga o te wa tukatuka me te wa mahi uiui.

Kia tatauhia te maha o nga wahitau IP ahurei mena ka penapenahia hei tau. Ka puta ki te 137 miriona nga raina mo ia hekona. Mena he rite te ahua o nga aho, ka 37 miriona nga rarangi mo ia hekona. Kare au i te mohio he aha te take i puta ai tenei tupono. Naku ano enei tono i whakatutuki. Engari kei te 4 nga wa poto ake.

A, ki te tatau koe i te rereketanga o te mokowā kōpae, he rereke ano. A ko te rereketanga ko te kotahi hauwhā, na te mea he maha nga wahitau IP ahurei. A, ki te mea he rarangi he iti noa nga tikanga rereke, katahi ka ngawari te kopaki kia rite ki te papakupu kia rite tonu te rahi.

A ko te rereketanga o nga wa e wha e kore e takoto ki te huarahi. Tena pea kare koe e aro, engari ka kite au i taua rereketanga, ka pouri ahau.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Kia titiro tatou ki nga keehi rereke.

1. Kotahi te keehi ina he iti noa nga uara ahurei. I tenei keehi, ka whakamahia e matou he mahi ngawari ka mohio pea koe ka taea e koe te whakamahi mo tetahi DBMS. Ko tenei katoa ka whai tikanga ehara mo te ClickHouse anake. Tuhia noa nga tautohu tau ki roto i te papaunga raraunga. A ka taea e koe te huri ki nga aho me te hoki ki te taha o to tono.

Hei tauira, he rohe kei a koe. A kei te ngana koe ki te penapena hei aho. A ka tuhia ki reira: Moscow me Moscow Region. A, ka kite ahau e kii ana "Moscow", kaore he mea, engari i te wa ko Moscow, ka tino pouri. Koinei te maha o nga paita.

Engari, ka tuhia noa e matou te nama Ulnt32 me te 250. Kei a matou te 250 i Yandex, engari he rereke pea taau. I roto i te take, ka kii ahau kei a ClickHouse te kaha ki te mahi me te geobase. Ka tuhi noa koe i tetahi raarangi me nga rohe, tae atu ki tetahi raarangi, ara, kei reira a Moscow, Moscow Region, me nga mea katoa e hiahia ana koe. A ka taea e koe te huri i te taumata tono.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Ko te waahanga tuarua he rite tonu, engari me te tautoko i roto i te ClickHouse. Koinei te momo raraunga Enum. Ka tuhi noa koe i nga uara katoa e hiahia ana koe ki roto i te Enum. Hei tauira, momo taputapu me te tuhi ki reira: papamahi, pūkoro, papa, TV. E 4 nga whiringa katoa.

Ko te kino ko te mea me whakarereke e koe i ia wa. Kotahi noa te whiringa taapiri. Me huri te tepu. Inaa, he kore utu te tepu whakarereke i ClickHouse. Ina koa he kore utu mo Enum na te mea kaore e rereke nga raraunga i runga i te kōpae. Engari ahakoa, ka whiwhi a alter i te raka* i runga i te teepu me tatari kia mahia nga whiringa katoa. A muri noa iho ka mahia tenei whakarereketanga, ara, tera ano etahi raruraru.

* i roto i nga putanga hou o ClickHouse, ko te ALTER kua kore e aukati.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Ko tetahi atu whiringa he tino ahurei mo ClickHouse ko te hono papakupu o waho. Ka taea e koe te tuhi tau ki ClickHouse, me te pupuri i o raarangi whaiaronga ki tetahi punaha e watea ana mo koe. Hei tauira, ka taea e koe te whakamahi: MySQL, Mongo, Postgres. Ka taea e koe te hanga i a koe ake microservice ka tukuna enei raraunga ma te http. A, i te taumata ClickHouse, ka tuhi koe i tetahi mahi ka huri i enei raraunga mai i nga tau ki nga aho.

He huarahi motuhake engari tino pai tenei ki te mahi hono ki runga tepu o waho. A e rua nga whiringa. I roto i te ahua kotahi, ka tino keteroki enei raraunga, kei roto i te RAM me te whakahou me etahi waa. A, i tetahi atu whiringa, mena kaore enei raraunga e uru ki roto i te RAM, katahi ka taea e koe te keteroki i tetahi waahanga.

Anei he tauira. He Yandex.Direct. A he kamupene panui me nga kara. He tekau miriona pea nga kamupene panui. Na ka uru ratou ki roto i te RAM. A he piriona nga kara, kaore i te pai. A ka whakamahia e matou he papakupu keteroki mai i MySQL.

Ko te raru anake ka mahi pai te papakupu keteroki ki te tata ki te 100%. Mena he iti ake, na i te wa e tukatuka ana i nga patai mo ia puranga o nga raraunga, me tango e koe nga kii ngaro ka haere ki te tiki raraunga mai i MySQL. Mo te ClickHouse, ka taea tonu e au te kii - ae, kaore e puhoi, kaore au e korero mo etahi atu punaha.

A hei bonus, he tino ngawari nga papakupu ki te whakahou i nga raraunga ki ClickHouse. Arā, i a koe he purongo mo nga kamupene panui, i whakarereke noa te kaiwhakamahi i te kamupene panui me nga raraunga tawhito katoa, i roto i nga purongo katoa, i rereke ano enei korero. Mena ka tuhi tika koe i nga rarangi ki te ripanga, kaore e taea te whakahou.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Ko tetahi atu huarahi karekau koe e mohio ki hea hei tiki i nga tohu tohu mo o aho. ka taea e koe te tuhi noa. I tua atu, ko te waahanga ngawari ko te tango i te 64-bit hash.

Ko te raru anake mena he 64-bit te hash, katahi ka tino tukinga koe. Na te mea mena he piriona nga raina kei reira, katahi ka kitea te tupono.

A ehara i te mea tino pai ki te whakahua i nga ingoa o nga kamupene panui penei. Mena ka whakakotahihia nga kaupapa panui o nga kamupene rereke, katahi ka puta he mea e kore e maarama.

Na he tinihanga ngawari. He pono, kaore ano i te tino pai mo nga raraunga nui, engari ki te kore e tino taumaha tetahi mea, katahi ka taapirihia te tohu tohu kaihoko ki te kii papakupu. Na ka whai tukinga koe, engari i roto i te kiritaki kotahi anake. Na ka whakamahia e matou tenei tikanga mo nga mahere hono i Yandex.Metrica. Kei a matou nga URL kei reira, kei te rongoa matou i nga tohu. A, e mohio ana tatou, ko te tikanga, he tukinga. Engari i te wa e whakaatuhia ana te wharangi, ko te tupono kei runga i te wharangi kotahi o te kaiwhakamahi ka piri tahi etahi URL ka kitea tenei ka warewarehia.

Hei painga, mo te maha o nga mahi, he nui noa iho nga hashes me nga aho kaore e tika kia penapena ki hea.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Ko tetahi atu tauira mena he poto nga aho, hei tauira, nga waahi paetukutuku. Ka taea te penapena kia rite tonu. Hei tauira ranei, ko te ru reo kaitirotiro he 2 paita. Ko te tikanga, ka tino pouri ahau mo nga paita, engari kaua e manukanuka, ko nga paita 2 ehara i te mea pouri. Tena koa kia mau tonu, kaua e awangawanga.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Ko tetahi atu keehi ko te waa, he rereke, he maha nga raina me te maha o nga mea ahurei kei roto, a ko te huinga he kore mutunga. He tauira angamaheni ko nga kianga rapu, URL ranei. Rapu kīanga, tae atu ki te patopato. Kia kite tatou e hia nga kupu rapu ahurei kei ia ra. Na ka puta mai he tata ki te haurua o nga huihuinga katoa. A, i tenei keehi, ka whakaaro pea koe me whakatikatika nga raraunga, tatauhia nga kaitautohu, ka tuu ki tetahi ripanga motuhake. Engari kaore koe e hiahia ki te mahi i tera. Kia mau tonu enei rarangi kia rite tonu.

He pai ake kia kaua e hangai i tetahi mea, na te mea ki te penapena motuhake koe, me whakauru koe. A ko tenei whakaurunga, ko te mea pai rawa atu, he urunga matapōkere ki te mahara, mena ka mau tonu ki te mahara. Ki te kore e pai, ka puta he raruraru.

A, ki te penapena nga raraunga ki te waahi, ka panui noa i roto i te raupapa e hiahiatia ana mai i te punaha konae ka pai nga mea katoa.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Mena kei a koe etahi URL, etahi atu aho roa uaua ranei, he pai ki te whakaaro ka taea e koe te tatau i etahi momo tangohanga i mua atu ka tuhia ki tetahi pou motuhake.

Mo nga URL, hei tauira, ka taea e koe te penapena motuhake i te rohe. A, ki te tino hiahia koe ki tetahi rohe, me whakamahi noa i tenei pou, ka takoto nga URL ki reira, kaore koe e pa ki a raatau.

Kia kite tatou he aha te rereketanga. He mahi motuhake a ClickHouse e tatau ana i te rohe. He tino tere, kua whakatikahia e matou. A, ki te pono, kaore i te rite ki te RFC, engari ka whakaarohia nga mea katoa e hiahiatia ana e matou.

A, i tetahi keehi ka whiwhi noa tatou i nga URL me te tatau i te rohe. Ka eke tera ki te 166 milihakona. A, ki te tango koe i tetahi rohe kua rite, ka puta ko te 67 milliseconds anake, ara, tata ki te toru nga wa tere ake. A he tere ake ehara i te mea me mahi etahi tatauranga, engari na te mea he iti ake te korero.

Koia te take kotahi te tono, he puhoi ake, he nui ake te tere o te gigabytes mo ia hekona. Na te mea he nui ake nga gigabytes. He raraunga tino kore rawa tenei. Ko te ahua o te tono ka tere ake, engari he roa ake te whakaoti.

A, ki te titiro koe ki te nui o nga raraunga i runga i te kōpae, ka puta ko te URL he 126 megabytes, ko te rohe he 5 megabytes anake. Ka 25 nga wa iti ake. Engari ahakoa, ka mahia te tono e 4 nga wa tere ake. Engari na te mea he wera nga raraunga. Mena he makariri, ka 25 pea te tere ake na te kōpae I/O.

I te ara, ki te whakatauhia e koe he iti ake te iti o te rohe i te URL, ka puta ake he iti ake te 4. Engari mo etahi take, ka 25 nga wa iti ake te raraunga i runga i te kōpae. He aha? Nā te kōpeketanga. Na ka kopirihia te URL, ka kopirihia te rohe. Engari he maha nga wa kei roto i te URL he paihere para.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Ae, he utu ki te whakamahi i nga momo raraunga tika i hangaia mo nga uara e hiahiatia ana, e tika ana ranei. Mena kei roto koe i te IPv4, ka penapena UInt32*. Mēnā IPv6, kātahi ko FixedString(16), nā te mea he 6 paraka te wāhitau IPv128, arā, ka penapena tika ki te whakatakotoranga ā-rua.

Engari he aha mena kei a koe etahi wahitau IPv4 me etahi wa IPv6? Ae, ka taea e koe te penapena i nga mea e rua. Kotahi te pou mo IPv4, tetahi mo IPv6. Ko te tikanga, he whiringa hei whakaatu i te IPv4 ki IPv6. Ka mahi ano tenei, engari mena ka hiahia koe ki tetahi wahitau IPv4 i roto i nga tono, katahi ka pai ki te whakauru ki roto i tetahi pou motuhake.

* Kei a ClickHouse inaianei nga momo raraunga IPv4, IPv6 e penapena raraunga rite tonu ki nga tau, engari e tohu ana i a raatau ano he aho.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

He mea nui ano hoki kia mohio koe he pai te tukatuka i nga raraunga i mua. Hei tauira, ka whiwhi koe i etahi poroporo mata. A kaore pea koe e tuku noa ki a ClickHouse i tenei wa, ahakoa he tino whakamatautau ki te mahi i tetahi mea ka mahi nga mea katoa. Engari he pai tonu te kawe i nga tatauranga ka taea.

Hei tauira, putanga pūtirotiro. I roto i etahi tari tata, kaore au e pai ki te tohu i tetahi maihao, kei te rongoa te putanga tirotiro penei, ara, hei aho: 12.3. Na, ki te hanga purongo, ka mauhia e ratou tenei aho, ka wehewehea ki roto i te huānga, katahi ki te huānga tuatahi o te huinga. Ko te tikanga, ka puhoi nga mea katoa. I patai ahau he aha ratou i penei ai. I kii mai ratou ki ahau kaore ratou e pai ki te arotautanga o mua. A kaore au e pai ki te pessimization o mua.

Na i tenei keehi ka pai ake te wehewehe kia 4 nga pou. Kaua e mataku i konei, na te mea ko ClickHouse tenei. Ko te ClickHouse he papaa raraunga poupou. A, ko te pai ake o nga pou iti, ko te pai ake. E 5 nga Putanga Pūtirotiro, hanga kia 5 nga pou. He pai tenei.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Inaianei me titiro tatou ki te mahi mena he maha nga aho tino roa, he roa rawa nga rarangi. Karekau e tika kia penapena ki ClickHouse rawa. Engari, ka taea e koe te penapena i tetahi tohu tohu ki ClickHouse. A tuu i enei rarangi roa ki etahi atu punaha.

Hei tauira, kei tetahi o a maatau ratonga tātaritanga etahi tawhā takahanga. Mena he maha nga tawhā mo nga huihuinga, ka tiakina noa e matou te 512 tuatahi ka puta. No te mea ehara te 512 i te pouri.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

A, ki te kore e taea e koe te whakatau i o momo raraunga, ka taea hoki e koe te tuhi raraunga ki ClickHouse, engari i roto i te ripanga rangitahi o te momo Rangitaki, motuhake mo nga raraunga rangitahi. I muri i tenei, ka taea e koe te tātari he aha te tohatoha o nga uara kei a koe, he aha kei reira i te nuinga, me te hanga i nga momo tika.

*Kei a ClickHouse he momo raraunga inaianei Te Cardinality iti e taea ai e koe te penapena aho kia pai me te iti o te kaha.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Inaianei ka titiro tatou ki tetahi atu keehi whakamere. I etahi wa ka rereke nga mahi mo te tangata. Ka haere mai ahau ka kite i tenei. Na te ahua nei i mahia e etahi tino mohio, he kaiwhakahaere mohio, he mohio nui ki te whakatuu MySQL putanga 3.23.

I konei ka kite tatou i te mano nga ripanga, kei ia pukapuka te toenga o te wehewehe ko wai ka mohio he aha ma te mano.

I roto i te kaupapa, ka whakaute ahau i nga wheako o etahi atu, tae atu ki te mohio ki nga mamae ka taea e tenei wheako.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

A he nui ake, he iti ake ranei nga take. He ahua tawhito enei kua kohia pea i te wa e mahi tahi ana me etahi atu punaha. Hei tauira, ko nga ripanga MyISAM karekau he matua matua rapoi. A ko tenei huarahi wehewehe raraunga he tino ngana ki te whiwhi i taua mahi.

Ko tetahi atu take he uaua ki te mahi whakarereke i runga i nga tepu nui. Ka aukatia nga mea katoa. Ahakoa i roto i nga putanga hou o MySQL kua kore e tino nui tenei raru.

Ranei, hei tauira, microsharding, engari ka nui ake i tera i muri mai.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Kaore he hiahia ki te mahi i tenei i roto i te ClickHouse, no te mea, ko te tuatahi, ko te matua matua kua whakahiatohia, ko nga raraunga ka whakahaua e te matua matua.

I etahi wa ka patai mai nga tangata ki a au: "Me pehea te rereke o te mahi o nga patai awhe i ClickHouse i runga i te rahi o te teepu?" Ko taku kii karekau rawa e huri. Hei tauira, he ripanga kei a koe me te piriona rarangi ka panui koe i te whānuitanga o te kotahi miriona rarangi. He pai nga mea katoa. Mena he piriona nga rarangi kei roto i te tepu ka panui koe i te kotahi miriona rarangi, ka rite tonu.

A, tuarua, ko nga momo mea katoa penei i te wehewehe a-ringa kaore e hiahiatia. Mena ka uru koe ki roto ka titiro ki nga mea kei runga i te punaha konae, ka kite koe he mahi tino nui te tepu. A he mea ano he wehewehenga kei roto. Koinei, ka mahia e ClickHouse nga mea katoa mo koe, kaore koe e mamae.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Ko te whakarereke i ClickHouse he kore utu ki te whakarereke i te taapiri / whakahekehia te pou.

A kaua e hanga tepu iti, na te mea he 10 rarangi, 10 rarangi ranei kei roto i te tepu, kare he mea nui. Ko te ClickHouse he punaha e arotau ana i te whakaputanga, ehara i te tohe, na reira kaore he tikanga ki te tukatuka i nga raina 000.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

He tika te whakamahi i tetahi tepu nui. Peia atu nga tikanga tawhito, ka pai nga mea katoa.

A hei bonus, i roto i te putanga hou kei a maatau te kaha ki te hanga i tetahi taviri wehewehe kia taea ai te whakahaere i nga momo mahi tiaki katoa i runga i nga wehewehenga takitahi.

Hei tauira, he maha nga ripanga iti e hiahia ana koe, hei tauira, ina he hiahia ki te tukatuka i etahi raraunga takawaenga, ka whiwhi koe i nga kongakonga ka hiahia koe ki te whakarereke i aua mea i mua i te tuhi ki te ripanga whakamutunga. Mo tenei keehi, he miihini tepu whakamiharo - StripeLog. He rite ki a TinyLog, he pai ake.

* inaianei kei a ClickHouse ano tāuru mahi ripanga.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Ko tetahi atu tauira ko te microsharding. Hei tauira, me tiritiri i nga raraunga ka 5 nga kaitoro, apopo ka 6 nga kaitoro. A ka whakaaro koe me pehea te whakahoki ano i enei raraunga. A, kaua e pakaru ki te 5 maramara, engari ki te 1 maramara. Na ka mahere koe ia o enei microshards ki tetahi tūmau motuhake. A ka whiwhi koe, hei tauira, 000 ClickHouses i runga i te tūmau kotahi, hei tauira. Whakawehea i runga i nga tauranga motuhake, i nga papaa raraunga motuhake ranei.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Engari kaore tenei i te tino pai i ClickHouse. No te mea ko tetahi tauira ClickHouse e ngana ana ki te whakamahi i nga rauemi tūmau katoa e waatea ana ki te tukatuka i tetahi tono. Arā, he momo tūmau kei a koe, hei tauira, 56 ngā pūtukatuka. Kei te whakahaere koe i tetahi patai ka pau te kotahi hēkona, ka 56 nga puku. A, ki te whakanohoia e koe 200 ClickHouses ki reira i runga i te tūmau kotahi, ka puta mai ka timata te 10 miro. I te nuinga, ka tino kino nga mea katoa.

Ko tetahi atu take ka kore e rite te tohatoha o nga mahi puta noa i enei waa. Ko etahi ka mutu i mua, ko etahi ka mutu i muri mai. Mena ka pa katoa enei mea i te wa kotahi, katahi ka mohio a ClickHouse me pehea te tohatoha tika i nga raraunga ki waenga i nga miro.

A ko tetahi atu take ka whai koe i te whakawhitiwhiti whakawhiti ma te TCP. Ko nga raraunga me whakahiatohia, kia whakakorehia, he maha nga microshards tenei. Ka kore noa e mahi pai.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Ko tetahi atu tauira tauira, ahakoa kaore e taea te kiia he antitauira. He nui tenei o te whakahiato i mua.

I te nuinga, he pai te whakahiato i mua. He piriona nga rarangi i a koe, i whakahiatohia e koe ka 1 nga rarangi, inaianei ka mahia tonutia te patai. He rawe nga mea katoa. Ka taea e koe tenei. Na mo tenei, ahakoa ClickHouse he momo ripanga motuhake, AggregatingMergeTree, e mahi ana i te whakahiatotanga i te wa e whakauruhia ana nga raraunga.

Engari he wa ka whakaaro koe ka whakahiatohia e matou nga raraunga penei me te whakahiato raraunga penei. A, i etahi tari tata, kaore au e pai ki te kii ko tehea, ka whakamahia e ratou nga ripanga SummingMergeTree hei whakarāpopoto mā te kī matua, ā, e 20 pea ngā tīwae e whakamahia ana hei kī matua. Ko te take, i hurihia e ahau nga ingoa o etahi pou mo te muna, engari he tino pai tena.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

A ka ara ake enei raruraru. Tuatahi, kaore e tino heke te rahinga o to raraunga. Hei tauira, ka heke e toru nga wa. E toru nga wa he utu pai ki te utu i nga kaha tātaritanga mutunga kore ka puta ki te kore e whakahiatohia o raraunga. Mena ka whakahiatohia nga raraunga, katahi ka whiwhi koe i nga tatauranga pouri noa iho.

A he aha te mea motuhake mo tena? Ko te mea ko enei tangata o te tari tata i etahi wa ka tono ki te taapiri i tetahi atu pou ki te matua matua. Arā, i whakahiatohia e matou nga raraunga penei, engari inaianei ka hiahia matou kia iti ake. Engari karekau a ClickHouse he tohu matua whakarereke. Na reira, me tuhi etahi tuhinga ki te C++. A kaore au e pai ki nga tuhinga, ahakoa kei roto i te C++.

A, ki te titiro koe ki te aha i hangaia ai a ClickHouse, ko nga raraunga kore-whakahiato he rite tonu te ahuatanga i whanau ai. Mena kei te whakamahi koe i te ClickHouse mo nga raraunga kore-whakahiato, kei te mahi tika koe. Mena ka whakahiatohia e koe, i etahi wa ka murua tenei.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Ko tetahi atu take whakamere ko nga patai i roto i te kohanga mutunga kore. I etahi wa ka haere ahau ki etahi tuunga whakangao me te titiro ki te raarangi mahi whakaatu i reira. A i nga wa katoa ka kitea e au kei te tupu tetahi mea kino.

Hei tauira, penei. Ka marama tonu ka taea nga mea katoa i roto i te tono kotahi. Tuhia noa te url me te rarangi ki reira.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

He aha te tini o nga patai penei i roto i te roopu mutunga kore he kino? Ki te kore e whakamahia he taurangi, he maha nga paahitanga i runga i nga raraunga kotahi. Engari ki te whakamahia te taurangi, hei tauira, kei a koe te matua matua mo te ru me te tuhi url = tetahi mea ki reira. A ka whakaaro koe mena ka panuihia te URL kotahi mai i te tepu, ka pai nga mea katoa. Engari karekau. Na te mea ka mahia e ClickHouse nga mea katoa i roto i nga roopu.

I te wa e hiahia ana ia ki te panui i etahi momo raraunga, ka panuihia e ia he iti ake, na te mea he iti noa te taurangi i ClickHouse. Kaore tenei taurangi e whakaae kia kitea e koe tetahi rarangi takitahi i te ripanga, he awhe noa iho. Na ka kopirihia nga raraunga ki nga poraka. Hei panui i tetahi rarangi, me tango e koe te poraka katoa ka wetekina. A, ki te mahi koe i te tini o nga patai, ka nui te inaki, ka nui nga mahi hei mahi ano.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

A hei bonus, ka taea e koe te tuhi i roto i te ClickHouse kaua koe e mataku ki te whakawhiti ahakoa megabytes me nga rau megabytes ki te waahanga IN. Kei te maumahara ahau mai i a maatau mahi mena ka whakawhitihia e matou he paihere o nga uara i MySQL ki te waahanga IN, hei tauira, ka whakawhitihia e matou te 100 megabytes o etahi tau ki reira, ka kai a MySQL i te 10 gigabytes o te mahara kaore he mea ke atu, nga mea katoa. mahi kino.

A ko te tuarua ko te ClickHouse, mena ka whakamahia e o patai he taurangi, kare he puhoi ake i te karapa katoa, ara, ki te hiahia koe ki te panui tata ki te katoa o te teepu, ka haere raupapa ka panui i te ripanga katoa. I te nuinga o te waa, ka whakatauhia e ia ake.

Engari ahakoa he uaua etahi. Hei tauira, ko te mea ko te IN me te patai kaore e whakamahi i te taurangi. Engari koinei to tatou raruraru me whakatika. Kaore he mea taketake i konei. Ma matou e whakatika*.

A ko tetahi atu mea whakamere ko te mea he roa rawa to tono me te tukatuka tono tohatoha kei te haere tonu, katahi ka tukuna tenei tono roa ki ia kaimau me te kore e pupuhi. Hei tauira, 100 megabytes me te 500 tūmau. A, no reira, ka 50 kikipaita koe e whakawhiti ana i runga i te whatunga. Ka tukuna, katahi ka oti pai nga mea katoa.

* kua whakamahi kē; I whakaritea nga mea katoa i oatitia.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

A ko te keehi tino noa ka puta mai nga tono mai i te API. Hei tauira, i hanga e koe etahi momo o taau ake ratonga. A, ki te hiahia tetahi ki to ratonga, ka whakatuwhera koe i te API ka rua nga ra i muri mai ka kite koe kei te tupu tetahi mea e kore e maarama. Kua taumaha katoa nga mea katoa ka tae mai etahi tono whakamataku e kore e tika kia tupu.

Na kotahi anake te otinga. Mena kua whakatuwherahia e koe te API, me tapahi koe. Hei tauira, whakaurua etahi momo motunga. Karekau he whiringa noa. Ki te kore, ka tuhia e ratou he tuhinga ka puta he raruraru.

Na ClickHouse he waahanga motuhake - te tatauranga motunga. I tua atu, ka taea e koe te whakawhiti i to kii motunga. Koinei, hei tauira, te ID kaiwhakamahi o roto. A ka tatau takitahi nga motunga mo ia o ratou.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Inaianei tetahi atu mea whakamere. He tukurua-a-ringa tenei.

E mohio ana ahau ki te maha o nga keehi, ahakoa he tautoko taapiri a ClickHouse, ka taraihia e te tangata a ClickHouse.

He aha te kaupapa? He paipa tukatuka raraunga kei a koe. A ka mahi takitahi, hei tauira, i nga pokapū raraunga rereke. Ka tuhia e koe nga raraunga ano i te huarahi ano i ClickHouse. Pono, e whakaatu ana nga mahi ka rereke tonu nga raraunga na etahi ahuatanga o to waehere. Ko taku tumanako kei roto i a koe.

A, i ia wa, me tukutahi a ringa koe. Hei tauira, kotahi te marama ka mahi nga kaiwhakahaere i te rsync.

Inaa, he maamaa ake te whakamahi i te tukurua i hangaia ki ClickHouse. Engari tera pea etahi contraindications, na te mea me whakamahi koe i te ZooKeeper. Kaore au e kii i tetahi mea kino mo ZooKeeper, i roto i te kaupapa, ka mahi te punaha, engari ka puta kaore e whakamahia e te tangata na te java-phobia, na te mea he pai te punaha a ClickHouse, kua tuhia ki te C ++, ka taea e koe te whakamahi me ka pai nga mea katoa. A ko ZooKeeper kei java. A kaore koe e hiahia ki te titiro, engari ka taea e koe te whakamahi i te tukurua a-ringa.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Ko te ClickHouse he punaha mahi. Ka whai whakaaro ia ki o hiahia. Mēnā kei a koe te tārua ā-ringa, ka taea e koe te hanga i tētahi ripanga Tohatoha e tiro ana ki ō tauira ā-ringa, ā, he koretake i waenganui i a raatau. A tera ano tetahi waahanga motuhake ka taea e koe te karo i nga paheketanga, ahakoa ka rereke nga raina o to raina.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Ka ara ake etahi atu raru mena ka whakamahi koe i nga miihini tepu taketake. Ko te ClickHouse he kaihanga he maha nga miihini tepu rereke. Mo nga keehi taumaha katoa, kua tuhia ki roto i nga tuhinga, whakamahia nga ripanga mai i te whanau MergeTree. Me era atu - he pera, mo nga keehi takitahi, mo nga whakamatautau ranei.

I roto i te ripanga MergeTree, kaore koe e whai ra me te wa. Ka taea tonu e koe te whakamahi. Mena karekau he ra me te wa, tuhia te taunoa ko te 2000. Ka whai hua tenei, kaore e hiahiatia he rauemi.

A, i roto i te putanga hou o te tūmau, ka taea e koe te tohu he wehewehenga ritenga kaore he taviri wehewehe. Ka pera ano.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

I tetahi atu taha, ka taea e koe te whakamahi i nga miihini tepu taketake. Hei tauira, whakakiia nga raraunga kia kotahi, ka titiro, ka whiria, ka muku. Ka taea e koe te whakamahi i te Rangitaki.

Ko te penapena pukapuka iti mo te tukatuka takawaenga ko StripeLog, TinyLog ranei.

Ka taea te whakamahi mahara mena he iti te nui o nga raraunga ka taea e koe te kopikopiko noa i tetahi mea i roto i te RAM.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Kaore a ClickHouse e tino pai ki nga raraunga kua whakahoutia.

Anei he tauira angamaheni. He maha nga URL tenei. Ka hoatu e koe ki te tepu e whai ake nei. Na ka whakatau ratou ki te mahi JOIN ki a ratou, engari kaore tenei e mahi, hei tikanga, na te mea ka tautoko noa a ClickHouse i a Hash JOIN. Mena kaore i te nui te RAM mo te maha o nga raraunga e tika ana kia hono, ka kore e mahi a JOIN*.

Mena he nui te kaha o nga raraunga, kaua e manukanuka, rongoa i roto i te ahua kua whakakorehia, kei te noho tika nga URL ki te tepu matua.

* a inaianei kua hono ano a ClickHouse, a ka mahi i nga ahuatanga kaore e uru nga raraunga takawaenga ki te RAM. Engari karekau tenei e whai hua, ka mau tonu te taunakitanga.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

He tokorua ano nga tauira, engari kua pohehe ahau mena he anti-tauira, kaore ranei.

Kei a ClickHouse tetahi koha e mohiotia ana. Kare e mohio ki te whakahou*. I etahi wa, he pai tenei. Mena kei a koe etahi raraunga nui, hei tauira, te kaute, karekau he tangata e kaha ki te tuku, no te mea kaore he whakahou.

* Ko te tautoko mo te whakahou me te whakakore i te aratau puranga kua taapirihia i nga wa roa.

Engari tera ano etahi huarahi motuhake e taea ai te whakahou me te mea kei te papamuri. Hei tauira, nga ripanga penei i te ReplaceMergeTree. Ka whakahōuhia i te wā hanumi papamuri. Ka taea e koe te akiaki i tenei ma te whakamahi i te ripanga arotau. Engari kaua e mahi i te nuinga o nga wa, na te mea ka tino tuhiruatia te wehewehenga.

Ko nga Hononga kua tohatohahia ki ClickHouse he kino ano te whakahaere a te kaiwhakatakoto patai.

He kino, engari i etahi wa Ok.

Ma te ClickHouse anake hei panui i nga raraunga ma te whakamahi i te whiriwhiri *.

Kaore au e kii ki te whakamahi ClickHouse mo nga tatauranga uaua. Engari ehara tenei i te tino pono, na te mea kei te neke kee tatou i tenei taunakitanga. Na ka taapirihia e matou te kaha ki te tono tauira ako miihini ki ClickHouse - Catboost. A ka whakararuraru i ahau na te mea ka whakaaro ahau, "He aha te whakamataku. Koinei te maha o nga huringa mo ia paita ka puta! E tino kino ana ahau ki te moumou karaka ki runga paita.

Te whakamahi whai hua o ClickHouse. Alexey Milovidov (Yandex)

Engari kaua e wehi, whakauruhia a ClickHouse, ka pai nga mea katoa. Mena he aha, he hapori to tatou. Ma te ara, ko koe te hapori. A, ki te raru koe, ka taea e koe te haere ki ta maatau korerorero, me te tumanako ka awhina koe.

Au uiui

Nga mihi mo te ripoata! Kei hea taku amuamu mo te pakaru o ClickHouse?

Ka taea e koe te amuamu ki ahau inaianei.

I timata ahau ki te whakamahi i te ClickHouse. I tukuna tonu e ahau te atanga cli.

He aha te kaute.

He iti nei i muri mai ka tukitukia e ahau te tūmau me te kowhiri iti.

He taranata koe.

I whakatuwheratia e ahau tetahi pepeha GitHub, engari kaore i arohia.

Ka kite tatou.

I tinihangatia ahau e Alexey ki te haere ki te purongo, me te kii mai me pehea e uru atu ai koe ki nga raraunga o roto.

He tino ngawari.

I mohio ahau ki tenei inanahi. Nga korero motuhake.

Karekau he tinihanga kino i reira. He kōpeke poraka-a-paraka noa. Ko te taunoa ko LZ4, ka taea e koe te ZSTD*. Poraka mai i te 64 kiropaita ki te 1 mekapaita.

* he tautoko hoki mo nga kotēkē kōpeketanga motuhake ka taea te whakamahi i roto i te mekameka me etahi atu algorithms.

He raraunga mata noa nga poraka?

Ehara i te tino mata. He raupapa. Mēnā he tīwae tau tāu, kātahi ka whakatakotohia ngā tau kei te haupae ki roto i te huānga.

Ka kite ahau.

Alexey, he tauira me te uniqExact i runga i nga IP, ara, he roa ake te tatau a uniqExact ma nga raina i nga tau, me era atu. He aha mena ka whakamahi tatou i te mahi tinihanga ki o tatou taringa me te maka i te wa o te panui? Arā, te ahua nei kua kii koe i runga i ta maatau kōpae kaore i tino rerekee. Mena ka panui tatou i nga rarangi mai i te kopae me te maka, ka tere ake ranei a tatou whakahiato, kaore ranei? Ka riro noa ranei tatou i konei? Te ahua nei i whakamatauria e koe tenei, engari mo etahi take kaore i tohuhia i roto i te tohu tohu.

Ki taku whakaaro ka puhoi ake i te kore e maka. I tenei take, me poroporoaki te wahitau IP mai i te aho. Ko te tikanga, i ClickHouse, kei te arotauhia hoki to maatau korero IP. I whakapau kaha matou, engari kei a koe nga nama kua tuhia ki te ahua tekau mano. Tino horekau. I tetahi atu taha, ko te mahi uniqExact ka tere ake te mahi i runga i nga aho, ehara i te mea he aho noa enei, engari na te mea kua tohua he tohu motuhake o te algorithm. He rereke te tukatuka i nga aho.

He aha mena ka tango tatou i tetahi momo raraunga taketake ake? Hei tauira, i tuhia e matou te id kaiwhakamahi, kei roto i a matou, tuhia hei rarangi, katahi ka rukuhia, ka pai ake, kaore ranei?

Ka ruarua ahau. Ki taku whakaaro ka pouri rawa atu, na te mea, he raru nui te poroporo i nga nama. Ki taku titiro i tukuna ano e tenei hoa mahi he purongo mo te uaua o te wetewete i nga nama i roto i te ahua tekau mano, engari kaore pea.

Alexey, ka nui te mihi ki a koe mo te purongo! A ka nui te mihi ki a koe mo ClickHouse! He patai taku mo nga mahere. He mahere mo tetahi ahuatanga ki te whakahou i nga papakupu kaore i oti?

Arā, he whakaara anō wāhanga?

Ae Ae. Pērā i te kaha ki te whakatakoto mara MySQL ki reira, ara ko te whakahou i muri mai ka utaina noa enei raraunga mena he nui rawa te papakupu.

He ahuatanga tino whakamere. A ki taku whakaaro na tetahi i kii i roto i ta maatau korerorero. Ko koe ano pea.

Kare au e pena.

He rawe, inaianei ka puta ke e rua nga tono. A ka taea e koe te timata ki te mahi. Engari e hiahia ana ahau ki te whakatupato i a koe i tenei wa he tino ngawari tenei waahanga ki te whakatinana. Arā, i roto i te ariā, me tuhi noa koe i te tau putanga ki te ripanga katahi ka tuhi: te putanga iti iho i te penei me te penei. Ko te tikanga tenei, tera pea, ka tukuna e matou tenei ki te hunga kaingākau. He kaingākau koe?

Ae, engari, kaore i te C++.

Kei te mohio o hoa mahi ki te tuhi ki te C++?

Ka kitea e ahau tetahi.

Nui*.

* i taapirihia te waahanga e rua marama i muri mai o te ripoata - na te kaituhi o te patai i whakawhanake me te tuku i tana tono toia.

Mauruuru!

Kia ora! Nga mihi mo te ripoata! I korero koe he tino pai a ClickHouse ki te pau i nga rauemi katoa e waatea ana ki a ia. A ko te kaikorero i te taha o Luxoft i korero mo tana otinga mo te Russian Post. I kii ia he tino pai ki a ratou a ClickHouse, engari kaore i whakamahia e raatau hei utu mo o raatau whakataetae matua na te mea kei te kai katoa te PTM. A kaore i taea e raatau te whakauru ki roto i o raatau hoahoanga, ki o raatau ZooKeeper me nga kaitoi. Ka taea te whakaiti i te ClickHouse kia kore ai e pau nga mea katoa e waatea ana ki a ia?

Ae, ka taea me te tino ngawari. Mena kei te pirangi koe ki te kai iti ake nga kopa, tuhia noa iho set max_threads = 1. Na ko tera, ka mahia e ia te tono i roto i te kaupapa kotahi. I tua atu, ka taea e koe te tautuhi i nga tautuhinga rereke mo nga kaiwhakamahi rereke. Na kahore he raruraru. A kii atu ki o hoa mahi mai i Luxoft kaore i te pai kaore i kitea e ratou tenei waahi i roto i nga tuhinga.

Alexey, kia ora! E hiahia ana ahau ki te patai mo tenei patai. Ehara tenei i te wa tuatahi i rongo ahau he maha nga tangata e timata ana ki te whakamahi i te ClickHouse hei rokiroki mo nga rakau. I te ripoata i kii koe kia kaua e mahi i tenei, ara, kaore koe e hiahia ki te penapena aho roa. He aha to whakaaro mo tena?

Ko te tuatahi, ko nga rakau, hei tikanga, ehara i nga aho roa. Ko te tikanga, he rereke. Hei tauira, ko etahi o nga ratonga kua tuhia ki te java ka maka he tuunga, kua takiuru. Na ka pera tonu i roto i te kopikopiko mutunga kore, a ka pau te mokowā i runga i te puku mārō. He tino ngawari te otinga. Mena he roa rawa nga rarangi, ka tapahia. He aha te tikanga o te roa? Tekau kiropaita he kino*.

* i roto i nga putanga hou o ClickHouse, ka whakahohehia te "adaptive index granularity", e whakakore ana i te raruraru o te rokiroki rarangi roa mo te nuinga.

He tika noa te kiropaita?

He mea noa.

Kia ora! Nga mihi mo te ripoata! Kua patai ahau mo tenei i roto i te korerorero, engari kaore au e mahara mena kua whiwhi whakautu ahau. Kei kona ano nga mahere ki te whakawhānui ake i te waahanga WITH kia rite ki te CTE?

Kaore ano. Ko ta matou waahanga WITH he ahua horihori. He ahua iti mo tatou.

Kei te mohio ahau. Mauruuru koe!

Nga mihi mo te ripoata! Tino whakamere! Uiui o te ao. Kei kona ano etahi mahere ki te whakarereke i te whakakorenga raraunga, tera pea i te ahua o etahi momo tutua?

Ko te tikanga. Koinei ta matou mahi tuatahi i roto i ta matou rarangi. Inaianei kei te kaha whakaaro matou me pehea te mahi tika i nga mea katoa. A me timata koe ki te pehi i te papapātuhi*.

* pehia nga paatene i runga i te papapātuhi ka mahia nga mea katoa.

Ka pa tenei ki te mahinga o te punaha, kaore ranei? Ka tere te whakaurunga penei i naianei?

Tena pea ka tino taumaha te whakakore i a raatau ano me nga whakahou ake, engari kaore tenei e pa ki te mahi o nga whiriwhiringa, ki nga mahi whakauru ranei.

Me tetahi atu patai iti. I te whakaaturanga i korero koe mo te matua matua. Na reira, kei a matou he wehewehenga, he mea taunoa ia marama, tika? A, ka whakatauhia he awhe ra e uru ana ki te marama, ka panuihia tenei wehewehenga, tika?

Ae.

He patai. Ki te kore e taea e taatau te kowhiri i tetahi taviri tuatahi, he tika te mahi kia rite ki te mara "Rā" kia iti ake te whakarereketanga o enei raraunga i muri kia pai ake ai te whakatakotoranga? Mena karekau he patai awhe kaore e taea e koe te kowhiri i tetahi kii matua, he mea tika kia tuhia he ra ki te matua matua?

Ae.

He mea tika pea ki te whakauru i tetahi mara ki te matua matua ka pai ake te kopiri i nga raraunga mena ka tohua e tenei mara. Hei tauira, ID kaiwhakamahi. Ko te kaiwhakamahi, hei tauira, ka haere ki te pae kotahi. I roto i tenei take, hoatu te id kaiwhakamahi me te wa. Na ka pai ake te kopaki o o raraunga. Mo te ra, mena karekau koe i a koe karekau he patai awhe mo nga ra, karekau koe e whakauru i te ra ki te matua matua.

OK ka nui te mihi!

Source: will.com

Tāpiri i te kōrero