ClickHouse airson luchd-cleachdaidh adhartach ann an ceistean is freagairtean

Anns a 'Ghiblean, chruinnich innleadairean Avito airson coinneamhan air-loidhne leis a' phrìomh leasaiche ClickHouse Alexey Milovidov agus Kirill Shvakov, leasaiche Golang bho Integros. Bhruidhinn sinn air mar a chleachdas sinn siostam rianachd stòr-dàta agus dè na duilgheadasan a bhios againn.

Stèidhichte air a’ choinneamh, tha sinn air artaigil a chuir ri chèile le freagairtean eòlaichean do na ceistean againn agus an luchd-èisteachd mu chùl-taic, ath-chàradh dàta, faclairean taobh a-muigh, draibhear Golang agus ag ùrachadh dreachan ClickHouse. Is dòcha gum bi e feumail do luchd-leasachaidh a tha mar-thà ag obair gu gnìomhach leis an Yandex DBMS agus aig a bheil ùidh san latha an-diugh agus san àm ri teachd. Gu gnàthach, is ann le Alexei Milovidov a tha na freagairtean, mura sgrìobhar a chaochladh.

Bi faiceallach, tha tòrr teacsa fon ghearradh. Tha sinn an dòchas gun cuidich an susbaint le ceistean thu le bhith a’ seòladh.

ClickHouse airson luchd-cleachdaidh adhartach ann an ceistean is freagairtean

Clàr-innse

Mura h-eil thu airson an teacsa a leughadh, faodaidh tu coimhead air clàradh nan cruinneachaidhean air an t-sianal YouTube againn. Tha còdan-tìm anns a’ chiad bheachd fon bhidio.

Tha ClickHouse air ùrachadh gu cunbhalach, ach chan eil an dàta againn. Dè a nì thu mu dheidhinn?

Tha ClickHouse air ùrachadh gu cunbhalach, agus chan eil an dàta againn, a chaidh a phròiseasadh mu dheireadh as fheàrr, air ùrachadh agus tha e ann an leth-bhreac cùl-taic.

Canaidh sinn gu robh duilgheadas againn agus chaidh an dàta a chall. Cho-dhùin sinn ath-nuadhachadh, agus thionndaidh e a-mach gu bheil na seann phàirtean, a tha air an stòradh air na frithealaichean cùl-taic, gu math eadar-dhealaichte bhon dreach a thathas a’ cleachdadh an-dràsta de ClickHouse. Dè a dhèanamh ann an suidheachadh mar sin, agus a bheil e comasach?

Tha suidheachadh anns an do chuir thu air ais dàta bho chùl-taic ann an seann chruth, ach chan eil e a 'ceangal ris an dreach ùr, do-dhèanta. Bidh sinn a’ dèanamh cinnteach gu bheil an cruth dàta ann an ClickHouse an-còmhnaidh co-chòrdail air ais. Tha seo tòrr nas cudromaiche na co-fhreagarrachd air ais ann an gnìomhachd ma tha giùlan cuid de ghnìomh nach eilear a’ cleachdadh ach air atharrachadh. Bu chòir gum biodh an tionndadh ùr de ClickHouse an-còmhnaidh comasach air an dàta a tha air a stòradh air diosc a leughadh. Is e seo an lagh.

Dè na cleachdaidhean as fheàrr a th’ ann an-dràsta airson taic a chumail ri dàta bho ClickHouse?

Mar a nì thu cùl-taic, a’ gabhail a-steach gu bheil sinn air an obair dheireannach as fheàrr a dhèanamh, stòr-dàta mòr de terabytes, agus dàta a thèid ùrachadh, can, airson na trì latha a dh’ fhalbh, agus an uairsin nach tachair modhan sam bith dha?

Is urrainn dhuinn ar fuasgladh fhèin a dhèanamh agus sgrìobhadh air an bash: cruinnich na lethbhric cùl-taic sin ann an leithid de dhòigh. Is dòcha nach eil feum air dad a phronnadh, agus chaidh am baidhsagal a chruthachadh o chionn fhada?

Feuch an tòisich sinn leis na cleachdaidhean as fheàrr. Bidh mo cho-obraichean an-còmhnaidh a 'comhairleachadh, mar fhreagairt do cheistean mu chùl-taic, gus an cur an cuimhne seirbheis Yandex.Cloud, far a bheil an duilgheadas seo air a rèiteachadh mar-thà. Mar sin cleachd e ma ghabhas e dèanamh.

Chan eil fuasgladh iomlan ann airson cùl-taic, ceud sa cheud air a thogail a-steach do ClickHouse. Tha cuid de bheàrnan ann a ghabhas cleachdadh. Gus fuasgladh coileanta fhaighinn, feumaidh tu an dàrna cuid beagan tinkering le làimh, no pasgain a chruthachadh ann an cruth sgriobtaichean.

Tòisichidh mi leis na fuasglaidhean as sìmplidh agus thig mi gu crìch leis an fheadhainn as ionnsaichte, a rèir meud an dàta agus meud a’ bhraisle. Mar as motha an cruinneachadh, is ann as iom-fhillte a thig am fuasgladh.

Mura h-eil an clàr le dàta ann ach beagan gigabytes, faodar cùl-taic a dhèanamh mar seo:

  1. Sàbhail mìneachadh clàr ie meata-dàta - taisbeanadh cruthaich clàr.
  2. Dèan dump a’ cleachdadh an neach-dèiligidh ClickHouse - tagh * bhon bhòrd a fhaidhleadh. Gu gnàthach gheibh thu faidhle ann an cruth TabSeparated. Ma tha thu airson a bhith nas èifeachdaiche, faodaidh tu a dhèanamh ann an cruth Dùthchasach.

Ma tha an àireamh de dhàta nas motha, bheir an cùl-taic barrachd ùine agus tòrr àite. Canar cùl-taic loidsigeach ris an seo; chan eil e ceangailte ri cruth dàta ClickHouse. Ma tha, an uairsin mar an roghainn mu dheireadh faodaidh tu cùl-taic a ghabhail agus a luchdachadh suas gu MySQL airson faighinn seachad air.

Airson cùisean nas adhartaiche, tha comas togte aig ClickHouse dealbh de phàirtean a chruthachadh san t-siostam faidhle ionadail. Tha am feart seo ri fhaighinn mar iarrtas atharraich sgaradh reothadh clàr. No gu sìmplidh atharraich reothadh clàr - seo dealbh den chlàr gu lèir.

Thèid an dealbh a chruthachadh gu cunbhalach airson aon bhòrd air aon shard, is e sin, tha e do-dhèanta dealbh cunbhalach a chruthachadh den bhuidheann gu lèir san dòigh seo. Ach airson a 'mhòr-chuid de ghnìomhan chan eil feum air a leithid, agus tha e gu leòr iarrtas a chuir an gnìomh air gach shard agus dealbh cunbhalach fhaighinn. Tha e air a chruthachadh ann an cruth cruaidh-cheanglaichean agus mar sin chan eil e a 'gabhail àite a bharrachd. An uairsin, bidh thu a’ dèanamh lethbhreac den dealbh seo chun t-seirbheisiche cùl-taic no chun stòradh a chleachdas tu airson cùl-taic.

Tha e gu math furasta a leithid de chùl-taic ath-nuadhachadh. An toiseach, cruthaich clàran a 'cleachdadh mìneachaidhean bùird a th' ann mar-thà. An uairsin, dèan lethbhreac de na dealbhan a chaidh a shàbhaladh de na pàirtean gu Directory-Detached airson na clàran seo agus ruith a’ cheist ceangail sgaradh. Tha am fuasgladh seo gu math freagarrach airson na meudan dàta as miosa.

Aig amannan feumaidh tu rudeigin eadhon nas fhuaire - ann an cùisean far a bheil deichean no eadhon ceudan de terabytes air gach frithealaiche agus ceudan de luchd-frithealaidh. Tha fuasgladh an seo a thog mi bho mo cho-obraichean bho Yandex.Metrica. Cha bhithinn ga mholadh don h-uile duine - leugh e agus co-dhùin dhut fhèin a bheil e freagarrach no nach eil.

An toiseach feumaidh tu grunn luchd-frithealaidh a chruthachadh le sgeilpichean diosc mòr. An uairsin, air na frithealaichean sin, tog grunn luchd-frithealaidh ClickHouse agus rèitich iad gus am bi iad ag obair mar mhac-samhail eile airson na h-aon shards. Agus an uairsin cleachd siostam faidhle no inneal air choireigin air na frithealaichean sin a leigeas leat dealbhan a chruthachadh. Tha dà roghainn an seo. Is e a’ chiad roghainn dealbhan LVM, is e an dàrna roghainn ZFS air Linux.

Às deidh sin, a h-uile latha feumaidh tu dealbh a chruthachadh, bidh e na laighe agus gabhaidh e beagan àite. Gu nàdarra, ma dh'atharraicheas an dàta, meudaichidh an ìre de rùm thar ùine. Faodar an dealbh seo a thoirt a-mach aig àm sam bith agus an dàta ath-nuadhachadh, fuasgladh cho neònach. A bharrachd air an sin, feumaidh sinn cuideachd na mac-samhail sin a chuingealachadh anns an config gus nach feuch iad ri bhith nan stiùirichean.

Am bi e comasach dàil fo smachd de mhac-samhail a chuir air dòigh anns na claisean?

Am-bliadhna tha thu an dùil shailean a dhèanamh ann an ClickHouse. Am bi e comasach dàil fo smachd de mhac-samhail a chuir air dòigh annta? Bu mhath leinn a chleachdadh gus sinn fhèin a dhìon bho shuidheachaidhean àicheil le atharraichean agus atharrachaidhean eile.

A bheil e comasach seòrsa de roiligeadh air ais a dhèanamh airson atharraichean? Mar eisimpleir, ann an cas a tha ann mar-thà, gabh agus abair gun cuir thu na h-atharrachaidhean an sàs gus an àm seo, agus bhon mhionaid seo nach stad thu a’ cur an gnìomh na h-atharrachaidhean?

Ma thàinig àithne chun bhuidheann againn agus gun do bhris sinn e, tha mac-samhail cumhach againn le dàil uair a thìde, far an urrainn dhuinn a ràdh gun cleachd sinn e an-dràsta, ach nach cuir sinn atharrachaidhean an sàs ann airson na deich mionaidean mu dheireadh?

An toiseach, mu dheidhinn lag fo smachd mac-samhail. Bha iarrtas mar seo ann bho luchd-cleachdaidh, agus chruthaich sinn cùis air Github leis an iarrtas: “Ma tha feum aig cuideigin air seo, mar e, cuir cridhe.” Cha do lìbhrig duine, agus chaidh a’ chùis a dhùnadh. Ach, gheibh thu an cothrom seo mu thràth le bhith a’ stèidheachadh ClickHouse. Fìor, dìreach a ’tòiseachadh bho dhreach 20.3.

Bidh ClickHouse an-còmhnaidh a’ coileanadh dàta a’ tighinn còmhla air a’ chùl. Nuair a bhios aonadh deiseil, thèid pìos nas motha a chuir na àite seata sònraichte de phìosan dàta. Aig an aon àm, bidh pìosan dàta a bha ann roimhe a’ fuireach air an diosc airson ùine.

An toiseach, bidh iad fhathast gan stòradh fhad ‘s a tha ceistean taghte ann a bhios gan cleachdadh, gus obrachadh gun bhacadh a thoirt seachad. Tha ceistean taghte furasta an leughadh bho sheann pìosan.

San dàrna àite, tha stairsneach ùine ann cuideachd - bidh seann phìosan dàta a’ laighe air an diosc airson ochd mionaidean. Faodar na h-ochd mionaidean sin a ghnàthachadh agus eadhon tionndadh gu aon latha. Cosgaidh seo àite diosc: a rèir an t-sruth dàta, tha e a ’tionndadh a-mach nach bi san latha mu dheireadh a’ dùblachadh an dàta a-mhàin, gum faodadh e a bhith còig tursan nas motha. Ach ma tha fìor dhuilgheadas ann, faodaidh tu stad a chuir air frithealaiche ClickHouse agus a h-uile càil a rèiteach.

A-nis tha ceist ag èirigh a thaobh mar a dhìonas seo an aghaidh atharraichean. Is fhiach sùil nas doimhne a thoirt an seo, oir ann an dreachan nas sine de ClickHouse, dh’ obraich an t-atharrachadh ann an dòigh is gun do dh’ atharraich e pìosan gu dìreach. Tha pìos dàta ann le cuid de fhaidhlichean, agus bidh sinn, mar eisimpleir, atharraich an colbh tuiteam. An uairsin thèid an colbh seo a thoirt air falbh gu corporra bho gach cnap.

Ach a’ tòiseachadh le dreach 20.3, tha an uidheamachd atharrachaidh air atharrachadh gu tur, agus a-nis tha pìosan dàta an-còmhnaidh neo-sheasmhach. Chan eil iad ag atharrachadh idir - tha atharraichean a-nis ag obair anns an aon dòigh ri aonaidhean. An àite pìos ùr a chur na àite, cruthaichidh sinn fear ùr. Anns a’ phìos ùr, bidh faidhlichean nach do dh’atharraich gu bhith nan ceanglaichean cruaidh, agus ma sguabas sinn às colbh, bidh e dìreach a dhìth anns a’ phìos ùr. Thèid an seann phìos a dhubhadh às gu bunaiteach às deidh ochd mionaidean, agus an seo faodaidh tu na roghainnean gu h-àrd tweak.

