Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

HighLoad++ Moscó 2018, Halla na Comhdhála. 9 Samhain, 15:00

Achoimrí agus cur i láthair: http://www.highload.ru/moscow/2018/abstracts/4066

Yuri Nasretdinov (VKontakte): labhróidh an tuarascáil faoin taithí a bhaineann le ClickHouse a chur i bhfeidhm inár gcuideachta - cén fáth a dteastaíonn uainn é, cé mhéad sonraí a stóráilimid, conas a scríobhaimid é, agus mar sin de.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Ábhair bhreise: ag baint úsáide as Clickhouse mar ionadach ar ELK, Big Query agus TimescaleDB

Yuri Nasretdinov: - Dia duit gach duine! Is é mo ainm Yuri Nasretdinov, mar a tugadh isteach mé cheana féin. Oibrím ag Vkontakte. Labhróidh mé faoin gcaoi a gcuirimid sonraí isteach i ClickHouse ónár bhflít freastalaí (na mílte).

Cad is logaí ann agus cén fáth iad a bhailiú?

Cad a déarfaimid leat: cad a rinne muid, cén fáth go raibh “ClickHouse” de dhíth orainn, faoi seach, cén fáth a roghnaigh muid é, cén cineál feidhmíochta is féidir leat a fháil thart ar gan aon rud a chumrú go speisialta. Inseoidh mé tuilleadh duit faoi táblaí maolánacha, faoi na fadhbanna a bhí againn leo agus faoi na réitigh a d’fhorbair muid ó fhoinse oscailte - KittenHouse agus Lighthouse.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Cén fáth go raibh gá dúinn aon rud a dhéanamh ar chor ar bith (tá gach rud go maith i gcónaí ar VKontakte, ceart?). Theastaigh uainn logaí dífhabhtaithe a bhailiú (agus bhí na céadta terabytes sonraí ann), b'fhéidir ar bhealach éigin go mbeadh sé níos áisiúla staitisticí a ríomh; agus tá cabhlach de na mílte freastalaithe againn ónar gá é seo go léir a dhéanamh.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Cén fáth ar shocraigh muid? Is dócha go raibh réitigh againn maidir le logaí a stóráil. Anseo - tá a leithéid de poiblí "backend VK". Molaim go mór liostáil leis.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Cad is logaí ann? Is inneall é seo a thugann eagair fholmha ar ais. Is iad na hinnill i VK na rudaí a dtugann daoine eile orthu microservices. Agus seo greamán miongháire (is maith go leor). Conas mar sin? Bhuel, éist a thuilleadh!

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Cad is féidir a úsáid chun logaí a stóráil? Tá sé dodhéanta gan trácht ar Hadup. Ansin, mar shampla, Rsyslog (na logaí seo a stóráil i gcomhaid). LSD. Cé a fhios cad é LSD? Ní hea, ní LSD seo. Comhaid a stóráil, faoi seach, freisin. Bhuel, is rogha aisteach é ClickHouse.

Clickhouse agus iomaitheoirí: riachtanais agus deiseanna

Cad atá uainn? Ba mhaith linn a chinntiú nach gcaithfimid an iomarca a bheith buartha faoin oibríocht, ionas go n-oibreoidh sé as an mbosca, b'fhearr le cumraíocht íosta. Ba mhaith linn go leor a scríobh, agus scríobh go tapa. Agus ba mhaith linn é a choinneáil ar feadh gach cineál míonna, blianta, is é sin, ar feadh i bhfad. B'fhéidir gur mhaith linn fadhb éigin a thuiscint a tháinig siad chugainn léi agus a dúirt, "Níl rud éigin ag obair anseo," agus bhí sé sin 3 mhí ó shin), agus ba mhaith linn a bheith in ann a fheiceáil cad a tharla 3 mhí ó shin " Comhbhrú sonraí – tá sé soiléir cén fáth go mbeadh buntáiste ann – toisc go laghdaíonn sé an méid spáis a thógann sé.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Agus tá ceanglas den sórt sin suimiúil againn: uaireanta scríobhann muid aschur roinnt orduithe (mar shampla, logs), is féidir é a bheith níos mó ná 4 cilibheart go leor go héasca. Agus má oibríonn an rud seo thar UDP, ansin ní gá é a chaitheamh ... ní bheidh aon “forchostas” aige don nasc, agus do líon mór freastalaithe beidh sé seo ina móide.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Feicfimid cad a thairgeann foinse oscailte dúinn. Ar an gcéad dul síos, tá an Inneall Logchomhaid - seo é ár n-inneall; I bprionsabal, is féidir leis gach rud a dhéanamh, is féidir leis línte fada a scríobh fiú. Bhuel, ní dhéanann sé sonraí a chomhbhrú go trédhearcach - is féidir linn colúin mhóra a chomhbhrú más mian linn ... ar ndóigh, nílimid ag iarraidh (más féidir). Is í an t-aon fhadhb atá ann ná nach féidir leis ach an rud a oireann dá chuimhne a thabhairt ar shiúl; Chun an chuid eile a léamh, ní mór duit binlog an innill seo a fháil agus, dá réir sin, tógann sé go leor ama.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Cad iad na roghanna eile atá ann? Mar shampla, "Hadup". Éascaíocht oibriúcháin... Cé a cheapann go bhfuil sé éasca Hadup a shocrú? Ar ndóigh, níl aon fadhbanna leis an taifeadadh. Nuair a bhíonn tú ag léamh, tagann ceisteanna chun cinn uaireanta. I bprionsabal, ba mhaith liom a rá nach dócha, go háirithe do logs. Stóráil fhadtéarmach - ar ndóigh, tá, comhbhrú sonraí - tá, teaghráin fhada - is léir gur féidir leat a thaifeadadh. Ach taifeadadh ó líon mór de na freastalaithe... Tá tú fós rud éigin a dhéanamh tú féin!

