HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

HighLoad++ Moscow 2018, Maota Fono. Novema 9, 15:00

Fa'amatalaga ma fa'amatalaga: http://www.highload.ru/moscow/2018/abstracts/4066

Yuri Nasretdinov (VKontakte): o le lipoti o le a talanoa e uiga i le poto masani o le faʻatinoina o le ClickHouse i la matou kamupani - aisea matou te manaʻomia ai, o le a le tele o faʻamaumauga matou te teuina, pe faapefea ona matou tusia, ma isi.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

Isi mea: faʻaaoga Clickhouse e fai ma sui mo ELK, Big Query ma TimescaleDB

Yuri Nasretdinov: - Talofa uma! O loʻu igoa o Yuri Nasretdinov, e pei ona uma ona faailoa mai ia te aʻu. Ou te galue i le VKontakte. O le a ou talanoa pe faʻafefea ona matou faʻapipiʻi faʻamatalaga i totonu o le ClickHouse mai la matou vaʻa (sefulu afe).

O a ogalaau ma aisea e aoina ai?

O le a le mea matou te taʻu atu ia te oe: o le a le mea na matou faia, aisea na matou manaʻomia ai le "ClickHouse", i le faasologa, pe aisea na matou filifilia ai, o le a le ituaiga faʻatinoga e mafai ona e maua e aunoa ma le faʻatulagaina o se mea faʻapitoa. O le a ou faʻamatala atili atu ia te oe e uiga i laulau faʻapipiʻi, e uiga i faʻafitauli na matou feagai ma i latou ma e uiga ia matou fofo na matou atiaeina mai punaoa tatala - KittenHouse ma Lighthouse.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

Aisea na manaʻomia ai ona tatou faia se mea (e lelei mea uma ile VKontakte, saʻo?). Na matou mananaʻo e aoina faʻamaumauga faʻapipiʻi (ma e faitau selau terabytes o faʻamaumauga iina), atonu o le a sili atu ona faigofie le faʻatulagaina o fuainumera; ma o loʻo i ai a matou vaʻa o le fiasefulu afe o 'auʻaunaga e tatau ona faia uma nei mea.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

Aiseā na matou filifili ai? Masalo sa i ai ni a matou fofo mo le teuina o ogalaau. O iinei - o loʻo i ai le lautele o le "Backend VK". Ou te matua fautuaina e te lesitala i ai.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

O a ogalaau? Ole afi lea e toe fa'afo'i ai fa'asologa gaogao. O masini ile VK e ta'ua e isi ole microservices. Ma o se mea faʻapipiʻi ataata (matua tele fiafia). E faapefea? Ia, faalogo atili!

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

O a mea e mafai ona fa'aoga e teu ai ogalaau? E le mafai ona ta'ua Hadup. Ona, mo se faʻataʻitaʻiga, Rsyslog (teuina nei ogalaau i faila). LSD. O ai na te iloa le LSD? Leai, e le o lenei LSD. Teu faila, i le faasologa, foi. Ia, ClickHouse o se filifiliga uiga ese.

Clickhouse ma tagata tauva: manaʻoga ma avanoa

O le a le mea tatou te mananao ai? Matou te mananaʻo e faʻamautinoa e le tatau ona matou popole tele e uiga i le taʻaloga, ina ia aoga i fafo o le pusa, e sili atu i le faʻatulagaina laʻititi. Matou te fia tusitusi tele, ma tusi vave. Ma matou te mananaʻo e teu mo ituaiga uma o masina, tausaga, o lona uiga, mo se taimi umi. Atonu matou te fia malamalama i nisi o faafitauli na latou o mai ia i matou ma fai mai, "E le o aoga se mea iinei," ma o le 3 masina talu ai), ma matou te fia iloa le mea na tupu i le 3 masina talu ai " Fa'amauina fa'amaumauga - e manino pe aisea e fa'aopoopoina ai - aua e fa'aitiitia ai le tele o le avanoa e alu ai.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

Ma o loʻo ia i matou se manaʻoga manaia: matou te tusia i nisi taimi le gaioiga o nisi o poloaiga (mo se faʻataʻitaʻiga, ogalaau), e mafai ona sili atu i le 4 kilobytes faigofie lava. Ma afai o lenei mea e galue i luga o le UDP, ona le manaʻomia lea ona faʻaalu ... o le a leai se "ulualuga" mo le fesoʻotaʻiga, ma mo se numera tele o sapalai o le a faʻaopoopoina.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

Se'i tatou va'ai po'o le a le mea e ofo mai e le open source. Muamua, o loʻo i ai le matou Logs Engine - o le matou afi lea; I le mataupu faavae, e mafai ona ia faia mea uma, e mafai foi ona ia tusia laina uumi. Ia, e le o manino le faʻapipiʻiina o faʻamaumauga - e mafai ona matou faʻapipiʻi koluma tetele i matou lava pe a matou mananaʻo ... matou, ioe, matou te le manaʻo (pe a mafai). Pau lava le faafitauli e mafai ona ia tuuina atu na o mea e fetaui ma lona manatua; Ina ia faitau le vaega o totoe, e tatau ona e mauaina le binlog o lenei afi ma, e tusa ai, e umi se taimi.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

O a isi filifiliga o iai? Mo se faʻataʻitaʻiga, "Hadup". Faigofie le fa'agaioiga... O ai e manatu e faigofie ona fa'atutuina le Hadup? Ioe, e leai ni fa'afitauli i le pu'eina. Pe a faitau, e tulaʻi mai ni fesili i nisi taimi. I le mataupu faavae, ou te fai atu masalo e leai, aemaise lava mo ogalaau. Teuga umi - ioe, ioe, faʻapipiʻi faʻamaumauga - ioe, manoa uumi - e manino lava e mafai ona e faamaumauina. Ae o le pueina mai se numera tele o sapalai ... E tatau lava ona e faia se mea e oe lava!

Rsyslog. O le mea moni, sa matou faʻaaogaina e fai ma filifiliga faʻasao ina ia mafai ona matou faitauina e aunoa ma le lafoaia o le binlog, ae le mafai ona tusia laina uumi; i le mataupu faavae, e le mafai ona sili atu nai lo le 4 kilobytes. E tatau ona e faia faʻamaufaʻailoga faʻamaumauga i le auala lava e tasi e oe lava. O le faitau e sau mai faila.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