Tha an aon rud a’ buntainn ri atharraichean leithid mùthaidhean. Nuair a nì thu atharraich sguabadh às no atharraich ùrachadh, chan eil e ag atharrachadh a 'phìos, ach a' cruthachadh fear ùr. Agus an uairsin cuir às don t-seann fhear.

Dè ma tha structar a’ bhùird air atharrachadh?

Ciamar a thoirt air ais lethbhreac glèidhidh a chaidh a dhèanamh leis an t-seann sgeama? Agus tha an dàrna ceist mun chùis le snapshots agus innealan siostam faidhle. A bheil Btrfs math an seo an àite ZFS air Linux LVM?

Ma nì thu ceangail sgaradh sgaraidhean le structar eadar-dhealaichte, an uairsin innsidh ClickHouse dhut nach eil seo comasach. Is e seo am fuasgladh. Is e a’ chiad fhear clàr sealach den t-seòrsa MergeTree a chruthachadh leis an t-seann structar, dàta a cheangal an sin le bhith a’ cleachdadh ceangail, agus ceist eile a dhèanamh. An uairsin faodaidh tu an dàta seo a chopaigeadh no a ghluasad agus a cheangal a-rithist, no iarrtas a chleachdadh atharraich clàr gluasad gluasad.

A-nis is i an dàrna ceist an gabh Btrfs a chleachdadh. An toiseach, ma tha LVM agad, tha dealbhan LVM gu leòr, agus faodaidh an siostam faidhle a bhith ext4, chan eil e gu diofar. Le Btrts, tha a h-uile dad an urra ris an eòlas agad air a chleachdadh. Is e siostam faidhle aibidh a tha seo, ach tha amharas ann fhathast mu mar a dh’ obraicheas a h-uile càil ann an cleachdadh ann an suidheachadh sònraichte. Cha bhithinn a’ moladh seo a chleachdadh mura h-eil Btrfs agad ann an cinneasachadh.

Dè na cleachdaidhean as fheàrr a th’ ann an-dràsta ann an ath-chraoladh dàta?

Tha cùis ath-chàradh iom-fhillte agus ioma-thaobhach. Tha grunn fhreagairtean comasach an seo. Faodaidh tu a dhol bho aon taobh agus seo a ràdh - chan eil feart ath-chuiridh togte aig ClickHouse. Ach tha eagal orm nach bi am freagairt seo freagarrach do dhuine sam bith. Mar sin, faodaidh tu a dhol bhon taobh eile agus a ràdh gu bheil iomadh dòigh aig ClickHouse airson dàta ath-cheannach.

Ma ruitheas a’ bhuidheann a-mach à rùm no mura urrainn dha an luchd a làimhseachadh, cuiridh tu frithealaichean ùra ris. Ach tha na frithealaichean sin falamh gu bunaiteach, chan eil dàta ann orra, chan eil luchd ann. Feumaidh tu an dàta ath-rèiteachadh gus am bi e air a sgaoileadh gu cothromach thairis air a’ bhuidheann ùr, nas motha.

Is e a’ chiad dòigh air seo a dhèanamh a bhith a’ dèanamh lethbhreac de phàirt de na h-earrainnean gu frithealaichean ùra a’ cleachdadh iarrtas atharraich an clàr airson sgaradh. Mar eisimpleir, bha sgaraidhean agad gach mìos, agus bheir thu a’ chiad mhìos de 2017 agus dèan lethbhreac dheth gu frithealaiche ùr, agus an uairsin dèan lethbhreac den treas mìos gu frithealaiche ùr eile. Agus nì thu seo gus an tig e gu ìre mhòr no nas lugha.

Chan urrainnear tar-chuir a dhèanamh ach airson na pàirtean sin nach atharraich aig àm clàraidh. Airson sgaraidhean ùra, feumar clàradh a chuir à comas, leis nach eil an gluasad aca atamach. Rud eile, bidh dùblaidhean no beàrnan san dàta agad. Ach, tha an dòigh seo practaigeach agus ag obair gu math èifeachdach. Bithear a’ gluasad pìosan teannachaidh deiseil thairis air an lìonra, is e sin, chan eil an dàta air a dhlùthadh no air ath-chòdachadh.

Tha aon eas-bhuannachd aig an dòigh seo, agus tha e an urra ris an sgeama sharding, co-dhiù an do gheall thu don sgeama sharding seo, dè an iuchair sharding a bh’ agad. Anns an eisimpleir agad airson a’ chùis le meatrach, is e an iuchair sharding hash na slighe. Nuair a thaghas tu clàr air a chuairteachadh, thèid e chun a h-uile shards sa bhuidheann aig an aon àm agus bheir e dàta às an sin.

Tha seo a’ ciallachadh nach eil e gu diofar dhut dè an dàta a thàinig gu crìch air dè an shard. Is e am prìomh rud gu bheil dàta air aon shlighe a’ tighinn gu crìch air aon shard, ach dè am fear nach eil cudromach. Anns a 'chùis seo, tha e foirfe a bhith a' gluasad pìosan deiseil, oir le ceistean taghte gheibh thu cuideachd dàta iomlan - ge bith an ann mus tèid thu air ais no às deidh sin, chan eil an sgeama gu diofar.

Ach tha cùisean ann a tha nas iom-fhillte. Ma tha thu aig ìre loidsig an tagraidh gu bheil thu an urra ri sgeama sharding sònraichte, gu bheil an neach-dèiligidh seo suidhichte air a leithid de shard, agus faodar an t-iarrtas a chuir gu dìreach an sin, agus chan ann chun chlàr air a chuairteachadh. No tha thu a’ cleachdadh dreach an ìre mhath o chionn ghoirid de ClickHouse agus tha thu air an suidheachadh a chomasachadh leasaich sgiob shards nach deach a chleachdadh. Anns a 'chùis seo, rè a' cheist taghte, thèid an abairt anns an roinn far a bheilear a 'sgrùdadh agus thèid a thomhas dè na slatan a dh'fheumar a chleachdadh a rèir an sgeama sharding. Bidh seo ag obair fhad ‘s a tha an dàta air a sgaradh gu dìreach a rèir an sgeama sgaraidh seo. Ma dh’ atharraich thu iad le làimh, dh’ fhaodadh gun atharraich an conaltradh.

Mar sin is e seo dòigh àireamh a h-aon. Agus tha mi a’ feitheamh ri do fhreagairt, ge bith a bheil an dòigh freagarrach, no gluaisidh sinn air adhart.

Vladimir Kolobaev, prìomh rianadair siostam ann an Avito: Alexey, chan eil an dòigh air an tug thu iomradh ag obair glè mhath nuair a dh’ fheumas tu an luchd a sgaoileadh, a’ toirt a-steach leughadh. Faodaidh sinn sgaradh a tha mìosail agus is urrainn dhuinn a’ mhìos roimhe a thoirt gu nód eile, ach nuair a thig iarrtas airson an dàta seo, cha luchdaich sinn ach e. Ach bu mhath leinn an cruinneachadh gu lèir a luchdachadh, oir air dhòigh eile, airson ùine bidh an luchd leughaidh gu lèir air a phròiseasadh le dà shard.

Alexei Milovidov: Tha am freagairt an seo neònach - tha, tha e dona, ach is dòcha gun obraich e. Mìnichidh mi gu dìreach ciamar. Is fhiach coimhead air an t-suidheachadh luchdan a tha air cùl an dàta agad. Mas e dàta sgrùdaidh a tha seo, is urrainn dhuinn cha mhòr cinnteach a ràdh gu bheil a’ mhòr-chuid de dh’iarrtasan airson dàta ùr.

Chuir thu a-steach frithealaichean ùra, rinn thu imrich air seann phàirtean, ach dh’ atharraich thu cuideachd mar a tha dàta ùr air a chlàradh. Agus thèid dàta ùr a sgaoileadh air feadh na buidhne. Mar sin, às deidh dìreach còig mionaidean, bidh iarrtasan airson na còig mionaidean mu dheireadh a ’luchdachadh a’ bhuidheann gu cothromach; às deidh latha, bidh iarrtasan airson XNUMX uair a ’luchdachadh a’ bhuidheann gu cothromach. Agus cha tèid iarrtasan airson na mìos roimhe, gu mì-fhortanach, ach gu pàirt de na frithealaichean brabhsair.

Ach gu tric cha bhi iarrtasan sònraichte agad airson Gearran 2019. Nas coltaiche, ma thèid iarrtasan a-steach gu 2019, bidh iad airson 2019 gu lèir - airson ùine mhòr, agus chan ann airson cuid de raon beag. Agus bidh e comasach dha na h-iarrtasan sin an cruinneachadh a luchdachadh gu cothromach. Ach san fharsaingeachd, tha do bheachd gu tur ceart gur e fuasgladh ad hoc a tha seo nach eil a’ sgaoileadh an dàta gu tur cothromach.

Tha beagan phuingean a bharrachd agam airson a’ cheist a fhreagairt. Tha aon dhiubh mu dheidhinn mar a dhealbhaicheas tu sgeama sharding an toiseach gus nach adhbhraicheadh ​​ath-sharradh nas lugha de phian. Chan eil seo an-còmhnaidh comasach.

Mar eisimpleir, tha dàta sgrùdaidh agad. Tha dàta sgrùdaidh a’ fàs airson trì adhbharan. Is e a’ chiad fhear cruinneachadh dàta eachdraidheil. Is e an dàrna fear fàs trafaic. Agus is e an treas fear àrdachadh anns an àireamh de rudan a tha fo smachd. Tha meanbh-sheirbheisean ùra agus meatrach ann a dh’ fheumar a shàbhaladh.

Dh'fhaodadh gur ann dhiubh sin a tha an àrdachadh as motha co-cheangailte ris an treas adhbhar - an àrdachadh ann an cleachdadh sgrùdaidh. Agus anns a 'chùis seo, is fhiach coimhead air nàdar an luchd, dè na prìomh cheistean a th' ann. Tha e coltach gum bi ceistean taghte bunaiteach stèidhichte air cuid de fho-sheata de mheatairean.

Mar eisimpleir, cleachdadh CPU air cuid de luchd-frithealaidh le cuid de sheirbheis. Tha e a 'tionndadh a-mach gu bheil sònraichte fo-sheata de iuchraichean leis a bheil thu a' faighinn an dàta seo. Agus tha e coltach gu bheil an t-iarrtas fhèin airson an dàta seo gu math sìmplidh agus air a chrìochnachadh ann an deichean milliseconds. Air a chleachdadh airson seirbheisean sgrùdaidh agus deas-bhòrd. Tha mi an dòchas gun tuig mi seo gu ceart.

Vladimir Kolobaev: Is e an fhìrinn gu bheil sinn gu math tric ag ath-thagradh gu dàta eachdraidheil, leis gu bheil sinn a’ dèanamh coimeas eadar an suidheachadh làithreach agus an suidheachadh eachdraidheil ann an àm fìor. Agus tha e cudromach gum bi cothrom luath againn air tòrr dàta, agus tha ClickHouse a’ dèanamh obair ionmholta le seo.

Tha thu ceart gu leòr, tha sinn a’ faighinn eòlas air a’ mhòr-chuid de na h-iarrtasan a chaidh a leughadh air an latha mu dheireadh, mar shiostam sgrùdaidh sam bith. Ach aig an aon àm, tha an luchd air dàta eachdraidheil cuideachd gu math mòr. Tha e gu bunaiteach bho shiostam rabhaidh a bhios a’ dol timcheall a h-uile trithead diog agus ag ràdh ri ClickHouse: “Thoir dhomh an dàta airson na sia seachdainean a dh’ fhalbh. A-nis tog dhomh seòrsa de chuibheasachd gluasadach bhuapa, agus dèanamaid coimeas eadar an luach làithreach agus an luach eachdraidheil."

Bu mhath leam a ràdh gu bheil clàr beag eile againn airson iarrtasan cho o chionn ghoirid anns nach bi sinn a’ stòradh ach dà latha de dhàta, agus tha na prìomh iarrtasan a’ dol a-steach ann. Cha bhith sinn a’ cur ach ceistean mòra eachdraidheil chun bhòrd mhòr shnìomhte.

Alexei Milovidov: Gu mì-fhortanach, tha e coltach gu bheil e gu math iomchaidh airson do shuidheachadh, ach innsidh mi dhut tuairisgeul air dà sgeama bearraidh dona agus iom-fhillte nach fheumar a chleachdadh, ach a tha gan cleachdadh ann an seirbheis mo charaidean.

Tha prìomh bhuidheann còmhla ri tachartasan Yandex.Metrica. Is e tachartasan seallaidhean duilleag, cliogan, agus atharrachaidhean. Bidh a’ mhòr-chuid de dh’iarrtasan a’ dol gu làrach-lìn shònraichte. Bidh thu a 'fosgladh seirbheis Yandex.Metrica, tha làrach-lìn agad - avito.ru, rachaibh chun na h-aithisg, agus thèid iarrtas a dhèanamh airson do làrach-lìn.

Ach tha iarrtasan eile ann - mion-sgrùdaidh agus cruinneil - a tha luchd-anailis a-staigh a’ dèanamh. Dìreach gun fhios, tha mi a 'toirt fa-near gu bheil sgrùdairean taobh a-staigh a' dèanamh iarrtasan a-mhàin airson seirbheisean Yandex. Ach a dh'aindeoin sin, tha eadhon seirbheisean Yandex a 'gabhail pàirt mhòr den dàta gu lèir. Is e iarrtasan a tha seo chan ann airson cunntairean sònraichte, ach airson sìoladh nas fharsainge.