Rsyslog. Déanta na fírinne, d'úsáideamar é mar rogha chúltaca ionas go bhféadfaimis é a léamh gan an binlog a dhumpáil, ach ní féidir leis línte fada a scríobh; i bprionsabal, ní féidir leis níos mó ná 4 cilibheart a scríobh. Caithfidh tú comhbhrú sonraí a dhéanamh ar an mbealach céanna tú féin. Beidh léamh ag teacht ó chomhaid.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Ansin tá forbairt “badushka” ar LSD. Mar an gcéanna go bunúsach le “Rsyslog”: tacaíonn sé le teaghráin fhada, ach ní féidir leis oibriú trí UDP agus, i ndáiríre, mar gheall air seo, ar an drochuair, is gá go leor rudaí a athscríobh ansin. Ní mór LSD a athdhearadh le bheith in ann taifead a dhéanamh ó na mílte freastalaithe.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Agus anseo! Rogha greannmhar is ea ElasticSearch. Conas a rá? Tá ag éirí go maith leis leis an léitheoireacht, is é sin, léann sé go tapa, ach ní go han-mhaith leis an scríbhneoireacht. Ar an gcéad dul síos, má chomhbhrúíonn sé sonraí, tá sé an-lag. Is dócha go dteastaíonn struchtúir sonraí níos mó ná an méid bunaidh chun cuardach iomlán a dhéanamh. Bíonn sé deacair oibriú agus is minic a thagann fadhbanna chun cinn leis. Agus, arís, taifeadadh i Leaisteacha - ní mór dúinn gach rud a dhéanamh dúinn féin.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Anseo is rogha iontach é ClickHouse, ar ndóigh. Is é an t-aon rud ná gur fadhb é taifeadadh ó na mílte freastalaithe. Ach ar a laghad tá fadhb amháin ann, is féidir linn iarracht a dhéanamh é a réiteach ar bhealach éigin. Agus baineann an chuid eile den tuarascáil leis an bhfadhb seo. Cén cineál feidhmíochta is féidir leat a bheith ag súil ó ClickHouse?

Conas atáimid chun é a chur isteach? MergeTree

Cé ina measc nár chuala nó nach bhfuil eolas acu ar “ClickHouse”? Ní mór dom a rá leat, nach bhfuil? An-tapa. Is féidir leis an gcur isteach ann - 1-2 gigabits in aghaidh an tsoicind, bpléascann suas le 10 gigabits in aghaidh an tsoicind an chumraíocht seo a sheasamh - tá dhá Xeon 6-lárnach (is é sin, ní fiú an ceann is cumhachtaí), 256 ghigibheart de RAM, 20 terabytes i RAID (aon duine cumraithe, socruithe réamhshocraithe). Is dócha go bhfuil Alexey Milovidov, forbróir ClickHouse, ina shuí ansin ag caoineadh toisc nár chumamar rud ar bith (d’oibrigh gach rud mar sin dúinn). Dá réir sin, is féidir luas scanadh de, abair, thart ar 6 billiún líne in aghaidh an tsoicind a fháil má tá na sonraí comhbhrúite go maith. Más maith leat % ar theaghrán téacs - 100 milliún líne in aghaidh an tsoicind, is é sin le rá go bhfuil sé sách tapa.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Conas atáimid chun é a chur isteach? Bhuel, tá a fhios agat go n-úsáideann VK PHP. Cuirfimid isteach ó gach oibrí PHP trí HTTP isteach i “ClickHouse”, isteach sa tábla MergeTree do gach taifead. Cé a fheiceann fadhb leis an scéim seo? Ar chúis éigin, níor ardaigh gach duine a lámha. Lig dom a insint duit.

