HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

HighLoad++ Moscow 2018, Congress Hall. La 9 November, 15:00

Maikutlo le tlhahiso: http://www.highload.ru/moscow/2018/abstracts/4066

Yuri Nasretdinov (VKontakte): tlaleho e tla bua ka phihlelo ea ho kenya ts'ebetsong ClickHouse k'hamphaning ea rona - hore na ke hobane'ng ha re e hloka, re boloka boitsebiso bo bokae, kamoo re e ngolang kateng, joalo-joalo.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Lintho tse ling: sebelisa Clickhouse e le sebaka sa ELK, Big Query le TimescaleDB

Yuri Nasretdinov: - Lumelang bohle! Lebitso la ka ke Yuri Nasretdinov, joalo ka ha ke se ke tsebisitsoe. Ke sebetsa VKontakte. Ke tla bua ka hore na re kenya data joang ho ClickHouse ho tsoa ho likepe tsa rona tsa seva (mashome a likete).

Likutu ke eng, hona ke hobane'ng ha li bokella?

Seo re tla u bolella sona: seo re se entseng, ke hobane'ng ha re ne re hloka "ClickHouse", ka ho latellana, hore na ke hobane'ng ha re e khethile, ke mofuta ofe oa ts'ebetso oo u ka o fumanang ntle le ho hlophisa ntho leha e le efe ka ho khetheha. Ke tla u joetsa ho eketsehileng ka litafole tsa buffer, ka mathata ao re bileng le ona ka bona le ka tharollo ea rona eo re e hlahisitseng ho tsoa mohloling o bulehileng - KittenHouse le Lighthouse.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Ke hobane'ng ha re ne re hloka ho etsa letho ho hang (ntho e 'ngoe le e' ngoe e lula e le ntle ho VKontakte, ho joalo?). Re ne re batla ho bokella li-debug logs ('me ho ne ho e-na le li-terabyte tse makholo tsa data moo), mohlomong ka tsela e itseng ho ne ho tla ba bonolo haholoanyane ho bala lipalo-palo; 'me re na le sehlopha sa li-server tse mashome a likete tseo sena sohle se lokelang ho etsoa ho sona.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Ke hobane’ng ha re ile ra etsa qeto? Mohlomong re ne re e-na le tharollo ea ho boloka likutu. Mona - ho na le "Bakend VK" e joalo ea sechaba. Ke khothaletsa haholo ho ingolisa ho eona.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Likutu ke eng? Ena ke enjene e khutlisang likarolo tse se nang letho. Enjine ho VK ke seo ba bang ba se bitsang microservices. Mme mona ke setikara se bososelang (batho ba bangata ba ratwang). Joang joale? Joale mamela ho ea pele!

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Ke eng e ka sebelisoang ho boloka likutu? Ho ke ke ha khoneha hore re se ke ra bua ka Hadup. Ebe, ho etsa mohlala, Rsyslog (ho boloka lits'oants'o tsena lifaeleng). LSD. Ke mang ea tsebang hore na LSD ke eng? Che, eseng LSD ena. Boloka lifaele, ka ho latellana, hape. Che, ClickHouse ke khetho e makatsang.

Clickhouse le bahlolisani: litlhoko le menyetla

Re batla eng? Re batla ho etsa bonnete ba hore ha ho hlokahale hore re tšoenyehe haholo ka ts'ebetso, e le hore e sebetse ka ntle ho lebokose, haholo-holo ka tlhophiso e fokolang. Re batla ho ngola haholo, le ho ngola kapele. 'Me re batla ho e boloka bakeng sa mefuta eohle ea likhoeli, lilemo, ke hore, ka nako e telele. Re kanna ra batla ho utloisisa bothata boo ba tlileng ho rona ka bona mme ba re, "Ho na le ho hong ha ho sebetse mona," mme e ne e le likhoeling tse 3 tse fetileng), mme re batla ho bona se etsahetseng likhoeling tse 3 tse fetileng " Khatello ea data - ho hlakile hore na ke hobane'ng ha e ka ba motsoako - hobane e fokotsa sebaka seo e se nkang.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

'Me re na le tlhokahalo e joalo e thahasellisang: ka linako tse ling re ngola tlhahiso ea litaelo tse ling (mohlala, lifate), e ka ba li-kilobytes tse fetang 4 habonolo. 'Me haeba ntho ena e sebetsa ho feta UDP, joale ha ho hlokahale hore e sebelise ... e ke ke ea e-ba le "overhead" leha e le efe bakeng sa ho hokahanya,' me bakeng sa palo e kholo ea lisebelisoa sena e tla ba ho kopanya.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Ha re boneng hore na mohloli o bulehileng o re fa eng. Taba ea pele, re na le Logs Engine - ena ke enjene ea rona; Ha e le hantle, a ka etsa ntho e 'ngoe le e' ngoe, a ka ngola le mela e melelele. Ha e le hantle, ha e hatise data ka mokhoa o hlakileng - re ka hatella litšiea tse kholo ka borona haeba re batla ... rona, ha e le hantle, ha re batle (haeba ho khoneha). Bothata feela ke hore a ka fana feela ka se mo lekanang mohopolong oa hae; Ho bala tse ling kaofela, o hloka ho fumana binlog ea enjene ena, 'me, ka hona, e nka nako e telele haholo.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Ho na le likhetho life tse ling? Ka mohlala, "Hadup". Ho bonolo ho sebetsa ... Ke mang ea nahanang hore Hadup e bonolo ho e theha? Ehlile, ha ho na mathata ka ho rekota. Ha u bala, ka linako tse ling ho hlaha lipotso. Ha e le hantle, nka re mohlomong ha ho joalo, haholo-holo bakeng sa li-logs. Ho boloka nako e telele - ehlile, e, khatello ea data - e, likhoele tse telele - ho hlakile hore o ka rekota. Empa ho rekota ho tsoa ho palo e kholo ea li-server ... U ntse u tlameha ho etsa ho hong u le mong!