Ciamar a chuireas tu dàta air dòigh ann an dòigh is gum bi a h-uile càil ag obair gu h-èifeachdach airson aon chunntair, agus ceistean cruinneil cuideachd? Is e duilgheadas eile a th’ ann gu bheil an àireamh de dh’iarrtasan ann an ClickHouse airson a’ bhuidheann Metrics grunn mhìltean san diog. Aig an aon àm, chan urrainn dha aon fhrithealaiche ClickHouse iarrtasan neo-bheag a làimhseachadh, mar eisimpleir, grunn mhìltean san diog.

Is e meud na brabhsair sia ceud neach-frithealaidh rudeigin. Ma tharraingeas tu dìreach clàr air a chuairteachadh thairis air a’ bhuidheann seo agus gun cuir thu grunn mhìltean iarrtas ann, fàsaidh e eadhon nas miosa na bhith gan cur gu aon fhrithealaiche. Air an làimh eile, tha an roghainn gum bi an dàta air a sgaoileadh gu cothromach, agus bidh sinn a ’dol agus ag iarraidh bho gach frithealaiche, air a chuir às sa bhad.

Tha roghainn ann a tha diametrically mu choinneamh. Smaoinich ma bhios sinn a’ roinneadh an dàta thairis air làraich, agus ma thèid iarrtas airson aon làrach gu aon shard. A-nis bidh e comasach don bhuidheann deich mìle iarrtas gach diog a làimhseachadh, ach air aon shard obraichidh aon iarrtas ro shlaodach. Cha bhith e a’ sgèile tuilleadh a thaobh trochur. Gu sònraichte mas e seo an làrach avito.ru. Cha nochd mi an dìomhair ma chanas mi gur e Avito aon de na làraich as motha a thadhail air ann an RuNet. Agus bhiodh e na chuthach a bhith ga ghiollachd air aon shard.

Mar sin, tha an sgeama sharding air a dhealbhadh ann an dòigh nas seòlta. Tha an cruinneachadh gu lèir air a roinn ann an grunn bhuidhnean, ris an can sinn sreathan. Anns gach cruinneachadh tha bho dhusan gu grunn dhusan shard. Tha trithead ’s a naoi buidhnean mar sin ann uile gu lèir.

Ciamar a tha seo uile a’ tomhas? Chan eil an àireamh de chlàran ag atharrachadh - mar a bha e trithead ’s a naoi o chionn beagan bhliadhnaichean, tha e fhathast mar sin. Ach taobh a-staigh gach aon dhiubh, bidh sinn ag àrdachadh an àireamh de shards mean air mhean mar a bhios sinn a’ cruinneachadh dàta. Agus tha an sgeama sharding gu h-iomlan mar seo: tha na cruinneachaidhean sin air an roinn ann an làraich-lìn, agus gus tuigse fhaighinn air dè an làrach-lìn air a bheil buidheann, thathas a’ cleachdadh meata-dàta fa leth ann am MySQL. Aon làrach - air aon bhuidheann. Agus na bhroinn, bidh roinneadh a’ tachairt a rèir IDan luchd-tadhail.

Nuair a bhios sinn a’ clàradh, bidh sinn gan roinn leis a’ chòrr de roinn ID an neach-tadhail. Ach nuair a thathar a’ cur shard ùr ris, bidh an sgeama sharding ag atharrachadh; tha sinn a’ leantainn air adhart a’ sgoltadh, ach leis a’ chòrr den roinneadh le àireamh eile. Tha seo a’ ciallachadh gu bheil aon neach-tadhail air grunn luchd-frithealaidh mu thràth, agus chan urrainn dhut a bhith an urra ri seo. Tha seo air a dhèanamh a-mhàin gus dèanamh cinnteach gu bheil an dàta air a dhlùthadh nas fheàrr. Agus nuair a bhios sinn a’ dèanamh iarrtasan, thèid sinn chun chlàr Distributed, a bhios a’ coimhead air a’ bhuidheann agus a’ faighinn cothrom air dusanan de luchd-frithealaidh. Is e sgeama cho gòrach a tha seo.

Ach bidh mo sgeul neo-choileanta mura h-eil mi ag ràdh gun do thrèig sinn an sgeama seo. Anns an sgeama ùr, dh’atharraich sinn a h-uile càil agus rinn sinn leth-bhreac den dàta gu lèir a’ cleachdadh clickhouse-copier.

Anns an sgeama ùr, tha a h-uile làrach air a roinn ann an dà roinn - mòr agus beag. Chan eil fios agam ciamar a chaidh an stairsneach a thaghadh, ach b’ e an toradh gu bheil làraichean mòra air an clàradh air aon bhuidheann, far a bheil 120 shards le trì mac-samhail gach fear - is e sin, 360 frithealaichean. Agus tha an sgeama sharding cho mòr is gum bi iarrtas sam bith a’ dol chun a h-uile shards aig an aon àm. Ma dh'fhosglas tu a-nis duilleag aithisg sam bith airson avito.ru ann an Yandex.Metrica, thèid an t-iarrtas gu 120 frithealaiche. Chan eil mòran làraich mòra ann an RuNet. Agus chan eil na h-iarrtasan mìle san diog, ach eadhon nas lugha na ceud. Tha seo uile air a chuairteachadh gu sàmhach leis a’ bhòrd Distributed, a bhios gach fear dhiubh a’ pròiseasadh le 120 frithealaiche.

Agus tha an dàrna buidheann airson làraich beaga. Seo sgeama sharding stèidhichte air ID na làraich, agus tha gach iarrtas a’ dol gu dìreach aon shard.

Tha goireas clickhouse-copier aig ClickHouse. An urrainn dhut innse dhuinn mu deidhinn?

Canaidh mi sa bhad gu bheil am fuasgladh seo nas duilghe agus beagan nas cinneasaiche. Is e a’ bhuannachd a th ’ann gu bheil e a’ smeuradh an dàta gu tur a rèir a ’phàtrain a shònraicheas tu. Ach is e ana-cothrom a’ ghoireas nach eil e ag ath-neartachadh idir. Bidh e a’ dèanamh lethbhreac de dhàta bho aon sgeama brabhsair gu sgeama cnuasachaidh eile.

Tha seo a’ ciallachadh gum feum dà bhuidheann a bhith agad airson gun obraich e. Faodaidh iad a bhith air an suidheachadh air na h-aon luchd-frithealaidh, ach, a dh'aindeoin sin, cha tèid an dàta a ghluasad mean air mhean, ach thèid lethbhreac a dhèanamh dheth.

Mar eisimpleir, bha ceithir frithealaichean ann, a-nis tha ochdnar ann. Bidh thu a’ cruthachadh clàr ùr Sgaoilte air a h-uile seirbheisiche, bùird ionadail ùra agus a’ cur air bhog clickhouse-copier, a’ nochdadh ann an sgeama obrach a bu chòir dha leughadh às an sin, gabhail ris an sgeama sharding ùr agus an dàta a ghluasad an sin. Agus air seann luchd-frithealaidh feumaidh tu uair gu leth barrachd àite na tha ann an-dràsta, oir feumaidh an seann dàta fuireach orra, agus thig leth den aon seann dàta air am mullach. Ma bha thu a 'smaoineachadh ro-làimh gum feumar an dàta ath-chàradh agus gu bheil àite ann, tha an dòigh seo freagarrach.

Ciamar a tha clickhouse-copier ag obair a-staigh? Bidh e a 'briseadh a h-uile obair ann an seata de ghnìomhan airson a bhith a' giullachd aon phàirt de aon bhòrd air aon shard. Faodar na gnìomhan sin uile a chuir an gnìomh aig an aon àm, agus faodar clickhouse-copier a ruith air diofar innealan ann an grunn shuidheachaidhean, ach chan eil na nì e airson aon sgaradh nas motha na cuir a-steach taghte. Tha an dàta air a leughadh, air a dhì-dhùmhlachadh, air a thoirt air ais, an uairsin air a dhlùthadh a-rithist, air a sgrìobhadh an àiteigin, agus air ath-sheòrsachadh. Is e co-dhùnadh nas cruaidhe a tha seo.

Bha rud pìleat agad ris an canar resharding. Dè leatha?

Air ais ann an 2017, bha rud pìleat agad ris an canar resharding. Tha eadhon roghainn ann an ClickHouse. Mar a tha mi ga thuigsinn, cha do dh'èirich e. An innis thu dhomh carson a thachair seo? Tha e coltach gu bheil e gu math buntainneach.

Is e an duilgheadas gu lèir ma tha feum air dàta ath-nuadhachadh na àite, tha feum air sioncronadh gu math toinnte gus seo a dhèanamh gu atamach. Nuair a thòisich sinn a 'coimhead air mar a tha an sioncronadh seo ag obair, dh'fhàs e soilleir gu robh duilgheadasan bunaiteach ann. Agus tha na duilgheadasan bunaiteach sin chan ann a-mhàin teòiridheach, ach sa bhad thòisich iad gan sealltainn fhèin ann an cleachdadh ann an cruth rudeigin a dh'fhaodar a mhìneachadh gu sìmplidh - chan eil dad ag obair.

A bheil e comasach a h-uile pìos dàta a chur còmhla mus gluais thu gu diosgan slaodach?

Ceist mu TTL leis a’ ghluasad gu roghainn diosc slaodach ann an co-theacs aonaidhean. A bheil dòigh ann, ach a-mhàin tro cron, na pàirtean gu lèir a chur còmhla ann an aon mus gluais iad gu diosgan slaodach?

Is e am freagairt don cheist gu bheil e comasach dòigh air choireigin na pìosan gu lèir a ghleusadh ann an aon mus gluais iad - chan eil. Chan eil mi a’ smaoineachadh gu bheil seo riatanach. Chan fheum thu na pàirtean gu lèir a chur còmhla ann an aon, ach dìreach cunntadh air an fhìrinn gun tèid an gluasad gu diosgan slaodach gu fèin-ghluasadach.

Tha dà shlat-tomhais againn airson riaghailtean gluasaid. Tha a 'chiad fhear mar a tha e air a lìonadh. Ma tha nas lugha na ceudad sònraichte de rùm an-asgaidh aig an t-sreath stòraidh gnàthach, bidh sinn a’ taghadh aon phìos agus ga ghluasad gu stòradh nas slaodaiche. No an àite, chan ann nas slaodaiche, ach an ath fhear - mar a bhios tu a 'rèiteachadh.

Is e an dàrna slat-tomhais meud. Tha e mu dheidhinn pìosan mòra a ghluasad. Faodaidh tu an stairsneach atharrachadh a rèir an àite an-asgaidh air an diosc luath, agus thèid an dàta a ghluasad gu fèin-ghluasadach.

Mar a nì thu imrich gu dreachan ùra de ClickHouse mura h-eil dòigh ann sgrùdadh a dhèanamh air co-chòrdalachd ro-làimh?

Bithear a’ bruidhinn air a’ chuspair seo gu cunbhalach ann an còmhradh telegram ClickHouse a 'toirt aire do dhreachan eadar-dhealaichte, agus fhathast. Dè cho sàbhailte ‘s a tha e ùrachadh bho dhreach 19.11 gu 19.16 agus, mar eisimpleir, bho 19.16 gu 20.3. Dè an dòigh as fheàrr air gluasad gu dreachan ùra gun a bhith comasach air sgrùdadh a dhèanamh air co-chòrdalachd sa bhogsa gainmhich ro-làimh?

Tha grunn riaghailtean “òir” an seo. A’ chiad - leugh an clàr atharrachaidh. Tha e mòr, ach tha paragrafan fa leth ann mu atharrachaidhean air ais nach eil iomchaidh. Na cleachd na puingean sin mar bhratach dhearg. Mar as trice is e neo-fhreagarrachd beaga a tha seo a tha a’ toirt a-steach cuid de ghnìomhachd iomaill nach bi thu a’ cleachdadh.

San dàrna h-àite, mura h-eil dòigh ann sgrùdadh a dhèanamh air co-chòrdalachd sa bhogsa gainmhich, agus gu bheil thu airson ùrachadh sa bhad ann an cinneasachadh, is e am moladh nach fheum thu seo a dhèanamh. An toiseach cruthaich bogsa gainmhich agus deuchainn. Mura h-eil àrainneachd deuchainn ann, tha e glè choltach nach eil companaidh glè mhòr agad, a tha a ’ciallachadh gun urrainn dhut cuid den dàta a chopaigeadh chun laptop agad agus dèanamh cinnteach gu bheil a h-uile dad ag obair gu ceart air. Faodaidh tu eadhon grunn mac-samhail a thogail gu h-ionadail air an inneal agad. No faodaidh tu dreach ùr a thogail am badeigin faisg air làimh agus cuid den dàta a luchdachadh suas an sin - is e sin, cruthaich àrainneachd deuchainn gun ullachadh.

Is e riaghailt eile gun a bhith ag ùrachadh airson seachdain às deidh an dreach a leigeil ma sgaoil air sgàth bhiteagan glacaidh ann an cinneasachadh agus fuasglaidhean sgiobalta às deidh sin. Feuch an obraich sinn a-mach an àireamh de dhreachan ClickHouse gus nach bi sinn troimh-chèile.

Tha dreach 20.3.4 ann. Tha an àireamh 20 a 'comharrachadh a' bhliadhna saothrachaidh - 2020. Bho shealladh na tha a-staigh, chan eil seo gu diofar, agus mar sin cha toir sinn aire dha. Air adhart - 20.3. Bidh sinn ag àrdachadh an dàrna àireamh - sa chùis seo 3 - a h-uile uair a chuireas sinn a-mach brath le comas-gnìomh ùr. Ma tha sinn airson feart a chuir ri ClickHouse, feumaidh sinn an àireamh seo àrdachadh. Is e sin, ann an dreach 20.4 obraichidh ClickHouse eadhon nas fheàrr. Is e an treas figear 20.3.4. Seo 4 an àireamh de sgaoilidhean paiste anns nach do chuir sinn feartan ùra ris, ach shuidhich sinn cuid de bhiteagan. Agus tha 4 a’ ciallachadh gun do rinn sinn e ceithir tursan.