Gcéad dul síos, tá a lán de na freastalaithe - dá réir sin, beidh a lán de na naisc (olc). Is fearr ansin sonraí a chur isteach i MergeTree níos minicí ná uair sa soicind. Agus cé a fhios cén fáth? Ceart go leor, ceart go leor. Inseoidh mé beagán níos mó duit faoi seo. Ceist suimiúil eile is ea nach bhfuilimid ag déanamh anailíse, ní gá dúinn na sonraí a shaibhriú, níl freastalaithe idirmheánacha ag teastáil uainn, ba mhaith linn a chur isteach go díreach i "ClickHouse" (b'fhearr - dá dhíreach, is amhlaidh is fearr).

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Dá réir sin, conas a chuirtear isteach i MergeTree? Cén fáth a bhfuil sé níos fearr é a chur isteach ann níos minicí ná uair sa soicind nó níos lú? Is é fírinne an scéil gur bunachar sonraí colún é “ClickHouse” agus sórtálann sé na sonraí in ord ardaitheach na buneochair, agus nuair a chuireann tú isteach, cruthaítear roinnt comhad ar a laghad cothrom le líon na gcolún ina bhfuil na sonraí curtha in eagar in ord ardaitheach na heochrach príomhúla (cruthaítear eolaire ar leith, sraith comhad ar diosca le haghaidh gach cuir isteach). Ansin tagann an chéad ionsá eile, agus sa chúlra cuirtear le chéile iad i “Deighiltí” níos mó. Ós rud é go bhfuil na sonraí curtha in eagar, is féidir dhá chomhad sórtáilte a “chumadh” gan mórán cuimhne a chaitheamh.

Ach, mar a d’fhéadfá buille faoi thuairim, má scríobhann tú 10 gcomhad le haghaidh gach cuir isteach, ansin críochnóidh ClickHouse (nó do fhreastalaí) go tapa, mar sin moltar é a chur isteach i mbaisceanna móra. Dá réir sin, níor sheolamar an chéad scéim riamh i dtáirgeadh. Sheolamar ceann láithreach, a bhfuil anseo Uimh. 2:

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Anseo a shamhlú go bhfuil thart ar mhíle freastalaithe ar a bhfuil seolta againn, níl ach PHP. Agus ar gach freastalaí tá ár ngníomhaire áitiúil, ar a dtugamar “Kittenhouse”, a choinníonn nasc amháin le “ClickHouse” agus a chuireann sonraí isteach gach cúpla soicind. Ionsáigh sonraí ní i MergeTree, ach isteach i tábla maolánach, a fhreastalaíonn go beacht a sheachaint a chur isteach go díreach i MergeTree láithreach.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Ag obair le táblaí maolánacha

An rud atá ann? Is píosa cuimhne é táblaí maolánacha a shardaítear (is é sin, is féidir é a chur isteach ann go minic). Tá siad comhdhéanta de roinnt píosaí, agus oibríonn gach ceann de na píosaí mar mhaolán neamhspleách, agus déantar iad a shruthlú go neamhspleách (má tá go leor píosaí sa mhaolán agat, ansin beidh go leor cuir isteach in aghaidh an tsoicind). Is féidir léamh ó na táblaí seo - ansin léann tú aontas ábhar an mhaoláin agus an tábla tuismitheora, ach ag an nóiméad seo tá bac ar an scríobh, mar sin is fearr gan léamh as sin. Agus léiríonn táblaí maoláin QPS an-mhaith, is é sin, suas le 3 mhíle QPS ní bheidh aon fhadhb agat ar chor ar bith nuair a chuirtear isteach. Tá sé soiléir má chailleann an freastalaí cumhacht, ansin is féidir na sonraí a chailleadh, toisc nach raibh sé stóráilte ach i gcuimhne.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Ag an am céanna, déanann an scéim le maolán casta ALTER, mar ní mór duit an tábla maolánach d'aois a scaoileadh leis an sean-scéim ar dtús (ní imíonn na sonraí in áit ar bith, toisc go ndéanfar é a shruthlú sula scriostar an tábla). Ansin déanann tú “athrú” ar an tábla atá uait agus cruthaíonn tú an tábla maolánach arís. Dá réir sin, cé nach bhfuil aon tábla maolánach ann, ní shreabhfaidh do shonraí in áit ar bith, ach is féidir leat é a bheith agat ar dhiosca go háitiúil ar a laghad.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Cad é Kittenhouse agus conas a oibríonn sé?

Cad é KittenHouse? Is seachfhreastalaí é seo. Buille faoi thuairim cén teanga? Bhailigh mé na hábhair is hype i mo thuarascáil - “Clickhouse”, Téigh, b'fhéidir go gcuimhneoidh mé rud éigin eile. Sea, tá sé seo scríofa in Téigh, mar níl a fhios agam i ndáiríre conas a scríobh i C, níl mé ag iarraidh.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Dá réir sin, coimeádann sé nasc le gach freastalaí agus is féidir scríobh chun cuimhne. Mar shampla, má scríobhann muid logaí earráide chuig Clickhouse, ansin mura bhfuil am ag Clickhouse sonraí a chur isteach (tar éis an tsaoil, má scríobhtar an iomarca), ansin ní dhéanaimid an chuimhne a at - ní dhéanaimid ach an chuid eile a chaitheamh amach. Mar má scríobhann muid roinnt gigabits in aghaidh an tsoicind d'earráidí, ansin is dócha gur féidir linn roinnt a chaitheamh amach. Is féidir le Kittenhouse é seo a dhéanamh. Ina theannta sin, is féidir leis seachadadh iontaofa a dhéanamh, is é sin, scríobh chuig diosca ar an meaisín áitiúil agus uair amháin gach uair (ann, uair amháin gach cúpla soicind) déanann sé iarracht sonraí a sheachadadh ón gcomhad seo. Agus ar dtús úsáideamar an fhormáid Luachanna rialta - ní roinnt formáid dhénártha, formáid téacs (mar atá i SQL rialta).

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Ach ansin tharla sé seo. Bhaineamar úsáid as seachadadh iontaofa, scríobh logs, ansin chinn (bhraisle tástála coinníollach a bhí ann)... Cuireadh amach é ar feadh roinnt uaireanta agus tugadh ar ais é, agus thosaigh ionsá ó mhíle freastalaithe - d'éirigh sé amach go raibh Clickhouse fós ag “Snáithe ar nasc” - dá réir sin, i míle nasc, mar thoradh ar chur isteach gníomhach go bhfuil meán ualach ar an bhfreastalaí de thart ar míle go leith. Ionadh, ghlac an freastalaí le hiarratais, ach cuireadh na sonraí isteach fós tar éis roinnt ama; ach bhí sé an-deacair ar an bhfreastalaí é a fhreastal...

Cuir nginx leis

Is nginx é réiteach den sórt sin don tsamhail Thread per connection. Shuiteáil muid nginx os comhair Clickhouse, ag an am céanna a leagtar cothromú ar feadh dhá mhacasamhail (méadú ar ár luas isteach faoi 2 uair, cé nach bhfuil sé ina bhfíric gur chóir go mbeadh sé seo an cás) agus teoranta ar líon na nasc chuig Clickhouse, chun an in aghaidh an tsrutha agus, dá réir sin, níos mó , ná i 50 nasc, is cosúil nach bhfuil aon phointe ann é a chur isteach.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Ansin thuig muid go bhfuil míbhuntáistí ag baint leis an scéim seo go ginearálta, toisc nach bhfuil ach nginx amháin againn anseo. Dá réir sin, má thuairteanna nginx seo, in ainneoin láithreacht macasamhla, caillfidh muid sonraí nó, ar a laghad, ní scríobh in áit ar bith. Sin an fáth a rinne muid ár cothromú ualach féin. Thuigeamar freisin go bhfuil “Clickhouse” fós oiriúnach do logaí, agus thosaigh an “Demon” freisin ag scríobh a logaí i “Clickhouse” - an-áisiúil, le bheith macánta. Bainimid úsáid fós as le haghaidh "deamhain" eile.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Ansin fuaireamar amach an fhadhb spéisiúil seo: má úsáideann tú modh neamhchaighdeánach le cur isteach i mód SQL, fórsaí sé parsálaí SQL lán-chuimsitheach bunaithe ar AST, atá mall go leor. Dá réir sin, tá socruithe curtha leis againn lena chinntiú nach dtarlóidh sé seo choíche. Rinneamar cothromú luchtaithe, seiceálacha sláinte, ionas má fhaigheann duine bás, fágfaimid na sonraí fós. Tá go leor táblaí againn anois a theastaíonn uainn le braislí éagsúla Clickhouse a bheith againn. Agus thosaigh muid ag smaoineamh ar úsáidí eile freisin - mar shampla, bhíomar ag iarraidh logaí a scríobh ó mhodúil nginx, ach níl a fhios acu conas cumarsáid a dhéanamh ag baint úsáide as ár RPC. Bhuel, ba mhaith liom iad a mhúineadh conas a sheoladh ar a laghad ar bhealach éigin - mar shampla, chun imeachtaí a fháil ar localhost trí UDP agus ansin iad a chur ar aghaidh chuig Clickhouse.

Céim amháin ar shiúl ó réiteach

Thosaigh an scéim deiridh ag breathnú mar seo (an ceathrú leagan den scéim seo): ar gach freastalaí os comhair Clickhouse tá nginx (ar an bhfreastalaí céanna) agus ní dhéanann sé ach seachfhreastalaí ar iarratais chuig localhost le teorainn ar líon na nasc de 50 píosaí. Agus bhí an scéim seo ag obair go leor cheana féin, bhí gach rud go maith leis.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Mhair muid mar seo ar feadh thart ar mhí. Bhí gach duine sásta, chuir siad táblaí leis, chuir siad leis, chuir siad leis ... Go ginearálta, d'éirigh sé amach nach raibh an bealach a chuireamar táblaí maolánacha an-optamach (cuirimis é mar sin). Rinneamar 16 phíosa i ngach tábla agus eatramh splanc de chúpla soicind; bhí 20 tábla againn agus fuair gach tábla 8 ionsá in aghaidh an tsoicind - agus ag an bpointe seo thosaigh “Clickhouse”… thosaigh na taifid ag moilliú. Ní dheachaigh siad fiú tríd... Bhí rud chomh suimiúil ag Nginx mar réamhshocrú, dá mba rud é gur chríochnaigh naisc ag an sruth, go raibh sé díreach tar éis "502" a chur ar ais chuig gach iarratas nua.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Agus anseo ní mór dúinn (díreach d'fhéach mé ar na logs i Clickhouse féin) thart ar leath faoin gcéad de na hiarratais theip. Dá réir sin, bhí úsáid diosca ard, bhí go leor cumaisc ann. Bhuel, cad a rinne mé? Ar ndóigh, ní raibh aon bhac orm a dhéanamh amach cén fáth go díreach a tháinig deireadh leis an gceangal agus leis an sruth.

