{"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\/sv\/blog\/administrirovanie\/clickhouse-graphite-kak-znachitelno-umenshit-potreblyaemoe-mesto-na-diskah","title":{"rendered":"ClickHouse + Graphite: hur man avsev\u00e4rt kan minska det lagrade utrymmet p\u00e5 diskarna","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"ClickHouse + Graphite: hur man avsev\u00e4rt kan minska det lagrade utrymmet p\u00e5 diskarna\" src=\"\/wp-content\/uploads\/2019\/12\/5a2d19e6fea2a28d8d4aa9220653aefc.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Hej, habr.<\/p>\n<p><\/p>\n<p>Om n\u00e5gon utnyttjar systemet <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/graphite-project\/graphite-web\">graphite-web<\/a><\/noindex> och st\u00f6ter p\u00e5 prestandaproblem med lagringen <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/graphite-project\/whisper\">whisper<\/a><\/noindex> (IO, lagrat diskutrymme), s\u00e5 b\u00f6r chansen att man \u00f6verv\u00e4ger ClickHouse som en ers\u00e4ttning str\u00e4va mot en. Detta p\u00e5st\u00e5ende inneb\u00e4r att en tredjepartsimplementation redan anv\u00e4nds som mottagande metrikdaemon, till exempel <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/grobian\/carbonwriter\">carbonwriter<\/a><\/noindex> eller <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/go-graphite\/go-carbon\">go-carbon<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>ClickHouse l\u00f6ser de beskrivna problemen v\u00e4l. Till exempel, efter att ha flyttat 2TiB data fr\u00e5n whisper, fick de plats i 300GiB. Jag kommer inte att g\u00e5 in mer p\u00e5 j\u00e4mf\u00f6relsen, det finns gott om artiklar om detta. Dessutom har v\u00e5rt ClickHouse-lager inte varit perfekt fram till nyligen.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3 id=\"problemy-s-potreblyaemym-mestom\">Problem med upptaget utrymme<\/h3>\n<p><\/p>\n<p>Vid f\u00f6rsta anblick borde allt fungera bra. F\u00f6ljande <noindex><a rel=\"nofollow\" href=\"https:\/\/clickhouse.yandex\/docs\/ru\/operations\/table_engines\/graphitemergetree\/#primer-konfiguratsii\">dokumentationen<\/a><\/noindex>, skapar vi en konfiguration f\u00f6r lagringsschemat (nedan <code>retention<\/code>), sedan skapar vi en tabell enligt rekommendationen fr\u00e5n den valda backend f\u00f6r 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> eller <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ClickHouse\/graphouse\">graphouse<\/a><\/noindex>, beroende p\u00e5 vilken stack som anv\u00e4nds. Och... en tidsinst\u00e4lld bomb s\u00e4tts ig\u00e5ng.<\/p>\n<p><\/p>\n<p>F\u00f6r att f\u00f6rst\u00e5 vilken, m\u00e5ste man veta hur ins\u00e4ttningarna fungerar och den fortsatta livscykeln f\u00f6r data i tabellerna fr\u00e5n *<em>MergeTree<\/em> ClickHouse (diagrammen \u00e4r h\u00e4mtade fr\u00e5n <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/PLMSA_gDdyM\">presentationen<\/a><\/noindex> Aleksej Zatelepin):<\/p>\n<p><\/p>\n<ul>\n<li>En <code>block<\/code> data. I v\u00e5rt fall \u00e4r det metrikar som har ankommit.<br \/>\n<img decoding=\"async\" alt=\"ClickHouse + Graphite: hur man avsev\u00e4rt kan minska det lagrade utrymmet p\u00e5 diskarna\" src=\"\/wp-content\/uploads\/2019\/12\/b60d482acca3c8d187d394f58a2d8a16.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li>Varje s\u00e5dan block sorteras enligt nyckeln <code>ORDER BY<\/code>, specificerad vid skapandet av tabellen.<\/li>\n<li>Efter sortering, <code>en del<\/code> (<code>part<\/code>) data skrivs till disk.<br \/>\n<img decoding=\"async\" alt=\"ClickHouse + Graphite: hur man avsev\u00e4rt kan minska det lagrade utrymmet p\u00e5 diskarna\" src=\"\/wp-content\/uploads\/2019\/12\/a54903b8efa0866d24da303fa7a68134.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li>Servern \u00f6vervakar i bakgrunden s\u00e5 att s\u00e5dana delar inte blir f\u00f6r m\u00e5nga, och k\u00f6r bakgrunds- <code>sammanfogningarna<\/code> (<code>merge<\/code>, d\u00e4refter merges).<br \/>\n<img decoding=\"async\" alt=\"ClickHouse + Graphite: hur man avsev\u00e4rt kan minska det lagrade utrymmet p\u00e5 diskarna\" src=\"\/wp-content\/uploads\/2019\/12\/151c18c7b73ebc4097493b13a2e26765.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<img decoding=\"async\" alt=\"ClickHouse + Graphite: hur man avsev\u00e4rt kan minska det lagrade utrymmet p\u00e5 diskarna\" src=\"\/wp-content\/uploads\/2019\/12\/1921908554981eca0847541f77a15790.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li>Servern slutar automatiskt k\u00f6ra merges s\u00e5 snart inga data l\u00e4ngre aktivt kommer in i <code>partition<\/code> (<code>partitionen, men kan manuellt startas med kommandot<\/code>OPTIMIZE <code>OPTIMIZE ... FINAL<\/code>.<\/li>\n<li>S\u00e5 kommer de f\u00f6rsta metrikarna in. Och de tar upp ett visst utrymme. De efterf\u00f6ljande h\u00e4ndelserna kan variera n\u00e5got beroende p\u00e5 m\u00e5nga faktorer: <code>Partitioneringsnyckeln kan vara antingen mycket liten (dag) eller mycket stor (flera m\u00e5nader).<\/code><\/li>\n<\/ul>\n<p><\/p>\n<p>Retention-konfigurationen kan innefatta flera betydande tr\u00f6sklar f\u00f6r aggregering av data inom den aktiva partitionen (dit metrikarna skrivs), eller s\u00e5 kan den kanske inte.<\/p>\n<p><\/p>\n<ul>\n<li>Partitionnyckeln kan vara b\u00e5de mycket liten (en dag) och mycket stor (flera m\u00e5nader).<\/li>\n<li>Retentionkonfigurationen kan rymma flera betydande datainsamlingsgr\u00e4nser inom den aktiva partitionen (dit m\u00e4tv\u00e4rdena skrivs), eller s\u00e5 kan den inte g\u00f6ra det.<\/li>\n<li>Om det finns mycket data, kommer de tidigaste bitarna, som p\u00e5 grund av bakgrundssammanslagningar redan kan vara stora (vid val av en suboptimal partitioneringsnyckel), inte att sl\u00e5s samman med de nya sm\u00e5 bitarna.<\/li>\n<\/ul>\n<p><\/p>\n<p>Och allt avslutas alltid p\u00e5 samma s\u00e4tt. Utrymmet som upptas av metrik i ClickHouse v\u00e4xer bara om:<\/p>\n<p><\/p>\n<ul>\n<li>man inte till\u00e4mpar <code>Partitioneringsnyckeln kan vara antingen mycket liten (dag) eller mycket stor (flera m\u00e5nader).<\/code> manuellt eller<\/li>\n<li>inte s\u00e4tter in data i alla partitioner kontinuerligt, f\u00f6r att f\u00f6rr eller senare kunna starta en bakgrundssammanslagning.<\/li>\n<\/ul>\n<p><\/p>\n<p>Den andra metoden verkar vara den enklaste att implementera och d\u00e4rf\u00f6r \u00e4r den felaktig och pr\u00f6vades f\u00f6rst.<br \/>\nJag skrev ett ganska enkelt skript i Python som skickade falska metrik f\u00f6r varje dag under de senaste 4 \u00e5ren och k\u00f6rdes varje timme av cron.<br \/>\nEftersom hela arbetet i ClickHouse DBMS \u00e4r baserat p\u00e5 att detta system f\u00f6rr eller senare kommer att g\u00f6ra allt det bakgrundsarbetet, men maskinens tidpunkt \u00e4r ok\u00e4nd, lyckades jag inte v\u00e4nta p\u00e5 att de gamla stora bitarna skulle ge sig till att b\u00f6rja sammansl\u00e5s med de nya sm\u00e5. Det blev klart att jag beh\u00f6vde hitta ett s\u00e4tt att automatisera tvingande optimeringar.<\/p>\n<p>\n<img decoding=\"async\" alt=\"ClickHouse + Graphite: hur man avsev\u00e4rt kan minska det lagrade utrymmet p\u00e5 diskarna\" src=\"\/wp-content\/uploads\/2019\/12\/60b0354cb65dcba6e8402b67261041ff.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3 id=\"informaciya-v-sistemnyh-tablicah-clickhouse\">Informationen i systemtabellerna f\u00f6r ClickHouse<\/h3>\n<p><\/p>\n<p>L\u00e5t oss titta p\u00e5 strukturen av tabellen <noindex><a rel=\"nofollow\" href=\"https:\/\/clickhouse.yandex\/docs\/ru\/operations\/system_tables\/#system_tables-parts\">system.parts<\/a><\/noindex>. Det ger utt\u00f6mmande information om varje bit av alla tabeller p\u00e5 ClickHouse-servern. Den inneh\u00e5ller bland annat f\u00f6ljande kolumner:<\/p>\n<p><\/p>\n<ul>\n<li>databasnamn (<code>database<\/code>);<\/li>\n<li>tabellnamn (<code>tabell<\/code>);<\/li>\n<li>partitionens namn och ID (<code>partitionen, men kan manuellt startas med kommandot<\/code> &amp; <code>partition_id<\/code>);<\/li>\n<li>n\u00e4r biten skapades (<code>modification_time<\/code>);<\/li>\n<li>minimalt och maximalt datum i biten (partitioneringen sker dag f\u00f6r dag) (<code>min_date<\/code> &amp; <code>max_date<\/code>);<\/li>\n<\/ul>\n<p><\/p>\n<p>Det finns ocks\u00e5 en tabell <noindex><a rel=\"nofollow\" href=\"https:\/\/clickhouse.yandex\/docs\/ru\/operations\/system_tables\/#system-graphite-retentions\">system.graphite_retentions<\/a><\/noindex>, med f\u00f6ljande intressanta f\u00e4lt:<\/p>\n<p><\/p>\n<ul>\n<li>databasnamn (<code>Tables.database<\/code>);<\/li>\n<li>tabellnamn (<code>Tables.table<\/code>);<\/li>\n<li>metrikens \u00e5lder, n\u00e4r n\u00e4sta aggregering ska till\u00e4mpas (<code>age<\/code>);<\/li>\n<\/ul>\n<p><\/p>\n<p>S\u00e5:<\/p>\n<p><\/p>\n<ol>\n<li>Vi har en tabell med bitar och en tabell med aggregeringsregler.<\/li>\n<li>Vi f\u00f6renar deras snitt och f\u00e5r alla tabeller *GraphiteMergeTree.<\/li>\n<li>Vi letar efter alla partitioner d\u00e4r:\n<ul>\n<li>mer \u00e4n en bit<\/li>\n<li>eller det \u00e4r dags att till\u00e4mpa n\u00e4sta aggregeringsregel, och <code>modification_time<\/code> \u00e4ldre \u00e4n den punkten.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><\/p>\n<h3 id=\"realizaciya\">Implementering<\/h3>\n<p>\n<b class=\"spoiler_title\">Denna fr\u00e5ga<\/b><\/p>\n<pre><code class=\"sql\">V\u00c4LJ\n    concat(p.database, '.', p.table) AS table,\n    p.partition_id AS partition_id,\n    p.partition AS partition,\n    -- Den \"\u00e4ldre\" regeln som kan till\u00e4mpas p\u00e5\n    -- partitionen, men inte i framtiden, se (*)\n    max(g.age) AS age,\n    -- Antal delar i partitionen\n    countDistinct(p.name) AS parts,\n    -- Den \u00e4ldsta m\u00e4tningen i partitionen antas vara 00:00:00 n\u00e4sta dag\n    toDateTime(max(p.max_date + 1)) AS max_time,\n    -- N\u00e4r partitionen b\u00f6r optimeras\n    max_time + age AS rollup_time,\n    -- N\u00e4r den \u00e4ldsta delen i partitionen senast uppdaterades\n    min(p.modification_time) AS modified_at\nFR\u00c5N system.parts AS p\nINNER JOIN\n(\n    -- Alla regler f\u00f6r alla tabeller *GraphiteMergeTree\n    V\u00c4LJ\n        Tables.database AS database,\n        Tables.table AS table,\n        age\n    FR\u00c5N system.graphite_retentions\n    ARRAY JOIN Tables\n    GRUPPERA EFTER\n        database,\n        table,\n        age\n) AS g P\u00c5\n    (p.table = g.table)\n    OCH (p.database = g.database)\nD\u00c4R\n    -- Endast aktiva delar\n    p.active\n    -- (*) Och endast rader d\u00e4r aggregeringsregler redan b\u00f6r till\u00e4mpas\n    OCH ((toDateTime(p.max_date + 1) + g.age) &lt; now())\nGRUPPERA EFTER\n    table,\n    partition\nHAVING\n    -- Endast partitioner som \u00e4r yngre \u00e4n optimeringstidpunkten\n    (modified_at  1)\nORDNA EFTER\n    table ASC,\n    partition ASC,\n    age ASC<\/code><\/pre>\n<p><\/p>\n<p>returnerar var och en av partitionerna i tabellerna *GraphiteMergeTree, vars sammanslagning b\u00f6r leda till frig\u00f6rande av diskutrymme. Nu \u00e5terst\u00e5r bara att g\u00f6ra det lilla: g\u00e5 igenom dem alla med en fr\u00e5ga <code>Partitioneringsnyckeln kan vara antingen mycket liten (dag) eller mycket stor (flera m\u00e5nader).<\/code>. I den slutliga implementeringen har man \u00e4ven beaktat att partitioner med aktiv skrivning inte beh\u00f6ver ber\u00f6ras.<\/p>\n<p><\/p>\n<p>Det \u00e4r precis det h\u00e4r som projektet g\u00f6r <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/innogames\/graphite-ch-optimizer\">graphite-ch-optimizer<\/a><\/noindex>. Tidigare kollegor fr\u00e5n Yandex.Market har testat den i produktion, resultatet kan ses nedan. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse + Graphite: hur man avsev\u00e4rt kan minska det lagrade utrymmet p\u00e5 diskarna\" src=\"\/wp-content\/uploads\/2019\/12\/858dcbf538135d8d57964a71b2b6ca23.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Om programmet k\u00f6rs p\u00e5 en server med ClickHouse kommer det enkelt att b\u00f6rja fungera i daemonl\u00e4ge. En g\u00e5ng i timmen kommer en fr\u00e5ga att k\u00f6ras f\u00f6r att kontrollera om nya partitioner \u00e4ldre \u00e4n tre dagar har dykt upp som kan optimeras.<\/p>\n<p><\/p>\n<p>I de n\u00e4rmaste planerna \u2014 att tillhandah\u00e5lla \u00e5tminstone deb-paket, och om m\u00f6jligt \u2014 \u00e4ven rpm.<\/p>\n<p><\/p>\n<h3 id=\"vmesto-zaklyucheniya\">Avslutande<\/h3>\n<p><\/p>\n<p>Under de senaste 9 m\u00e5naderna har jag inom mitt f\u00f6retag <noindex><a rel=\"nofollow\" href=\"https:\/\/www.innogames.com\/ru\/\">InnoGames<\/a><\/noindex> tillbringat mycket tid med att arbeta i sk\u00e4rningspunkten mellan ClickHouse och graphite-web. Det har varit en bra erfarenhet, resultatet av detta m\u00f6jliggjorde en snabb \u00f6verg\u00e5ng fr\u00e5n whisper till ClickHouse som lagring av m\u00e4tv\u00e4rden. Jag hoppas att denna artikel \u2014 \u00e4r n\u00e5got slags b\u00f6rjan p\u00e5 en serie om vilka f\u00f6rb\u00e4ttringar vi har gjort i olika delar av denna stack och vad som kommer att g\u00f6ras i framtiden.<\/p>\n<p><\/p>\n<p>Utvecklingen av f\u00f6rfr\u00e5gan tog flera liter \u00f6l och ett antal admin-dagar tillsammans med <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/v0devil\/\" class=\"user_link\">v0devil<\/a><\/noindex>, f\u00f6r vilket jag vill uttrycka min tacksamhet. Och \u00e4ven f\u00f6r att han recenserade denna artikel.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/innogames\/graphite-ch-optimizer\">Projektets sida p\u00e5 github<\/a><\/noindex><\/p>\n<p>K\u00e4lla: <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.4 - 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\/sv\/blog\/administrirovanie\/clickhouse-graphite-kak-znachitelno-umenshit-potreblyaemoe-mesto-na-diskah\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\/sv\/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: hur man kraftigt minskar det anv\u00e4nda utrymmet p\u00e5 diskarna | ProHoster","description":".","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/administrirovanie\/clickhouse-graphite-kak-znachitelno-umenshit-potreblyaemoe-mesto-na-diskah","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/53944","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=53944"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/53944\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=53944"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=53944"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=53944"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}