Na bi a’ smaoineachadh gur e rud uamhasach a tha seo. Mar as trice faodaidh an neach-cleachdaidh an dreach as ùire a stàladh agus obraichidh e gun duilgheadas sam bith le uptime gach bliadhna. Ach smaoinich, ann an gnìomh air choreigin airson a bhith a’ giullachd bitmaps, a chaidh a chuir ris le ar com-pàirtichean Sìneach, gu bheil am frithealaiche a’ bualadh nuair a thèid thu seachad air argamaidean ceàrr. Tha dleastanas oirnn seo a cheartachadh. Cuiridh sinn a-mach dreach paiste ùr agus fàsaidh ClickHouse nas seasmhaiche.

Ma tha ClickHouse agad a’ ruith ann an cinneasachadh, agus dreach ùr de ClickHouse a’ tighinn a-mach le feartan a bharrachd - mar eisimpleir, is e 20.4.1 a’ chiad fhear, na dèan cabhag gus a chuir gu cinneasachadh air a’ chiad latha. Carson a tha feum air eadhon? Mura h-eil thu a’ cleachdadh ClickHouse mu thràth, faodaidh tu a stàladh, agus is coltaiche gum bi a h-uile dad ceart gu leòr. Ach ma tha ClickHouse ag obair gu seasmhach mu thràth, cùm sùil air badan is ùrachaidhean gus faicinn dè na duilgheadasan a tha sinn a’ rèiteachadh.

Kirill Shvakov: Bu mhath leam beagan a chuir ris mu àrainneachdan deuchainn. Tha eagal mòr air a h-uile duine mu àrainneachdan deuchainn agus airson adhbhar air choireigin tha iad den bheachd ma tha cruinneachadh mòr ClickHouse agad, nach bu chòir an àrainneachd deuchainn a bhith nas lugha no co-dhiù deich tursan nas lugha. Chan ann mar sin a tha e idir.

Is urrainn dhomh innse dhut bhon eisimpleir agam fhìn. Tha pròiseact agam, agus tha ClickHouse ann. Tha an àrainneachd deuchainn againn dìreach dha - is e inneal beag brìgheil a tha seo ann an Hetzner airson fichead iùro, far a bheil a h-uile càil air a chleachdadh. Gus seo a dhèanamh, tha làn fèin-ghluasad againn ann an Ansible, agus mar sin, ann am prionnsapal, chan eil e gu diofar càite an tèid e - gu frithealaichean bathar-cruaidh no dìreach cleachdadh ann an innealan brìgheil.

Dè ghabhas dèanamh? Bhiodh e math eisimpleir a thoirt seachad anns na sgrìobhainnean ClickHouse air mar a chleachdas tu cruinneachadh beag nad dhachaigh fhèin - ann an Docker, ann an LXC, is dòcha cruthaich leabhar-cluiche Ansible, leis gu bheil diofar chleachdadh aig diofar dhaoine. Nì seo mòran nas sìmplidhe. Nuair a bheir thu agus a chleachdas tu brabhsair ann an còig mionaidean, tha e tòrr nas fhasa feuchainn ri rudeigin a dhèanamh a-mach. Tha seo tòrr nas goireasaiche, oir tha a bhith a’ putadh a-steach do dhreach cinneasachaidh nach do rinn thu deuchainn na rathad gu àite sam bith. Uaireannan bidh e ag obair agus uaireannan chan eil e. Agus mar sin, tha dòchas airson soirbheachas dona.

Maxim Kotyakov, àrd-innleadair cùl-taic Avito: Cuiridh mi beagan a-steach mu àrainneachdan deuchainn bho shreath de dhuilgheadasan a tha mu choinneamh chompanaidhean mòra. Tha cruinneachadh làn-ghabhail ClickHouse againn; a thaobh sgeamaichean dàta agus suidheachaidhean, tha e na fhìor leth-bhreac de na tha ann an riochdachadh. Tha an cruinneachadh seo air a chleachdadh ann an soithichean a tha gu math sgìth le glè bheag de ghoireasan. Bidh sinn a’ sgrìobhadh ceudad sònraichte den dàta toraidh an sin, gu fortanach tha e comasach an sruth ann an Kafka ath-riochdachadh. Tha a h-uile dad air a shioncronachadh agus air a sgèileadh - an dà chuid a thaobh comas agus sruthadh, agus, ann an teòiridh, a h-uile càil eile co-ionann, bu chòir dha a bhith ga ghiùlan fhèin mar chinneasachadh a thaobh meatrach. Thèid a h-uile dad a dh’ fhaodadh a bhith spreadhaidh a chuir a-steach don stand seo an toiseach agus fhàgail an sin airson grunn làithean gus am bi e deiseil. Ach gu nàdarra, tha am fuasgladh seo daor, duilich agus tha cosgaisean taic neo-neoni ann.

Alexei Milovidov: Innsidh mi dhut cò ris a tha àrainneachd deuchainn ar caraidean bho Yandex.Metrica coltach. Bha frithealaichean 600-corr aig aon bhuidheann, bha 360 aig fear eile, agus tha an treas cuid agus grunn bhuidhnean ann. Is e an àrainneachd deuchainn airson aon dhiubh dìreach dà shard le dà mhac-samhail anns gach fear. Carson dà shards? Gus nach bi thu nad aonar. Agus bu chòir mac-samhail a bhith ann cuideachd. Dìreach suim as ìsle as urrainn dhut a phàigheadh.

Leigidh an àrainneachd deuchainn seo leat faighinn a-mach a bheil na ceistean agad ag obair agus a bheil dad mòr briste. Ach gu tric bidh duilgheadasan ag èirigh gu tur eadar-dhealaichte, nuair a bhios a h-uile càil ag obair, ach tha cuid de dh'atharrachaidhean beaga anns an luchd.

Leig dhomh eisimpleir a thoirt dhut. Cho-dhùin sinn dreach ùr de ClickHouse a chuir a-steach. Tha e air a phostadh air àrainneachd deuchainn, chaidh deuchainnean fèin-ghluasadach a chrìochnachadh ann an Yandex.Metrica fhèin, a tha a 'dèanamh coimeas eadar dàta air an t-seann dreach agus an tè ùr, a' ruith an loidhne-phìoban gu lèir. Agus gu dearbh, deuchainnean uaine den CI againn. Mur eil, cha bhiodh sinn eadhon air an dreach seo a mholadh.

Tha a h-uile dad gu math. Tha sinn a’ tòiseachadh air gluasad gu cinneasachadh. Tha mi a’ faighinn teachdaireachd gu bheil an luchd air na grafaichean air a dhol suas grunn thursan. Tha sinn a 'toirt air ais an dreach. Bidh mi a’ coimhead air a’ ghraf agus a’ faicinn: chaidh an luchd àrdachadh grunn thursan rè an sgaoileadh, agus lughdaich e air ais nuair a chaidh an sgaoileadh a-mach. An uairsin thòisich sinn air an dreach a thoirt air ais. Agus mheudaich an luchd san aon dòigh agus thuit e air ais san aon dòigh. Mar sin is e seo an co-dhùnadh: tha an luchd air a dhol suas mar thoradh air an dealbhadh, gun dad iongantach.

An uairsin bha e duilich toirt a chreidsinn air co-obraichean an dreach ùr a chuir a-steach. Tha mi ag ràdh: “Tha e ceart gu leòr, cuir a-mach. Cùm do chorragan tarsainn, obraichidh a h-uile dad. A-nis tha an luchd air na grafaichean air a dhol suas, ach tha a h-uile dad gu math. Fanaibh ann." San fharsaingeachd, rinn sinn seo, agus sin e - chaidh an dreach fhoillseachadh airson riochdachadh. Ach cha mhòr a h-uile cruth tha duilgheadasan coltach ris.

Tha còir aig ceist marbhadh ceistean a mharbhadh, ach chan eil. Carson?

Thàinig neach-cleachdaidh, seòrsa de mhion-sgrùdair, thugam agus chruthaich e iarrtas a chuir mo bhuidheann ClickHouse. Cuid de nód no cruinneachadh iomlan, a rèir dè am mac-samhail no an t-slat dhan deach an t-iarrtas. Tha mi a 'faicinn gu bheil a h-uile goireas CPU air an fhrithealaiche seo ann an sgeilp, tha a h-uile dad dearg. Aig an aon àm, bidh ClickHouse fhèin a’ freagairt iarrtasan. Agus tha mi a’ sgrìobhadh: “Feuch an seall thu dhomh, liosta pròiseas, dè an t-iarrtas a chruthaich a’ chuthach seo. ”

Lorg mi an t-iarrtas seo agus sgrìobh mi marbhadh thuige. Agus tha mi a’ faicinn nach eil dad a’ tachairt. Tha an frithealaiche agam ann an sgeilp, bidh ClickHouse an uairsin a’ toirt dhomh òrdughan, a’ sealltainn gu bheil am frithealaiche beò, agus tha a h-uile dad sgoinneil. Ach tha truailleadh agam anns a h-uile iarrtas neach-cleachdaidh, bidh truailleadh a’ tòiseachadh le clàran ann an ClickHouse, agus chan eil mo cheist marbhadh ag obair. Carson? Bha mi a’ smaoineachadh gu robh còir aig ceist marbhadh ceistean a mharbhadh, ach chan eil.

A-nis bidh freagairt caran neònach ann. Is e a’ phuing nach bi ceist marbhadh a’ marbhadh cheistean.

Bidh ceist marbhadh a’ sgrùdadh bogsa beag leis an t-ainm “Tha mi airson a’ cheist seo a mharbhadh. ” Agus tha an t-iarrtas fhèin a 'coimhead air a' bhratach seo nuair a bhios e a 'giollachd gach bloca. Ma tha e air a shuidheachadh, stad an t-iarrtas ag obair. Tha e a 'tionndadh a-mach nach eil duine a' marbhadh an iarrtas, feumaidh e fhèin sùil a h-uile càil agus stad. Agus bu chòir seo obrachadh anns a h-uile cùis far a bheil an t-iarrtas ann an staid giullachd bhlocaichean dàta. Pròiseas e an ath bhloca dàta, thoir sùil air a’ bhratach, agus stadaidh e.

Chan eil seo ag obair ann an cùisean far a bheil an t-iarrtas a bhacadh air cuid de obrachadh. Fìor, is coltaiche nach e seo a ’chùis agad, oir, a rèir thusa, bidh e a’ cleachdadh tunna de ghoireasan frithealaiche. Tha e comasach nach obraich seo a thaobh seòrsachadh taobh a-muigh agus ann am mion-fhiosrachadh eile. Ach san fharsaingeachd cha bu chòir seo tachairt, is e bug a th’ ann. Agus is e an aon rud as urrainn dhomh a mholadh a bhith ag ùrachadh ClickHouse.

Ciamar a nì thu àireamhachadh ùine freagairt fo luchd leughaidh?

Tha clàr ann a bhios a’ stòradh chruinneachaidhean nithean - diofar chunntair. Tha an àireamh de loidhnichean timcheall air ceud millean. A bheil e comasach cunntadh air ùine freagairt a tha dùil ma dhòirteas tu 1K RPS airson nithean 1K?

A rèir a 'cho-theacsa, tha sinn a' bruidhinn mun luchd leughaidh, oir chan eil duilgheadasan ann le sgrìobhadh - eadhon mìle, eadhon ceud mìle, agus uaireannan faodar grunn mhilleanan sreathan a chuir a-steach.

Tha iarrtasan leughaidh gu math eadar-dhealaichte. Ann an taghadh 1, faodaidh ClickHouse timcheall air deichean de mhìltean de dh’ iarrtasan gach diog a dhèanamh, agus mar sin bidh eadhon iarrtasan airson aon iuchair feumach air cuid de ghoireasan mu thràth. Agus bidh ceistean puing mar sin nas duilghe na ann an cuid de phrìomh stòran-dàta le luach, oir airson gach leughadh tha e riatanach bloc dàta a leughadh le clàr-amais. Chan eil an clàr-amais againn a’ dèiligeadh ri gach clàr, ach gach raon. Is e sin, feumaidh tu an raon gu lèir a leughadh - is e seo loidhnichean 8192 gu bunaiteach. Agus feumaidh tu am bloc dàta teann a dhì-dhùmhlachadh bho 64 KB gu 1 MB. Mar as trice, bidh ceistean cuimsichte mar sin a’ toirt beagan mhilleanan-tomhais airson a chrìochnachadh. Ach is e seo an roghainn as sìmplidh.

Feuch sinn beagan àireamhachd sìmplidh. Ma dh'iomadaicheas tu beagan mhillean-seconds le mìle, gheibh thu beagan dhiog. Tha e mar gum biodh e do-dhèanta cumail suas ri mìle iarrtas gach diog, ach gu dearbh tha e comasach, leis gu bheil grunn choraichean pròiseasar againn. Mar sin, ann am prionnsabal, faodaidh ClickHouse uaireannan 1000 RPS a chumail, ach airson iarrtasan goirid, feadhainn cuimsichte gu sònraichte.

Ma dh’ fheumas tu cruinneachadh ClickHouse a sgèileadh leis an àireamh de dh’ iarrtasan sìmplidh, tha mi a’ moladh an rud as sìmplidhe - àrdaich an àireamh de mhac-samhail agus cuir iarrtasan gu mac-samhail air thuaiream. Ma tha aon mhac-samhail a’ cumail còig ceud iarrtas gach diog, a tha gu tur fìrinneach, bidh trì mac-samhail a’ làimhseachadh mìle gu leth.