Seachfhreastalaí droim ar ais a chur in ionad nginx

Chinn mé go gcaithfimid é seo a bhainistiú sinn féin, ní gá dúinn é a fhágáil faoi nginx - níl a fhios ag nginx cad iad na táblaí atá i Clickhouse, agus chuir mé seachfhreastalaí droim ar ais in ionad nginx, a scríobh mé féin freisin.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Cad atá á dhéanamh aige? Oibríonn sé bunaithe ar an leabharlann fasthttp “goshnoy”, is é sin, tapa, beagnach chomh tapa le nginx. Tá brón orm, Igor, má tá tú i láthair anseo (nóta: Is ríomhchláraitheoir Rúise é Igor Sysoev a chruthaigh an freastalaí gréasáin nginx). Is féidir leis a thuiscint cén cineál ceisteanna iad seo – INSERT or SELECT – dá réir sin, coinníonn sé comhthiomsuithe ceangail éagsúla le haghaidh cineálacha éagsúla fiosrúchán.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Dá réir sin, fiú mura bhfuil an t-am againn na hiarratais ionsáite a chomhlánú, rachaidh na “roghanna” ar aghaidh, agus vice versa. Agus grúpálann sé na sonraí i dtáblaí maolánacha - le maolán beag: dá mbeadh aon earráidí, earráidí comhréire, agus mar sin de - ionas nach gcuirfeadh siad isteach go mór ar an gcuid eile de na sonraí, mar nuair a chuireamar isteach táblaí maolánacha go simplí, ní mór dúinn. go raibh "bachi" beag aige, agus níor chuir na hearráidí comhréire go léir isteach ach ar an bpíosa beag seo; agus anseo beidh tionchar acu cheana féin ar mhaolán mór. Is é an méid beag ná 1 meigibheart, is é sin, níl sé chomh beag.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Má chuirtear sioncrónú isteach agus go bunúsach athsholáthar nginx, déanann sé an rud céanna go bunúsach a rinne nginx roimhe seo - ní gá duit an “Kittenhouse” áitiúil a athrú chuige seo. Agus ós rud é go n-úsáideann sé fasthttp, tá sé an-tapa - is féidir leat níos mó ná 100 míle iarratas in aghaidh an tsoicind a dhéanamh ar ionsáigh aonair trí sheachvótálaí droim ar ais. Go teoiriciúil, is féidir leat líne amháin a chur isteach sa seachfhreastalaí droim ar ais kittenhouse, ach ar ndóigh ní dhéanaimid é sin.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Thosaigh an scéim ag breathnú mar seo: “Kittenhouse”, cuireann an seachvótálaí droim ar ais go leor iarratas isteach i dtáblaí agus, ar a seal, cuireann na táblaí maoláin isteach sna príomhchinn iad.

Is réiteach sealadach é Killer, tá Kitten buan

Is fadhb shuimiúil í seo... Ar bhain aon duine agaibh úsáid as fasthttp? Cé a d'úsáid fasthttp le hiarratais POST? Is dócha, níor cheart é seo a dhéanamh i ndáiríre, toisc go maolaíonn sé an comhlacht iarratais de réir réamhshocraithe, agus socraíodh ár méid maoláin go 16 meigibheart. Stopadh an t-ionchur ag coinneáil suas ag pointe éigin, agus thosaigh smután 16-megabyte ag teacht ó na mílte freastalaithe, agus bhí siad go léir maolánach sa chuimhne sular cuireadh chuig Clickhouse iad. Dá réir sin, rith an chuimhne amach, tháinig an Killer As Cuimhne agus mharaigh an seachfhreastalaí droim ar ais (nó "Clickhouse", a d'fhéadfadh teoiriciúil "ithe" níos mó ná an seachfhreastalaí droim ar ais). An timthriall arís agus arís eile é féin. Ní fadhb an-taitneamhach. Cé gur thángamar ar seo go dtí tar éis roinnt míonna oibríochta.