Ona i ai lea o le "badushka" atinae o LSD. E tutusa lava ma le "Rsyslog": e lagolagoina manoa uumi, ae le mafai ona galue i luga o le UDP ma, o le mea moni, ona o lenei, o le mea e leaga ai, e tele naua mea e manaʻomia ona toe tusia. E manaʻomia le toe faʻaleleia o le LSD ina ia mafai ona faʻamaumau mai le fiasefulu afe o sapalai.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

Ma iinei! O se filifiliga malie ole ElasticSearch. E fa'afefea ona fai atu? E lelei lana faitau, o lona uiga, e vave faitau, ae le lelei i le tusitusi. Muamua, afai e faʻapipiʻi faʻamaumauga, e matua vaivai lava. E foliga mai, o se su'esu'ega atoa e mana'omia ai fa'amaumauga tetele atu nai lo le ulua'i voluma. E faigata ona fa'agaioia ma e masani ona tula'i mai fa'afitauli. Ma, toe faʻamauina i Elastic - e tatau ona tatou faia mea uma lava.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

O iinei ClickHouse o se filifiliga lelei, ioe. Pau lava le mea o le pueina mai le fiasefulu afe o sapalai o se faʻafitauli. Ae o le mea sili e tasi le faafitauli, e mafai ona tatou taumafai e foia i se auala. Ma o le isi vaega o le lipoti e uiga i lenei faafitauli. O le a le ituaiga faʻatinoga e mafai ona e faʻamoemoeina mai le ClickHouse?

E faapefea ona tatou faaofiina? MergeTree

O ai o outou e leʻi faʻalogo pe iloa e uiga i le "ClickHouse"? E tatau ona ou taʻu atu ia te oe, a ea? Saosaoa tele. O le faʻaofiina iina - 1-2 gigabits i le sekone, paʻu e oʻo atu i le 10 gigabits i le sekone e mafai moni lava ona tatalia lenei faʻatulagaga - e lua 6-core Xeons (o lona uiga, e le sili atu le malosi), 256 gigabytes o le RAM, 20 terabytes i le RAID (leai se tasi na faʻapipiʻiina, tulaga faʻaletonu). Alexey Milovidov, ClickHouse developer, atonu o loʻo nofo iina ma tagi ona matou te leʻi faʻatulagaina se mea (mea uma na aoga mo i matou). E tusa ai, o le saoasaoa o le suʻesuʻeina o, fai mai, e tusa ma le 6 piliona laina i le sekone e mafai ona maua pe a faʻapipiʻi lelei faʻamaumauga. Afai e te fiafia i le% i luga o se manoa tusitusiga - 100 miliona laina i le sekone, o lona uiga, e foliga mai e vave tele.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

E faapefea ona tatou faaofiina? Ia, e te iloa o VK e faʻaaogaina PHP. O le a matou faʻaofi mai tagata faigaluega PHP taʻitasi e ala i le HTTP i totonu o le "ClickHouse", i totonu o le MergeTree laulau mo faʻamaumauga taʻitasi. O ai e va'aia se fa'afitauli i lenei polokalame? Mo nisi mafuaaga, e le o tagata uma na sii i luga o latou lima. Se'i ou ta'u atu ia te oe.

Muamua, e tele 'au'aunaga - e tusa ai, o le ai ai le tele o feso'ota'iga (leaga). Ona sili atu lea ona fa'aofi fa'amaumauga i totonu o le MergeTree ia le sili atu i le tasi i le sekone. Ma o ai na te iloa pe aisea? Ua lelei, ua lelei. O le a ou taʻu atu ia te oe sina mea itiiti e uiga i lenei mea. O le isi fesili manaia tatou te le o faia ni auʻiliʻiliga, tatou te le manaʻomia le faʻatamaoaigaina o faʻamaumauga, tatou te le manaʻomia ni 'auʻaunaga vavalalata, matou te mananaʻo e faʻapipiʻi saʻo i totonu o le "ClickHouse" (sili - o le sili atu saʻo, sili atu).

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