Aig amannan, gu dearbh, faodaidh tu ClickHouse a rèiteachadh airson an àireamh as motha de leughaidhean puing. Dè tha a dhìth airson seo? Is e a 'chiad fhear a bhith a' lùghdachadh granularity a 'chlàr-amais. Anns a 'chùis seo, cha bu chòir a lùghdachadh gu aon, ach air a' bhunait gu bheil an àireamh de inntrigidhean anns a 'chlàr-amais a bhios grunn mhilleanan no deichean de mhilleanan gach frithealaiche. Ma tha ceud millean sreath air a’ chlàr, faodar an granularity a shuidheachadh gu 64.

Faodaidh tu meud a’ bhloc teannachaidh a lughdachadh. Tha roghainnean ann airson seo min compress meud bloca, meud bloc compress as àirde. Faodar an lughdachadh, ath-lìonadh le dàta, agus an uairsin bidh ceistean cuimsichte nas luaithe. Ach fhathast, chan e stòr-dàta prìomh luach a th’ ann an ClickHouse. Tha àireamh mhòr de dh'iarrtasan beaga mar antipattern luchd.

Kirill Shvakov: Bheir mi comhairle gun fhios nach bi cunntasan àbhaisteach ann. Is e suidheachadh gu math àbhaisteach a tha seo nuair a bhios ClickHouse a’ stòradh seòrsa de chunntair. Tha neach-cleachdaidh agam, tha e à dùthaich mar sin agus mar sin, agus cuid den treas raon, agus feumaidh mi rudeigin àrdachadh mean air mhean. Gabh MySQL, dèan iuchair shònraichte - ann am MySQL tha e na iuchair dhùblaichte, agus ann am PostgreSQL tha e na chòmhstri - agus cuir soidhne a bharrachd ris. Obraichidh seo tòrr nas fheàrr.

Nuair nach eil mòran dàta agad, chan eil mòran feum ann a bhith a’ cleachdadh ClickHouse. Tha stòran-dàta cunbhalach ann agus bidh iad a’ dèanamh seo gu math.

Dè as urrainn dhomh atharrachadh ann an ClickHouse gus am bi barrachd dàta san tasgadan?

Smaoinich sinn air suidheachadh - tha 256 GB de RAM aig na frithealaichean, anns a’ chleachdadh làitheil bheir ClickHouse timcheall air 60-80 GB, aig an ìre as àirde - suas ri 130. Dè ghabhas a chomasachadh agus a thweaked gus am bi barrachd dàta san tasgadan agus, a rèir sin, a bheil nas lugha de thursan air an diosg?

Mar as trice, bidh tasgadan duilleag an t-siostam obrachaidh a’ dèanamh obair mhath de seo. Ma dh’ fhosglas tu am mullach dìreach, seall an sin ann an tasgadan no an-asgaidh - bidh e cuideachd ag innse na tha air a thasgadh - an uairsin chì thu gu bheil a h-uile cuimhne an-asgaidh air a chleachdadh airson an tasgadan. Agus nuair a leughas tu an dàta seo, thèid a leughadh chan ann bhon diosc, ach bhon RAM. Aig an aon àm, is urrainn dhomh a ràdh gu bheil an tasgadan air a chleachdadh gu h-èifeachdach oir is e an dàta teann a tha air a thasgadh.

Ach, ma tha thu airson cuid de cheistean sìmplidh a luathachadh eadhon nas motha, tha e comasach tasgadan a chomasachadh anns an dàta dì-dhùmhlaichte taobh a-staigh ClickHouse. Canar tasgadan neo-bhrùichte. Anns an fhaidhle rèiteachaidh config.xml, suidhich meud an tasgadan neo-bhrùichte chun luach a dh ’fheumas tu - tha mi a’ moladh gun a bhith nas fhaide na leth den RAM an-asgaidh, oir thèid an còrr fo tasgadan na duilleige.

A bharrachd air an sin, tha dà shuidheachadh ìre iarrtas ann. A' chiad suidheachadh - cleachd tasgadan neo-dhùmhlaichte - a 'toirt a-steach a chleachdadh. Thathas a’ moladh a chomasachadh airson a h-uile iarrtas, ach a-mhàin feadhainn throm, as urrainn an dàta gu lèir a leughadh agus an tasgadan a shruthladh. Agus tha an dàrna suidheachadh rudeigin mar an àireamh as motha de loidhnichean airson an tasgadan a chleachdadh. Bidh e gu fèin-ghluasadach a’ cuingealachadh cheistean mòra gus an tèid iad seachad air an tasgadan.

Ciamar as urrainn dhomh storage_configuration a rèiteachadh airson stòradh ann an RAM?

Anns na sgrìobhainnean ùra ClickHouse leugh mi an earrann co-cheangailte le stòradh dàta. Tha eisimpleir anns an tuairisgeul le SSD luath.

Saoil ciamar a ghabhas an aon rud a rèiteachadh le cuimhne teth meud. Agus aon cheist eile. Ciamar a dh’obraicheas taghadh leis a’ bhuidheann dàta seo, an leugh e an seata slàn no an aon fhear a tha air diosc, agus a bheil an dàta seo air a dhlùthadh mar chuimhne? Agus ciamar a tha an roinn ro-àite ag obair le leithid de bhuidheann dàta?

Bheir an suidheachadh seo buaidh air stòradh pìosan dàta, agus chan atharraich an cruth aca ann an dòigh sam bith.
Bheir sinn sùil nas mionaidiche.

Faodaidh tu stòradh dàta a rèiteachadh ann an RAM. Is e a h-uile rud a tha air a rèiteachadh airson an diosc an t-slighe aige. Bidh thu a’ cruthachadh sgaradh tmpfs a tha air a chuir suas gu slighe air choreigin san t-siostam faidhle. Bidh thu a’ sònrachadh an t-slighe seo mar an t-slighe airson dàta a stòradh airson an sgaradh as teotha, bidh pìosan dàta a’ tòiseachadh a’ ruighinn agus air an sgrìobhadh an sin, tha a h-uile dad ceart gu leòr.

Ach chan eil mi a’ moladh seo a dhèanamh air sgàth earbsachd ìosal, ged ma tha co-dhiù trì mac-samhail agad ann an diofar ionadan dàta, tha e comasach. Ma thachras dad, thèid an dàta ath-nuadhachadh. Smaoinich sinn gun deach am frithealaiche a chuir dheth gu h-obann agus a thionndadh air ais. Chaidh an sgaradh a chuir suas a-rithist, ach cha robh dad ann. Nuair a thòisicheas am frithealaiche ClickHouse, tha e a 'faicinn nach eil na pìosan sin aige, ged, a rèir meata-dàta ZooKeeper, bu chòir dhaibh a bhith ann. Bidh e a’ coimhead air dè na mac-samhail a tha aca, gan iarraidh agus gan luchdachadh sìos. San dòigh seo thèid an dàta ath-nuadhachadh.

San t-seagh seo, chan eil stòradh dàta ann an RAM gu tur eadar-dhealaichte bho bhith ga stòradh air diosc, oir nuair a thèid dàta a sgrìobhadh gu diosc, thig e gu crìch an toiseach ann an tasgadan na duilleige agus thèid a sgrìobhadh gu corporra nas fhaide air adhart. Tha seo an urra ris an roghainn sreap siostam faidhle. Ach gun fhios nach bi, canaidh mi nach bi ClickHouse a’ sioncronadh nuair a chuireas tu a-steach e.

Anns a 'chùis seo, tha an dàta anns an RAM air a stòradh san aon chruth ris a' chlàr. Bidh an ceist taghaidh san aon dòigh a’ taghadh nam pìosan a dh’fheumar a leughadh, a’ taghadh nan raointean dàta riatanach anns na pìosan, agus gan leughadh. Agus bidh prewhere ag obair dìreach mar an ceudna, ge bith an robh an dàta ann an RAM no air diosc.

Suas gu dè an àireamh de luachan sònraichte a tha Ìosal Cardinality èifeachdach?

Tha Cardinality Ìosal air a dhealbhadh gu snasail. Bidh e a’ cur ri chèile faclairean dàta, ach tha iad ionadail. An toiseach, tha faclairean eadar-dhealaichte ann airson gach pìos, agus san dàrna h-àite, eadhon taobh a-staigh aon phìos faodaidh iad a bhith eadar-dhealaichte airson gach raon. Nuair a ruigeas an àireamh de luachan gun samhail àireamh stairsneach—aon mhillean, tha mi a’ smaoineachadh—tha am faclair dìreach air a sgeilpadh agus fear ùr ga chruthachadh.

Tha am freagairt san fharsaingeachd: airson gach raon ionadail - can, airson gach latha - an àiteigin suas ri millean luachan sònraichte Tha Cardinality Ìosal èifeachdach. Às deidh sin bidh dìreach cùl-raon ann, anns an tèid mòran fhaclairean eadar-dhealaichte a chleachdadh, agus chan e dìreach aon. Obraichidh e timcheall air an aon rud ri colbh sreang àbhaisteach, is dòcha beagan nas èifeachdaiche, ach cha bhi droch ìsleachadh coileanaidh ann.

Dè na cleachdaidhean as fheàrr airson làn-theacsa a’ sgrùdadh clàr le còig billean sreathan?

Tha diofar fhreagairtean ann. Is e a’ chiad fhear a ràdh nach e einnsean sgrùdaidh làn-theacsa a th’ ann an ClickHouse. Tha siostaman sònraichte ann airson seo, mar eisimpleir, Elasticsearch и sphions. Ach, tha mi a’ faicinn barrachd is barrachd dhaoine ag ràdh gu bheil iad a’ gluasad bho Elasticsearch gu ClickHouse.

Carson a tha seo a’ tachairt? Bidh iad a’ mìneachadh seo leis gu bheil Elasticsearch a’ sgur a bhith a’ dèiligeadh ris an luchd aig cuid de dh’ leabhraichean, a’ tòiseachadh le togail chlàran-amais. Bidh clàran-amais a’ fàs ro throm, agus ma ghluaiseas tu dìreach an dàta gu ClickHouse, tha e a’ tionndadh a-mach gu bheil iad air an stòradh grunn thursan nas èifeachdaiche a thaobh meud. Aig an aon àm, gu tric cha robh ceistean rannsachaidh cho mòr 's gu robh feum air abairt a lorg anns an àireamh iomlan de dhàta, a' gabhail a-steach morf-eòlas, ach feadhainn gu tur eadar-dhealaichte. Mar eisimpleir, lorg beagan fo-leanmhainn de bytes anns na logaichean thairis air na beagan uairean a thìde.

Anns a 'chùis seo, cruthaichidh tu clàr-amais ann an ClickHouse, agus bidh a' chiad raon dheth an ceann-latha agus àm. Agus bidh an gearradh dàta as motha stèidhichte air an raon cinn-latha. Taobh a-staigh an raon cinn-latha a chaidh a thaghadh, mar riaghailt, tha e comasach mar-thà sgrùdadh làn-theacsa a dhèanamh, eadhon a ’cleachdadh an dòigh feachd brùideil a’ cleachdadh leithid. Is e an leithid de ghnìomhaiche ann an ClickHouse an gnìomhaiche coltach as èifeachdaiche a lorgas tu. Ma lorgas tu rudeigin nas fheàrr, innis dhomh.

Ach fhathast, mar a tha làn scan. Agus faodaidh làn scan a bhith slaodach chan ann a-mhàin air an CPU, ach cuideachd air an diosc. Ma tha aon terabyte de dhàta agad san latha gu h-obann, agus ma nì thu sgrùdadh airson facal tron ​​​​latha, feumaidh tu an terabyte a sganadh. Agus is dòcha gu bheil e air dreachan cruaidh cunbhalach, agus aig a’ cheann thall bidh iad air an luchdachadh ann an dòigh nach bi e comasach dhut faighinn chun t-seirbheisiche seo tro SSH.

Anns a 'chùis seo, tha mi deiseil airson cleas beag eile a thabhann. Tha e deuchainneach - is dòcha gun obraich e, is dòcha nach bi. Tha clàran-amais làn-theacsa aig ClickHouse ann an cruth sìoltachain trigram Bloom. Tha ar co-obraichean aig Arenadata air na clàran-amais seo fheuchainn mar-thà, agus bidh iad gu tric ag obair dìreach mar a bha dùil.

Gus an cleachdadh gu ceart, bu chòir tuigse mhath a bhith agad air dìreach mar a tha iad ag obair: dè a th ’ann an criathrag Bloom trigram agus mar a roghnaicheas tu a mheud. Is urrainn dhomh a ràdh gun cuidich iad airson ceistean air cuid de dh’ abairtean tearc, fo-thiotalan nach fhaighear ach ainneamh anns an dàta. Anns a 'chùis seo, thèid subranges a thaghadh le clàran-amais agus thèid nas lugha de dhàta a leughadh.

O chionn ghoirid, tha ClickHouse air gnìomhan eadhon nas adhartaiche a chuir ris airson sgrùdadh làn-theacsa. Is e seo, an-toiseach, sgrùdadh airson dòrlach de fho-sreathan aig an aon àm ann an aon chead, a’ toirt a-steach roghainnean a tha mothachail air cùis, neo-mhothachail air cùis, le taic airson UTF-8 no dìreach airson ASCII. Tagh am fear as èifeachdaiche a dh 'fheumas tu.