Cad atá déanta agam? Arís, ní maith liom a thuiscint cad go díreach a tharla. Sílim go bhfuil sé soiléir go leor nár cheart duit maolán a dhéanamh ar chuimhne. Níorbh fhéidir liom fasthttp a phaiste, cé go ndearna mé iarracht. Ach fuair mé bealach chun é a dhéanamh ionas nach raibh gá le rud ar bith a phaisteáil, agus tháinig mé suas le mo mhodh féin i HTTP - thug mé KITTEN air. Bhuel, tá sé loighciúil - "VK", "Kitten"... Cad eile?..

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Má thagann iarratas chuig an bhfreastalaí leis an modh Kitten, ansin ba cheart don fhreastalaí freagairt “meow” - go loighciúil. Má fhreagraíonn sé é seo, ansin meastar go dtuigeann sé an prótacal seo, agus ansin idircheapann mé an nasc (tá modh den sórt sin ag fasthttp), agus téann an nasc isteach sa mhód “amh”. Cén fáth a bhfuil sé de dhíth orm? Ba mhaith liom a rialú conas a tharlaíonn léamh ó naisc TCP. Tá maoin iontach ag TCP: mura bhfuil aon duine ag léamh ón taobh eile, ansin tosaíonn an scríobh ag fanacht, agus ní dhéantar an chuimhne a chaitheamh go háirithe ar seo.

Agus mar sin léigh mé ó thart ar 50 cliant ag an am (ó caoga mar ba chóir caoga a bheith cinnte go leor, fiú má thagann an ráta ó DC eile)... Tá tomhaltas laghdú leis an gcur chuige seo ar a laghad 20 uair, ach mé, a bheith macánta , Ní raibh mé in ann a thomhas go díreach cén t-am, toisc go bhfuil sé pointless cheana féin (tá sé bainte amach cheana féin ar an leibhéal earráide). Is é an prótacal dénártha, is é sin, tá an t-ainm tábla agus sonraí; níl aon cheanntásca http, mar sin níor úsáid mé soicéad gréasáin (ní gá dom cumarsáid a dhéanamh le brabhsálaithe - rinne mé prótacal a oireann dár riachtanais). Agus d'éirigh gach rud go breá leis.

Tá an tábla maolánach brónach

Le déanaí tháinig muid trasna ar ghné spéisiúil eile de na táblaí maolánacha. Agus tá an fhadhb seo i bhfad níos painful cheana féin ná na cinn eile. Déanaimis an cás seo a shamhlú: tá tú ag úsáid Clickhouse go gníomhach cheana féin, tá an iliomad freastalaithe Clickhouse agat, agus tá roinnt iarratais agat a thógann am an-fhada le léamh (a ligean le rá, níos mó ná 60 soicind); agus tagann tú agus déanann tú Alter faoi láthair... Idir an dá linn, ní bheidh “roghanna” a thosaigh roimh “Alter” san áireamh sa tábla seo, ní thosóidh “Alter” - is dócha go bhfuil roinnt gnéithe den chaoi a n-oibríonn “Clickhouse” i an áit seo. B'fhéidir gur féidir é seo a shocrú? Nó nach bhfuil sé indéanta?

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Go ginearálta, is léir nach fadhb mhór í seo i ndáiríre, ach le táblaí maolánacha éiríonn sé níos pianmhaire. Mar, más rud é, abair linn, go bhfuil do chuid teorainn ama “Alter” (agus seans go mbeidh am amuigh ar óstach eile - ní leatsa, ach ar mhacasamhail, mar shampla), ansin... scrios tú an tábla maolánach, do “Alter” ( nó óstach éigin eile) thar am. ansin tharla earráid “Alter”) - ní mór duit fós a chinntiú go leanann na sonraí a scríobh: cruthaíonn tú na táblaí maoláin ar ais (de réir na scéime céanna leis an tábla tuismitheora), ansin Téann “Alter” tríd, críochnaíonn sé tar éis an tsaoil, agus tosaíonn an maolán idir an tábla agus an tuismitheoir ó thaobh scéimre de. Ag brath ar cad a bhí san "Alter", b'fhéidir nach dtéann an t-iontán chuig an tábla maolánach seo a thuilleadh - tá sé seo an-brónach.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Tá a leithéid de chomhartha ann freisin (b’fhéidir gur thug duine éigin faoi deara é) - query_thread_log a thugtar air i leaganacha nua de Clickhouse. De réir réamhshocraithe, i leagan éigin bhí ceann ann. Anseo tá 840 milliún taifead carntha againn i gceann cúpla mí (100 ghigibheart). Tá sé seo mar gheall ar an bhfíric go raibh "inserts" scríofa ann (b'fhéidir anois, dála an scéil, nach bhfuil siad scríofa). Mar a dúirt mé leat, is beag an “Ionsáigh” atá againn - bhí go leor “cuir isteach” againn sna táblaí maolánacha. Is léir go bhfuil sé seo díchumasaithe - níl mé ag insint duit ach an méid a chonaic mé ar ár bhfreastalaí. Cén fáth? Seo argóint eile i gcoinne táblaí maolánacha a úsáid! Tá Spotty an-bhrónach.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Cé a raibh a fhios aige gurbh é Spotty an t-ainm a bhí ar an bhfear seo? D'ardaigh fostaithe VK a lámha. ceart go leor.

Faoi na pleananna do “KitttenHouse”