Rsyslog. Ebile, re e sebelisitse e le khetho ea "backup" e le hore re ka e bala ntle le ho lahla binlog, empa e ke ke ea ngola mela e melelele; ha e le hantle, e ke ke ea ngola ho feta 4 kilobytes. U tlameha ho etsa compression ya data ka tsela e ts'oanang le uena. Ho bala ho tla tsoa lifaeleng.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Joale ho na le tsoelo-pele ea "badushka" ea LSD. Ha e le hantle e tšoana le "Rsyslog": e ts'ehetsa likhoele tse telele, empa e ke ke ea sebetsa ka UDP mme, ha e le hantle, ka lebaka lena, ka bomalimabe, lintho tse ngata li hloka ho ngoloa hape moo. LSD e hloka ho hlophisoa bocha hore e tsebe ho rekota ho tsoa ho li-server tse mashome a likete.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Mme mona! Khetho e qabolang ke ElasticSearch. Ho thoe'ng? O sebetsa hantle ka ho bala, ke hore, o bala kapele, empa eseng hantle ka ho ngola. Taba ea pele, haeba e hatella data, e fokola haholo. Mohlomong, patlo e felletseng e hloka libopeho tse kholo tsa data ho feta molumo oa mantlha. Ho thata ho sebetsa mme hangata mathata a hlaha ka eona. 'Me, hape, ho rekota ka Elastic - re tlameha ho iketsetsa ntho e' ngoe le e 'ngoe.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Mona ClickHouse ke khetho e nepahetseng, ehlile. Ntho feela ke hore ho rekota ho tsoa ho li-server tse mashome a likete ke bothata. Empa bonyane ho na le bothata bo le bong, re ka leka ho bo rarolla ka tsela e itseng. Mme tlaleho e setseng e mabapi le bothata bona. U ka lebella ts'ebetso ea mofuta ofe ho ClickHouse?

Re tla e kenya joang? MergeTree

Ke mang har'a lōna ea e-s'o utloe kapa a tsebe ka "ClickHouse"? Ke hloka ho u bolella, na ha ho joalo? Ka potlako haholo. Ho kenngoa moo - 1-2 gigabits ka motsotsoana, ho phatloha ho fihlela ho 10 gigabits ka motsotsoana ho ka mamella tlhophiso ena - ho na le li-Xeon tse peli tsa 6-core (ke hore, esita le tse matla ka ho fetisisa), 256 gigabytes ea RAM, 20 terabytes. ho RAID (ha ho motho ea lokiselitsoeng, litlhophiso tsa kamehla). Alexey Milovidov, moqapi oa ClickHouse, mohlomong o lutse moo a lla hobane ha rea ​​ka ra lokisa letho (ntho e 'ngoe le e' ngoe e ile ea sebetsa joalo bakeng sa rona). Ka hona, lebelo la ho hlahloba, re re, mela e ka bang limilione tse likete tse 6 ka motsotsoana e ka fumanoa haeba data e hatelloa hantle. Haeba u rata % khoeleng ea mongolo - mela e limilione tse 100 motsotsoana, ke hore, e bonahala e potlakile haholo.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Re tla e kenya joang? Ua tseba hore VK e sebelisa PHP. Re tla kenya ho tsoa ho mosebeletsi e mong le e mong oa PHP ka HTTP ho "ClickHouse", tafoleng ea MergeTree bakeng sa rekoto ka 'ngoe. Ke mang ea bonang bothata ka morero ona? Ka mabaka a itseng, hase bohle ba ileng ba phahamisa matsoho. E-re ke u bolelle.

Taba ea pele, ho na le li-server tse ngata - ka hona, ho tla ba le likhokahano tse ngata (tse mpe). Joale ho molemo ho kenya data ho MergeTree hangata ho feta hang ka motsotsoana. Mme ke mang ya tsebang hobaneng? Ho lokile, ho lokile. Ke tla o bolella hanyane ka taba ena. Potso e 'ngoe e thahasellisang ke hore ha re etse li-analytics, ha ho hlokahale hore re ruise lintlha, ha re hloke li-server tse bohareng, re batla ho kenya ka ho toba "ClickHouse" (ka ho khetheha - ka ho toba haholoanyane, ho molemo).

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Ka hona, ho kenyelletsa ho etsoa joang ho MergeTree? Ke hobane'ng ha ho le molemo ho kenya ho eona hangata ho feta hang ka motsotsoana kapa ka tlaase ho nako? 'Nete ke hore "ClickHouse" ke pokello ea li-columnar mme e hlophisa lintlha ka tatellano e nyolohang ea senotlolo sa mantlha,' me ha u kenya, lifaele tse 'maloa li entsoe bonyane tse lekanang le palo ea likholomo tseo data e hlophisoang ho tsona. ka tatellano e nyolohang ea senotlolo sa mantlha (mongolo o arohaneng o entsoe, sete sa lifaele ho disk bakeng sa kenyelletso ka 'ngoe). Ebe ho kenngoa ho latelang ho tla, 'me ka morao li kopantsoe ho "partitions" tse kholoanyane. Kaha data e hlophisitsoe, hoa khoneha ho "kopanya" lifaele tse peli tse hlophisitsoeng ntle le ho senya mohopolo o mongata.

Empa, kamoo u ka nahanang kateng, haeba u ngola lifaele tsa 10 bakeng sa ho kenya ka 'ngoe, joale ClickHouse (kapa seva sa hau) e tla fela ka potlako, kahoo ho kgothaletswa ho kenya ka lihlopha tse kholo. Ka hona, ha ho mohla re kileng ra qala morero oa pele oa tlhahiso. Hang-hang re ile ra qala e 'ngoe, eo mona No. 2 e nang le eona:

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Mona nahana hore ho na le li-server tse ka bang sekete tseo re li hlahisitseng, ho na le PHP feela. 'Me ho seva ka seng ho na le moemeli oa sebaka sa rona, eo re neng re e bitsa "Kittenhouse", e bolokang khokahanyo e le' ngoe le "ClickHouse" le ho kenya data metsotsoana e meng le e meng e seng mekae. Ha e kenye data ho MergeTree, empa tafoleng ea buffer, e sebetsang hantle ho qoba ho kenya ka kotloloho ho MergeTree hang-hang.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Ho sebetsa ka litafole tsa buffer

Ke eng? Litafole tsa buffer ke karolo ea memori e arotsoeng (ke hore, e ka kenngoa ho eona khafetsa). Li na le likotoana tse 'maloa,' me e 'ngoe le e' ngoe ea likotoana e sebetsa e le buffer e ikemetseng, 'me e hlatsuoa ka mokhoa o ikemetseng (haeba u na le likotoana tse ngata ka har'a buffer, joale ho tla ba le tse ngata tse kenngoa motsotsoana). Hoa khoneha ho bala ho tloha litafoleng tsena - joale u bala bonngoe ba litaba tsa buffer le tafole ea motsoali, empa motsotso ona ho ngolla ho thibetsoe, kahoo ho molemo hore u se ke ua bala ho tloha moo. 'Me litafole tsa buffer li bonts'a QPS e ntle haholo, ke hore, ho fihla ho QPS tse likete tse 3 u ke ke ua ba le mathata ho hang ha u kenya. Ho hlakile hore haeba seva se lahleheloa ke matla, joale data e ka lahleha, hobane e ne e bolokiloe mohopolong feela.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Ka nako e ts'oanang, leano le nang le buffer le thatafatsa ALTER, hobane pele o hloka ho theola tafole ea khale ea buffer le moralo oa khale (data e ke ke ea nyamela kae kapa kae, hobane e tla hlakoloa pele tafole e hlakoloa). Ebe u "fetola" tafole eo u e hlokang ebe u theha tafole ea buffer hape. Ka hona, leha ho se na tafole ea buffer, data ea hau e ke ke ea phalla kae kapa kae, empa u ka ba le eona ho disk bonyane sebakeng sa heno.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Kittenhouse ke eng, 'me e sebetsa joang?