E tusa ai, faʻafefea ona faʻaofiina i totonu MergeTree? Aisea e sili ai ona fa'aofi i totonu ia le sili atu nai lo le tasi i le sekone pe itiiti ifo foi? O le mea moni o le "ClickHouse" o se faʻamaumauga tuʻufaʻatasiga ma faʻavasegaina faʻamaumauga i luga o le faʻasologa o le ki autu, ma pe a e faia se faʻapipiʻi, o le tele o faila e faia ia tutusa ma le numera o koluma o loʻo faʻavasega ai faʻamaumauga. i le fa'asologa fa'aa'e o le ki autu (e faia se lisi fa'apitoa, se seti o faila i luga o le disk mo fa'aofi ta'itasi). Ona oʻo mai lea o le isi faʻaofi, ma i tua e tuʻufaʻatasia i ni "vaega" tetele. Talu ai ona o faʻamaumauga o loʻo faʻavasegaina, e mafai ona "faʻapipiʻi" faila faila e lua e aunoa ma le tele o manatuaga.

Ae, e pei ona e mateina, afai e te tusia 10 faila mo faʻapipiʻi taʻitasi, ona vave faʻamutaina lea o ClickHouse (poʻo lau 'auʻaunaga), o lea e fautuaina ai e faʻapipiʻi i ni vaega tetele. E tusa ai, matou te leʻi faʻalauiloaina le polokalame muamua i le gaosiga. Na vave ona matou faʻalauiloaina se tasi, lea o loʻo i ai Numera 2:

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

Vaʻai faʻapea e tusa ma le afe sapalai na matou faʻalauiloaina, e naʻo le PHP. Ma i luga o 'auʻaunaga taʻitasi o loʻo i ai le matou sui faʻapitonuʻu, lea matou te taʻua o le "Kittenhouse", lea e faʻamautu le tasi fesoʻotaʻiga ma le "ClickHouse" ma faʻapipiʻi faʻamaumauga i nai sekone. Fa'aofi fa'amatalaga e le o totonu o MergeTree, ae i totonu o se laulau pa'u, lea e sa'o lelei e 'alofia ai le fa'aofi sa'o i totonu o MergeTree i le taimi lava lena.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

Galulue ma laulau fa'amau

O le a lea mea? O laulau fa'apipi'i o se vaega o mea e manatua e fa'amamafa (o lona uiga, e mafai ona fa'aofi so'o i totonu). E aofia ai le tele o vaega, ma o vaega taʻitasi e galue o se paʻu tutoʻatasi, ma e faʻafefeteina naʻo latou (afai e tele au vaega i totonu o le paʻu, o le a tele faʻapipiʻi i le sekone). E mafai ona faitau mai nei laulau - ona e faitau lea o le tuʻufaʻatasiga o mea o loʻo i totonu o le paʻu ma le laulau matua, ae o le taimi nei ua poloka le tusitusi, o lea e sili ai le aua le faitau mai iina. Ma o laulau faʻapipiʻi e faʻaalia ai le QPS lelei tele, o lona uiga, e oʻo atu i le 3 afe QPS o le ae leai ni faʻafitauli pe a tuʻuina. E manino lava afai e leiloa e le server le mana, ona mafai lea ona leiloa faʻamaumauga, aua na na o le teuina i le mafaufau.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

I le taimi lava e tasi, o le polokalame faʻatasi ai ma se paʻu faʻalavelave faʻalavelave ALTER, aua e te manaʻomia muamua le tuʻuina o le laulau paluga tuai ma le polokalame tuai (o le a le mou atu faʻamatalaga i soʻo se mea, aua o le a fufulu aʻo leʻi tape le laulau). Ona e "suia" le laulau e te manaʻomia ma toe faia le laulau paluga. E tusa ai, e ui e leai se laulau faʻapipiʻi, o au faʻamatalaga o le a le tafe i soʻo se mea, ae e mafai ona e maua i luga o le disk a itiiti ifo i le lotoifale.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

O le a le Kittenhouse ma faʻapefea ona galue?

O le a le KittenHouse? O le sui lea. matemate le gagana? Na ou aoina le tele o autu faʻapitoa i laʻu lipoti - "Clickhouse", Alu, atonu o le a ou manatuaina se isi mea. Ioe, o loʻo tusia lenei mea ile Alu, aua ou te le iloa lelei pe faʻapefea ona tusi ile C, ou te le manaʻo.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

E tusa ai, o loʻo faʻatumauina se fesoʻotaʻiga ma 'auʻaunaga taʻitasi ma e mafai ona tusi i le mafaufau. Mo se faʻataʻitaʻiga, afai matou te tusia ni ogalaau sese i le Clickhouse, afai e leai se taimi o le Clickhouse e faʻapipiʻi ai faʻamatalaga (pe a uma, pe a tele na tusia), ona matou le faʻafefeteina lea o le manatua - matou te lafo ese le mea o totoe. Aua afai tatou te tusia ni nai gigabits i le sekone o mea sese, ona mafai lea ona tatou lafoina i fafo. Kittenhouse e mafai ona faia lenei mea. Ma le isi, e mafai ona faʻatinoina le faʻatuatuaina o le tuʻuina atu, o lona uiga, tusitusi i le tisiki i luga o le masini faʻapitonuʻu ma tasi taimi uma (i ai, tasi i lua sekone) e taumafai e tuʻuina atu faʻamatalaga mai lenei faila. Ma i le taimi muamua na matou faʻaaogaina le faʻasologa masani o Tulaga - e le o se faʻatulagaga binary, o se tusitusiga (pei o le SQL masani).

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

Ae na tupu lenei mea. Na matou faʻaaogaina le faʻatuatuaina o le tuʻuina atu, tusia ogalaau, ona filifili lea (o se faʻataʻitaʻiga faʻataʻitaʻiga) ... Na tuʻuina i fafo mo ni nai itula ma toe faʻafoʻi mai, ma o se faʻaofiina na amata mai le afe servers - na foliga mai o loʻo i ai pea le Clickhouse "Fula i luga ole fesoʻotaʻiga" - e tusa ai, i le afe o fesoʻotaʻiga, o le faʻaofiina malosi e taʻitaʻia ai le averesi o uta i luga o le 'auʻaunaga e tusa ma le tasi ma le afa afe. O le mea e ofo ai, na talia e le 'auʻaunaga talosaga, ae na faʻapipiʻi pea faʻamaumauga ina ua mavae sina taimi; ae sa faigata tele mo le server ona tautuaina...

Faʻaopoopo le nginx

O sea fofo mo le Thread per connection model o le nginx. Na matou faʻapipiʻi le nginx i luma o le Clickhouse, i le taimi lava e tasi e faʻatutuina le paleni mo faʻataʻitaʻiga e lua (o la matou faʻapipiʻi saoasaoa na faʻateleina i le 2 taimi, e ui lava e le o se mea moni e tatau ona tupu lenei mea) ma faʻatapulaʻa le numera o fesoʻotaʻiga i Clickhouse, i le i luga ma, e tusa ai, sili atu, nai lo le 50 fesoʻotaʻiga, e foliga mai e leai se aoga i le faʻaofiina.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

Ona matou iloa ai lea o lenei polokalame e masani lava ona i ai ni mea le lelei, aua e na o le tasi le matou nginx iinei. E tusa ai, afai e paʻu lenei nginx, e ui lava i le i ai o faʻataʻitaʻiga, matou te leiloa faʻamaumauga pe, a itiiti ifo, aua le tusia i soo se mea. O le mea lena na matou faia ai a matou lava paleni uta. Na matou iloa foi o le "Clickhouse" e talafeagai pea mo ogalaau, ma na amata foi e le "temoni" ona tusi ana ogalaau i le "Clickhouse" - e matua faigofie lava, ia faamaoni. Matou te faʻaaogaina pea mo isi "temoni".

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

Ona matou mauaina lea o lenei faʻafitauli mataʻutia: afai e te faʻaogaina se auala e le masani ai o le faʻaofiina i le SQL mode, e faʻamalosia ai le AST-based SQL parser, lea e telegese. E tusa ai, ua matou faʻaopoopoina tulaga e faʻamautinoa ai e le tupu lenei mea. Sa matou faia load balancing, siaki le soifua maloloina, ina ia a oti se tasi, matou te tuua pea faʻamaumauga. O loʻo iai nei a matou laulau e manaʻomia e iai ni faʻaputuga Clickhouse eseese. Ma na amata foʻi ona matou mafaufau i isi faʻaoga - mo se faʻataʻitaʻiga, matou te manaʻo e tusi ni ogalaau mai le nginx modules, ae latou te le iloa pe faʻafefea ona fesoʻotaʻi e faʻaaoga ai la matou RPC. Ia, ou te manaʻo e aʻoaʻo i latou pe faʻafefea ona lafo - mo se faʻataʻitaʻiga, ia maua mea e tutupu ile localhost e ala ile UDP ona tuʻuina atu lea i le Clickhouse.

Tasi le laa ese mai le fofo

O le fuafuaga mulimuli na amata ona pei o lenei (o le fa o lenei polokalame): i luga o sapalai taʻitasi i luma o le Clickhouse o loʻo i ai le nginx (i luga o le server lava e tasi) ma e naʻo le faʻafeiloaʻi o talosaga i le localhost ma se tapulaa i le numera o fesoʻotaʻiga 50 fasi. Ma o lenei polokalame ua leva ona aoga, na lelei mea uma i ai.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

E tusa ma le masina na ma ola ai faapea. Na fiafia tagata uma, latou faʻaopoopo laulau, latou faʻaopoopoina, latou faʻaopoopoina ... I se tulaga lautele, na aliali mai o le auala na matou faʻaopoopoina ai laulau faʻapipiʻi e leʻo sili ona lelei (seʻi o tatou tuʻuina i lena auala). Sa matou faia ni fasipepa se 16 i laulau ta'itasi ma se va emo mo ni nai sekone; e 20 a matou laulau ma o laulau ta'itasi na maua le 8 fa'aofi i le sekone - ma o le taimi lea na amata ai le "Clickhouse" ... na amata fa'agesegese le fa'amaumauga. Latou te leʻi oʻo lava i le ... Nginx e ala i le le mafai ona i ai se mea manaia pe a faʻamutaina fesoʻotaʻiga i luga, ona toe faʻafoʻi mai lea o le "502" i talosaga fou uma.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

Ma o iinei tatou te maua (na'o ou tilotilo i ogalaau i Clickhouse lava ia) e tusa ma le afa pasene o talosaga na le manuia. O le mea lea, sa maualuga le fa'aogaina o tisiki, sa tele fa'atasi. Ia, o le a le mea na ou faia? E masani lava, ou te leʻi faʻalavelave e mafaufau pe aisea na muta ai le fesoʻotaʻiga ma luga.

Suia le nginx i se sui sui

Na ou filifili e tatau ona tatou pulea lenei mea, tatou te le manaʻomia le tuʻuina atu i le nginx - e le iloa e nginx poʻo a laulau o loʻo i ai i le Clickhouse, ma na ou suia le nginx i se sui sui, lea na ou tusia foi e aʻu lava.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

O le a lana mea o fai? E galue e faʻavae i luga o le faletusi fasthttp "goshnoy", o lona uiga, vave, toetoe lava a vave pei o le nginx. Fa'amalie atu, Igor, pe afai o lo'o e iai iinei (fa'aaliga: Igor Sysoev o se tagata fai polokalame Rusia na ia faia le server web nginx). E mafai ona malamalama pe o le a le ituaiga o fesili nei - INSERT poʻo le SELECT - e tusa ai, o loʻo i ai vaitaele fesoʻotaʻiga eseese mo ituaiga fesili eseese.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

E tusa ai, e tusa lava pe leai so tatou taimi e faʻatumu ai talosaga faʻapipiʻi, o le "filifilia" o le a pasi, ma le isi itu. Ma e faʻapipiʻi faʻamaumauga i luga o laulau faʻapipiʻi - faʻatasi ai ma sina paʻu laʻititi: afai ei ai ni mea sese, faʻasologa o mea sese, ma isi mea - ina ia latou le aʻafia tele ai isi faʻamaumauga, aua a naʻo matou faʻaofi i totonu o laulau faʻapipiʻi, matou sa i ai ni "bachi" laiti, ma o mea sese uma na o le syntax na aafia ai lenei tamai vaega; ma o iinei o le a latou aafia ai se pa puipui tele. Laiti e 1 megabyte, o lona uiga, e le la'ititi.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

O le faʻaofiina o se fesoʻotaʻiga ma suia le nginx, e tutusa lava le mea na faia e nginx muamua - e te le manaʻomia le suia o le "Kittenhouse" i le lotoifale mo lenei. Ma talu ai e faʻaaogaina le fasthttp, e matua vave lava - e mafai ona e faia le sili atu i le 100 afe talosaga i le sekone mo faʻapipiʻi tasi e ala i se sui sui. I le talitonuga, e mafai ona e faʻaofiina le laina tasi i le taimi i totonu o le kittenhouse reverse sui, ae o le mea moni matou te le faia lena mea.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

O le polokalame na amata e pei o lenei: "Kittenhouse", o le sui sui sui e tele talosaga i luga o laulau ma, i le isi itu, o laulau faʻapipiʻi faʻapipiʻi i totonu o mea autu.

Killer o se fofo le tumau, Kitten e tumau

Ose fa'afitauli mata'ina lea... Ua i ai se tasi o 'outou na fa'aogaina le fasthttp? O ai na fa'aogaina le fasthttp ma talosaga POST? Masalo, e le tatau ona faia lenei mea, aua e puipuia le tino o le talosaga e ala i le faaletonu, ma o le matou paʻu tele na seti i le 16 megabytes. O le faʻaofiina na taofia le tausia i se taimi, ma 16-megabyte pusi na amata ona oʻo mai mai le fiasefulu afe o 'auʻaunaga, ma na faʻapipiʻi uma i latou i le mafaufau ae leʻi auina atu i Clickhouse. O lea la, ua uma le manatua, na sau le Out-Of-Memory Killer ma fasiotia le sui sui (poʻo le "Clickhouse", lea e mafai ona "ai" sili atu nai lo le sui sui). Na toe fai le taamilosaga. E le o se faafitauli manaia tele. E ui na matou tautevateva i lenei mea ina ua mavae ni nai masina o taotoga.

O le a le mea ua ou faia? Toe foi, ou te le fia malamalama i le mea tonu na tupu. Ou te manatu e matua manino lava e le tatau ona e faʻafefe i lou mafaufau. Sa le mafai ona ou patch fasthttp, e ui sa ou taumafai. Ae na ou mauaina se auala e fai ai ina ia leai se mea e manaʻomia e faʻapipiʻi ai se mea, ma na ou sau i laʻu lava metotia i HTTP - Na ou taʻua o KITTEN. Ia, e talafeagai - "VK", "Pusi"... O le a se isi mea?..

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

Afai e oʻo mai se talosaga i le 'auʻaunaga ma le auala Kitten, e tatau ona tali mai le 'auʻaunaga "meow" - faʻamaonia. Afai na te tali mai i lenei mea, ona manatu lea o ia e malamalama i lenei tulafono, ona ou faʻalavelaveina lea o le fesoʻotaʻiga (fasthttp ei ai se auala faapena), ma o le fesoʻotaʻiga e alu i le "mata" mode. Aisea ou te manaomia ai? Ou te manaʻo e pulea pe faʻafefea ona tupu le faitau mai fesoʻotaʻiga TCP. O loʻo i ai i le TCP se meatotino matagofie: afai e leai se tasi e faitau mai le isi itu, ona amata loa lea ona faʻatali le tusi, ma e le faʻaalu faapitoa le mafaufau i lenei mea.

Ma o lea na ou faitau ai mai le tusa ma le 50 tagata faʻatau i le taimi (mai le limasefulu ona o le limasefulu e tatau ona lava, e tusa lava pe o le fua e sau mai le isi DC)... Faʻatau ua faʻaitiitia i lenei auala e le itiiti ifo i le 20 taimi, ae o aʻu, ia faʻamaoni , E le mafai ona ou fuaina tonu le taimi, aua ua leai se aoga (ua uma ona oʻo i le tulaga o mea sese). O le protocol e binary, o lona uiga, o loʻo i ai le igoa laulau ma faʻamaumauga; e leai ni ulutala http, o lea ou te leʻi faʻaogaina ai se upega tafaʻilagi (Ou te le manaʻomia le fesoʻotaʻi ma tagata suʻesuʻe - na ou faia se maliega e fetaui ma o tatou manaʻoga). Ma sa lelei mea uma ia te ia.

E faanoanoa le laulau pa puipui

Talu ai nei na matou tau atu ai i se isi uiga manaia o laulau faʻapipiʻi. Ma o lenei faafitauli ua sili atu ona tiga nai lo isi. Sei o tatou mafaufau i lenei tulaga: ua uma ona e faʻaaogaina le Clickhouse, e tele au 'auʻaunaga Clickhouse, ma o loʻo i ai ni au talosaga e umi se taimi e faitau ai (tatou fai atu, sili atu i le 60 sekone); ma e te sau e fai le Alter i le taimi nei... I le taimi nei, "filifilia" na amata muamua i le "Alter" o le a le aofia i totonu o lenei laulau, "Alter" o le a le amataina - masalo o nisi o vaega o le auala e galue ai le "Clickhouse" i totonu. lenei nofoaga. Masalo e mafai ona faaleleia lea mea? Pe le mafai ea?

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

I se tulaga lautele, e manino lava o le mea moni e le o se faʻafitauli tele, ae faʻatasi ai ma laulau faʻapipiʻi e sili atu ona tiga. Aua, afai, seʻi tatou fai atu, o lau "Suiga" taimi malolo (ma e ono alu i luga o se isi talimalo - e le o oe, ae i luga o se faʻataʻitaʻiga, mo se faʻataʻitaʻiga), ona ... Na e tapeina le laulau paʻu, lau "Alter" ( po'o se isi tagata talimalo) ua uma le taimi. ona tupu ai lea o se "Suiga" mea sese) - e mana'omia pea ona e mautinoa o lo'o fa'aauau pea ona tusia fa'amaumauga: e te toe fo'i i tua laulau fa'amau (e tusa ai ma le polokalame tutusa ma le laulau matua), ona "Sui" e alu, fa'ai'u pe a uma, ma o le pa'u o le laulau e amata ona ese i le schema mai le matua. Faʻalagolago i le mea na i ai le "Alter", e le toe alu le faʻapipiʻi i lenei laulau faʻapipiʻi - e matua faanoanoa lava.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

O loʻo iai foʻi se faʻailoga faʻapea (atonu na matauina e se tasi) - e taʻua o le query_thread_log i faʻamatalaga fou o le Clickhouse. E ala i le faaletonu, i nisi faʻamatalaga sa i ai se tasi. O iinei ua matou faʻaputuina 840 miliona faʻamaumauga i totonu o ni nai masina (100 gigabytes). E mafua ona o le mea moni na tusia ai "faaofi" iina (atonu o le taimi nei, i le ala, e le o tusia). E pei ona ou fai atu ia te oe, o matou "faaofi" e laiti - e tele a matou "faaofi" i totonu o laulau faʻapipiʻi. E manino lava e le atoatoa lenei mea - o loʻo ou taʻu atu ia te oe le mea na ou vaʻaia i luga o la matou 'auʻaunaga. Aisea? O le isi lea finauga e faasaga i le faʻaaogaina o laulau faʻapipiʻi! E matua faanoanoa lava Spotty.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

O ai na iloa o le igoa o lenei alii o Spotty? Ua sii lima o tagata faigaluega a le VK. Ua lelei.

E uiga i fuafuaga mo le "KitttenHouse"

O fuafuaga e masani lava ona le faʻasoa, saʻo? E teʻi lava e te le faʻataunuʻuina ma o le a le foliga lelei tele i mata o isi tagata. Ae o le a ou faia le tulaga lamatia! Matou te mananaʻo e fai mea nei: laulau faʻapipiʻi, e foliga mai ia te aʻu, o se tootoo ma e manaʻomia ona matou faʻapipiʻi le faʻaofiina oi matou lava. Ae matou te le manaʻo e faʻapipiʻi i luga o le tisiki, o lea o le a matou faʻapipiʻi le faʻaofi i le mafaufau.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

E tusa ai ma lea, pe a faia se "faaofi", o le a le toe faʻaogaina - o le a uma ona galue o se laulau faʻapipiʻi, o le a faʻaofi i totonu o le laulau matua (lelei, i se aso mulimuli ane) ma lipoti atu e ala i se isi auala e faʻapipiʻi ua pasia ma lea. e leai.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

Aisea e le mafai ai ona ou tu'ua le fa'aofi fa'atasi? E sili atu ona faigofie. O le mea moni afai e te faʻapipiʻi mai le 10 'au, ona lelei lea o mea uma - o le ae mauaina sina mea itiiti mai 'au taʻitasi, e te faʻapipiʻi i ai i le tasi le sekone, e lelei mea uma. Ae ou te manaʻo e galue lenei polokalame, mo se faʻataʻitaʻiga, mai masini e lua, ina ia mafai ona e sii maia i le saoasaoa maualuga - atonu e le maua le maualuga mai le Clickhouse, ae tusi le itiiti ifo i le 100 megabytes i le sekone mai le masini e tasi e ala i se sui sui - e tatau ona fua le polokalame i le tele ma le laititi, o lea e le mafai ai ona tatou faʻatali se sekone mo faʻapipiʻi taʻitasi, o lea e tatau ai ona asynchronous. Ma i le auala lava e tasi, e tatau ona oʻo mai faʻamaoniga asynchronous pe a maeʻa le faʻaofiina. O le a tatou iloa pe na pasi pe leai.

O le mea pito sili ona taua o le i totonu o lenei polokalame tatou te iloa mautinoa pe na tupu le faʻaofiina pe leai. Vaai faalemafaufau i le tulaga lenei: o loʻo i ai sau laulau faʻapipiʻi, na e tusia ai se mea i totonu, ona fai atu lea, o le laulau na alu i le faitau naʻo le faitau ma taumafai e faʻafefe le pa. O fea o le a alu i ai faʻamatalaga? O le a latou tumau i totonu o le paʻu. Ae e le mafai ona tatou mautinoa i lenei mea - faʻafefea pe a iai se isi mea sese, ona o le a le tumau ai faʻamaumauga i totonu o le paʻu ... (Addresses Alexey Milovidov, Yandex, ClickHouse developer) Pe o le a tumau? I taimi uma? Alexey faatalitonu i tatou o le a lelei mea uma. E leai se mafuaaga tatou te le talitonu ai ia te ia. Ae tutusa uma lava: afai tatou te le faʻaogaina laulau faʻapipiʻi, ona leai lea o ni faʻafitauli ia i latou. Fausiaina faalua le tele o laulau e le faigofie foi, e ui lava i le mataupu faavae e leai ni faafitauli tetele. O le fuafuaga lea.

Sei o tatou talanoa e uiga i le faitau

Ia tatou talanoa nei e uiga i le faitau. Sa matou tusia foi a matou lava meafaigaluega iinei. E foliga mai, ia, aisea e tusi ai lau lava meafaifaaili iinei?.. Ma o ai na faʻaaogaina Tabix? I se isi itu, e toaitiiti tagata na sii o latou lima ... Ma o ai ua faamalieina i le faatinoga a Tabix? Ia, matou te le fiafia i ai, ma e le faigofie tele mo le matamataina o faʻamatalaga. E lelei mo au'ili'iliga, ae na'o le va'ai e manino lava e le'o fa'alelei. O lea na ou tusia ai laʻu lava mea, o laʻu lava atinaʻe.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

E matua faigofie lava - na'o fa'amaumauga e mafai ona faitau. Na te le iloa fa'aali ata, na te le iloa fai se mea. Ae e mafai ona faʻaalia mea tatou te manaʻomia: mo se faʻataʻitaʻiga, pe fia laina o loʻo i totonu o le laulau, o le a le tele o le avanoa e alu i luga (e aunoa ma le talepeina i lalo i koluma), o lona uiga, o se atinaʻe masani o le mea tatou te manaʻomia.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

Ma e foliga tutusa lava ma le Sequel Pro, ae na o le Twitter's Bootstrap, ma le lona lua. E te fesili: "Yuri, aisea i le lomiga lona lua?" O le ā le tausaga? 2018? I se tulaga lautele, na ou faia lenei mea i se taimi ua leva mo le "Muscle" (MySQL) ma na o le suia o ni nai laina i fesili iina, ma amata galue mo le "Clickhouse", lea e faafetai faapitoa ai! Aua o le parser e talitutusa lava ma le "muscle", ma o fesili e tutusa lelei - e matua faigofie lava, aemaise lava i le taimi muamua.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

Ia, e mafai ona faʻamama laulau, mafai ona faʻaalia le fausaga ma mea o loʻo i totonu o le laulau, faʻatagaina oe e faʻavasega, faʻamama i koluma, faʻaalia le fesili na iʻu ai i le iʻuga, o laina ua afaina (e fia o se taunuuga), o lona uiga, o le mea faavae mo le matamataina o faamatalaga. Faigofie vave.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

E iai fo'i le fa'atonu. Sa ou taumafai faamaoni e gaoi le faatonu atoa mai Tabix, ae sa ou le mafaia. Ae i se auala e aoga. I le mataupu faavae, pau lava lena.

"Clickhouse" e talafeagai mo lua

Ou te fia taʻu atu ia te oe o le Clickhouse, e ui lava i faʻafitauli uma o loʻo faʻamatalaina, e fetaui lelei mo ogalaau. O le mea pito sili ona taua, e foia ai le matou faʻafitauli - e matua televave ma faʻatagaina oe e faʻamama ogalaau i koluma. I le faʻavae, e leʻi lelei le faʻatinoina o laulau faʻapipiʻi, ae masani lava e leai se tasi na te iloa pe aisea ... Masalo o lea ua e iloa lelei le mea o le ai ai ni faʻafitauli.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

TCP? I se tulaga lautele, i le VK e masani ona faʻaaoga UDP. Ma ina ua ou faʻaogaina le TCP ... Ioe, e leai se tasi na taʻu mai ia te aʻu: "Yuri, o le a lau tala! E te le mafaia, e te manaʻomia le UDP. Na aliali mai e le fa'afefe tele le TCP. Pau lava le mea, afai e fia sefulu afe au mea faʻamalosi e te tusia, e tatau ona e saunia ma le faaeteete; ae e mafai, ma e fai lava si faigofie.

Na ou folafola e lafo le "Kittenhouse" ma le "Lighthouse" i luga o HighLoad Siberia pe afai e lesitala tagata uma i la matou lautele "VK backend" ... Ma e te iloa, e le o tagata uma na lesitala ... Ioe, ou te le talosagaina oe e te lesitala i la matou lautele. E toatele naua outou, atonu e ita se tasi, ae peitai, faamolemole ia lesitala (ma o iinei e tatau ona ou faia mata e pei o se pusi). o lena soosoo atu i ai i le ala. Faafetai lava! Github a matou saʻo iinei. Faatasi ai ma le Clickhouse o lou lauulu o le a vaivai ma silika.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

Taʻitaʻi: - Uo, i le taimi nei mo fesili. A mae'a ona matou tu'uina atu le tusi fa'afetai ma lau lipoti ile VHS.

Yuri Nasretdinov (o loʻo taʻua mulimuli ane o YN): – Na fa'apefea ona e fa'amauina la'u lipoti ile VHS pe a fa'ato'a uma?

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

Taʻitaʻi: - E le mafai foi ona e iloa atoatoa pe faʻafefea ona galue le "Clickhouse" pe leai! Uo, 5 minute mo fesili!

Au fesili

Fesili mai le aofia (o loʻo taʻua mulimuli ane o le Q): - Manuia le aoauli. Faafetai tele mo le lipoti. E lua a'u fesili. O le a ou amata i se mea faatauvaa: pe o le numera o mataitusi t i le igoa "Kittenhouse" i ata (3, 4, 7...) e aafia ai le faamalieina o pusi?

YN: - Tele o le a?

З: – Mataitusi t. E tolu t, pe tusa ma le tolu t.

YN: - Ou te leʻi faʻaleleia? Ia, e moni lava! O oloa ‘ese’ese ia – na’o lo’u fa’aseseina oe i lea taimi atoa. Ua lelei, ou te ula - e le afaina. Oi, iinei! Leai, o le mea lava lea e tasi, na ou faia se mea sese.

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

З: - Fa'afetai. O le fesili lona lua e ogaoga. E tusa ai ma loʻu malamalama, i le Clickhouse, o laulau paʻu e ola naʻo le manatua, e le faʻapipiʻiina i le tisiki ma, e tusa ai, e le tumau.

YN: - Ioe.

З: - Ma i le taimi lava e tasi, o lau kalani e faʻapipiʻi i le disk, o lona uiga o se faʻamaoniga o le tuʻuina atu o nei lava ogalaau. Ae e leai se faʻamaoniga i le Clickhouse. Fa'amatala pe fa'apefea ona fa'atino le fa'amaoniga, ona o le a?

YN: - Ioe, i le talitonuga e leai ni feteenaiga iinei, aua pe a pa'ū Clickhouse, e mafai ona e iloa moni i le miliona auala eseese. Afai e paʻu le Clickhouse (pe a faʻauʻu sese), e mafai, pe a tautala, toe viliina sina vaega o lau ogalaau na e tusia i lalo ma amata mai le taimi na lelei ai mea uma. Se'i faapea ua e toe viliina se minute, o lona uiga, ua manatu ua e fufulu mea uma i le minute.

З: - O lona uiga, o le "Kittenhouse" e umi ona taofi le faamalama ma, pe a pa'ū, e mafai ona iloa ma toe viliina?

YN: - Ae o le mea lea i le talitonuga. I le faʻataʻitaʻiga, matou te le faia lenei mea, ma le faʻatuatuaina o le tuʻuina atu e mai le zero i taimi e le gata. Ae i le averesi tasi. Matou te faʻamalieina afai e paʻu le Clickhouse mo nisi mafuaʻaga poʻo le 'auʻaunaga "toe faʻafouina," ona matou leiloa lea. I isi tulaga uma, e leai se mea e tupu.

З: - Talofa. Mai lava i le amataga na foliga mai ia te aʻu o le a e faʻaaogaina le UDP mai le amataga o le lipoti. O loʻo ia te oe http, mea uma na ... Ma o le tele o faʻafitauli na e faʻamatalaina, e pei ona ou malamalama i ai, na mafua mai i lenei fofo faapitoa ...

YN: – O le a le mea tatou te fa'aaogaina TCP?

З: - O le mea moni ioe.

YN: - Leai.

З: - O le fasthttp na i ai ou faʻafitauli, ma le fesoʻotaʻiga na e iai faʻafitauli. Afai na e faʻaaogaina le UDP semanu e te faʻasaoina oe lava mo sina taimi. Ia, e iai fa'afitauli i fe'au uumi po'o se isi mea...

YN: - Fa'atasi?

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

З: - Faʻatasi ai ma feʻau uumi, talu ai atonu e le fetaui i totonu o le MTU, o se isi mea ... Ia, atonu ei ai ni a latou lava faʻafitauli. O le fesili o le: aisea e le UDP?

YN: - Ou te talitonu o tusitala na atiaʻe le TCP / IP e sili atu le popoto nai lo aʻu ma sili atu le iloa nai lo aʻu pe faʻafefea ona faʻapipiʻi pepa (ina ia latou alu), i le taimi lava e tasi e fetuutuunai le faamalama o le auina atu, ae le o le mamafa o le fesoʻotaʻiga, tuʻuina atu faʻamatalaga i luga o le a e le o faitau, e le faitaulia i le isi itu ... O nei faafitauli uma, i loʻu manatu, o le a i ai i le UDP, naʻo le tatau ona ou tusia atili code nai lo le mea ua uma ona ou tusia ina ia mafai ai ona faʻatinoina le mea lava lea e tasi ma e foliga mai. leaga. Ou te le fiafia tele e tusitusi i le C, sei vagana ai iina ...

З: - Na'o le faigofie! Tu'u lelei ma aua le fa'atali mo se mea - e matua'i le fetaui. Na toe fo'i mai se fa'aaliga o lo'o lelei mea uma - o lona uiga ua taunu'u mai; Afai e le oo mai, o lona uiga e leaga.

YN: - Ou te manaʻomia uma - Ou te manaʻomia le mafai ona auina atu uma e lua ma se faʻamaoniga o le tuʻuina atu ma e aunoa ma se faʻamaoniga o le tuʻuina atu. O vaaiga eseese ia e lua. E le tatau ona ou leiloa nisi ogalaau pe leai foi i latou i se mafuaaga.

З: - Ou te le faʻaumatia taimi. E tatau ona talanoaina atili lenei mea. Fa'afetai.

Taʻitaʻi: – O ai e iai ni fesili – lima i le lagi!

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

З: - Talofa, o aʻu o Sasha. I se mea i le ogatotonu o le lipoti, o se lagona na aliali mai, i le faaopoopo atu i le TCP, na mafai ona faʻaaogaina se fofo ua saunia - o se ituaiga o Kafka.

YN: - Ia ... Na ou taʻu atu ia te oe ou te le manaʻo e faʻaoga 'auʻaunaga vavalo, aua ... i Kafka, e foliga mai e sefulu afe a tatou 'au; o le mea moni, e sili atu - sefulu afe o 'au. E mafai foi ona tiga le faia ma Kafka e aunoa ma ni sui. E le gata i lea, o le mea pito sili ona taua, o loʻo tuʻuina atu pea le "latency", e tuʻuina atu ai faʻasalalauga faaopoopo e te manaʻomia e maua. Ae ou te le manaʻo e maua - ou te manaʻo ...

З: "Ae i le faaiuga na iu lava i lena auala."

YN: - Leai, e leai ni 'au! O nei mea uma e galue i luga ole Clickhouse hosts.

З: - Ia, ma le "Kittenhouse", o le isi itu - o fea e nofo ai?

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

YN: - I luga o le Clickhouse host, e le tusia se mea i le disk.

З: - Se'i tatou manatu.

Taʻitaʻi: – Ua e faamalieina? E mafai ona matou avatu ia te oe se totogi?

З: - Ioe, e te mafaia. O le mea moni, o loʻo i ai le tele o tootoo ina ia maua ai le mea lava e tasi, ma o lenei - o le tali muamua i le autu o le TCP e feteenai, i loʻu manatu, o lenei tulaga. E pei lava na mafai ona faia mea uma i luga o oʻu tulivae i se taimi itiiti.

YN: - Ma pe aisea foi ou te le manaʻo ai e faʻaaoga Kafka, aua e tele naua faitioga i le Clickhouse Telegram talatalanoaga, mo se faʻataʻitaʻiga, na leiloa savali mai Kafka. E le mai Kafka lava ia, ae i le tuufaatasia o Kafka ma Clickhaus; po'o se mea e le'i feso'ota'i iina. I se tautalaga faʻapitoa, e tatau ona tusi se tagata faʻatau mo Kafka i lena taimi. Ou te le manatu e mafai ona i ai se fofo sili atu ona faigofie pe sili atu ona faatuatuaina.

З: - Taʻu mai ia te aʻu, aisea na e le faʻataʻitaʻia ai soʻo se laina poʻo se ituaiga o pasi masani? Talu ai e te fai mai i le asynchrony e mafai ona e lafoina ogalaau latou lava e ala i le laina ma maua le tali asynchronously e ala i le laina?

HighLoad++, Yuri Nasretdinov (VKontakte): faʻafefea ona faʻapipiʻi e VK faʻamatalaga i totonu o le ClickHouse mai le fiasefulu afe o sapalai

YN: – Fa'amolemole fautua mai po'o a laina e mafai ona fa'aoga?

З: - Soʻo se mea, e tusa lava pe leai se faʻamaoniga o loʻo lelei. O nisi ituaiga o Redis, RMQ...

YN: - E i ai loʻu lagona e foliga mai o le a le mafai e Redis ona tosoina se tele o faʻaofiina e oʻo lava i luga o le tasi talimalo (i le uiga o le tele o sapalai) e toso ese ai Clickhouse. E le mafai ona ou lagolagoina lenei mea i soʻo se faʻamaoniga (Ou te leʻi faʻailogaina), ae e foliga mai ia te aʻu o Redis e le o le fofo sili lea. I le mataupu faavae, o lenei faiga e mafai ona mafaufauina o se laina feʻau faʻaleleia, ae e faʻatulagaina mo naʻo le "Clickhouse"

Taʻitaʻi: – Yuri, faafetai tele lava. Ou te fautua atu e faamuta fesili ma tali iinei ma ta'u atu po o ai o i latou na fai mai le fesili o le a matou tuuina atu i ai le tusi.

YN: – Ou te fia avatu se tusi i le tagata muamua na fai se fesili.

Taʻitaʻi: - Matagofie! Matagofie! Matagofie! Faafetai tele lava!

O nisi faʻasalalauga 🙂

Faafetai mo le nofo faatasi ma i matou. E te fiafia i a matou tala? E te mana'o e va'ai i mea e sili atu ona manaia? Lagolago i matou e ala i le tuʻuina atu o se faʻatonuga pe fautuaina i uo, cloud VPS mo tagata atiae mai le $4.99, o se faʻatusa tulaga ese o sapalai tulaga ulufale, lea na matou faia mo oe: O le mea moni atoa e uiga i VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps mai le $ 19 pe faʻafefea ona faʻasoa se server? (avanoa ma RAID1 ma RAID10, e oʻo atu i 24 cores ma oʻo atu i le 40GB DDR4).

Dell R730xd 2x taugofie i Equinix Tier IV nofoaga autu o faamatalaga i Amsterdam? Na'o iinei 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV mai le $199 i Netherlands! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - mai le $99! Faitau e uiga i Fa'afefea ona fausia infrastructure corp. vasega faʻatasi ma le faʻaogaina o Dell R730xd E5-2650 v4 servers aoga 9000 euros mo se pene?

puna: www.habr.com

Faaopoopo i ai se faamatalaga