De ghnáth ní roinntear pleananna, ceart? Go tobann ní dhéanfaidh tú iad a chomhlíonadh agus ní bheidh cuma an-mhaith orthu i súile daoine eile. Ach glacfaidh mé an baol! Ba mhaith linn an méid seo a leanas a dhéanamh: tá táblaí maolánacha, feictear domsa, fós ina gcruachás agus ní mór dúinn sinn féin a chur isteach i maolán. Ach nílimid fós ag iarraidh é a mhaolánú ar diosca, mar sin maolánfaimid an t-ionchur sa chuimhne.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Dá réir sin, nuair a dhéantar “isteach”, ní bheidh sé sioncrónach a thuilleadh - oibreoidh sé mar tábla maolánach cheana féin, cuirfidh sé isteach sa tábla tuismitheora (bhuel, lá éigin ina dhiaidh sin) agus tuairisceoidh sé trí chainéal ar leith a bhfuil na hionchuir imithe thart agus a Níl ag.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Cén fáth nach féidir liom an t-iontán sioncronach a fhágáil? Tá sé i bhfad níos áisiúla. Is é an bhfíric má chuireann tú isteach ó 10 míle óstach, ansin tá gach rud go breá - gheobhaidh tú beagán ó gach óstach, cuireann tú isteach ann uair sa soicind, tá gach rud go breá. Ach ba mhaith liom go n-oibreodh an scéim seo, mar shampla, ó dhá mheaisín, ionas gur féidir leat a íoslódáil ar ardluais - b'fhéidir nach bhfaighidh tú an t-uasmhéid as Clickhouse, ach scríobh ar a laghad 100 meigeavata in aghaidh an tsoicind ó mheaisín amháin trí sheachvótálaí droim ar ais - seo ní mór don scéim scála go méideanna móra agus beaga araon, mar sin ní féidir linn fanacht soicind le haghaidh gach ionsáite, mar sin caithfidh sé a bheith asincrónach. Agus ar an mbealach céanna, ba cheart go dtiocfadh dearbhuithe asincrónacha tar éis an cur isteach a bheith críochnaithe. Beidh a fhios againn cé acu a ritheadh ​​nó nár rith.

Is é an rud is tábhachtaí ná go bhfuil a fhios againn go cinnte sa scéim seo cé acu ar tharla nó nár cuireadh isteach. Samhlaigh an cás seo: tá tábla maolánach agat, scríobh tú rud éigin isteach ann, agus ansin, déarfaimid, chuaigh an tábla i mód inléite amháin agus rinne sé iarracht an maolán a shruthlú. Cá rachaidh na sonraí? Fanfaidh siad sa mhaolán. Ach ní féidir linn a bheith cinnte faoi seo - cad má tá earráid eile ann, nach bhfanfaidh na sonraí sa mhaolán mar gheall air... (Seoltaí Alexey Milovidov, Yandex, forbróir ClickHouse) Nó an bhfanfaidh sé? I gcónaí? Cuireann Alexey ina luí orainn go mbeidh gach rud ceart go leor. Níl aon chúis againn gan é a chreidiúint. Ach mar an gcéanna: mura n-úsáidfimid táblaí maolánacha, ní bheidh aon fhadhbanna ann leo. Tá sé deacair freisin dhá oiread táblaí a chruthú, cé nach bhfuil aon fhadhbanna móra i bprionsabal. Seo é an plean.

Labhraímis faoin léitheoireacht

Anois, déanaimis labhairt faoin léitheoireacht. Scríobhamar ár n-uirlis féin anseo freisin. Is cosúil, bhuel, cén fáth a scríobh do uirlis féin anseo?.. Agus cé a d'úsáid Tabix? Is beag duine a d'ardaigh a lámha... Agus cé atá sásta le feidhmíocht Tabix? Bhuel, níl muid sásta leis, agus níl sé an-áisiúil chun sonraí a fheiceáil. Tá sé ceart go leor le haghaidh anailísíochta, ach is léir nach bhfuil sé optamaithe le haghaidh breathnú air. Mar sin scríobh mé mo chuid féin, mo chomhéadan féin.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Tá sé an-simplí - ní féidir leis ach sonraí a léamh. Níl a fhios aige conas grafaicí a thaispeáint, níl a fhios aige conas aon rud a dhéanamh. Ach is féidir leis an méid a theastaíonn uainn a thaispeáint: mar shampla, cé mhéad sraitheanna atá sa tábla, cé mhéad spáis a thógann sé (gan é a bhriseadh síos i gcolúin), is é sin, comhéadan an-bhunúsach a theastaíonn uainn.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Agus tá cuma an-chosúil air le Sequel Pro, ach ní dhéantar é ach ar Bootstrap Twitter, agus an dara leagan. Iarrann tú: "Yuri, cén fáth ar an dara leagan?" Cén bhliain? 2018? Go ginearálta, rinne mé é seo go leor i bhfad ó shin le haghaidh "Muscle" (MySQL) agus d'athraigh mé ach cúpla líne sna ceisteanna ann, agus thosaigh sé ag obair do “Clickhouse”, a bhuíochas ar leith! Toisc go bhfuil an parsálaí an-chosúil leis an gceann "muscle", agus tá na ceisteanna an-chosúil - an-áisiúil, go háirithe ar dtús.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Bhuel, is féidir é a scagadh táblaí, is féidir leis an struchtúr agus ábhar an tábla a thaispeáint, is féidir leat a shórtáil, a scagadh de réir colúin, léiríonn an cheist a bhí mar thoradh ar an toradh, na sraitheanna difear (cé mhéad mar thoradh), is é sin, an rudaí bunúsacha chun sonraí a fheiceáil. Go leor go tapa.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Tá eagarthóir ann freisin. Rinne mé iarracht go hionraic an t-eagarthóir iomlán a ghoid ó Tabix, ach ní raibh mé in ann. Ach ar bhealach oibríonn sé. I bprionsabal, sin uile.

Tá "Clickhouse" oiriúnach le haghaidh dens

Ba mhaith liom a rá leat go bhfuil Clickhouse, in ainneoin na bhfadhbanna go léir a thuairiscítear, an-oiriúnach do logaí. Níos tábhachtaí fós, réitíonn sé ár bhfadhb - tá sé an-tapa agus ligeann duit logaí a scagadh de réir colúin. I bprionsabal, níor éirigh go maith leis na táblaí maolánacha, ach de ghnáth ní bhíonn a fhios ag éinne cén fáth... B'fhéidir anois go bhfuil a fhios agat níos fearr cá mbeidh fadhbanna agat.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