Tha lorg airson grunn abairtean cunbhalach ann an aon bhealaich cuideachd air nochdadh. Chan fheum thu X a sgrìobhadh mar aon fho-sreang no X mar fho-sreang eile. Bidh thu a’ sgrìobhadh sa bhad, agus tha a h-uile càil air a dhèanamh cho èifeachdach sa ghabhas.

San treas àite, tha sgrùdadh tuairmseach ann a-nis airson regexps agus sgrùdadh tuairmseach airson fo-thiotalan. Ma rinn cuideigin mearachd air facal, thèid a shireadh airson an ìre as àirde.

Dè an dòigh as fheàrr air ruigsinneachd gu ClickHouse a chuir air dòigh airson àireamh mhòr de luchd-cleachdaidh?

Inns dhuinn dè an dòigh as fheàrr air ruigsinneachd a chuir air dòigh airson àireamh mhòr de luchd-cleachdaidh agus luchd-anailis. Mar a chruthaicheas tu ciudha, cuir prìomhachas air na ceistean as motha aig an aon àm, agus dè na h-innealan?

Ma tha an cruinneachadh mòr gu leòr, bhiodh e na fhuasgladh math dà sheirbheisiche eile a thogail, a thig gu bhith na àite inntrigidh dha sgrùdairean. Is e sin, na leig le sgrùdairean faighinn gu shards sònraichte anns a’ bhuidheann, ach dìreach cruthaich dà fhrithealaiche falamh, gun dàta, agus rèitich còraichean-slighe orra. Anns a 'chùis seo, thèid roghainnean luchd-cleachdaidh airson iarrtasan sgaoilte a ghluasad gu frithealaichean iomallach. Is e sin, bidh thu a’ rèiteachadh a h-uile càil air an dà fhrithealaiche seo, agus tha buaidh aig na roghainnean air a’ bhuidheann gu lèir.

Ann am prionnsapal, chan eil dàta aig na frithealaichean sin, ach tha an ìre de RAM orra glè chudromach airson iarrtasan a chuir an gnìomh. Faodar an diosc a chleachdadh cuideachd airson dàta sealach ma tha co-chruinneachadh taobh a-muigh no seòrsachadh taobh a-muigh air a chomasachadh.

Tha e cudromach coimhead air na roghainnean a tha co-cheangailte ris a h-uile crìochan a dh'fhaodadh a bhith ann. Ma thèid mi a-nis gu brabhsair Yandex.Metrica mar anailisiche agus faighnich iarrtas tagh cunntadh bho bhuillean, an uairsin gheibh mi eisgeachd sa bhad nach urrainn dhomh an t-iarrtas a chuir an gnìomh. Is e an àireamh as motha de shreathan a tha cead agam a sganadh ceud billean, agus gu h-iomlan tha leth-cheud trillean dhiubh ann an aon chlàr air a’ bhuidheann. Is e seo a’ chiad chuingealachadh.

Canaidh sinn gun toir mi air falbh crìoch na loidhne agus ruith mi a’ cheist a-rithist. An uairsin chì mi an eisgeachd a leanas - suidheachadh air a chomasachadh clàr-amais feachd a rèir ceann-latha. Chan urrainn dhomh a' cheist a lìonadh mura h-eil mi air raon cinn-latha a shònrachadh. Chan fheum thu a bhith an urra ri sgrùdairean gus a shònrachadh le làimh. Is e cùis àbhaisteach nuair a thèid raon cinn-latha a sgrìobhadh far a bheil ceann-latha tachartais eadar seachdain. Agus an uairsin shònraich iad bracaid san àite ceàrr, agus an àite sin agus thionndaidh e a-mach gur e no - no maids URL a bh ’ann. Mura h-eil crìoch ann, snàgaidh e an colbh URL agus dìreach caithidh e tunna de ghoireasan.

A bharrachd air an sin, tha dà shuidheachadh prìomhachais aig ClickHouse. Gu mì-fhortanach, tha iad gu math prìomhadail. Tha aon air a ghairm gu sìmplidh phrìomhachas. Ma tha prìomhachas ≠ 0, agus iarrtasan le beagan prìomhachais gan cur an gnìomh, ach iarrtas le luach prìomhachais nas lugha na, a tha a’ ciallachadh prìomhachas nas àirde, ga chur an gnìomh, an uairsin iarrtas le luach prìomhachais nas motha, a tha a’ ciallachadh prìomhachas nas ìsle , dìreach air a chuir dheth agus cha obraich e idir aig an àm seo.

Is e suidheachadh gu math amh a tha seo agus chan eil e freagarrach airson cùisean far a bheil eallach cunbhalach air a’ bhuidheann. Ach ma tha iarrtasan goirid, bursty agad a tha cudromach, agus gu bheil an cruinneachadh gu ìre mhòr leisg, tha an suidheachadh seo freagarrach.

Canar an ath shuidheachadh prìomhachais Prìomhachas snàithlean OS. Tha e dìreach a’ suidheachadh an luach snog airson a h-uile snàithlean cur an gnìomh iarrtas airson clàr-ama Linux. Bidh e ag obair mar sin - mar sin, ach tha e fhathast ag obair. Ma shuidhicheas tu an luach snog as ìsle - is e seo an luach as motha, agus mar sin am prìomhachas as ìsle - agus a shuidhich -19 airson iarrtasan le prìomhachas àrd, an uairsin ithidh an CPU iarrtasan le prìomhachas ìosal timcheall air ceithir tursan nas lugha na feadhainn àrd-phrìomhachais.

Feumaidh tu cuideachd an ùine cur an gnìomh iarrtas as àirde a rèiteachadh - can, còig mionaidean. Is e an astar as lugha de chur an gnìomh ceist an rud as fhuaire. Tha an suidheachadh seo air a bhith timcheall airson ùine mhòr, agus feumar chan ann a-mhàin a bhith ag ràdh nach bi ClickHouse a’ slaodadh sìos, ach airson a sparradh.

Smaoinich, bidh thu a’ rèiteachadh: ma bhios cuid de cheistean a’ pròiseasadh nas lugha na millean sreath gach diog, chan urrainn dhut sin a dhèanamh. Tha seo a’ cur nàire air ar deagh ainm, ar stòr-dàta math. Leig leinn dìreach casg a chuir air seo. Gu dearbh tha dà shuidheachadh ann. Canar aon astar cur gu bàs min - ann an loidhnichean gach diog, agus canar timeout ris an dàrna fear mus dèan thu sgrùdadh air astar cur gu bàs - còig diogan deug gu bunaiteach. Is e sin, tha e comasach còig diogan deug, agus an uairsin, ma tha e slaodach, dìreach tilg eisgeachd agus stad air an iarrtas.

Feumaidh tu cuideachd cuotathan a stèidheachadh. Tha feart cuota togte aig ClickHouse a bhios a’ cunntadh caitheamh ghoireasan. Ach, gu mì-fhortanach, chan e goireasan bathar-cruaidh leithid CPU, diosgan, ach feadhainn loidsigeach - an àireamh de dh'iarrtasan air an giullachd, loidhnichean agus bytes air an leughadh. Agus faodaidh tu a rèiteachadh, mar eisimpleir, suas ri ceud iarrtas taobh a-staigh còig mionaidean agus mìle iarrtas san uair.

Carson a tha e cudromach? Leis gun tèid cuid de cheistean anailis a dhèanamh le làimh gu dìreach bhon neach-dèiligidh ClickHouse. Agus bidh a h-uile càil gu math. Ach ma tha sgrùdairean adhartach agad sa chompanaidh agad, sgrìobhaidh iad sgriobt, agus dh’ fhaodadh gum bi mearachd anns an sgriobt. Agus bidh am mearachd seo ag adhbhrachadh gun tèid an t-iarrtas a chuir gu bàs ann an lùb gun chrìoch. Is e seo a dh’ fheumas sinn gus sinn fhèin a dhìon.

A bheil e comasach toraidhean aon cheist a thoirt do dheich teachdaichean?

Tha grunn luchd-cleachdaidh againn a tha dèidheil air a thighinn a-steach le iarrtasan glè mhòr aig an aon àm. Tha an t-iarrtas mòr agus, ann am prionnsabal, air a chur gu bàs gu luath, ach air sgàth gu bheil mòran iarrtasan mar sin aig an aon àm, bidh e gu math goirt. A bheil e comasach an aon iarrtas a chuir an gnìomh, a ràinig deich tursan ann an sreath, aon uair, agus an toradh a thoirt do dheich teachdaichean?

Is e an duilgheadas a th’ ann nach eil toraidhean tasgadan no tasgadan dàta eadar-mheadhanach againn. Tha tasgadan duilleag den t-siostam obrachaidh ann, a chuireas casg ort bho bhith a’ leughadh dàta bhon diosc a-rithist, ach, gu mì-fhortanach, bidh an dàta fhathast air a dhì-dhùmhlachadh, air a dhì-dhealbhadh agus air ath-phròiseasadh.

Bu mhath leam dòigh air choireigin seo a sheachnadh, le bhith a’ tasgadh dàta eadar-mheadhanach, no le bhith a’ cur cheistean coltach ris ann an ciudha air choireigin agus a’ cur tasgadan thoraidhean ris. Tha aon iarrtas tarraingidh againn an-dràsta ann an leasachadh a chuireas ri tasgadan iarrtas, ach dìreach airson fo-cheistean anns na h-earrannan a-steach agus a-steach - is e sin, tha am fuasgladh neo-choileanta.

Ach, tha sinn cuideachd a’ toirt aghaidh air suidheachadh mar sin. Is e eisimpleir sònraichte canonical ceistean le duilleagan. Tha aithisg ann, tha grunn dhuilleagan aige, agus tha iarrtas ann airson crìoch 10. An uairsin an aon rud, ach crìoch 10,10. An uairsin an ath dhuilleag eile. Agus is e a’ cheist, carson a bhios sinn a’ cunntadh seo uile a h-uile turas? Ach a-nis chan eil fuasgladh ann, agus chan eil dòigh ann air a sheachnadh.

Tha fuasgladh eile ann a tha air a chuir mar chàr-taobh ri taobh ClickHouse - Cliog Taigh Proxy.

Kirill Shvakov: Tha inneal-crìochnachaidh reata togte aig ClickHouse Proxy agus tasgadan thoraidhean togte. Chaidh tòrr shuidheachaidhean a dhèanamh an sin oir bha duilgheadas coltach ris ga fhuasgladh. Leigidh neach-ionaid leat iarrtasan a chuingealachadh le bhith gan ciudha agus a’ rèiteachadh dè cho fada ‘s a mhaireas tasgadan an iarrtais. Nam biodh na h-iarrtasan an aon rud, cuiridh Proxy iad iomadh uair, ach cha tèid e gu ClickHouse ach aon turas.

Tha tasgadan aig Nginx cuideachd anns an dreach an-asgaidh, agus obraichidh seo cuideachd. Tha eadhon roghainnean aig Nginx ma thig iarrtasan aig an aon àm, gun cuir e maill air feadhainn eile gus am bi aon deiseil. Ach is ann ann an ClickHouse Proxy a tha an stèidheachadh air a dhèanamh tòrr nas fheàrr. Chaidh a dhèanamh gu sònraichte airson ClickHouse, gu sònraichte airson na h-iarrtasan sin, agus mar sin tha e nas freagarraiche. Uill, tha e furasta a stàladh.

Dè mu dheidhinn obrachaidhean asyncronach agus seallaidhean dearbhte?

Tha duilgheadas ann gu bheil gnìomhachd leis an einnsean ath-chluich asyncronach - an toiseach tha an dàta air a sgrìobhadh, agus an uairsin tuitidh e. Ma tha clàr tàbhachdach le cuid de cho-chruinneachaidhean a 'fuireach fon t-soidhne, thèid lethbhreacan a sgrìobhadh thuige. Agus mura h-eil loidsig iom-fhillte ann, thèid an dàta a dhùblachadh. Dè as urrainn dhut a dhèanamh mu dheidhinn?

Tha fuasgladh follaiseach ann - gus inneal-brosnachaidh a chuir an gnìomh air clas sònraichte de matviews rè gnìomhachd tuiteam asyncronach. A bheil peilearan airgid no planaichean ann gus an aon seòrsa gnìomh a chuir an gnìomh?

Is fhiach a bhith a’ tuigsinn mar a tha dì-dhùblachadh ag obair. Chan eil na dh’ innseas mi dhut a-nis buntainneach don cheist, ach dìreach air eagal ’s gum b’ fhiach a chuimhneachadh.

Nuair a thèid a chuir a-steach do bhòrd ath-chuiridh, thathas a’ toirt air falbh na blocaichean gu lèir a chaidh a chuir a-steach. Ma chuireas tu a-steach an aon bhloc anns a bheil an aon àireamh de na h-aon sreathan san aon òrdugh, tha an dàta air a dhì-dhùblachadh. Gheibh thu “OK” mar fhreagairt airson cuir a-steach, ach gu dearbh thèid aon phasgan dàta a sgrìobhadh, agus cha tèid a dhùblachadh.

Tha seo riatanach airson cinnt. Ma gheibh thu “OK” aig àm cuir a-steach, tha an dàta agad air a chuir a-steach. Ma gheibh thu mearachd bho ClickHouse, tha e a’ ciallachadh nach deach an cuir a-steach agus feumaidh tu an cuir a-steach a-rithist. Ach ma thèid an ceangal a bhriseadh aig àm cuir a-steach, chan eil fios agad an deach an dàta a chuir a-steach no nach deach. Is e an aon roghainn an cuir a-steach a-rithist. Ma chaidh an dàta a chuir a-steach gu fìrinneach agus gun do chuir thu a-steach e a-rithist, tha dùblachadh bloca ann. Tha seo riatanach gus dùblaidhean a sheachnadh.

