{"id":53944,"date":"2019-12-13T00:00:00","date_gmt":"2019-12-12T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/clickhouse-graphite-kak-znachitelno-umenshit-potreblyaemoe-mesto-na-diskah"},"modified":"2020-02-18T14:01:53","modified_gmt":"2020-02-18T11:01:53","slug":"clickhouse-graphite-kak-znachitelno-umenshit-potreblyaemoe-mesto-na-diskah","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/clickhouse-graphite-kak-znachitelno-umenshit-potreblyaemoe-mesto-na-diskah","title":{"rendered":"ClickHouse + Graphite: si si reduktojm\u00eb ndjesh\u00ebm hap\u00ebsir\u00ebn e p\u00ebrdorur n\u00eb disqe","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"ClickHouse + Graphite: si si reduktojm\u00eb ndjesh\u00ebm hap\u00ebsir\u00ebn e p\u00ebrdorur n\u00eb disqe\" src=\"\/wp-content\/uploads\/2019\/12\/5a2d19e6fea2a28d8d4aa9220653aefc.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>P\u00ebrsh\u00ebndetje, habr.<\/p>\n<p><\/p>\n<p>N\u00ebse dikush shfryt\u00ebzon sistemin <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/graphite-project\/graphite-web\">graphite-web<\/a><\/noindex> dhe ka hasur n\u00eb probleme me performanc\u00ebn e depozit\u00ebs <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/graphite-project\/whisper\">whisper<\/a><\/noindex> (IO, hap\u00ebsira e p\u00ebrdorur n\u00eb disk), at\u00ebher\u00eb probabiliteti q\u00eb t\u00eb jet\u00eb hedhur nj\u00eb sy n\u00eb ClickHouse si z\u00ebvend\u00ebsim duhet t\u00eb jet\u00eb af\u00ebr nj\u00ebsi. Ky pohim n\u00ebnkupton se si demon metrikash p\u00ebrdoret tashm\u00eb nj\u00eb implementim i pal\u00ebs s\u00eb tret\u00eb, p\u00ebr shembull <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/grobian\/carbonwriter\">carbonwriter<\/a><\/noindex> \u0438\u043b\u0438 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/go-graphite\/go-carbon\">go-carbon<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>ClickHouse mir\u00eb zgjidh problemet e p\u00ebrmendura. P\u00ebr shembull, pas transferimit t\u00eb 2TiB t\u00eb t\u00eb dh\u00ebnave nga whisper, ato u p\u00ebrshtat\u00ebn n\u00eb 300GiB. Nuk do t\u00eb ndalem tek krahasimi n\u00eb detaje, ka mjaft artikuj mbi k\u00ebt\u00eb tem\u00eb. Gjithashtu, deri koh\u00ebt e fundit, me depozit\u00ebn ton\u00eb ClickHouse nuk ishte gjith\u00e7ka perfekte.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3 id=\"problemy-s-potreblyaemym-mestom\">Problemet me hap\u00ebsir\u00ebn e p\u00ebrdorur<\/h3>\n<p><\/p>\n<p>N\u00eb shikim t\u00eb par\u00eb, gjith\u00e7ka duhet t\u00eb funksionoj\u00eb mir\u00eb. Duke ndjekur <noindex><a rel=\"nofollow\" href=\"https:\/\/clickhouse.yandex\/docs\/ru\/operations\/table_engines\/graphitemergetree\/#primer-konfiguratsii\">dokumentacionin<\/a><\/noindex>, krijojm\u00eb nj\u00eb konfigurim p\u00ebr skem\u00ebn e ruajtjes s\u00eb metrike (m\u00eb pas <code>retention<\/code>), pastaj krijojm\u00eb nj\u00eb tabel\u00eb sipas rekomandimeve t\u00eb backend-it t\u00eb zgjedhur p\u00ebr graphite-web: <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/lomik\/carbon-clickhouse\">carbon-clickhouse<\/a><\/noindex>+<noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/lomik\/graphite-clickhouse\">graphite-clickhouse<\/a><\/noindex> \u0438\u043b\u0438 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ClickHouse\/graphouse\">graphouse<\/a><\/noindex>, var\u00ebsisht nga staku q\u00eb p\u00ebrdoret. Dhe... aktivizohet nj\u00eb bomb\u00eb me vones\u00eb.<\/p>\n<p><\/p>\n<p>P\u00ebr t\u00eb kuptuar se cila, duhet t\u00eb dim\u00eb si funksionojn\u00eb inserimet dhe rruga e m\u00ebtejshme e jet\u00ebs s\u00eb t\u00eb dh\u00ebnave n\u00eb tabelat e motor\u00ebve t\u00eb familjes *<em>MergeTree<\/em> ClickHouse (diagramet jan\u00eb marr\u00eb nga <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/PLMSA_gDdyM\">prezentimi<\/a><\/noindex> Aleksandr Zatelepina):<\/p>\n<p><\/p>\n<ul>\n<li>Injetohet <code>nj\u00eb bllok<\/code> t\u00eb dh\u00ebnash. N\u00eb rastin ton\u00eb, k\u00ebto jan\u00eb metrikat q\u00eb kan\u00eb mb arrive.<br \/>\n<img decoding=\"async\" alt=\"ClickHouse + Graphite: si si reduktojm\u00eb ndjesh\u00ebm hap\u00ebsir\u00ebn e p\u00ebrdorur n\u00eb disqe\" src=\"\/wp-content\/uploads\/2019\/12\/b60d482acca3c8d187d394f58a2d8a16.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li>\u00c7do bllok i till\u00eb para se t\u00eb shkruhet n\u00eb disk renditet sipas \u00e7el\u00ebsit <code>ORDER BY<\/code>, i specifikuar kur krijohet tabela.<\/li>\n<li>Pasi t\u00eb renditet, <code>nj\u00eb cop\u00eb<\/code> (<code>part<\/code>) t\u00eb dh\u00ebnash shkruhet n\u00eb disk.<br \/>\n<img decoding=\"async\" alt=\"ClickHouse + Graphite: si si reduktojm\u00eb ndjesh\u00ebm hap\u00ebsir\u00ebn e p\u00ebrdorur n\u00eb disqe\" src=\"\/wp-content\/uploads\/2019\/12\/a54903b8efa0866d24da303fa7a68134.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li>Serveri monitoron n\u00eb sfond q\u00eb t\u00eb mos ket\u00eb shum\u00eb cop\u00ebza t\u00eb tilla, dhe aktivizon proceset e <code>shkrirjes<\/code> (<code>merge<\/code>, m\u00eb von\u00eb quhen m\u00ebrg\u00eb.)<br \/>\n<img decoding=\"async\" alt=\"ClickHouse + Graphite: si si reduktojm\u00eb ndjesh\u00ebm hap\u00ebsir\u00ebn e p\u00ebrdorur n\u00eb disqe\" src=\"\/wp-content\/uploads\/2019\/12\/151c18c7b73ebc4097493b13a2e26765.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<img decoding=\"async\" alt=\"ClickHouse + Graphite: si si reduktojm\u00eb ndjesh\u00ebm hap\u00ebsir\u00ebn e p\u00ebrdorur n\u00eb disqe\" src=\"\/wp-content\/uploads\/2019\/12\/1921908554981eca0847541f77a15790.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li>Serveri ndalon t\u00eb aktivizoj\u00eb m\u00ebrg\u00eb automatikisht sa her\u00eb q\u00eb t\u00eb dh\u00ebnat ndalojn\u00eb s\u00eb ardhuri aktivisht n\u00eb <code>particion<\/code> (<code>partition<\/code>), por mund t\u00eb aktivizoni procesin manualisht me komand\u00ebn <code>OPTIMIZE<\/code>.<\/li>\n<li>N\u00ebse n\u00eb particion ka mbetur vet\u00ebm nj\u00eb cop\u00eb, at\u00ebher\u00eb nuk do t\u00eb jet\u00eb e mundur t\u00eb aktivizohet nj\u00eb m\u00ebrg\u00eb me komand\u00ebn e zakonshme, nevojitet t\u00eb p\u00ebrdoret <code>OPTIMIZE ... FINAL<\/code><\/li>\n<\/ul>\n<p><\/p>\n<p>Pra, metrikat e para mb\u00ebrrijn\u00eb. Dhe ato shfryt\u00ebzojn\u00eb ndonj\u00eb hap\u00ebsir\u00eb. Eventet e ardhshme mund t\u00eb variojn\u00eb pak n\u00eb var\u00ebsi t\u00eb shum\u00eb faktor\u00ebve:<\/p>\n<p><\/p>\n<ul>\n<li>\u00c7el\u00ebsi i partitizimit mund t\u00eb jet\u00eb shum\u00eb i vog\u00ebl (nj\u00eb dit\u00eb), si dhe shum\u00eb i madh (p\u00ebr disa muaj).<\/li>\n<li>Konfigurimi i retention mund t\u00eb p\u00ebrmbaj\u00eb disa pragje t\u00eb r\u00ebnd\u00ebsishme t\u00eb agregimit t\u00eb t\u00eb dh\u00ebnave brenda nj\u00eb partie aktive (ku shkruhen metrikat), ose ndoshta jo.<\/li>\n<li>N\u00ebse t\u00eb dh\u00ebnat jan\u00eb shum\u00eb t\u00eb shumta, copat m\u00eb t\u00eb vjetra, t\u00eb cilat p\u00ebr shkak t\u00eb mergimeve pasive mund t\u00eb jen\u00eb tashm\u00eb shum\u00eb t\u00eb m\u00ebdha (kur zgjidhet nj\u00eb \u00e7el\u00ebs jo optimal p\u00ebr ndarjen), nuk do t\u00eb bashkohen vet\u00eb me copat e reja t\u00eb vogla.<\/li>\n<\/ul>\n<p><\/p>\n<p>Dhe gjithmon\u00eb p\u00ebrfundon gjith\u00e7ka n\u00eb t\u00eb nj\u00ebjt\u00ebn m\u00ebnyr\u00eb. Hapsira e z\u00ebn\u00eb nga metrikat n\u00eb ClickHouse vet\u00ebm rritet, n\u00ebse:<\/p>\n<p><\/p>\n<ul>\n<li>nuk aplikohet <code>OPTIMIZE ... FINAL<\/code> duke ndihmuar manualisht ose<\/li>\n<li>nuk futen t\u00eb dh\u00ebna n\u00eb t\u00eb gjitha partit\u00eb n\u00eb nj\u00eb baz\u00eb t\u00eb q\u00ebndrueshme, n\u00eb m\u00ebnyr\u00eb q\u00eb von\u00eb ose m\u00eb von\u00eb t\u00eb fillohet nj\u00eb mergim pasiv.<\/li>\n<\/ul>\n<p><\/p>\n<p>M\u00ebnyra e dyt\u00eb duket si m\u00eb e thjeshta p\u00ebr t'u zbatuar dhe, pra, \u00ebsht\u00eb e gabuar dhe u provua e para.<br \/>\nShkrova nj\u00eb skenar mjaft t\u00eb thjesht\u00eb n\u00eb python, i cili d\u00ebrgonte metrika fiktive p\u00ebr \u00e7do dit\u00eb p\u00ebr kat\u00ebr vitet e fundit dhe ekzekutohej \u00e7do or\u00eb nga cron.<br \/>\nDuke qen\u00eb se gjith\u00eb puna e sistemit ClickHouse DBMS \u00ebsht\u00eb e nd\u00ebrtuar mbi faktin se ky sistem do t\u00eb b\u00ebj\u00eb gjith\u00eb pun\u00ebn e pasme p\u00ebrfundimisht, por nuk dihet kur, nuk e kam arritur dot t\u00eb pres momentin kur copat e vjetra t\u00eb m\u00ebdha do t\u00eb kishin filluar t\u00eb bashkoheshin me copat e reja t\u00eb vogla. U b\u00eb e qart\u00eb se duhet t\u00eb k\u00ebrkoja m\u00ebnyra p\u00ebr t\u00eb automatizuar optimizimet p\u00ebrkat\u00ebse.<\/p>\n<p>\n<img decoding=\"async\" alt=\"ClickHouse + Graphite: si si reduktojm\u00eb ndjesh\u00ebm hap\u00ebsir\u00ebn e p\u00ebrdorur n\u00eb disqe\" src=\"\/wp-content\/uploads\/2019\/12\/60b0354cb65dcba6e8402b67261041ff.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3 id=\"informaciya-v-sistemnyh-tablicah-clickhouse\">Informacioni n\u00eb tabelat sistemore t\u00eb ClickHouse<\/h3>\n<p><\/p>\n<p>Le t\u00eb shohim struktur\u00ebn e tabel\u00ebs <noindex><a rel=\"nofollow\" href=\"https:\/\/clickhouse.yandex\/docs\/ru\/operations\/system_tables\/#system_tables-parts\">system.parts<\/a><\/noindex>. Ky \u00ebsht\u00eb informacioni gjith\u00ebp\u00ebrfshir\u00ebs p\u00ebr \u00e7do cop\u00eb t\u00eb t\u00eb gjitha tabelave n\u00eb serverin ClickHouse. P\u00ebrmban, p\u00ebrfshir\u00eb, kolonat e m\u00ebposhtme:<\/p>\n<p><\/p>\n<ul>\n<li>emri i DB (<code>database<\/code>);<\/li>\n<li>emri i tabel\u00ebs (<code>table<\/code>);<\/li>\n<li>emri dhe ID e partis\u00eb (<code>partition<\/code> &amp; <code>partition_id<\/code>);<\/li>\n<li>kur u krijua cop\u00ebza (<code>modification_time<\/code>);<\/li>\n<li>data minimale dhe maksimale n\u00eb cop\u00eb (ndarja b\u00ebhet sipas dit\u00ebve) (<code>min_date<\/code> &amp; <code>max_date<\/code>);<\/li>\n<\/ul>\n<p><\/p>\n<p>Gjithashtu ka nj\u00eb tabel\u00eb <noindex><a rel=\"nofollow\" href=\"https:\/\/clickhouse.yandex\/docs\/ru\/operations\/system_tables\/#system-graphite-retentions\">system.graphite_retentions<\/a><\/noindex>, me fushat e m\u00ebposhtme t\u00eb interesit:<\/p>\n<p><\/p>\n<ul>\n<li>emri i DB (<code>Tables.database<\/code>);<\/li>\n<li>emri i tabel\u00ebs (<code>Tables.table<\/code>);<\/li>\n<li>mosha e metrik\u00ebs, kur duhet t\u00eb aplikohet agregimi i ardhsh\u00ebm (<code>age<\/code>);<\/li>\n<\/ul>\n<p><\/p>\n<p>Pra:<\/p>\n<p><\/p>\n<ol>\n<li>Kemi nj\u00eb tabel\u00eb copash dhe nj\u00eb tabel\u00eb rregullash agregimi.<\/li>\n<li>Bashkojm\u00eb nd\u00ebrprerjen e tyre dhe marrim t\u00eb gjitha tabelat *GraphiteMergeTree.<\/li>\n<li>K\u00ebrkojm\u00eb t\u00eb gjitha partit\u00eb, ku:\n<ul>\n<li>m\u00eb shum\u00eb se nj\u00eb cop\u00eb<\/li>\n<li>ose ka ardhur momenti p\u00ebr t\u00eb aplikuar rregullin e ardhsh\u00ebm t\u00eb agregimit, dhe <code>modification_time<\/code> \u00ebsht\u00eb m\u00eb e vjet\u00ebr se ky moment.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><\/p>\n<h3 id=\"realizaciya\">Implementimi<\/h3>\n<p>\n<b class=\"spoiler_title\">Ky k\u00ebrkes\u00eb<\/b><\/p>\n<pre><code class=\"sql\">SELEKTO\n    concat(p.database, '.', p.table) AS table,\n    p.partition_id AS partition_id,\n    p.partition AS partition,\n    -- Rregulli m\u00eb \"i vjet\u00ebr\", q\u00eb mund t\u00eb aplikohet p\u00ebr\n    -- particionin, por jo n\u00eb t\u00eb ardhmen, shiko (*)\n    max(g.age) AS age,\n    -- Numri i pjes\u00ebve n\u00eb particion\n    countDistinct(p.name) AS parts,\n    -- Metri m\u00eb i vjet\u00ebr n\u00eb particion pranohet 00:00:00 e dit\u00ebs s\u00eb ardhshme\n    toDateTime(max(p.max_date + 1)) AS max_time,\n    -- Kur particiones duhet t\u00eb optimizohet\n    max_time + age AS rollup_time,\n    -- Kur pjesa m\u00eb e vjet\u00ebr n\u00eb particion \u00ebsht\u00eb p\u00ebrdit\u00ebsuar\n    min(p.modification_time) AS modified_at\nFROM system.parts AS p\nINNER JOIN\n(\n    -- T\u00eb gjitha rregullat p\u00ebr t\u00eb gjitha tabelat *GraphiteMergeTree\n    SELECT\n        Tables.database AS database,\n        Tables.table AS table,\n        age\n    FROM system.graphite_retentions\n    ARRAY JOIN Tables\n    GROUP BY\n        database,\n        table,\n        age\n) AS g ON\n    (p.table = g.table)\n    AND (p.database = g.database)\nWHERE\n    -- Vet\u00ebm pjes\u00ebt aktive\n    p.active\n    -- (*) Dhe vet\u00ebm rreshtat, ku rregullat e agregatimit tashm\u00eb duhet t\u00eb aplikohen\n    AND ((toDateTime(p.max_date + 1) + g.age) &lt; now())\nGROUP BY\n    table,\n    partition\nHAVING\n    -- Vet\u00ebm particionet q\u00eb jan\u00eb m\u00eb t\u00eb rinj se momenti i optimizimit\n    (modified_at  1)\nORDER BY\n    table ASC,\n    partition ASC,\n    age ASC<\/code><\/pre>\n<p><\/p>\n<p>kthen \u00e7do nga partit\u00eb e tabelave *GraphiteMergeTree, t\u00eb cilat duhet t\u00eb bashkohen p\u00ebr t\u00eb liruar hap\u00ebsir\u00ebn n\u00eb disk. E vetmja gj\u00eb q\u00eb mbetet \u00ebsht\u00eb t\u00eb kalosh n\u00ebp\u00ebr to t\u00eb gjitha me nj\u00eb k\u00ebrkes\u00eb <code>OPTIMIZE ... FINAL<\/code>. N\u00eb implementimin p\u00ebrfundimtar \u00ebsht\u00eb marr\u00eb parasysh gjithashtu fakti se nuk ka nevoj\u00eb t\u00eb prek\u00ebsh partit\u00eb me shkrim aktiv.<\/p>\n<p><\/p>\n<p>Kjo \u00ebsht\u00eb ajo q\u00eb b\u00ebn projekti <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/innogames\/graphite-ch-optimizer\">graphite-ch-optimizer<\/a><\/noindex>. Koleget e mia t\u00eb vjetra nga Yandex.Market e provuan at\u00eb n\u00eb prodhim, rezultatin e pun\u00ebs mund ta shihni m\u00eb posht\u00eb. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse + Graphite: si si reduktojm\u00eb ndjesh\u00ebm hap\u00ebsir\u00ebn e p\u00ebrdorur n\u00eb disqe\" src=\"\/wp-content\/uploads\/2019\/12\/858dcbf538135d8d57964a71b2b6ca23.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>N\u00ebse e nisni programin n\u00eb nj\u00eb server me ClickHouse, ai do t\u00eb filloj\u00eb t\u00eb punoj\u00eb thjesht n\u00eb modin demon. Nj\u00ebher\u00eb n\u00eb or\u00eb do t\u00eb ekzekutohet nj\u00eb k\u00ebrkes\u00eb q\u00eb kontrollon n\u00ebse ka partit\u00eb t\u00eb reja m\u00eb t\u00eb vjetra se tre dit\u00eb q\u00eb mund t\u00eb optimizohen.<\/p>\n<p><\/p>\n<p>N\u00eb planet e af\u00ebrta \u00ebsht\u00eb t\u00eb ofrohet, t\u00eb pakt\u00ebn, paketat deb, dhe, sa m\u00eb shum\u00eb t\u00eb jet\u00eb e mundur, gjithashtu rpm.<\/p>\n<p><\/p>\n<h3 id=\"vmesto-zaklyucheniya\">N\u00eb p\u00ebrfundim<\/h3>\n<p><\/p>\n<p>N\u00eb 9 muajt e kaluar kam kaluar shum\u00eb koh\u00eb brenda kompanis\u00eb sime <noindex><a rel=\"nofollow\" href=\"https:\/\/www.innogames.com\/ru\/\">InnoGames<\/a><\/noindex> duke u marr\u00eb me ClickHouse dhe graphite-web. Ky ishte nj\u00eb p\u00ebrvoj\u00eb e mir\u00eb, rezultati i s\u00eb cil\u00ebs e b\u00ebri kalimin e shpejt\u00eb nga whisper n\u00eb ClickHouse si nj\u00eb depo p\u00ebr metrikat e mundsh\u00ebm. Shpresoj q\u00eb ky artikull t\u00eb jet\u00eb nj\u00eb lloj fillimi i nj\u00eb cikli mbi p\u00ebrmir\u00ebsimet q\u00eb kemi b\u00ebr\u00eb n\u00eb pjes\u00eb t\u00eb ndryshme t\u00eb k\u00ebtij stivi, dhe se \u00e7far\u00eb do t\u00eb b\u00ebhet n\u00eb t\u00eb ardhmen.<\/p>\n<p><\/p>\n<p>P\u00ebr zhvillimin e k\u00ebrkes\u00ebs u shpenzuan disa litra birr\u00eb dhe dit\u00eb administratori s\u00eb bashku me <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/v0devil\/\" class=\"user_link\">v0devil<\/a><\/noindex>, p\u00ebr t\u00eb cilin do t\u00eb doja t\u00eb shprehja mir\u00ebnjohjen time. Po ashtu p\u00ebr rishikimin e k\u00ebtij artikulli.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/innogames\/graphite-ch-optimizer\">Faqja e projektit n\u00eb github<\/a><\/noindex><\/p>\n<p>Burimi: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/479564\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e, habr. \u0415\u0441\u043b\u0438 \u043a\u0442\u043e-\u0442\u043e \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0438\u0440\u0443\u0435\u0442 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 graphite-web \u0438 \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0441\u044f \u0441 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u043e\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 whisper (IO, \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u043c\u043e\u0435 \u0434\u0438\u0441\u043a\u043e\u0432\u043e\u0435 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e), \u0442\u043e \u0448\u0430\u043d\u0441 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0431\u044b\u043b \u0431\u0440\u043e\u0448\u0435\u043d \u0432\u0437\u0433\u043b\u044f\u0434 \u043d\u0430 ClickHouse \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0437\u0430\u043c\u0435\u043d\u044b, \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u0442\u0440\u0435\u043c\u0438\u0442\u044c\u0441\u044f \u043a \u0435\u0434\u0438\u043d\u0438\u0446\u0435. \u0414\u0430\u043d\u043d\u043e\u0435 \u0443\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043d\u0438\u0435 \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442 \u0442\u043e, \u0447\u0442\u043e \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u044e\u0449\u0435\u0433\u043e \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0434\u0435\u043c\u043e\u043d\u0430 \u0443\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u044f\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 carbonwriter \u0438\u043b\u0438 go-carbon. ClickHouse \u0445\u043e\u0440\u043e\u0448\u043e \u0440\u0435\u0448\u0430\u0435\u0442 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-53944","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\".\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/clickhouse-graphite-kak-znachitelno-umenshit-potreblyaemoe-mesto-na-diskah\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47ClickHouse + Graphite: \u043a\u0430\u043a \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u043c\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u043d\u0430 \u0434\u0438\u0441\u043a\u0430\u0445 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\".\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/clickhouse-graphite-kak-znachitelno-umenshit-potreblyaemoe-mesto-na-diskah\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-12-12T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:01:53+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47ClickHouse + Graphite: si t\u00eb reduktoni ndjesh\u00ebm hap\u00ebsir\u00ebn e p\u00ebrdorur n\u00eb disqe | ProHoster","description":".","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/clickhouse-graphite-kak-znachitelno-umenshit-potreblyaemoe-mesto-na-diskah","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47ClickHouse + Graphite: \u043a\u0430\u043a \u0437\u043d\u0430\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u043c\u043e\u0435 \u043c\u0435\u0441\u0442\u043e \u043d\u0430 \u0434\u0438\u0441\u043a\u0430\u0445 | ProHoster","og:description":".","og:url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/clickhouse-graphite-kak-znachitelno-umenshit-potreblyaemoe-mesto-na-diskah","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-12-12T21:00:00+00:00","article:modified_time":"2020-02-18T11:01:53+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"53944","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 09:26:21","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 20:15:54","updated":"2026-01-24 09:26:21","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/53944","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=53944"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/53944\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=53944"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=53944"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=53944"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}