TCP? Go ginearálta, i VK is gnách UDP a úsáid. Agus nuair a d'úsáid mé TCP... Ar ndóigh, níor dúirt aon duine liom: “Yuri, cad faoi a bhfuil tú ag caint! Ní féidir, tá UDP uait.” Iompaigh sé amach nach bhfuil TCP chomh scary. Is é an t-aon rud, má tá na mílte comhdhúile gníomhacha agat a scríobhann tú, ní mór duit é a ullmhú beagán níos cúramach; ach is féidir, agus éasca go leor.

Gheall mé “Kittenhouse” agus “Lighthouse” a phostáil ar HighLoad Siberia dá mbeadh gach duine suibscríofa dár “Inneall VK” poiblí... Agus bíodh a fhios agat, ní raibh gach duine suibscríofa... Ar ndóigh, ní éileoidh mé go n-éilíonn tú síntiús lenár poiblí. Tá an iomarca agat fós, b'fhéidir go gcuirfí cion ar dhuine éigin, ach fós, liostáil le do thoil (agus anseo caithfidh mé súile a dhéanamh cosúil le cinn cat). Sin é nasc leis dála an scéil. Go raibh míle maith agat! Is linne Github anseo. Le Clickhouse beidh do chuid gruaige bog agus silky.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Luaidhe: - A chairde, anois le haghaidh ceisteanna. Díreach tar éis dúinn an deimhniú buíochais agus do thuarascáil ar VHS a thíolacadh.

Yuri Nasretdinov (dá ngairtear YN anseo feasta): – Conas a bhí tú in ann mo thuarascáil a thaifeadadh ar VHS dá mbeadh deireadh leis?

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Luaidhe: – Ní féidir leat a chinneadh go hiomlán freisin conas a oibreoidh “Clickhouse” nó nach n-oibreoidh! A chairde, 5 nóiméad le haghaidh ceisteanna!

ceisteanna

Ceist ón lucht éisteachta (dá ngairfear Q anseo feasta): - Tráthnóna maith. Go raibh míle maith agat as an tuarascáil. Tá dhá cheist agam. Tosóidh mé le rud éigin suaibhreosach: an gcuireann líon na litreacha t san ainm "Kittenhouse" sna léaráidí (3, 4, 7...) isteach ar shástacht na gcait?

YN: - Cainníocht cad é?

Z: – Litir t. Tá trí t, áit éigin timpeall trí t.

YN: - Nár cheartaigh mé é? Bhuel, ar ndóigh a dhéanann sé! Is táirgí éagsúla iad seo - ní raibh mé ach ag mealladh tú an uair seo. Ceart go leor, tá mé ag magadh - is cuma. Ah, ar dheis anseo! Ní hea, is é an rud céanna é, rinne mé typo.

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Z: - Go raibh maith agat. Tá an dara ceist tromchúiseach. Chomh fada agus a thuigim, i Clickhouse, tá táblaí maoláin ina gcónaí go heisiach sa chuimhne, ní maolánaítear iad don diosca agus, dá réir sin, níl siad seasmhach.

YN: - Sea.

Z: – Agus ag an am céanna, maoláin do chliant chuig diosca, rud a thugann le tuiscint éigin ráthaíocht go seachadfar na logaí céanna. Ach níl sé seo ráthaithe ar chor ar bith ag Clickhouse. Mínigh conas a dhéantar an ráthaíocht, mar gheall ar cad é?.. Seo níos mine an mheicníocht seo

YN: – Sea, go teoiriciúil níl aon contrárthachtaí anseo, mar nuair a thiteann Clickhouse, is féidir leat é a bhrath i milliún bealaí éagsúla. Má thiteann Clickhouse (má chríochnaíonn sé go mícheart), is féidir leat, go garbh, beagán de do logáil a scríobh tú a athchasadh agus tosú ón nóiméad a raibh gach rud ceart go leor. Ligean le rá leat athchasadh nóiméad, is é sin, meastar go bhfuil tú tar éis gach rud a shruthlú i nóiméad.

Z: – Is é sin le rá go gcoimeádann “Kittenhouse” an fhuinneog níos faide agus, i gcás titime, an féidir é a aithint agus é a athchasadh?

YN: - Ach tá sé seo go teoiriciúil. Go praiticiúil, ní dhéanaimid é seo, agus tá seachadadh iontaofa ó náid go hamanna infinity. Ach ar an meán amháin. Táimid sásta má thuairteanna Clickhouse ar chúis éigin nó na freastalaithe “Atosaigh,” ansin caillfidh muid beagán. I ngach cás eile, ní tharlóidh aon rud.

Z: - Dia dhuit. Chonacthas dom ón tús go mbeifeá ag baint úsáide as UDP ó thús na tuarascála. Tá http agat, sin go léir... Agus is é an réiteach áirithe seo ba chúis leis an gcuid is mó de na fadhbanna a ndearna tú cur síos orthu, de réir mar a thuigim é.

YN: – Cad a úsáideann muid TCP?

Z: - Go bunúsach tá.

YN: - Níl.

Z: – Ba le fasthttp a bhí fadhbanna agat, leis an nasc a raibh fadhbanna agat. Dá mba rud é go raibh tú díreach tar éis úsáid a bhaint as UDP bheadh ​​roinnt ama caite agat. Bhuel, bheadh ​​fadhbanna le teachtaireachtaí fada nó le rud éigin eile...

YN: - Leis an méid?

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Z: – Le teachtaireachtaí fada, ós rud é go mb’fhéidir nach n-oireann sé don MTU, rud éigin eile... Bhuel, d’fhéadfadh fadhbanna dá gcuid féin a bheith ann. Is í an cheist: cén fáth nach UDP?

YN: – Creidim go bhfuil na húdair a d’fhorbair TCP/IP i bhfad níos cliste ná mise agus go bhfuil a fhios acu níos fearr ná mise conas paicéid a shraithiú (ionas go dtéann siad), ag an am céanna an fhuinneog seolta a choigeartú, gan an líonra a ró-ualach, aiseolas a thabhairt ar cad nach bhfuil léite, gan áireamh ar an taobh eile... Bheadh ​​na fadhbanna seo go léir, i mo thuairim, ann sa UDP, ach bheadh ​​orm níos mó cód a scríobh ná mar a scríobh mé cheana chun an rud céanna a chur i bhfeidhm mé féin agus is dócha bocht. Ní maith liom fiú a bheith ag scríobh i C, gan trácht ar ann...