Agus tha e cuideachd cudromach mar a tha e ag obair airson seallaidhean tàbhachdach. Ma chaidh an dàta a dhì-dhùblachadh nuair a chaidh a chuir a-steach don phrìomh chlàr, cha tèid e a-steach don t-sealladh toraidh nas motha.

A-nis mun cheist. Tha an suidheachadh agad nas toinnte oir tha thu a’ clàradh dùblaidhean de loidhnichean fa leth. Is e sin, chan e am pasgan gu lèir a tha air a dhùblachadh, ach loidhnichean sònraichte, agus bidh iad a 'tuiteam air a' chùl. Gu dearbh, tuitidh an dàta anns a 'phrìomh chlàr, ach thèid an dàta nach deach a chall chun an t-seallaidh tàbhachdach, agus aig àm co-aonaidhean cha tachair dad dha na seallaidhean tàbhachdach. Leis nach eil sealladh tàbhachdach nas motha na inneal-brosnachaidh cuir a-steach. Rè obrachaidhean eile, chan eil dad a bharrachd a 'tachairt dha.

Agus chan urrainn dhomh do dhèanamh toilichte an seo. Feumaidh tu dìreach coimhead airson fuasgladh sònraichte airson a 'chùis seo. Mar eisimpleir, a bheil e comasach ath-chluich ann an sealladh tàbhachdach, agus dh’ fhaodadh an dòigh dùblachaidh obrachadh san aon dòigh. Ach gu mì-fhortanach, chan ann an-còmhnaidh. Ma tha e a’ cruinneachadh, chan obraich e.

Kirill Shvakov: Bha togail crutch againn air ais san latha cuideachd. Bha duilgheadas ann gu bheil beachdan sanasachd ann, agus tha beagan dàta ann as urrainn dhuinn a shealltainn ann an àm fìor - is e dìreach beachdan a tha seo. Is ann ainneamh a thèid an dùblachadh, ach ma thachras seo, tuitidh sinn às a chèile nas fhaide air adhart co-dhiù. Agus bha rudan ann nach gabhadh a dhùblachadh - cliogan agus an sgeul slàn seo. Ach bha mi cuideachd airson sealltainn dhaibh cha mhòr sa bhad.

Ciamar a chaidh beachdan gnàthaichte a mheas? Bha beachdan ann far an deach a sgrìobhadh gu dìreach - chaidh a sgrìobhadh gu dàta amh, agus a sgrìobhadh gu beachdan. An sin, aig àm air choreigin chan eil an dàta gu math ceart, tha e air a dhùblachadh, agus mar sin air adhart. Agus tha an dàrna pàirt den chlàr, far a bheil iad a 'coimhead dìreach mar a tha seallaidhean tàthaichte, is e sin, tha iad gu tur co-ionann ann an structar. Uair ann an ùine bidh sinn ag ath-àireamhachadh an dàta, a’ cunntadh an dàta gun dùblaidhean, a’ sgrìobhadh chun na clàran sin.

Chaidh sinn tron ​​​​API - chan obraich seo ann an ClickHouse le làimh. Agus tha an API a 'coimhead: nuair a tha ceann-latha an cur-ris mu dheireadh agam ris a' chlàr, far a bheil e cinnteach gu bheil an dàta ceart air a thomhas mar-thà, agus bidh e a 'dèanamh iarrtas gu aon chlàr agus gu clàr eile. Bho aon tha an t-iarrtas a 'taghadh suas ri ùine shònraichte, agus bhon fhear eile gheibh e dè nach deach a thomhas fhathast. Agus bidh e ag obair, ach chan ann tro ClickHouse a-mhàin.

Ma tha seòrsa de API agad - airson luchd-anailis, airson luchd-cleachdaidh - an uairsin, ann am prionnsapal, tha seo na roghainn. Tha thu an-còmhnaidh a’ cunntadh, an-còmhnaidh a’ cunntadh. Faodar seo a dhèanamh aon uair san latha no aig àm eile. Bidh thu a’ taghadh dhut fhèin raon nach eil a dhìth ort agus nach eil riatanach.

Tha tòrr logaichean aig ClickHouse. Ciamar a chì mi gu sgiobalta a h-uile dad a thachras don fhrithealaiche?

Tha àireamh mhòr de chlàran eadar-dhealaichte aig ClickHouse, agus tha an àireamh seo a’ dol am meud. Ann an dreachan ùra, tha cuid dhiubh eadhon air an comasachadh gu bunaiteach; ann an dreachan nas sine feumaidh iad a bhith air an comasachadh nuair a bhios iad ag ùrachadh. Ach, tha barrachd is barrachd dhiubh ann. Aig a 'cheann thall, bu mhath leam faicinn dè tha a' tachairt leis an t-seirbheisiche agam a-nis, 's dòcha air clàr de sheòrsa air choreigin.

A bheil sgioba ClickHouse agad, no sgiobaidhean do charaidean, a bheir taic do chuid de ghnìomhachd de chlàran-deasachaidh deiseil a sheallas na logaichean sin mar thoradh crìochnaichte? Aig a 'cheann thall, tha e math dìreach a bhith a' coimhead air logaichean ann an ClickHouse. Ach bhiodh e gu math fionnar nam biodh e air ullachadh mar-thà ann an cruth deas-bhòrd. Gheibhinn breab as.

Tha dashboards ann, ged nach eil iad àbhaisteach. Anns a’ chompanaidh againn, bidh timcheall air 60 sgioba a’ cleachdadh ClickHouse, agus is e an rud as neònaiche gu bheil clàran-làimhe aig mòran dhiubh a rinn iad dhaibh fhèin, agus feadhainn a tha beagan eadar-dhealaichte. Bidh cuid de sgiobaidhean a’ cleachdadh stàladh Yandex.Cloud a-staigh. Tha cuid de dh'aithisgean deiseil ann, ged nach eil iad uile riatanach. Tha an cuid fhèin aig cuid eile.

Tha an deas-bhòrd aca fhèin aig mo cho-obraichean bho Metrica ann an Grafana, agus tha mo chuid fhìn agam airson an cruinneachadh aca. Tha mi a’ coimhead air rudan mar cache hit airson an tasgadan serif. Agus tha e eadhon nas duilghe gu bheil sinn a’ cleachdadh diofar innealan. Chruthaich mi an deas-bhòrd agam a’ cleachdadh inneal glè shean ris an canar Graphite-web. Tha e gu tur grànda. Agus bidh mi fhathast ga chleachdadh san dòigh seo, ged is dòcha gum biodh Grafana nas goireasaiche agus nas bòidhche.

Tha an aon rud bunaiteach ann an dashboards. Is iad seo meatrach siostam airson a’ bhuidheann: CPU, cuimhne, diosc, lìonra. Cuid eile - an àireamh de dh’ iarrtasan aig an aon àm, an àireamh de cho-aonaidhean aig an aon àm, an àireamh de dh’iarrtasan gach diog, an àireamh as motha de phìosan airson pìosan bùird MergeTree, dàil ath-riochdachadh, meud ciudha ath-riochdachadh, àireamh de shreathan a chaidh a chuir a-steach gach diog, àireamh de bhlocaichean a chaidh a chuir a-steach gach diog. Is e seo a h-uile càil a gheibhear chan ann bho logaichean, ach bho mheatairean.

Vladimir Kolobaev: Alexei, bu mhath leam a cheartachadh beagan. Tha Grafana ann. Tha stòr-dàta aig Grafana, is e sin ClickHouse. Is e sin, is urrainn dhomh iarrtasan a dhèanamh bho Grafana gu dìreach gu ClickHouse. Tha clàr aig ClickHouse le logaichean, tha e an aon rud airson a h-uile duine. Mar thoradh air an sin, tha mi airson faighinn chun chlàr log seo ann an Grafana agus na h-iarrtasan a bhios an frithealaiche agam a’ dèanamh fhaicinn. Bhiodh e math clàr mar seo a bhith agad.

Rothairich mi mi fhìn e. Ach tha ceist agam - ma tha e uile àbhaisteach, agus Grafana air a chleachdadh leis a h-uile duine, carson nach eil deas-bhòrd oifigeil aig Yandex?

Kirill Shvakov: Gu dearbh, tha an stòr-dàta a thèid gu ClickHouse a-nis a’ toirt taic do Altinity. Agus tha mi dìreach airson vectar a thoirt seachad air càite an tèid mi a chladhach agus cò a bu chòir dhomh a phutadh. Faodaidh tu faighneachd dhaibh, oir tha Yandex fhathast a 'dèanamh ClickHouse, agus chan e an sgeulachd timcheall air. Is e Altinity am prìomh chompanaidh a tha an-dràsta a’ brosnachadh ClickHouse. Cha trèig iad e, ach bheir iad taic dha. Air sgàth, ann am prionnsabal, gus deas-bhòrd a luchdachadh suas gu làrach-lìn Grafana, chan fheum thu ach clàradh agus a luchdachadh suas - chan eil duilgheadasan sònraichte ann.

Alexei Milovidov: Thar na bliadhna a dh’ fhalbh, tha ClickHouse air mòran chomasan pròifil cheistean a chuir ris. Tha metrics ann airson gach iarrtas a thaobh cleachdadh ghoireasan. Agus dìreach o chionn ghoirid, chuir sinn ìomhaigh ceist eadhon nas ìsle ris gus faicinn far a bheil ceist a’ cosg a h-uile millisecond. Ach airson an gnìomh seo a chleachdadh, feumaidh mi teachdaiche a’ chonsail fhosgladh agus iarrtas a thaipeadh, a dhìochuimhnicheas mi an-còmhnaidh. Shàbhail mi e an àiteigin agus chùm mi a’ dìochuimhneachadh càite dìreach.

Tha mi a’ guidhe gum biodh inneal ann a thuirt dìreach, seo na ceistean trom agad, air an cruinneachadh a rèir clas ceist. Bhrùth mi air fear dhiubh, agus dh’ innseadh iad dhomh gur e sin as coireach gu bheil e trom. Chan eil fuasgladh mar sin ann a-nis. Agus tha e gu math neònach nuair a bhios daoine a’ faighneachd dhomh: “Innis dhomh, a bheil clàran-deasachaidh deiseil airson Grafana?”, Bidh mi ag ràdh: “Rach gu làrach-lìn Grafana, tha coimhearsnachd“ Dashboards ”ann, agus tha deas-bhòrd ann. bho Dimka, tha deas-bhòrd bho Kostyan. Chan eil fios agam dè a th’ ann, cha do chleachd mi mi fhìn e.”

Mar a bheir thu buaidh air aonaidhean gus nach tuit am frithealaiche a-steach gu OOM?

Tha bòrd agam, chan eil ach aon sgaradh anns a’ chlàr, is e ReplacingMergeTree a th’ ann. Tha mi air a bhith a’ sgrìobhadh dàta ann airson ceithir bliadhna. Dh'fheumadh mi atharrachadh a dhèanamh ann agus beagan dàta a sguabadh às.

Rinn mi seo, agus nuair a bha an t-iarrtas seo air a ghiullachd, chaidh a h-uile cuimhne air na frithealaichean uile anns a’ bhraisle a chaitheamh, agus chaidh a h-uile seirbheisiche sa bhuidheann a-steach gu OOM. An uairsin dh'èirich iad uile còmhla, thòisich iad air an aon obrachadh seo, am bloc dàta seo a chur còmhla, agus thuit iad a-steach do OOM a-rithist. An uairsin dh'èirich iad a-rithist agus thuit iad a-rithist. Agus cha do stad an rud seo.

An uairsin thionndaidh e a-mach gur e bug a bha seo a shuidhich na balaich. Tha seo gu math fionnar, mòran taing. Ach dh'fhuirich fuigheall. Agus a-nis, nuair a smaoinicheas mi air aonachadh de sheòrsa air choreigin a dhèanamh sa chlàr, tha ceist agam - carson nach urrainn dhomh dòigh air choireigin buaidh a thoirt air na h-aonaidhean sin? Mar eisimpleir, cuingealaich iad leis an uiread de RAM a tha a dhìth, no, ann am prionnsabal, leis an t-suim a bhios a 'làimhseachadh a' chlàr shònraichte seo.

Tha clàr agam air a bheil “Metrics”, feuch an giullachd thu dhomh ann an dà snàithlean. Chan eil feum air deich no còig co-aonaidhean a chruthachadh aig an aon àm, dèan e ann an dhà. Tha mi a’ smaoineachadh gu bheil cuimhne gu leòr agam airson dithis, ach ’s dòcha nach bi e gu leòr airson deich a ghiullachd. Carson a tha eagal fhathast? Leis gu bheil am bòrd a’ fàs, agus uaireigin bidh mi a’ cur aghaidh ri suidheachadh nach eil, ann am prionnsapal, mar thoradh air bug tuilleadh, ach leis gun atharraich an dàta ann an ìre cho mòr is nach bi cuimhne gu leòr agam air an frithealaiche. Agus an uairsin tuitidh am frithealaiche a-steach gu OOM nuair a thèid e còmhla. A bharrachd air an sin, is urrainn dhomh am mùthadh a chuir dheth, ach chan eil Merji ann tuilleadh.

Tha fios agad, nuair a thèid an aonachadh, cha tuit am frithealaiche a-steach do OOM, oir nuair a thèid an aonachadh, cha tèid an uiread de RAM a chleachdadh ach airson aon raon beag de dhàta. Mar sin bidh a h-uile dad gu math ge bith dè an ìre de dhàta a th ’ann.