KittenHouse ke eng? Ena ke moemeli. Nahana ka puo efe? Ke ile ka bokella lihlooho tsa hype ka ho fetisisa tlalehong ea ka - "Clickhouse", E-ea, mohlomong ke tla hopola ntho e 'ngoe hape. E, sena se ngotsoe ho Go, hobane ha ke tsebe ho ngola ka C, ha ke batle.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Ka hona, e boloka khokahano le seva ka seng mme e khona ho ngolla mohopolong. Ka mohlala, haeba re ngola liphoso tsa liphoso ho Clickhouse, joale haeba Clickhouse e se na nako ea ho kenya data (ka mor'a moo, haeba e ngotsoe haholo), joale ha re ruruhe mohopolo - re lahla tse ling kaofela. Hobane haeba re ngola li-gigabits tse 'maloa motsotsoana oa liphoso, mohlomong re ka lahla tse ling. Kittenhouse e ka etsa sena. Ho feta moo, e ka fana ka phepelo e tšepahalang, ke hore, ho ngolla disk mochining oa lehae mme hang ka nako (hona, hang ka metsotsoana e meng le e meng) e leka ho tlisa data ho tsoa faeleng ena. Mme qalong re ne re sebelisa sebopeho se tloaelehileng sa Values ​​- eseng mofuta o itseng oa binary, sebopeho sa mongolo (joalo ka SQL e tloaelehileng).

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Empa joale sena se ile sa etsahala. Re sebelisitse tlhahiso e ka tšeptjoang, re ngola li-logs, ebe re etsa qeto (e ne e le sehlopha sa tlhahlobo ea maemo) ... E ile ea behoa lihora tse 'maloa' me ea khutlisetsoa morao, 'me ho kenngoa ho qalile ho tloha ho li-server tse sekete - ho ile ha fumaneha hore Clickhouse e ntse e e-na le "Tlhaloso mabapi le khokahano" - ka hona, likhokahanong tse sekete, ho kenngoa ka mafolofolo ho lebisa ho karolelano ea mojaro ho seva e ka bang sekete le halofo. Ho makatsang ke hore seva se amohetse likōpo, empa data e ne e ntse e kenngoa ka mor'a nako e itseng; empa ho ne ho le thata haholo ho seva ho e sebeletsa ...

Kenya nginx