Z: - Just a áisiúil! Seolta ceart go leor agus ná fan ar rud ar bith - tá sé go hiomlán asincrónach. Tháinig fógra ar ais go raibh gach rud go breá - ciallaíonn sé sin gur tháinig sé; Mura dtagann sé, ciallaíonn sé go bhfuil sé olc.

YN: – Tá an dá rud ag teastáil uaim – ní mór dom a bheith in ann an dá cheann a sheoladh le ráthaíocht seachadta agus gan ráthaíocht seachadta. Is dhá chás éagsúla iad seo. Ní gá dom roinnt logs a chailleadh nó gan iad a chailleadh laistigh de chúis.

Z: - Ní chuirim am amú. Ní mór é seo a phlé níos mó. Go raibh maith agat.

Luaidhe: – Cé aige a bhfuil ceisteanna – lámha go dtí an spéir!

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

Z: - Dia duit, tá mé Sasha. Áit éigin i lár na tuarascála, bhí an chuma ar an tuairim, chomh maith le TCP, go bhféadfaí réiteach réidh a úsáid - cineál éigin Kafka.

YN: – Bhuel... dúirt mé leat nach bhfuil fonn orm freastalaithe idirmheánacha a úsáid, mar... in Kafka, tharla sé go bhfuil deich míle óstach againn; go deimhin, tá níos mó againn - na mílte óstach. Is féidir leis a bheith pianmhar freisin a dhéanamh le Kafka gan aon seachvótálaithe. Ina theannta sin, níos tábhachtaí fós, tugann sé “latency” fós, tugann sé óstaigh breise nach mór duit a bheith acu. Ach níor mhaith liom iad a bheith agam - ba mhaith liom...

Z: "Ach sa deireadh d'éirigh sé amach mar sin féin."

YN: - Ní hea, níl aon óstach ann! Oibríonn sé seo go léir ar óstaigh Clickhouse.

Z: - Bhuel, agus “Kittenhouse”, a bhfuil a mhalairt - cá bhfuil sé ina chónaí?

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

YN: – Ar an ósta Clickhouse, ní scríobhann sé aon rud chuig an diosca.

Z: - Lig dúinn leid.

Luaidhe: – An bhfuil tú sásta? An féidir linn tuarastal a thabhairt duit?

Z: - Is féidir leat. Go deimhin, tá a lán de na crutches d'fhonn a fháil ar an rud céanna, agus anois - an freagra roimhe seo ar an ábhar TCP contrártha, i mo thuairim, an staid seo. Mothaíonn sé go bhféadfaí gach rud a bheith déanta ar mo ghlúine i bhfad níos lú ama.

YN: - Agus freisin cén fáth nach raibh mé ag iarraidh Kafka a úsáid, toisc go raibh go leor gearán i gcomhrá Clickhouse Telegram gur cailleadh, mar shampla, teachtaireachtaí ó Kafka. Ní ó Kafka féin, ach i gcomhtháthú Kafka agus Clickhaus; nó rud nach raibh ceangal ann. Thart ar labhairt, bheadh ​​sé riachtanach cliant a scríobh do Kafka ansin. Ní dóigh liom go bhféadfadh réiteach níos simplí nó níos iontaofa a bheith ann.

Z: – Inis dom, cén fáth nár bhain tú triail as scuainí nó gnáthbhus de shaghas éigin? Ós rud é go ndeir tú gur féidir leat na logaí a sheoladh tríd an scuaine le asincrony agus an freagra a fháil go neamhshioncronach tríd an scuaine?

Highload ++, Yuri Nasretdinov (Vkontakte): Conas a chuireann VK sonraí isteach i gclickhouse ó na mílte freastalaithe

YN: – Luaigh le do thoil cad iad na scuainí a d’fhéadfaí a úsáid?

Z: – Aon cheann, fiú gan ráthaíocht go bhfuil siad in ord. Cineál éigin Redis, RMQ...

YN: – Tá mé ag mothú gur dóichí nach mbeidh Redis in ann a leithéid de líon ionsáite a tharraingt fiú ar óstach amháin (de réir bhrí go leor freastalaithe) a tharraingíonn amach Clickhouse. Ní féidir liom tacú leis seo le haon fhianaise (níl mé tagarmharcáilte air), ach feictear dom nach é Redis an réiteach is fearr anseo. I bprionsabal, is féidir an córas seo a mheas mar scuaine teachtaireachtaí seiftithe, ach atá oiriúnaithe do “Clickhouse” amháin.

Luaidhe: - Yuri, go raibh míle maith agat. Molaim deireadh a chur leis na ceisteanna agus na freagraí anseo agus a rá cé acu díobh siúd a chuir an cheist a gcuirfimid an leabhar chucu.

YN: – Ba mhaith liom leabhar a thabhairt don chéad duine a chuir ceist.

Luaidhe: - Iontach! Go hiontach! Iontach! Go raibh míle maith agat!

Roinnt fógraí 🙂

Go raibh maith agat as fanacht linn. An maith leat ár n-alt? Ar mhaith leat ábhar níos suimiúla a fheiceáil? Tacaigh linn trí ordú a dhéanamh nó moladh a thabhairt do chairde, scamall VPS d'fhorbróirí ó $4.99, analóg uathúil de fhreastalaithe leibhéal iontrála, a cheap muid duit: An fhírinne iomlán a insint faoi VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps ó $19 nó conas freastalaí a roinnt? (ar fáil le RAID1 agus RAID10, suas le 24 croíleacan agus suas le 40GB DDR4).

Dell R730xd 2x níos saoire i lárionad sonraí Equinix Tier IV in Amstardam? Ach anseo 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 teilifíse ó $199 san Ísiltír! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - ó $99! Léigh faoi Conas corprú bonneagair a thógáil. rang le húsáid freastalaithe Dell R730xd E5-2650 v4 fiú 9000 euro ar phingin?

Foinse: will.com

Add a comment