Vladimir Kolobaev: Gu math. An seo tha a ’mhòmaid cho mòr is gun do luchdaich mi sìos dreach ùr dhomh fhìn às deidh a’ bhiast a chàradh, agus air bòrd eile, fear nas lugha, far a bheil mòran earrannan, rinn mi an aon obair. Agus rè an aonaidh, chaidh timcheall air 100 GB de RAM a losgadh air an fhrithealaiche. Bha 150 agam, 100 air ithe, agus uinneag 50 GB air fhàgail, agus mar sin cha do thuit mi a-steach do OOM.

Dè a tha gam dhìon an-dràsta bho bhith a’ tuiteam a-steach do OOM ma bhios e dha-rìribh ag ithe 100 GB de RAM? Dè a nì thu ma ruitheas an RAM air na h-aonaidhean a-mach gu h-obann?

Alexei Milovidov: Tha an leithid de dhuilgheadas ann nach eil caitheamh RAM gu sònraichte airson aonachadh cuingealaichte. Agus is e an dàrna duilgheadas ma chaidh co-aonadh de sheòrsa air choreigin a shònrachadh, feumaidh e a bhith air a chuir gu bàs leis gu bheil e clàraichte sa log ath-riochdachadh. Is e an log ath-riochdachadh na gnìomhan a dh’ fheumar gus am mac-samhail a thoirt gu staid chunbhalach. Mura dèan thu làimhseachadh làimhe a chuireas air ais an loga mac-samhail seo, feumaidh an aonadh a bhith air a dhèanamh aon dòigh no dòigh eile.

Gu dearbh, cha bhiodh e iomarcach cuingealachadh RAM a bhith “dìreach gun fhios” a’ dìon an aghaidh OOM. Cha chuidich e an aonachadh gus a chrìochnachadh, tòisichidh e a-rithist, ruigidh e stairsneach, tilg eisgeachd, agus an uairsin tòisichidh e a-rithist - cha tig dad math às. Ach ann am prionnsabal, bhiodh e feumail an cuingealachadh seo a thoirt a-steach.

Ciamar a thèid an draibhear Golang airson ClickHouse a leasachadh?

Tha an dràibhear Golang, a chaidh a sgrìobhadh le Kirill Shvakov, a-nis a 'faighinn taic oifigeil bho sgioba ClickHouse. Tha e ann an stòr ClickHouse, tha e nis mòr agus fìor.

Nòta beag. Tha stòr iongantach agus gràdhach de chruthan àbhaisteach de òrdugh gun chrìoch - is e seo Vertica. Tha an draibhear python oifigeil aca fhèin cuideachd, a tha a’ faighinn taic bho luchd-leasachaidh Vertica. Agus grunn thursan thachair e gu robh na dreachan stòraidh agus na dreachan draibhear gu math eadar-dhealaichte, agus stad an draibhear ag obair aig àm air choreigin. Agus an dàrna puing. Tha taic don draibhear oifigeil seo, tha e coltach riumsa, air a dhèanamh leis an t-siostam “nipple” - bidh thu a’ sgrìobhadh cùis dhaibh, agus bidh e an crochadh gu bràth.

Tha dà cheist agam. A-nis is e draibhear Kirill's Golang cha mhòr an dòigh àbhaisteach air conaltradh bho Golang le ClickHouse. Mura h-eil cuideigin fhathast a’ conaltradh tron ​​eadar-aghaidh http oir is toil leis e mar sin. Ciamar a thèid leasachadh an dràibhear seo air adhart? Am bi e air a shioncronachadh le atharrachaidhean briste sam bith san stòr fhèin? Agus dè an dòigh-obrach airson beachdachadh air cùis?

Kirill Shvakov: Is e a’ chiad fhear mar a tha a h-uile càil air a chuir air dòigh gu biùrocratach. Cha deach bruidhinn air a’ phuing seo, agus mar sin chan eil dad agam ri fhreagairt.

Airson a 'cheist a fhreagairt mun chùis, feumaidh sinn beagan eachdraidh an dràibhear. Bha mi ag obair airson companaidh aig an robh tòrr dàta. B 'e snìomhadair sanasachd a bh' ann le àireamh mhòr de thachartasan a dh'fheumadh a bhith air an stòradh an àiteigin. Agus aig àm air choreigin nochd ClickHouse. Lìon sinn le dàta e, agus an toiseach bha a h-uile dad gu math, ach an uairsin thuit ClickHouse. Aig an àm sin cho-dhùin sinn nach robh feum againn air.

Bliadhna às deidh sin, thill sinn chun bheachd a bhith a 'cleachdadh ClickHouse, agus dh'fheumadh sinn dàta a sgrìobhadh an sin dòigh air choireigin. B’ e seo an teachdaireachd tòiseachaidh: tha am bathar-cruaidh gu math lag, chan eil mòran ghoireasan ann. Ach bha sinn an-còmhnaidh ag obair mar seo, agus mar sin choimhead sinn a dh’ ionnsaigh a ’phròtacal dùthchasach.

Leis gu robh sinn ag obair ann an Go, bha e soilleir gu robh feum againn air draibhear Go. Rinn mi e cha mhòr làn-ùine - b’ e an obair obrach agam a bh’ ann. Thug sinn gu ìre sònraichte e, agus ann am prionnsapal cha robh duine a’ gabhail ris gum biodh duine eile ach sinne ga chleachdadh. An uairsin thàinig CloudFlare leis an aon dhuilgheadas, agus airson ùine bha sinn ag obair còmhla riutha gu math rèidh, leis gu robh na h-aon ghnìomhan aca. A bharrachd air an sin, rinn sinn seo an dà chuid ann an ClickHouse sinn fhìn agus anns an draibhear.

Aig àm air choreigin, cha do stad mi ga dhèanamh, oir dh'atharraich mo ghnìomhachd a thaobh ClickHouse agus obair beagan. Mar sin chan eil cùisean dùinte. Bho àm gu àm, bidh daoine a dh ’fheumas rudeigin iad fhèin a’ gealltainn don stòr. An uairsin bidh mi a’ coimhead air an iarrtas tarraing agus uaireannan bidh mi eadhon a’ deasachadh rudeigin mi-fhìn, ach is ann ainneamh a thachras seo.

Tha mi airson tilleadh chun an driver. O chionn grunn bhliadhnaichean, nuair a thòisich an rud gu lèir seo, bha ClickHouse cuideachd eadar-dhealaichte agus le comasan eadar-dhealaichte. A-nis tha tuigse againn air mar as urrainn dhut an draibhear ath-dhèanamh gus am bi e ag obair gu math. Ma thachras seo, bidh dreach 2 neo-fhreagarrach ann an suidheachadh sam bith air sgàth na crutches cruinnichte.

Chan eil fios agam ciamar a chuireas mi a’ chùis seo air dòigh. Chan eil mòran ùine agam fhìn. Ma chuireas cuid de dhaoine crìoch air an draibhear, is urrainn dhomh an cuideachadh agus innse dhaibh dè a nì iad. Ach cha deach beachdachadh fhathast air com-pàirteachadh gnìomhach Yandex ann an leasachadh a ’phròiseict.

Alexei Milovidov: Gu dearbh, chan eil biurocrasaidh sam bith ann mu na draibhearan sin fhathast. Is e an aon rud gu bheil iad air an cur a-steach gu buidheann oifigeil, is e sin, tha an draibhear seo air aithneachadh mar am fuasgladh oifigeil bunaiteach airson Go. Tha cuid de dhraibhearan eile ann, ach thig iad air leth.

Chan eil leasachadh taobh a-staigh sam bith againn airson na draibhearan sin. Is e a’ cheist an urrainn dhuinn neach fa-leth fhastadh, chan ann airson an draibhear sònraichte seo, ach airson a h-uile draibhear coimhearsnachd a leasachadh, no an lorg sinn cuideigin bhon taobh a-muigh.

Cha luchdaich am faclair taobh a-muigh às deidh ath-thòiseachadh leis an t-suidheachadh lazy_load air a chomasachadh. Dè a nì thu?

Tha an suidheachadh lazy_load air a chur an comas, agus an dèidh dhan fhrithealaiche ath-thòiseachadh, cha bhith am faclair a' luchdachadh leis fhèin. Thèid a thogail dìreach às deidh don neach-cleachdaidh am faclair seo fhaighinn. Agus a’ chiad uair a gheibh mi cothrom air, tha e a’ toirt mearachd. A bheil e comasach dòigh air choireigin faclairean a luchdachadh gu fèin-ghluasadach a’ cleachdadh ClickHouse, no am feum thu smachd a chumail air cho deònach sa tha iad thu fhèin gus nach faigh luchd-cleachdaidh mearachdan?

Is dòcha gu bheil seann dreach againn de ClickHouse, agus mar sin cha deach am faclair a luchdachadh gu fèin-obrachail. Am faodadh seo a bhith mar sin?

An toiseach, faodar faclairean a luchdachadh le bhith a’ cleachdadh ceist Faclairean siostam ath-luchdaich. San dàrna h-àite, a thaobh mearachd - ma tha am faclair air a luchdachadh mar-thà, obraichidh na ceistean stèidhichte air an dàta a chaidh a luchdachadh. Mura h-eil am faclair air a luchdachadh fhathast, thèid a luchdachadh gu dìreach rè an iarrtais.

Chan eil seo gu math goireasach airson faclairean trom. Mar eisimpleir, feumaidh tu millean sreath a tharraing bho MySQL. Bidh cuideigin a’ dèanamh taghadh sìmplidh, ach bidh an taghadh seo a’ feitheamh ris na h-aon mhillean sreath. Tha dà fhuasgladh an seo. Is e a’ chiad fhear lazy_load a chuir dheth. San dàrna h-àite, nuair a bhios am frithealaiche suas, mus cuir thu an luchd air, dèan Am faclair siostam ath-luchdaich neo dìreach dèan ceist a chleachdas faclair. An uairsin thèid am faclair a luchdachadh. Feumaidh tu smachd a chumail air na tha ri fhaighinn de fhaclairean leis an t-suidheachadh lazy_load air a chomasachadh, oir cha bhith ClickHouse gan luchdachadh gu fèin-ghluasadach.

Is e am freagairt don cheist mu dheireadh an dàrna cuid gu bheil an dreach sean no feumar a dhì-bhugachadh.

Dè a nì thu leis nach bi faclairean ath-luchdachadh an t-siostaim a’ luchdachadh gin den iomadh faclair ma thuiteas co-dhiù aon dhiubh le mearachd?

Tha ceist eile ann mu fhaclairean ath-luchdachadh siostam. Tha dà fhaclair againn - chan eil aon air a luchdachadh, tha an dàrna fear air a luchdachadh. Anns a’ chùis seo, cha bhith faclairean ath-luchdachadh an t-siostaim a’ luchdachadh faclair sam bith, agus feumaidh tu fear sònraichte a luchdachadh leis an ainm a’ cleachdadh faclair ath-luchdachadh an t-siostaim. A bheil seo cuideachd co-cheangailte ris an tionndadh ClickHouse?

Tha mi airson do dhèanamh toilichte. Bha an giùlan seo ag atharrachadh. Tha seo a’ ciallachadh ma dh’ ùraicheas tu ClickHouse, atharraichidh e cuideachd. Mura h-eil thu toilichte leis a 'ghiùlan làithreach agad Faclairean siostam ath-luchdaich, ùrachadh, agus tha sinn an dòchas gun atharraich e airson na b’ fheàrr.

A bheil dòigh ann mion-fhiosrachadh a rèiteachadh ann an config ClickHouse, ach gun a bhith gan taisbeanadh gun fhios nach bi mearachdan ann?

Tha an ath cheist mu mhearachdan co-cheangailte ris an fhaclair, is e sin mion-fhiosrachadh. Tha sinn air mion-fhiosrachadh a’ cheangail a shònrachadh ann an config ClickHouse airson an fhaclair, agus ma tha mearachd ann, gheibh sinn am mion-fhiosrachadh agus am facal-faire seo mar fhreagairt.

Dh’ fhuasgail sinn a’ mhearachd seo le bhith a’ cur mion-fhiosrachadh ri rèiteachadh draibhear ODBC. A bheil dòigh sam bith air am mion-fhiosrachadh a rèiteachadh ann an config ClickHouse, ach gun a bhith a’ sealltainn am mion-fhiosrachadh sin gun fhios nach bi mearachdan ann?

Is e am fìor fhuasgladh an seo na teisteanasan sin a shònrachadh ann an odbc.ini, agus ann an ClickHouse fhèin sònraich dìreach Ainm Stòr Dàta ODBC. Cha tachair seo airson tobraichean faclair eile - an dàrna cuid airson an fhaclair le MySQL, no an fheadhainn eile, cha bu chòir dhut am facal-faire fhaicinn nuair a gheibh thu teachdaireachd-mearachd. Airson ODBC, seallaidh mi cuideachd - ma tha e ann, chan fheum thu ach a thoirt air falbh.

Bònas: cùl-fhiosrachadh airson Zoom bho chruinneachaidhean

Le bhith a’ cliogadh air an dealbh, fosglaidh cùl-fhiosrachadh bonus bho na cruinneachaidhean dha na leughadairean as seasmhaiche. Chuir sinn a-mach an teine ​​​​còmhla ri suaichnean teicneòlais Avito, bidh sinn a’ bruidhinn ri co-obraichean bho rùm rianadair an t-siostaim no cluba coimpiutair na seann-sgoile, agus bidh sinn a’ cumail choinneamhan làitheil fon drochaid an aghaidh cùl-raon graffiti.

ClickHouse airson luchd-cleachdaidh adhartach ann an ceistean is freagairtean

Source: www.habr.com

Cuir beachd ann