Tharollo e joalo bakeng sa mohlala oa khokahanyo ka khokahanyo ke nginx. Re kentse nginx ka pel'a Clickhouse, ka nako e ts'oanang re theha ho leka-lekanya bakeng sa replicas tse peli (lebelo la rona la ho kenya le eketsehile ka makhetlo a 2, le hoja e se 'nete hore ho lokela ho ba joalo) le ho fokotsa palo ea likhokahano ho Clickhouse, ho ho ea holimo 'me, ho latela, ho feta , ho feta ka likhokahano tsa 50, ho bonahala eka ha ho na ntlha ea ho kenya.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Eaba re hlokomela hore morero ona ka kakaretso o na le mathata, hobane re na le nginx e le 'ngoe feela mona. Ka hona, haeba nginx ena e senyeha, ho sa tsotellehe boteng ba likopi, re lahleheloa ke data kapa, bonyane, ha re ngole kae kapa kae. Ke kahoo re iketselitseng ho leka-lekanya mojaro. Hape re ile ra hlokomela hore "Clickhouse" e ntse e loketse lifate, 'me "modemona" o ile a boela a qala ho ngola lifate tsa hae ho "Clickhouse" - ho bonolo haholo, ho tšepahala. Re ntse re e sebelisa bakeng sa "bademona" ba bang.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Eaba re fumana bothata bona bo khahlisang: ha o sebelisa mokhoa o sa tloaelehang oa ho kenya ka mokhoa oa SQL, o qobella sebatli se felletseng sa AST-based SQL, se liehang haholo. Ka hona, re kentse litlhophiso ho netefatsa hore sena ha se etsahale. Re ile ra etsa load balancing, health checks, hore motho ha a ka shoa re ntse re siea data. Hona joale re na le litafole tse ngata tseo re li hlokang ho ba le lihlopha tse fapaneng tsa Clickhouse. Hape re ile ra qala ho nahana ka litšebeliso tse ling - ka mohlala, re ne re batla ho ngola li-logs ho tsoa ho nginx modules, empa ha ba tsebe ho buisana ka ho sebelisa RPC ea rona. Ke kopa ho ba ruta mokhoa oa ho romella bonyane ka tsela e itseng - ka mohlala, ho amohela liketsahalo ho localhost ka UDP ebe o li fetisetsa ho Clickhouse.

Mohato o le mong hole le tharollo

Morero oa ho qetela o ile oa qala ho shebahala tjena (mofuta oa bone oa morero ona): ho seva se seng le se seng ka pel'a Clickhouse ho na le nginx (ho seva se le seng) 'me e mpa e fana ka likōpo ho localhost ka moeli oa palo ea likhokahano tsa 50. likotoana. 'Me morero ona o ne o se o ntse o sebetsa, ntho e' ngoe le e 'ngoe e ne e le ntle ka eona.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Re ile ra phela joalo nako e ka etsang khoeli. E mong le e mong o ne a thabile, ba eketsa litafole, ba eketsa, ba eketsa ... Ka kakaretso, ho ile ha fumaneha hore tsela eo re ekelitseng litafole tsa buffer e ne e se e ntle haholo (ha re e behe ka tsela eo). Re ile ra etsa likotoana tse 16 tafoleng ka 'ngoe le karohano ea khanya ea metsotsoana e seng mekae; re ne re e-na le litafole tse 20 'me tafole e' ngoe le e 'ngoe e ile ea amohela ho kenngoa ha 8 ka motsotsoana - 'me nakong ena "Clickhouse" e qalile ... litlaleho li ile tsa qala ho fokotseha. Ha baa ka ba feta ... Nginx ka ho sa feleng e ne e e-na le ntho e thahasellisang hoo haeba li-connections li ne li fela ka holimo, joale li khutlisetsa "502" ho likopo tsohle tse ncha.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

'Me mona re na le (ke sa tsoa sheba lifate tsa Clickhouse ka boeona) hoo e ka bang halofo ea liphesente tsa likopo li hlōlehile. Ka hona, ts'ebeliso ea disk e ne e phahame, ho ne ho e-na le likamano tse ngata. Be, ke entseng? Ka tlhaho, ha kea ka ka khathatseha ho fumana hore na ke hobane'ng ha khokahano le holimo li felile.

Ho fetola nginx ka proxy e ka morao

Ke ile ka etsa qeto ea hore re lokela ho laola sena ka borona, ha ho hlokahale hore re e tlohele ho nginx - nginx ha e tsebe hore na ho na le litafole life ho Clickhouse, 'me ke ile ka nkela nginx ka moemeli oa reverse, eo le 'na ke ileng ka ingolla eona.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

O etsang? E sebetsa ho latela laeborari ea fasthttp "goshnoy", ke hore, ka potlako, hoo e batlang e le kapele joalo ka nginx. Tšoarelo, Igor, haeba u le teng mona (hlokomela: Igor Sysoev ke moqapi oa Serussia ea entseng seva sa websaete ea nginx). E ka utloisisa hore na lipotso tsena ke tsa mofuta ofe - INSERT kapa KHETHA - ka hona, e na le matamo a fapaneng a khokahano bakeng sa mefuta e fapaneng ea lipotso.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Ka hona, le haeba re se na nako ea ho tlatsa likopo tsa ho kenya, "likhetho" li tla feta, 'me ka tsela e fapaneng. 'Me e arola lintlha ka litafole tsa buffer - tse nang le buffer e nyane: haeba ho ne ho e-na le liphoso, liphoso tsa syntax, joalo-joalo - e le hore li se ke tsa ama lintlha tse ling kaofela, hobane ha re kenya litafole tsa buffer feela, re e ne e e-na le "bachi" e nyenyane, 'me liphoso tsohle tsa syntax li ne li ama karoloana ena e nyenyane feela; 'me mona li se li tla ama buffer e kholo. E nyane ke 1 megabyte, ke hore, ha e nyane joalo.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Ho kenya khokahano le ho nkela nginx sebaka, ha e le hantle ho etsa ntho e tšoanang le eo nginx e neng e etsa pele - ha ho hlokahale hore u fetole "Kittenhouse" ea lehae bakeng sa sena. 'Me kaha e sebelisa fasthttp, e potlakile haholo - o ka etsa likopo tse fetang likete tse 100 ka motsotsoana bakeng sa ho kenya motho a le mong ka proxy e ka morao. Ka khopolo, u ka kenya mohala o le mong ka nako ho proxy ea reverse kittenhouse, empa ha e le hantle ha re etse joalo.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Morero o ile oa qala ho shebahala tjena: "Kittenhouse", lihlopha tsa li-proxy tse ka morao li kōpa ka litafole 'me, ka lehlakoreng le leng, litafole tsa buffer li li kenya ka har'a tse ka sehloohong.

Killer ke tharollo ea nakoana, Kitten ke ea ka ho sa feleng

Bona ke bothata bo monate... Ho na le e mong oa lona ea sebelisitseng fasthttp? Ke mang ea sebelisitseng fasthttp ka likopo tsa POST? Mohlomong, sena se ne se sa lokela ho etsoa, ​​​​hobane se thibela 'mele oa kopo ka boiketsetso,' me boholo ba rona ba buffer bo behiloe ho 16 megabytes. Kenyelletso e ile ea emisa ho tsoela pele ka nako e itseng, 'me likaroloana tsa 16-megabyte li ile tsa qala ho fihla ho tsoa ho li-server tse mashome a likete,' me kaofela li ne li bolokiloe mohopolong pele li romeloa ho Clickhouse. Ka lebaka leo, mohopolo o ile oa fela, 'Muelli oa Out-Of-Memory o ile a tla mme a bolaea moemeli oa morao-rao (kapa "Clickhouse", eo ho thoeng e ka "ja" ho feta proxy e ka morao). Potoloho e ile ea ipheta. Ha se bothata bo monate haholo. Le hoja re ile ra khoptjoa ho sena feela ka mor'a likhoeli tse 'maloa tsa ts'ebetso.

Ke entseng? Hape, ha ke rate ho utloisisa hantle se etsahetseng. Ke nahana hore ho hlakile hore ha oa lokela ho ts'oara mohopolo. Ke ne ke sitoa ho patch fasthttp, leha ke lekile. Empa ke ile ka fumana mokhoa oa ho e etsa e le hore ho se ke ha e-ba le tlhokahalo ea ho pata letho, 'me ke ile ka tla le mokhoa oa ka ho HTTP - ke o bitsitse KITTEN. Ha e le hantle, hoa utloahala - "VK", "Kitten"... Ke eng hape?

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Haeba kopo e fihla ho seva ka mokhoa oa Kitten, joale seva se lokela ho arabela "meow" - ka mokhoa o utloahalang. Haeba a arabela ho sena, joale ho nkoa hore o utloisisa protocol ena, ebe joale ke thibela ho hokahanya (fasthttp e na le mokhoa o joalo), 'me khokahanyo e kena ka mokhoa o "raw". Ke hobane'ng ha ke e hloka? Ke batla ho laola hore na ho bala ho tsoa ho likhokahano tsa TCP ho etsahala joang. TCP e na le thepa e babatsehang: haeba ho se motho ea balang ka lehlakoreng le leng, joale mongolo o qala ho ema, 'me mohopolo ha o sebelisoe ka ho khetheha ho sena.

'Me kahoo ke balile ho tloha ho bareki ba ka bang 50 ka nako (ho tloha ho mashome a mahlano hobane mashome a mahlano e lokela ho ba e lekaneng, esita le haeba tekanyo e tsoa ho DC e' ngoe)... Tšebeliso e fokotsehile ka mokhoa ona bonyane ka makhetlo a 20, empa 'na, ho bua 'nete. , Ke ne ke sitoa ho lekanya hantle hore na ke nako efe, hobane e se e se na thuso (e se e fihlile boemong ba phoso). Protocol ke binary, ke hore, e na le lebitso la tafole le data; ha ho na lihlooho tsa http, kahoo ha kea ka ka sebelisa sesebelisoa sa marang-rang (ha ke hloke ho buisana le li-browser - ke entse protocol e lumellanang le litlhoko tsa rona). Mme tsohle tsa tsamaya hantle le yena.

