{"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\/de\/blog\/administrirovanie\/clickhouse-graphite-kak-znachitelno-umenshit-potreblyaemoe-mesto-na-diskah","title":{"rendered":"ClickHouse + Graphite: wie man den ben\u00f6tigten Speicherplatz auf Festplatten erheblich reduziert.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"ClickHouse + Graphite: wie man den ben\u00f6tigten Speicherplatz auf Festplatten erheblich reduziert.\" src=\"\/wp-content\/uploads\/2019\/12\/5a2d19e6fea2a28d8d4aa9220653aefc.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Ich begr\u00fc\u00dfe Sie, habr.<\/p>\n<p><\/p>\n<p>Wenn jemand das System nutzt <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/graphite-project\/graphite-web\">graphite-web<\/a><\/noindex> und auf ein Speicherleistungsproblem gesto\u00dfen ist <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/graphite-project\/whisper\">whisper<\/a><\/noindex> (IO, verbrauchter Speicherplatz), dann sollte die Wahrscheinlichkeit, dass ein Blick auf ClickHouse als Alternative geworfen wurde, gegen eins streben. Diese Aussage impliziert, dass bereits eine Drittanbieterimplementierung als Metrik-Daemon verwendet wird, zum Beispiel <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/grobian\/carbonwriter\">carbonwriter<\/a><\/noindex> oder <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/go-graphite\/go-carbon\">go-carbon<\/a><\/noindex>.<\/p>\n<p><\/p>\n<p>ClickHouse l\u00f6st die beschriebenen Probleme gut. Zum Beispiel passten nach dem \u00dcbertragen von 2TiB Daten aus whisper 300GiB hinein. Ich werde nicht n\u00e4her auf den Vergleich eingehen, es gibt gen\u00fcgend Artikel zu diesem Thema. Au\u00dferdem war unser ClickHouse-Speicher bis vor kurzem nicht perfekt.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3 id=\"problemy-s-potreblyaemym-mestom\">Probleme mit dem verbrauchten Speicherplatz<\/h3>\n<p><\/p>\n<p>Auf den ersten Blick sollte alles gut funktionieren. Wir folgen <noindex><a rel=\"nofollow\" href=\"https:\/\/clickhouse.yandex\/docs\/ru\/operations\/table_engines\/graphitemergetree\/#primer-konfiguratsii\">Dokumentation<\/a><\/noindex>, erstellen eine Konfiguration f\u00fcr das Metrikspeicher-Schema (siehe <code>retention<\/code>), und erstellen dann eine Tabelle gem\u00e4\u00df den Empfehlungen des gew\u00e4hlten Backends f\u00fcr 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> oder <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/ClickHouse\/graphouse\">graphouse<\/a><\/noindex>, je nachdem, welcher Stack verwendet wird. Und\u2026 da wird eine Zeitbombe aktiviert.<\/p>\n<p><\/p>\n<p>Um zu verstehen, welche, muss man wissen, wie Einf\u00fcgungen und der weitere Lebenszyklus von Daten in Tabellen der *<em>MergeTree<\/em> ClickHouse (Diagramme stammen aus der <noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/PLMSA_gDdyM\">Pr\u00e4sentation<\/a><\/noindex> von Alexey Zatelepin):<\/p>\n<p><\/p>\n<ul>\n<li>Ein Block <code>von Daten wird eingef\u00fcgt. In unserem Fall sind das die eingehenden Metriken.<\/code> Jeder solcher Block wird vor der Speicherung auf der Festplatte nach dem Schl\u00fcssel<br \/>\n<img decoding=\"async\" alt=\"ClickHouse + Graphite: wie man den ben\u00f6tigten Speicherplatz auf Festplatten erheblich reduziert.\" src=\"\/wp-content\/uploads\/2019\/12\/b60d482acca3c8d187d394f58a2d8a16.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li>ORDER BY <code>, der beim Erstellen der Tabelle angegeben wurde, sortiert.<\/code>Nach der Sortierung wird<\/li>\n<li>ein St\u00fcck <code>(part) von Daten auf die Festplatte geschrieben.<\/code> (<code>part<\/code>Der Server \u00fcberwacht im Hintergrund, dass es nicht zu viele solcher St\u00fccke gibt, und startet im Hintergrund<br \/>\n<img decoding=\"async\" alt=\"ClickHouse + Graphite: wie man den ben\u00f6tigten Speicherplatz auf Festplatten erheblich reduziert.\" src=\"\/wp-content\/uploads\/2019\/12\/a54903b8efa0866d24da303fa7a68134.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li>Zusammenf\u00fchrungen <code>merge<\/code> (<code>, also Merge-Vorg\u00e4nge.<\/code>Der Server h\u00f6rt auf, selbst Merges zu starten, wenn keine Daten mehr aktiv in die<br \/>\n<img decoding=\"async\" alt=\"ClickHouse + Graphite: wie man den ben\u00f6tigten Speicherplatz auf Festplatten erheblich reduziert.\" src=\"\/wp-content\/uploads\/2019\/12\/151c18c7b73ebc4097493b13a2e26765.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<img decoding=\"async\" alt=\"ClickHouse + Graphite: wie man den ben\u00f6tigten Speicherplatz auf Festplatten erheblich reduziert.\" src=\"\/wp-content\/uploads\/2019\/12\/1921908554981eca0847541f77a15790.png\" style=\"display:block;margin: 0 auto;\" \/><\/li>\n<li>Partition <code>partition<\/code> (<code>) flie\u00dfen, aber man kann den Vorgang manuell mit dem Befehl<\/code>OPTIMIZE <code>Wenn in der Partition nur noch ein St\u00fcck \u00fcbrig ist, kann man nicht mit einem normalen Befehl zusammenf\u00fchren, man muss<\/code>.<\/li>\n<li>OPTIMIZE ... FINAL <code>So, die ersten Metriken kommen an. Und sie nehmen einen gewissen Platz in Anspruch. Nachfolgende Ereignisse k\u00f6nnen je nach vielen Faktoren variieren:<\/code><\/li>\n<\/ul>\n<p><\/p>\n<p>Der Partitionierungsschl\u00fcssel kann sowohl sehr klein (Tag) als auch sehr gro\u00df (mehrere Monate) sein.<\/p>\n<p><\/p>\n<ul>\n<li>Der Partitionierungsschl\u00fcssel kann sowohl sehr klein (ein Tag) als auch sehr gro\u00df (mehrere Monate) sein.<\/li>\n<li>Die Retention-Konfiguration kann mehrere bedeutende Aggregationsschwellen innerhalb der aktiven Partition (wohin Metriken geschrieben werden) enthalten oder auch nicht.<\/li>\n<li>Wenn es sehr viele Daten gibt, werden die fr\u00fchesten Teile, die durch Hintergrund-Merges bereits riesig sein k\u00f6nnen (bei der Auswahl eines suboptimalen Partitionierungsschl\u00fcssels), nicht mit den frischen kleinen Teilen zusammengef\u00fchrt.<\/li>\n<\/ul>\n<p><\/p>\n<p>Und letztendlich endet alles gleich. Der Platz, den Metriken in ClickHouse einnehmen, w\u00e4chst nur, wenn:<\/p>\n<p><\/p>\n<ul>\n<li>nicht angewendet wird <code>So, die ersten Metriken kommen an. Und sie nehmen einen gewissen Platz in Anspruch. Nachfolgende Ereignisse k\u00f6nnen je nach vielen Faktoren variieren:<\/code> manuell oder<\/li>\n<li>keine Daten st\u00e4ndig in alle Partitionen eingef\u00fcgt werden, um irgendwann einen Hintergrund-Merge zu starten.<\/li>\n<\/ul>\n<p><\/p>\n<p>Die zweite Methode scheint am einfachsten umsetzbar zu sein und ist daher wahrscheinlich falsch und wurde zuerst ausprobiert.<br \/>\nIch habe ein ausreichend einfaches Skript in Python geschrieben, das gef\u00e4lschte Metriken f\u00fcr jeden Tag der letzten 4 Jahre gesendet hat und st\u00fcndlich \u00fcber Cron ausgef\u00fchrt wurde.<br \/>\nDa die gesamte Arbeit von ClickHouse DBMS darauf basiert, dass dieses System irgendwann die gesamte Hintergrundarbeit erledigen wird, aber unklar ist, wann, konnte ich nicht auf den Moment warten, an dem die alten riesigen Teile mit den neuen kleinen zu mergen begannen. Es wurde klar, dass ich einen Weg finden musste, um erzwungene Optimierungen zu automatisieren.<\/p>\n<p>\n<img decoding=\"async\" alt=\"ClickHouse + Graphite: wie man den ben\u00f6tigten Speicherplatz auf Festplatten erheblich reduziert.\" src=\"\/wp-content\/uploads\/2019\/12\/60b0354cb65dcba6e8402b67261041ff.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h3 id=\"informaciya-v-sistemnyh-tablicah-clickhouse\">Informationen in den Systemtabellen von ClickHouse<\/h3>\n<p><\/p>\n<p>Lassen Sie uns einen Blick auf die Struktur der Tabelle <noindex><a rel=\"nofollow\" href=\"https:\/\/clickhouse.yandex\/docs\/ru\/operations\/system_tables\/#system_tables-parts\">system.parts<\/a><\/noindex>. Dies ist umfassende Informationen \u00fcber jedes Teil aller Tabellen auf dem ClickHouse-Server. Sie enth\u00e4lt unter anderem folgende Spalten:<\/p>\n<p><\/p>\n<ul>\n<li>Datenbankname (<code>database<\/code>);<\/li>\n<li>Tabellenname (<code>Tabelle<\/code>);<\/li>\n<li>Name und ID der Partition (<code>) flie\u00dfen, aber man kann den Vorgang manuell mit dem Befehl<\/code> &amp; <code>partition_id<\/code>);<\/li>\n<li>Wann das St\u00fcck erstellt wurde (<code>modification_time<\/code>);<\/li>\n<li>Minimales und maximales Datum im St\u00fcck (Partitionierung erfolgt nach Tagen) (<code>min_date<\/code> &amp; <code>max_date<\/code>);<\/li>\n<\/ul>\n<p><\/p>\n<p>Es gibt auch eine Tabelle <noindex><a rel=\"nofollow\" href=\"https:\/\/clickhouse.yandex\/docs\/ru\/operations\/system_tables\/#system-graphite-retentions\">system.graphite_retentions<\/a><\/noindex>, mit folgenden interessanten Feldern:<\/p>\n<p><\/p>\n<ul>\n<li>Datenbankname (<code>Tables.database<\/code>);<\/li>\n<li>Tabellenname (<code>Tables.table<\/code>);<\/li>\n<li>Alter der Metrik, wann die n\u00e4chste Aggregation angewendet werden soll (<code>age<\/code>);<\/li>\n<\/ul>\n<p><\/p>\n<p>Also:<\/p>\n<p><\/p>\n<ol>\n<li>Wir haben eine Tabelle der Teile und eine Tabelle der Aggregationsregeln.<\/li>\n<li>Wir kombinieren ihre Schnittmenge und erhalten alle Tabellen *GraphiteMergeTree.<\/li>\n<li>Wir suchen alle Partitionen, in denen:\n<ul>\n<li>mehr als ein St\u00fcck<\/li>\n<li>oder der Zeitpunkt gekommen ist, die n\u00e4chste Aggregationsregel anzuwenden, und <code>modification_time<\/code> \u00e4lter als dieser Zeitpunkt ist.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p><\/p>\n<h3 id=\"realizaciya\">Implementierung<\/h3>\n<p>\n<b class=\"spoiler_title\">Diese Abfrage<\/b><\/p>\n<pre><code class=\"sql\">W\u00c4HLEN\n    concat(p.database, '.', p.table) AS tabelle,\n    p.partition_id AS partition_id,\n    p.partition AS partition,\n    -- Die \"\u00e4lteste\" Regel, die auf\n    -- eine Partition angewendet werden kann, aber nicht in der Zukunft, siehe (*)\n    max(g.age) AS alter,\n    -- Anzahl der Teile in der Partition\n    countDistinct(p.name) AS teile,\n    -- Die \u00e4lteste Metrik in der Partition wird als 00:00:00 des folgenden Tages akzeptiert\n    toDateTime(max(p.max_date + 1)) AS max_time,\n    -- Wann die Partition optimiert werden sollte\n    max_time + alter AS rollup_time,\n    -- Wann das \u00e4lteste St\u00fcck in der Partition aktualisiert wurde\n    min(p.modification_time) AS updated_at\nVON system.parts AS p\nINNER JOIN\n(\n    -- Alle Regeln f\u00fcr alle Tabellen *GraphiteMergeTree\n    W\u00c4HLEN\n        Tabellen.database AS database,\n        Tabellen.table AS tabelle,\n        alter\n    VON system.graphite_retentions\n    ARRAY JOIN Tabellen\n    GROUP BY\n        database,\n        tabelle,\n        alter\n) AS g ON\n    (p.table = g.tabelle)\n    UND (p.database = g.database)\nWO\n    -- Nur aktive Teile\n    p.active\n    -- (*) Und nur Zeilen, wo die Aggregationsregeln bereits angewendet werden sollten\n    UND ((toDateTime(p.max_date + 1) + g.age) &lt; now())\nGROUP BY\n    tabelle,\n    partition\nHAVING\n    -- Nur Partitionen, die j\u00fcnger sind als der Optimierungszeitpunkt\n    (updated_at  1)\nORDER BY\n    tabelle ASC,\n    partition ASC,\n    alter ASC<\/code><\/pre>\n<p><\/p>\n<p>gibt jede der Partitionen der Tabellen *GraphiteMergeTree zur\u00fcck, deren Zusammenf\u00fchrung zu einer Freigabe von Speicherplatz f\u00fchren sollte. Es bleibt nur noch, sie alle mit einer Anfrage zu durchlaufen. <code>So, die ersten Metriken kommen an. Und sie nehmen einen gewissen Platz in Anspruch. Nachfolgende Ereignisse k\u00f6nnen je nach vielen Faktoren variieren:<\/code>In der endg\u00fcltigen Implementierung wurde auch ber\u00fccksichtigt, dass Partitionen mit aktiven Aufzeichnungen nicht ber\u00fchrt werden m\u00fcssen.<\/p>\n<p><\/p>\n<p>Genau das macht das Projekt <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/innogames\/graphite-ch-optimizer\">graphite-ch-optimizer<\/a><\/noindex>. Ehemalige Kollegen von Yandex.Market haben es im Produkt getestet, das Ergebnis kann weiter unten gesehen werden. <\/p>\n<p><\/p>\n<p><img decoding=\"async\" alt=\"ClickHouse + Graphite: wie man den ben\u00f6tigten Speicherplatz auf Festplatten erheblich reduziert.\" src=\"\/wp-content\/uploads\/2019\/12\/858dcbf538135d8d57964a71b2b6ca23.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Wenn das Programm auf einem Server mit ClickHouse gestartet wird, l\u00e4uft es einfach im D\u00e4monenmodus. Einmal pro Stunde wird eine Anfrage ausgef\u00fchrt, um zu \u00fcberpr\u00fcfen, ob neue Partitionen \u00e4lter als drei Tage aufgetaucht sind, die optimiert werden k\u00f6nnen.<\/p>\n<p><\/p>\n<p>In naher Zukunft \u2013 die Bereitstellung von mindestens deb-Paketen, und m\u00f6glichst auch rpm.<\/p>\n<p><\/p>\n<h3 id=\"vmesto-zaklyucheniya\">Zum Abschluss<\/h3>\n<p><\/p>\n<p>In den vergangenen neun Monaten habe ich in meiner Firma <noindex><a rel=\"nofollow\" href=\"https:\/\/www.innogames.com\/ru\/\">InnoGames<\/a><\/noindex> viel Zeit verbracht, indem ich an der Schnittstelle von ClickHouse und graphite-web gearbeitet habe. Das war eine gute Erfahrung, deren Ergebnis der bevorstehende \u00dcbergang von whisper zu ClickHouse als Metrik-Speicher ist. Ich hoffe, dass dieser Artikel eine Art Beginn eines Zyklus ist, wie wir verschiedene Teile dieses Stacks verbessert haben und was in Zukunft getan werden wird.<\/p>\n<p><\/p>\n<p>F\u00fcr die Entwicklung der Anfrage wurden mehrere Liter Bier und Admin-Tage zusammen mit <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/v0devil\/\" class=\"user_link\">v0devil<\/a><\/noindex>, wof\u00fcr ich ihm meinen Dank aussprechen m\u00f6chte. Und auch f\u00fcr das Durchsehen dieses Artikels.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/innogames\/graphite-ch-optimizer\">Projektseite auf GitHub<\/a><\/noindex><\/p>\n<p>Quelle: <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\/de\/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=\"de_DE\" \/>\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\/de\/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: wie man den Speicherplatz auf Festplatten erheblich reduzieren kann | ProHoster","description":".","canonical_url":"https:\/\/prohoster.info\/de\/blog\/administrirovanie\/clickhouse-graphite-kak-znachitelno-umenshit-potreblyaemoe-mesto-na-diskah","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","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\/de\/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\/de\/wp-json\/wp\/v2\/posts\/53944","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=53944"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/53944\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=53944"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=53944"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=53944"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}