Таҷрибаҳои беҳтарин барои нусхабардории маълумот аз ClickHouse кадомҳоянд?
Бо дарназардошти он, ки мо амалиёти ниҳоиро оптимизатсия кардаем, базаи бузурги терабайтҳо ва маълумоте, ки, масалан, дар се рӯзи охир нав карда мешаванд ва пас аз он ҳеҷ гуна расмиёт рӯй намедиҳад, чӣ гуна бояд нусхабардорӣ кард?
Мо метавонем ҳалли худро созем ва дар bash нависем: ин нусхаҳои эҳтиётиро бо чунин ва чунин роҳ ҷамъ кунед. Шояд ба асобағол кардан лозим набошад ва велосипед кайҳо ихтироъ шуда бошад?
Алексей Миловидов: Мутаассифона, он барои сенарияи шумо чандон қобили татбиқ нест, аммо ман ба шумо тавсифи ду схемаи бад ва мураккаби шардингиро мегӯям, ки ба истифода ниёз надоранд, аммо дар хидмати дӯстони ман истифода мешаванд.
Як кластери асосӣ бо рӯйдодҳои Yandex.Metrica мавҷуд аст. Ҳодисаҳо дидани саҳифаҳо, кликҳо ва табдилҳо мебошанд. Аксарияти дархостҳо ба вебсайти мушаххас мераванд. Шумо хидмати Yandex.Metrica-ро мекушоед, шумо вебсайт доред - avito.ru, ба гузориш равед ва барои вебсайти шумо дархост дода мешавад.
Аммо дархостҳои дигаре ҳастанд - таҳлилӣ ва глобалӣ - ки аз ҷониби таҳлилгарони дохилӣ пешниҳод карда мешаванд. Дар ҳар сурат, ман қайд мекунам, ки таҳлилгарони дохилӣ танҳо барои хидматҳои Яндекс дархост мекунанд. Бо вуҷуди ин, ҳатто хидматҳои Яндекс ҳиссаи назарраси тамоми маълумотро ишғол мекунанд. Ин дархостҳо на барои ҳисобкунакҳои мушаххас, балки барои филтркунии васеътар мебошанд.
Чӣ тавр маълумотро тавре ташкил кардан мумкин аст, ки ҳама чиз барои як ҳисобкунак ва инчунин дархостҳои глобалӣ самаранок кор кунад? Мушкилоти дигар дар он аст, ки шумораи дархостҳо дар ClickHouse барои кластери Metrics дар як сония чанд ҳазор аст. Дар айни замон, як сервери ClickHouse наметавонад дархостҳои ночизро иҷро кунад, масалан, якчанд ҳазор дар як сония.
Андозаи кластер ба шашсад серверҳо баробар аст. Агар шумо танҳо ҷадвали Тақсимшударо аз болои ин кластер кашед ва ба он ҷо якчанд ҳазор дархост фиристед, он аз фиристодани онҳо ба як сервер ҳатто бадтар мешавад. Аз тарафи дигар, варианте, ки маълумот баробар паҳн мешавад ва мо рафта аз ҳама серверҳо дархост мекунем, фавран рад карда мешавад.
Варианте вуҷуд дорад, ки комилан муқобил аст. Тасаввур кунед, ки агар мо маълумотро дар саросари сайтҳо тақсим кунем ва дархост барои як сайт ба як пора меравад. Акнун кластер метавонад даҳ ҳазор дархостро дар як сония иҷро кунад, аммо дар як порча ҳар як дархост хеле суст кор мекунад. Он дигар аз нуқтаи назари интиқол васеъ нахоҳад шуд. Хусусан, агар ин сайти avito.ru бошад. Агар бигӯям, ки Avito яке аз сайтҳои сердаромадтарин дар RuNet аст, сирро ошкор намекунам. Ва коркарди он дар як пора девонагӣ хоҳад буд.
Аз ин рӯ, схемаи sharding ба таври маккоронатар тарҳрезӣ шудааст. Тамоми кластер ба якчанд кластерҳо тақсим мешавад, ки мо онҳоро қабатҳо меномем. Ҳар як кластер аз даҳҳо то якчанд даҳҳо пораҳоро дар бар мегирад. Ҳамагӣ сию нӯҳ чунин кластерҳо мавҷуданд.
Ин ҳама чӣ гуна миқёс дорад? Шумораи кластерхо тагьир намеёбад — чунон ки чанд сол пеш сию нух буд, хамин тавр мемонад. Аммо дар дохили ҳар яки онҳо, мо бо ҷамъоварии маълумот тадриҷан шумораи пораҳоро зиёд мекунем. Ва схемаи sharding дар маҷмӯъ чунин аст: ин кластерҳо ба вебсайтҳо тақсим мешаванд ва барои фаҳмидани он, ки кадом вебсайт дар кадом кластер ҷойгир аст, метабазаи алоҳида дар MySQL истифода мешавад. Як сайт - дар як кластер. Ва дар дохили он, sharding мувофиқи ID-и меҳмонон рух медиҳад.
Ҳангоми сабт, мо онҳоро ба қисми боқимондаи тақсимоти ID-и меҳмон тақсим мекунем. Аммо ҳангоми илова кардани порчаи нав, схемаи тақсимкунӣ тағир меёбад; мо тақсим карданро идома медиҳем, аммо боқимондаи тақсимот ба рақами дигар. Ин маънои онро дорад, ки як меҳмон аллакай дар якчанд сервер ҷойгир аст ва шумо наметавонед ба ин такя кунед. Ин танҳо барои таъмини беҳтар фишурда шудани маълумот анҷом дода мешавад. Ва ҳангоми пешниҳоди дархост, мо ба ҷадвали тақсимшуда меравем, ки ба кластер назар мекунад ва ба даҳҳо серверҳо дастрасӣ дорад. Ин як нақшаи беақл аст.
Аммо достони ман нопурра хоҳад буд, агар нагӯям, ки мо аз ин нақша даст кашидаем. Дар нақшаи нав, мо ҳама чизро тағир додем ва ҳама маълумотро бо истифода аз clickhouse-copier нусхабардорӣ кардем.
Дар схемаи нав хамаи сайтхо ба ду категория — калон ва хурд таксим мешаванд. Ман намедонам, ки ҳадди аққал чӣ гуна интихоб шудааст, аммо натиҷа ин буд, ки сайтҳои калон дар як кластер сабт карда мешаванд, ки дар он 120 порча бо се реплика мавҷуд аст - яъне 360 сервер. Ва схемаи sharding чунин аст, ки ҳама гуна дархост якбора ба ҳама пораҳо меравад. Агар шумо ҳоло дар Yandex.Metrica ягон саҳифаи ҳисоботро барои avito.ru кушоед, дархост ба 120 сервер меравад. Дар RuNet сайтҳои калон мавҷуданд. Ва дархостҳо дар як сония ҳазор нест, балки ҳатто камтар аз сад аст. Ҳамаи ин аз ҷониби ҷадвали тақсимшуда, ки ҳар яки онҳо бо 120 сервер коркард мекунанд, оромона хоидан мешавад.
Ва кластери дуюм барои сайтҳои хурд аст. Дар ин ҷо як схемаи sharding дар асоси ID сайт аст ва ҳар як дархост маҳз ба як порча меравад.
Ман дарҳол мегӯям, ки ин ҳалли мушкилтар ва то андозае камтар самаранок аст. Бартарии он дар он аст, ки он маълумотро мувофиқи намунае, ки шумо нишон додаед, пурра мепӯшонад. Аммо нуқсони хидматрасонӣ дар он аст, ки он тамоман аз нав кор намекунад. Он маълумотро аз як схемаи кластер ба схемаи кластери дигар нусхабардорӣ мекунад.
Ин маънои онро дорад, ки барои кор кардани он шумо бояд ду кластер дошта бошед. Онҳо метавонанд дар як серверҳо ҷойгир шаванд, аммо ба ҳар ҳол, маълумот ба таври тадриҷан интиқол дода намешавад, балки нусхабардорӣ карда мешавад.
Масалан, чор сервер вуҷуд дошт, ҳоло ҳашт. Шумо дар ҳама серверҳо ҷадвали нави Тақсимшуда, ҷадвалҳои нави маҳаллӣ эҷод мекунед ва кликхаус-копиро ба кор меоред, ки дар он нақшаи кориро нишон медиҳад, ки он бояд аз он ҷо хонда шавад, схемаи нави sharding-ро қабул кунад ва маълумотро ба он ҷо интиқол диҳад. Ва дар серверҳои кӯҳна ба шумо нисбат ба ҳозира якуним маротиба бештар ҷой лозим мешавад, зеро маълумотҳои кӯҳна бояд дар онҳо боқӣ монанд ва нисфи ҳамон маълумоти кӯҳна ба болои онҳо меоянд. Агар шумо пешакӣ фикр мекардед, ки маълумотро дубора тақсим кардан лозим аст ва ҷой вуҷуд дорад, пас ин усул мувофиқ аст.
Чӣ тавр clickhouse-copier дар дохили он кор мекунад? Он тамоми корҳоро ба маҷмӯи вазифаҳо барои коркарди як қисми як ҷадвал дар як пора тақсим мекунад. Ҳамаи ин вазифаҳоро дар баробари иҷро кардан мумкин аст ва клик-копиерро дар мошинҳои гуногун дар якчанд мавридҳо иҷро кардан мумкин аст, аммо он чизе, ки он барои як қисм анҷом медиҳад, ҷуз интихоби дохилкунӣ чизи дигаре нест. Маълумот хонда мешавад, кушода мешавад, аз нав тақсим карда мешавад, сипас дубора фишурда мешавад, дар ҷое навишта мешавад ва аз нав мураттаб карда мешавад. Ин қарори сахттар аст.
Шумо як чизи пилотӣ доштед, ки бо номи reshading. Бо вай чӣ?
Ҳанӯз дар соли 2017, шумо як чизи озмоишӣ доштед, ки бо номи reshading. Дар ClickHouse ҳатто як вариант вуҷуд дорад. Тавре ки ман фаҳмидам, он набаромад. Метавонед ба ман бигӯед, ки чаро ин ҳодиса рӯй дод? Чунин ба назар мерасад, ки хеле мувофиқ аст.
Дар ҳуҷҷатҳои нави ClickHouse ман қисмати марбутро хондам бо нигоҳдории маълумот. Тавсифи дорои як мисол бо SSD зуд.
Ман ҳайронам, ки чӣ тавр ҳамин чизро бо хотираи гарми ҳаҷми танзим кардан мумкин аст. Ва боз як савол. Интихоб бо ин ташкилоти додаҳо чӣ гуна кор мекунад, оё он тамоми маҷмӯаро мехонад ё танҳо онеро, ки дар диск аст ва оё ин маълумот дар хотира фишурда шудааст? Ва чӣ гуна бахши пеш аз куҷо бо чунин ташкилоти додаҳо кор мекунад?
Ин танзимот ба нигоҳдории қисмҳои додаҳо таъсир мерасонад ва формати онҳо ба ҳеҷ ваҷҳ тағир намеёбад.
Биёед муфассалтар дида бароем.
Шумо метавонед нигоҳдории маълумотро дар RAM танзим кунед. Ҳамаи он чизе, ки барои диск танзим шудааст, роҳи он аст. Шумо як қисми tmpfs эҷод мекунед, ки ба ягон роҳ дар системаи файлӣ васл шудааст. Шумо ин роҳро ҳамчун роҳи нигоҳдории маълумот барои қисмати гармтарин нишон медиҳед, қисмҳои маълумот ба он ҷо ворид мешаванд ва навишта мешаванд, ҳама чиз хуб аст.
Аммо ман ин корро аз сабаби эътимоднокии паст тавсия намедиҳам, гарчанде ки агар шумо дар марказҳои гуногуни додаҳо ҳадди аққал се нусха дошта бошед, ин имконпазир аст. Агар чизе рӯй диҳад, маълумот барқарор карда мешавад. Биёед тасаввур кунем, ки сервер ногаҳон хомӯш карда шуд ва дубора фаъол шуд. Қисм аз нав васл карда шуд, аммо дар он ҷо чизе набуд. Вақте ки сервери ClickHouse оғоз меёбад, он мебинад, ки он ин қисмҳоро надорад, гарчанде ки тибқи метамаълумоти ZooKeeper, онҳо бояд дар он ҷо бошанд. Вай ба он назар мекунад, ки кадом нусхаҳо онҳоро доранд, дархост мекунад ва онҳоро зеркашӣ мекунад. Бо ин роҳ маълумот барқарор карда мешавад.
Ба ин маънӣ нигоҳ доштани маълумот дар хотираи оперативӣ аз нигоҳ доштани он дар диск аслан фарқ надорад, зеро вақте ки маълумот ба диск навишта мешавад, он ҳам аввал дар кэши саҳифа ҷамъ мешавад ва аз ҷиҳати физикӣ дертар навишта мешавад. Ин аз имконоти насби системаи файлӣ вобаста аст. Аммо дар ҳар сурат, ман мегӯям, ки ClickHouse ҳангоми воридкунӣ fsync намекунад.
Дар ин ҳолат, маълумот дар хотираи оперативӣ маҳз ҳамон формате, ки дар диск аст, нигоҳ дошта мешавад. Дархости интихоб ба ҳамин тариқ қисмҳоеро, ки бояд хонда шаванд, интихоб мекунад, диапазони зарурии маълумотро дар қисмҳо интихоб мекунад ва онҳоро мехонад. Ва prewhere маҳз ҳамон кор мекунад, новобаста аз он ки маълумот дар RAM ё дар диск буд.
То кадом андоза арзишҳои беназир самаранок аст Кардиналии паст?
Кардиналии паст моҳирона тарҳрезӣ шудааст. Он луғатҳои маълумотро тартиб медиҳад, аммо онҳо маҳаллӣ мебошанд. Аввалан, барои ҳар як порча луғатҳои гуногун мавҷуданд ва дуюм, ҳатто дар дохили як порча онҳо метавонанд барои ҳар як диапазон гуногун бошанд. Вақте ки шумораи арзишҳои беназир ба рақами ҳадди аққал мерасад - ба як миллион, ман фикр мекунам - луғат ба таври оддӣ нигоҳ дошта мешавад ва луғати нав сохта мешавад.
Ҷавоб дар маҷмӯъ: барои ҳар як диапазони маҳаллӣ - масалан, барои ҳар рӯз - дар ҷое то як миллион арзишҳои беназир самаранок аст. Пас аз он танҳо як бозгашт ба вуҷуд меояд, ки дар он луғатҳои зиёди гуногун истифода мешаванд, на танҳо як. Он тақрибан ба мисли сутуни сатри муқаррарӣ кор хоҳад кард, шояд каме самараноктар бошад, аммо таназзули ҷиддии кор нахоҳад буд.
Ҷавобҳои гуногун мавҷуданд. Аввалан гуфтан аст, ки ClickHouse системаи ҷустуҷӯии пурраи матн нест. Барои ин системаҳои махсус вуҷуд доранд, масалан, Ҷустуҷӯи Elastics и SPHINX. Аммо, ман бештар одамонро мебинам, ки мегӯянд, ки онҳо аз Elasticsearch ба ClickHouse мегузаранд.
Чаро ин рӯй медиҳад? Онҳо инро бо он шарҳ медиҳанд, ки Elasticsearch аз сохтани индексҳо сар карда, дар баъзе ҳаҷмҳо сарборӣ карданро қатъ мекунад. Индексҳо хеле вазнин мешаванд ва агар шумо танҳо маълумотро ба ClickHouse интиқол диҳед, маълум мешавад, ки онҳо аз ҷиҳати ҳаҷм чанд маротиба самараноктар нигоҳ дошта мешаванд. Дар айни замон, дархостҳои ҷустуҷӯ аксар вақт чунин набуданд, ки дар тамоми ҳаҷми маълумот бо назардошти морфология, вале тамоман дигар ибораҳоро ёфтан лозим буд. Масалан, дар гузоришҳо дар тӯли чанд соати охир чанд пайдарпаии байтҳоро пайдо кунед.
Дар ин ҳолат, шумо дар ClickHouse индекс эҷод мекунед, ки майдони аввали он сана ва вақт хоҳад буд. Ва бузургтарин ихтисори маълумот ба диапазони сана асос меёбад. Дар доираи санаи интихобшуда, чун қоида, аллакай имконпазир аст, ки ҷустуҷӯи пурраи матн, ҳатто бо истифода аз усули қувваи бераҳмона бо истифода аз лайк. Оператори монанд дар ClickHouse оператори аз ҳама самаранокест, ки шумо метавонед онро пайдо кунед. Агар шумо чизи беҳтаре пайдо кунед, ба ман бигӯед.
Аммо ба ҳар ҳол, мисли скан пурра аст. Ва сканкунии пурра метавонад на танҳо дар CPU, балки дар диск низ суст бошад. Агар ногаҳон шумо дар як рӯз як терабайт маълумот дошта бошед ва дар давоми рӯз калимаро ҷустуҷӯ кунед, пас шумо бояд терабайтро скан кунед. Ва он шояд дар дискҳои сахти муқаррарӣ бошад ва дар ниҳоят онҳо тавре бор карда мешаванд, ки шумо тавассути SSH ба ин сервер дастрасӣ нахоҳед дошт.
Ва ман туро дар ин ҷо хушбахт карда наметавонам. Шумо бояд танҳо як роҳи ҳалли мушаххасро барои ин ҳолат ҷустуҷӯ кунед. Масалан, оё онро дар намуди моддӣ такрор кардан мумкин аст ва усули нусхабардорӣ метавонад ҳамин тавр кор кунад. Аммо, мутаассифона, на ҳамеша. Агар он ҷамъоварӣ карда шавад, он кор намекунад.
Кирилл Шваков: Дар он замон мо низ сохтмони асобакаш доштем. Мушкилоте вуҷуд дошт, ки таассуроти таблиғотӣ вуҷуд дорад ва баъзе маълумоте вуҷуд дорад, ки мо метавонем дар вақти воқеӣ нишон диҳем - ин танҳо таассурот аст. Онҳо хеле кам такрор мешаванд, аммо агар ин рӯй диҳад, мо ба ҳар ҳол баъдтар онҳоро вайрон мекунем. Ва чизҳое буданд, ки онҳоро такрор кардан ғайриимкон аст - кликҳо ва тамоми ин ҳикоя. Аммо ман ҳам мехостам онҳоро қариб фавран нишон диҳам.
Андешаҳои моддӣ чӣ гуна ба вуҷуд омадаанд? Нигоҳҳое буданд, ки дар он бевосита навишта шуда буд - он ба маълумоти хом навишта шуда буд ва ба назарҳо навишта шудааст. Дар он ҷо, дар баъзе мавридҳо маълумот чандон дуруст нест, такрор карда мешавад ва ғайра. Ва қисми дуюми ҷадвал мавҷуд аст, ки дар он онҳо комилан ба назари моддӣ монанданд, яъне онҳо аз ҷиҳати сохтор комилан якхелаанд. Як бор мо маълумотро аз нав ҳисоб мекунем, маълумотро бе такрор ҳисоб мекунем, ба он ҷадвалҳо менависем.
Мо аз API гузаштем - ин дар ClickHouse дастӣ кор намекунад. Ва API назар мекунад: вақте ки ман санаи иловаи охирин ба ҷадвал дорам, ки дар он кафолат дода мешавад, ки маълумоти дуруст аллакай ҳисоб карда шудааст ва он ба як ҷадвал ва ба ҷадвали дигар дархост мекунад. Дархост аз яке то вақти муайянро интихоб мекунад ва аз дигараш он чизеро мегирад, ки ҳанӯз ҳисоб карда нашудааст. Ва он кор мекунад, аммо на танҳо тавассути ClickHouse.
Агар шумо як намуди API дошта бошед - барои таҳлилгарон, барои корбарон - пас, дар асл, ин интихоб аст. Шумо ҳамеша ҳисоб мекунед, ҳамеша ҳисоб мекунед. Ин метавонад як маротиба дар як рӯз ё дар вақти дигар анҷом дода шавад. Шумо барои худ як қатореро интихоб мекунед, ки ба шумо лозим нест ва муҳим нест.
ClickHouse гузоришҳои зиёде дорад. Чӣ тавр ман метавонам ҳама чизеро, ки бо сервер рӯй медиҳад, дар як нигоҳ бубинам?
Ронандаи Голанг, ки онро Кирилл Шваков навиштааст, ҳоло аз ҷониби дастаи ClickHouse расман дастгирӣ мешавад. У дар анбори ClickHouse, вай холо калон ва хакикй аст.
Як ёддошт хурд. Як анбори аҷиб ва маҳбуби шаклҳои муқаррарии тартиботи беохир мавҷуд аст - ин Вертика аст. Онҳо инчунин драйвери расмии питони худро доранд, ки онро таҳиягарони Vertica дастгирӣ мекунанд. Ва якчанд маротиба рӯй дод, ки версияҳои нигаҳдорӣ ва версияҳои драйвер ба таври назаррас фарқ карданд ва ронанда дар як лаҳза корашро қатъ кард. Ва нуктаи дуюм. Дастгирии ин ронандаи расмӣ, ба назарам, системаи "пистони" амалӣ карда мешавад - шумо ба онҳо масъала менависед ва он то абад овезон мешавад.
Ман ду савол дорам. Ҳоло ронандаи Голанг Кирилл қариб роҳи пешфарз барои муошират аз Голанг бо ClickHouse мебошад. Агар касе то ҳол тавассути интерфейси http муошират накунад, зеро ба ӯ ин тавр маъқул аст. Ташаккули ин ронанда чӣ гуна пеш меравад? Оё он бо ҳама гуна тағироти вайроншуда дар худи анбор ҳамоҳанг карда мешавад? Ва тартиби баррасии масъала чӣ гуна аст?
Кирилл Шваков: Якум он аст, ки хама чиз чй тавр ба таври бюрократй ташкил карда шудааст. Ин нукта мавриди баррасӣ қарор нагирифтааст, бинобар ин ман чизе барои ҷавоб додан надорам.
Барои ҷавоб додан ба савол дар бораи ин масъала, мо бояд каме таърихи ронандаро омӯзем. Ман дар ширкате кор мекардам, ки маълумоти зиёд дошт. Ин як чархи таблиғӣ бо шумораи зиёди рӯйдодҳо буд, ки бояд дар ҷое нигоҳ дошта шаванд. Ва дар як лаҳза ClickHouse пайдо шуд. Мо онро бо маълумот пур кардем ва дар аввал ҳама чиз хуб буд, аммо баъд ClickHouse ба садама дучор шуд. Дар он лаҳза мо тасмим гирифтем, ки ба мо лозим нест.
Пас аз як сол, мо ба идеяи истифодаи ClickHouse баргаштем ва ба мо лозим омад, ки дар он ҷо маълумот нависем. Паёми муқаддимавӣ чунин буд: сахтафзор хеле заиф аст, захираҳо каманд. Аммо мо ҳамеша ҳамин тавр кор мекардем ва аз ин рӯ мо ба протоколи ватанӣ назар мекардем.
Азбаски мо дар Go кор мекардем, маълум буд, ки ба мо ронандаи Go лозим аст. Ман онро қариб пурра иҷро кардам - ин вазифаи кори ман буд. Мо онро ба як нукта овардем ва аслан касе гумон намекард, ки гайр аз мо касе аз он истифода мебарад. Пас аз он CloudFlare бо ҳамон мушкилот омад ва чанд вақт мо бо онҳо хеле осон кор кардем, зеро онҳо вазифаҳои якхела доштанд. Гузашта аз ин, мо инро ҳам дар ClickHouse худамон ва ҳам дар ронанда анҷом додем.
Дар баъзе мавридҳо ман ин корро бас кардам, зеро фаъолияти ман дар робита ба ClickHouse ва кор каме тағйир ёфт. Аз ин рӯ, масъалаҳо пӯшида нестанд. Давра ба давра, одамоне, ки ба чизе ниёз доранд, ба анбор муроҷиат мекунанд. Он гоҳ ман ба дархости ҷалб назар мекунам ва баъзан ман ҳатто чизеро худам таҳрир мекунам, аммо ин хеле кам рӯй медиҳад.
Ман мехоҳам ба назди ронанда баргардам. Чанд сол пеш, вақте ки ин ҳама чиз оғоз шуд, ClickHouse низ гуногун ва дорои қобилиятҳои гуногун буд. Акнун мо фаҳмидем, ки чӣ гуна ронандаро аз нав сохтан лозим аст, то он хуб кор кунад. Агар ин рӯй диҳад, пас версияи 2 дар ҳар сурат аз сабаби асобағалҳои ҷамъшуда номувофиқ хоҳад буд.
Мо барои ин ронандагон ҳеҷ гуна рушди дохилӣ надорем. Савол ин аст, ки оё мо метавонем як нафари алохидаро ба кор гирем, на барои ин ронандаи мушаххас, балки барои рушди тамоми ронандагони ҷамоатҳо ва ё аз берун касеро ёфта метавонем?
Луғати беруна пас аз бозоғозӣ бо танзими lazy_load фаъол намешавад. Чӣ бояд кард?
Мо танзими lazy_load-ро фаъол кардем ва пас аз бозоғоз кардани сервер, луғат худ аз худ бор намекунад. Он танҳо пас аз дастрасии корбар ба ин луғат баланд мешавад. Ва бори аввал ман ба он дастрасӣ пайдо мекунам, он хато медиҳад. Оё имкон аст, ки бо истифода аз ClickHouse ба таври худкор луғатҳоро бор кунед ё шумо бояд ҳамеша худатон омодагии онҳоро назорат кунед, то корбарон хатогиҳоро нагиранд?
Аввалан, луғатҳоро бо истифода аз дархост маҷбуран бор кардан мумкин аст луғатҳоро аз нав бор кардани система. Дуюм, дар бораи хатогӣ - агар луғат аллакай бор карда шуда бошад, пас дархостҳо дар асоси маълумоти боршуда кор мекунанд. Агар луғат то ҳол бор карда нашуда бошад, он мустақиман ҳангоми дархост бор карда мешавад.
Ин барои луғатҳои вазнин чандон қулай нест. Масалан, ба шумо лозим аст, ки аз MySQL як миллион сатр кашед. Касе интихоби оддӣ мекунад, аммо ин интихоб ҳамон миллион сатрро интизор мешавад. Дар ин ҷо ду роҳи ҳал вуҷуд дорад. Аввалан, хомӯш кардани lazy_load аст. Дуюм, вақте ки сервер фаъол аст, пеш аз бор кардан ба он, иҷро кунед луғати аз нав боркунии система ё танҳо дархостеро иҷро кунед, ки луғатро истифода мебарад. Пас луғат бор карда мешавад. Шумо бояд мавҷудияти луғатҳоро бо танзими lazy_load назорат кунед, зеро ClickHouse онҳоро ба таври худкор бор намекунад.
Ҷавоб ба саволи охирин ин аст, ки версия кӯҳна аст ё он бояд ислоҳ карда шавад.
Чӣ бояд кард, ки луғатҳои аз нав боркунии система ҳеҷ яке аз луғатҳои зиёдеро бор намекунад, агар ақаллан яке аз онҳо бо хатогӣ кор кунад?
Саволи дигаре дар бораи луғатҳои азнавборкунии система вуҷуд дорад. Мо ду луғат дорем - яке бор нест, дуюмаш бор аст. Дар ин ҳолат, луғатҳои азнавборкунии система ягон луғатро бор намекунад ва шумо бояд бо истифода аз луғати азнавборкунии система луғати мушаххасро бо номи он бор кунед. Оё ин ба версияи ClickHouse низ алоқаманд аст?
Ман мехоҳам туро хушбахт кунам. Ин рафтор дигар мешуд. Ин маънои онро дорад, ки агар шумо ClickHouse навсозӣ кунед, он низ тағир меёбад. Агар шумо аз рафтори ҳозираи худ қаноатманд набошед луғатҳоро аз нав бор кардани система, навсозӣ кунед ва умедворем, ки он барои беҳтар тағйир меёбад.