Tafole ea buffer e bohloko

Haufinyane tjena re fumane tšobotsi e 'ngoe e khahlisang ea litafole tsa buffer. 'Me bothata bona bo se bo ntse bo le bohloko ho feta ba bang. A re nahaneng ka boemo bona: u se u ntse u sebelisa Clickhouse ka mafolofolo, u na le lisebelisoa tse ngata tsa Clickhouse, 'me u na le likōpo tse nkang nako e telele ho li bala (ha re re, metsotsoana e fetang 60); 'me u tlo etsa Alter motsotso ona... Khabareng, "khetho" e qalileng pele "Alter" e ke ke ea kenyelletsoa tafoleng ena, "Alter" e ke ke ea qala - mohlomong likarolo tse ling tsa kamoo "Clickhouse" e sebetsang sebaka sena. Mohlomong sena se ka lokisoa? Kapa na ha ho khonehe?

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Ka kakaretso, ho hlakile hore ha e le hantle sena ha se bothata bo boholo joalo, empa ka litafole tsa buffer ho ba bohloko le ho feta. Hobane, haeba, ha re re, nako ea "Alter" ea hau ('me e ka tsoa ho moamoheli e mong - eseng ea hau, empa e le setšoantšong, mohlala), ebe ... U hlakotse tafole ea buffer, "Alter" ea hau ( kapa moamoheli e mong) o feletsoe ke nako. ebe phoso ea "Alter" e etsahetse) - o ntse o hloka ho netefatsa hore data e ntse e tsoela pele ho ngoloa: o bopa litafole tsa buffer morao (ho latela moralo o tšoanang le oa tafole ea motsoali), ebe "Alter" e ea feta, e fela ka mor'a tsohle, 'me tafole e qala ho fapana ka schema ho motsoali. Ho ipapisitse le hore na "Alter" e ne e le eng, kenyelletso e kanna ea se hlole e ea tafoleng ena ea buffer - sena se utloisa bohloko haholo.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Hape ho na le letšoao le joalo (mohlomong motho e mong o le hlokometse) - le bitsoa query_thread_log liphetolelong tse ncha tsa Clickhouse. Ka ho sa feleng, phetolelong e 'ngoe ho ne ho e-na le eona. Mona re bokelletse lirekoto tse limilione tse 840 ka likhoeli tse 'maloa (100 gigabytes). Sena se bakoa ke taba ea hore "li-insert" li ngotsoe moo (mohlomong hona joale, ka tsela, ha lia ngoloa). Joalokaha ke u boleletse, "li-insert" tsa rona li nyane - re ne re e-na le "li-insert" tse ngata ka har'a litafole tsa buffer. Ho hlakile hore sena se holofetse - ke u joetsa feela seo ke se boneng ho seva sa rona. Hobaneng? Ena ke khang e 'ngoe khahlano le ho sebelisa litafole tsa buffer! Spotty o hloname haholo.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Ke mang ea neng a tseba hore lebitso la mohlankana enoa ke Spotty? Basebetsi ba VK ba ile ba phahamisa matsoho. HO LOKILE.

Mabapi le meralo ea "KitttenHouse"

Hangata merero ha e arolelanoe, na? Ka tšohanyetso u ke ke ua li phethahatsa 'me u ke ke ua shebahala hantle haholo mahlong a batho ba bang. Empa ke tla ipeha kotsing! Re batla ho etsa tse latelang: litafole tsa buffer, ho bonahala ho 'na, e ntse e le crutch mme re hloka ho thibela ho kenya ka borona. Empa re ntse re sa batle ho e boloka ka har'a disk, kahoo re tla thibela ho kenngoa mohopolong.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Ka hona, ha "insert" e etsoa, ​​​​ha e sa tla hlola e lumellana - e tla be e se e sebetsa joalo ka tafole ea buffer, e tla kenngoa ka har'a tafole ea motsoali (hantle, ka letsatsi le leng hamorao) ebe e tlaleha ka mocha o arohaneng o seng o fetile le hore ha ba na.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Ke hobane'ng ha ke sa khone ho siea sekhechana sa synchronous? Ho bonolo haholoanyane. 'Nete ke hore haeba u kenya ho tloha ho mabotho a likete tse 10, joale ntho e' ngoe le e 'ngoe e ntle - u tla fumana hanyenyane ho moeti e mong le e mong, u kenya moo hang ka motsotsoana, ntho e' ngoe le e 'ngoe e ntle. Empa nka rata hore morero ona o sebetse, ka mohlala, ho tloha mechine e 'meli, e le hore u ka khoasolla ka lebelo le phahameng - mohlomong u se ke ua fumana boholo ba Clickhouse, empa ngola bonyane megabytes tse 100 ka motsotsoana ho tloha mochine o le mong ka proxy e fapaneng - morero ona o tlameha ho lekana ho ea ho tse kholo le tse nyenyane, kahoo re ke ke ra emela motsotsoana bakeng sa ho kenngoa ka 'ngoe, kahoo e tlameha ho ba asynchronous. 'Me ka tsela e ts'oanang, litiiso tsa asynchronous li lokela ho tla ka mor'a hore ho kenyelletsoa ho phethoe. Re tla tseba hore na e fetile kapa che.

Ntho ea bohlokoa ka ho fetisisa ke hore morerong ona re tseba hantle hore na ho kenngoa ho etsahetse kapa che. Ak'u inahanele boemo bona: u na le tafole ea buffer, u ngotse ho hong ho eona, ebe, ha re re, tafole e kene ka har'a mokhoa oa ho bala feela mme e leke ho hlakola buffer. Lintlha li tla ea hokae? Ba tla lula ka har'a buffer. Empa re ke ke ra ba le bonnete ba sena - ho thoe'ng haeba ho na le phoso e 'ngoe, ka lebaka leo data e ke keng ea lula e le buffer ... (Liaterese Alexey Milovidov, Yandex, ClickHouse developer) Kapa na e tla sala? Kamehla? Alexey o re kholisa hore tsohle li tla loka. Ha re na lebaka la ho se lumele ho eena. Empa ho ntse ho le joalo: haeba re sa sebelise litafole tsa buffer, ho ke ke ha e-ba le mathata leha e le afe ka tsona. Ho theha litafole tse peli ho feta ha ho bonolo, le hoja ka molao-motheo ha ho na mathata a maholo. Leano ke lena.

Ha re bue ka ho bala

Joale ha re bue ka ho bala. Re boetse re ngotse sesebelisoa sa rona mona. Ho ka bonahala eka, ke hobane'ng ha u ngola sesebelisoa sa hau mona? .. Hona ke mang ea sebelisitseng Tabix? Ka tsela e itseng batho ba seng bakae ba phahamisitse matsoho a bona ... 'Me ke mang ea khotsofalitsoeng ke ts'ebetso ea Tabix? Che, ha re e thabele, 'me ha e bonolo haholo bakeng sa ho shebella data. E nepahetse bakeng sa li-analytics, empa bakeng sa ho e shebella ka ho hlaka ha ea ntlafatsoa. Kahoo ke ile ka ngola ea ka, sebopeho sa ka.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

E bonolo haholo - e ka bala data feela. Ha a tsebe ho bontša litšoantšo, ha a tsebe ho etsa letho. Empa e ka bontša seo re se hlokang: mohlala, hore na ho na le mela e mekae tafoleng, hore na e nka sebaka se kae (ntle le ho e arola ka litšiea), ke hore, sebopeho sa motheo haholo ke seo re se hlokang.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

'Me e shebahala e ts'oana haholo le Sequel Pro, empa e entsoe feela ho Twitter's Bootstrap, le mofuta oa bobeli. Ua botsa: "Yuri, hobane'ng ka mofuta oa bobeli?" Selemong sefe? 2018? Ka kakaretso, ke entse sena khale haholo bakeng sa "Muscle" (MySQL) mme ke sa tsoa fetola mela e 'maloa lipotsong moo,' me e ile ea qala ho sebetsa "Clickhouse", eo re e lebohang ka ho khetheha! Hobane parser e tšoana haholo le "mesifa", 'me lipotso li tšoana haholo - li bonolo haholo, haholo-holo qalong.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Hantle, e ka sefa litafole, e ka bonts'a sebopeho le likahare tsa tafole, e u lumella ho hlophisa, ho sefa ka litšiea, ho bontša potso e hlahisitseng sephetho, mela e amehang (ka lebaka leo e kae), ke hore, lintho tsa motheo tsa ho shebella data. Ka potlako e ntle.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Ho boetse ho na le mohlophisi. Ka 'nete ke lekile ho utsoa mohlophisi eohle ho Tabix, empa ha kea khona. Empa ka tsela e itseng ea sebetsa. Ha e le hantle, ke phetho.

"Clickhouse" e loketse likoti

Ke batla ho u bolella hore Clickhouse, ho sa tsotellehe mathata 'ohle a hlalositsoeng, e loketse haholo bakeng sa lifate. Habohlokoa ka ho fetisisa, e rarolla bothata ba rona - e potlakile haholo 'me e u lumella ho sefa lifate ka litšiea. Ha e le hantle, litafole tsa buffer ha lia sebetsa hantle, empa hangata ha ho motho ea tsebang hore na ke hobane'ng ... Mohlomong joale u tseba hamolemo moo u tla ba le mathata.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

TCP? Ka kakaretso, ho VK ho tloaelehile ho sebelisa UDP. 'Me ha ke sebelisa TCP ... Ha e le hantle, ha ho motho ea ileng a mpolella: "Yuri, u bua ka eng! Ha o khone, o hloka UDP. ” Ho ile ha fumaneha hore TCP ha e tšabe hakaalo. Ntho feela ke hore, haeba u na le lik'hemik'hale tse mashome a likete tse sebetsang tseo u li ngolang, u lokela ho li lokisetsa ka hloko; empa hoa khoneha, 'me ho bonolo haholo.

Ke tšepisitse ho beha "Kittenhouse" le "Lighthouse" ho HighLoad Siberia haeba bohle ba ngolisitse "VK backend" ea rona ea sechaba ... 'Me ua tseba, hase bohle ba ngolisitseng ... Ha e le hantle, nke ke ka batla hore u ingolise ho rona. setjhaba. Ho ntse ho e-na le ba bangata haholo ba hau, motho e mong a ka 'na a khopisoa, empa leha ho le joalo, ka kopo ingolise ('me mona ke tlameha ho etsa mahlo a kang a katse). Ho joalo hokela ho eona ka tsela. Ke leboha haholo! Github ke ea rona hona mona. Ka Clickhouse moriri oa hau o tla ba bonolo ebile o le silky.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Moeta-pele: - Metsoalle, joale bakeng sa lipotso. Hang ka mor'a hore re hlahise setifikeiti sa teboho le tlaleho ea hau ka VHS.

Yuri Nasretdinov (eo hamorao a tla bitsoa YN): - U khonne joang ho hatisa tlaleho ea ka ka VHS haeba e fela?

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Moeta-pele: - Hape u ke ke ua tseba ka botlalo hore na "Clickhouse" e tla sebetsa kapa che! Metsoalle, metsotso e 5 bakeng sa lipotso!

Lipotso

Potso e tsoang ho bamameli (eo mona e tla bitsoa Q): - Lumelang. Ke leboha haholo ka tlaleho. Ke na le lipotso tse peli. Ke tla qala ka ntho e se nang thuso: na palo ea litlhaku t ka lebitso "Kittenhouse" litšoantšong (3, 4, 7 ...) e ama khotsofalo ea likatse?

YN: - Bongata ba eng?

Z: – Lengolo t. Ho na le li-t tse tharo, kae-kae ho pota-pota tse tharo.

YN: - Ha kea e lokisa? Ehlile ho joalo! Tsena ke lihlahisoa tse fapaneng - ke ne ke ntse ke u thetsa nako ena kaofela. Ho lokile, kea bapala - ha ho na taba. Ah, hona mona! Che, ke ntho e tšoanang, ke entse typo.

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Z: - Kea leboha. Potso ea bobeli e tebile. Ho ea kamoo ke utloisisang, ho Clickhouse, litafole tsa buffer li phela mohopolong feela, ha li ts'oaroe ho disk mme, ka hona, ha li phehelle.

YN: - E.

Z: - 'Me ka nako e ts'oanang, moreki oa hau o boloka li-disk, ho bolelang hore ho na le tiisetso e itseng ea ho fana ka lits'oants'o tsena. Empa sena ha se tiisetsoe ho Clickhouse. Hlalosa hore na tiisetso e etsoa joang, ka lebaka la eng?.. Mona ke mokhoa ona ka ho qaqileng haholoanyane

YN: - E, ka khopolo, ha ho na likhanyetsano mona, hobane ha Clickhouse e oela, u ka e lemoha ka litsela tse fapaneng tse limilione. Haeba Clickhouse e soahlamana (haeba e qetella ka phoso), u ka khona, ha re bua hantle, u khutlisetsa morao karoloana ea hau eo u e ngotseng fatše 'me u qale ho tloha ha tsohle li ne li le hantle. Ha re re u rewind ka motsotso, ke hore, ho nkoa hore u felisitse tsohle ka motsotso.

Z: - Ke hore, "Kittenhouse" e tšoara fensetere nako e telele, 'me haeba ho oa, e ka e lemoha le ho e khutlisetsa morao?

YN: - Empa sena se ka khopolo. Ka ts'ebetso, ha re etse sena, 'me ho fana ka mokhoa o tšepahalang ho tloha ho zero ho isa linakong tse sa feleng. Empa ka karolelano e le 'ngoe. Re khotsofetse hore haeba Clickhouse e senyeha ka lebaka le itseng kapa li-server li "qala hape," joale re lahleheloa hanyenyane. Maemong a mang kaofela, ha ho letho le tla etsahala.

Z: - Lumela. Ho tloha qalong ho ne ho bonahala eka ho 'na u tla be u sebelisa UDP ho tloha qalong ea tlaleho. U na le http, tsohle tseo ... 'Me boholo ba mathata ao u a hlalositseng, kamoo ke utloisisang kateng, a bakiloe ke tharollo ena e khethehileng ...

YN: - Re sebelisa TCP eng?

Z: - Ha e le hantle ho joalo.

YN: - Che.

Z: - E ne e le ka fasthttp moo u bileng le mathata, ka khokahano u bile le mathata. Haeba u ne u sa tsoa sebelisa UDP u ka be u ipolokile nako e itseng. Ho joalo, ho ka ba le mathata ka melaetsa e telele kapa ntho e 'ngoe ...

YN: - Ka eng?

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Z: - Ka melaetsa e telele, kaha e ka 'na ea se ke ea kena ho MTU, ntho e' ngoe ... Hantle, ho ka 'na ha e-ba le mathata a bona. Potso ke: ke hobane'ng ha UDP?

YN: - Ke lumela hore bangoli ba ntlafalitseng TCP / IP ba bohlale ho mpheta 'me ba tseba ho mpheta ho etsa serialize lipakete (e le hore ba tsamaee), ka nako e ts'oanang fetola fensetere ea ho romela, eseng ho feta marang-rang, fana ka maikutlo ho seo ha e baloe, ha e bale ka lehlakoreng le leng ... Mathata ana kaofela, ka maikutlo a ka, a ne a tla ba teng ho UDP, feela ke ne ke tla tlameha ho ngola khoutu e fetang eo ke seng ke e ngotse e le hore ke khone ho kenya ts'ebetsong ntho e tšoanang le 'na. hampe. Ha ke rate le ho ngola ka C, ha ke re letho moo ...

Z: - E loketse feela! E rometsoe hantle 'me u se ke ua emela letho - ha e lumellane ka ho feletseng. Tsebiso e ile ea khutla ea hore ntho e 'ngoe le e' ngoe e lokile - ho bolela hore e fihlile; Haeba e sa tle, ho bolela hore e mpe.

YN: - Ke hloka ka bobeli - ke hloka ho khona ho romela ka bobeli ka tiiso ea ho fana le ntle le tiiso ea ho fana. Tsena ke maemo a mabeli a fapaneng. Ke hloka ho se lahleheloe ke lifate kapa ho se lahleheloe ke tsona ka lebaka la mabaka.

Z: - Nke ke ka senya nako. Sena se hloka ho buisanoa haholoanyane. Kea leboha.

Moeta-pele: - Ke mang ea nang le lipotso - matsoho ho ea leholimong!

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

Z: - Lumela, ke 'na Sasha. Kae-kae bohareng ba tlaleho, ho ile ha hlaha maikutlo a hore, ho phaella ho TCP, ho ne ho ka khoneha ho sebelisa tharollo e lokiselitsoeng - mofuta o mong oa Kafka.

YN: - Hantle ... Ke u boleletse hore ha ke batle ho sebelisa li-server tse bohareng, hobane ... Kafka, ho bonahala eka re na le mabotho a likete tse leshome; ha e le hantle, re na le ho feta - mashome a likete tsa mabotho. Hape ho ka ba bohloko ho etsa le Kafka ntle le li-proxies. Ho phaella moo, ntho ea bohlokoa ka ho fetisisa, e ntse e fana ka "latency", e fana ka mabotho a eketsehileng ao u lokelang ho ba le 'ona. Empa ha ke batle ho ba le tsona - ke batla ...

Z: Empa qetellong ho ile ha fela ha e-ba joalo.

YN: - Che, ha ho na baeti! Sena sohle se sebetsa ho mabotho a Clickhouse.

Z: - Hantle, le "Kittenhouse", e leng se fapaneng - o lula hokae?

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

YN: - Ho moamoheli oa Clickhouse, ha e ngole letho ho disk.

Z: - A re nke hore.

Moeta-pele: – Na u khotsofetse? A na re ka u fa moputso?

Z: - E, u ka khona. Ha e le hantle, ho na le lithupa tse ngata e le hore u fumane ntho e tšoanang, 'me hona joale - karabo e fetileng ka taba ea TCP e hanyetsana, ka maikutlo a ka, boemo bona. Ho utloahala eka ntho e 'ngoe le e' ngoe e ka be e entsoe ka mangole a ka ka nako e nyane haholo.

YN: Hape ke hobane'ng ha ke ne ke sa batle ho sebelisa Kafka, hobane ho ne ho e-na le litletlebo tse ngata puisanong ea Clickhouse Telegram eo, ka mohlala, melaetsa e tsoang Kafka e lahlehileng. Eseng ho tsoa Kafka ka boeona, empa ka ho kopanngoa ha Kafka le Clickhaus; kapa ntho e nngwe e ne e sa hokelane moo. Ka mantsoe a mang, ho tla hlokahala ho ngolla moreki bakeng sa Kafka ka nako eo. Ha ke nahane hore ho ka ba le tharollo e bonolo kapa e tšepahalang haholoanyane.

Z: - Mpolelle, ke hobane'ng ha u sa ka ua leka queues kapa mofuta o itseng oa bese e tloaelehileng? Kaha u re ka "asynchrony" u ka romella lits'oants'o ka botsona ka har'a queue 'me u fumane karabo ka mokhoa o lumellanang le queue?

HighLoad++, Yuri Nasretdinov (VKontakte): kamoo VK e kenyang data ho ClickHouse ho tsoa ho li-server tse mashome a likete

YN: - Ka kopo, fana ka maikutlo a hore na ho ka sebelisoa mela efe?

Z: – Leha e le efe, esita le ntle le tiisetso ea hore ba ka tatellano. Mofuta o mong oa Redis, RMQ...

YN: - Ke na le maikutlo a hore Redis e ke ke ea khona ho hula palo e joalo ea ho kenya esita le ho moeti a le mong (ka kutloisiso ea li-server tse 'maloa) tse hulang Clickhouse. Ha ke khone ho tšehetsa sena ka bopaki bofe kapa bofe (ha ke so bo tšoaee), empa ho bonahala ho 'na hore Redis ha se tharollo e molemohali mona. Ha e le hantle, tsamaiso ena e ka nkoa e le mokoloko oa melaetsa o ntlafalitsoeng, empa o etselitsoe "Clickhouse" feela.

Moeta-pele: - Yuri, ke leboha haholo. Ke sisinya hore ke qetele lipotso le likarabo mona ke bolele hore na ho ba botsitseng potso eo re tla mo fa buka efe.

YN: - Ke rata ho fana ka buka ho motho oa pele ea ileng a botsa potso.

Moeta-pele: - Hlollang! E kholo! E tsotehang! Ke leboha haholo!

Lipapatso tse ling 🙂

Kea leboha ka ho lula le rona. Na u rata lingoliloeng tsa rona? U batla ho bona litaba tse ling tse khahlisang? Re tšehetse ka ho etsa odara kapa ho khothaletsa metsoalle, cloud VPS bakeng sa batho ba ntlafatsang ho tloha ho $ 4.99, analogue e ikhethang ea li-server tsa boemo ba ho kena, e iqapetsoeng ke rona bakeng sa hau: 'Nete eohle ka VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps ho tloha $19 kapa mokhoa oa ho arolelana seva? (e fumaneha ka RAID1 le RAID10, ho fihla ho li-cores tse 24 le ho fihla ho 40GB DDR4).

Dell R730xd makhetlo a 2 a theko e tlase sebakeng sa data sa Equinix Tier IV se Amsterdam? Ke mona feela 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV ho tloha $199 naheng ea Netherlands! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - ho tloha $99! Bala ka Mokhoa oa ho haha ​​​​infrastructure Corp. sehlopha ka tšebeliso ea li-server tsa Dell R730xd E5-2650 v4 tse jang li-euro tse 9000 bakeng sa penny?

Source: www.habr.com

Eketsa ka tlhaloso