{"id":54918,"date":"2020-01-07T00:00:00","date_gmt":"2020-01-06T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/ispolzovanie-clickhouse-v-kachestve-zameny-elk-big-query-i-timescaledb"},"modified":"2020-02-18T14:02:58","modified_gmt":"2020-02-18T11:02:58","slug":"ispolzovanie-clickhouse-v-kachestve-zameny-elk-big-query-i-timescaledb","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/ispolzovanie-clickhouse-v-kachestve-zameny-elk-big-query-i-timescaledb","title":{"rendered":"U\u017cycie Clickhouse jako zamiennika ELK, Big Query i TimescaleDB","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex><a rel=\"nofollow\" href=\"https:\/\/clickhouse.yandex\/\">Clickhouse<\/a><\/noindex> \u2014 to system zarz\u0105dzania bazami danych oparta na kolumnach do online'owego przetwarzania zapyta\u0144 analitycznych (OLAP) z otwartym kodem \u017ar\u00f3d\u0142owym, stworzona przez Yandex. U\u017cywaj\u0105 jej firmy takie jak Yandex, CloudFlare, VK.com, Badoo oraz inne serwisy na ca\u0142ym \u015bwiecie do przechowywania naprawd\u0119 du\u017cych zbior\u00f3w danych (wstawianie tysi\u0119cy wierszy na sekund\u0119 lub petabajty danych przechowywanych na dysku).<\/p>\n<p>W standardowej, \u00abwierszowej\u00bb bazie danych, przyk\u0142adami kt\u00f3rych s\u0105 MySQL, Postgres, MS SQL Server, dane s\u0105 przechowywane w takiej kolejno\u015bci: <\/p>\n<p><img decoding=\"async\" alt=\"U\u017cycie Clickhouse jako zamiennika ELK, Big Query i TimescaleDB\" src=\"\/wp-content\/uploads\/2020\/01\/398f260de0152baf3cc11d884fa0d52d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPrzy tym warto\u015bci odnosz\u0105ce si\u0119 do jednego wiersza s\u0105 fizycznie przechowywane blisko siebie. W kolumnowych bazach danych warto\u015bci z r\u00f3\u017cnych kolumn s\u0105 przechowywane osobno, a dane jednej kolumny \u2013 razem:<\/p>\n<p><img decoding=\"async\" alt=\"U\u017cycie Clickhouse jako zamiennika ELK, Big Query i TimescaleDB\" src=\"\/wp-content\/uploads\/2020\/01\/938a2ee3d588ac866ec92bb3ea09c253.png\" style=\"display:block;margin: 0 auto;\" \/><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p>Przyk\u0142adami kolumnowych baz danych s\u0105 Vertica, Paraccel (Actian Matrix, Amazon Redshift), Sybase IQ, Exasol, Infobright, InfiniDB, MonetDB (VectorWise, Actian Vector), LucidDB, SAP HANA, Google Dremel, Google PowerDrill, Druid, kdb+.<\/p>\n<p>Firma \u2013 przekierowuj\u0105ca maile <noindex><a rel=\"nofollow\" href=\"https:\/\/qwintry.com\/\">Qwintry<\/a><\/noindex> zacz\u0119\u0142a korzysta\u0107 z Clickhouse w 2018 roku do przygotowywania raport\u00f3w i by\u0142a bardzo pod wra\u017ceniem jego prostoty, skalowalno\u015bci, wsparcia dla SQL oraz szybko\u015bci. Pr\u0119dko\u015b\u0107 dzia\u0142ania tej bazy danych graniczy\u0142a z magi\u0105.<\/p>\n<h3>Prostota<\/h3>\n<p>\nClickhouse instalowany jest w Ubuntu jednym poleceniem. Je\u015bli znasz SQL, mo\u017cesz od razu zacz\u0105\u0107 u\u017cywa\u0107 Clickhouse do swoich potrzeb. Jednak nie oznacza to, \u017ce mo\u017cesz wykona\u0107 \u201eshow create table\u201d w MySQL i skopiowa\u0107 SQL do Clickhouse. <\/p>\n<p>W por\u00f3wnaniu do MySQL, w tej bazie danych istniej\u0105 istotne r\u00f3\u017cnice w typach danych w definicjach schemat\u00f3w tabeli, dlatego dla wygodnej pracy b\u0119dziesz potrzebowa\u0107 troch\u0119 czasu na dostosowanie definicji schemat\u00f3w tabel i poznawanie silnik\u00f3w tabel.<\/p>\n<p>Clickhouse dzia\u0142a doskonale bez dodatkowego oprogramowania, ale je\u015bli chcesz korzysta\u0107 z replikacji, b\u0119dziesz musia\u0142 zainstalowa\u0107 ZooKeeper. Analiza wydajno\u015bci zapyta\u0144 pokazuje \u015bwietne wyniki \u2014 tabele systemowe zawieraj\u0105 wszystkie informacje, a wszystkie dane mo\u017cna uzyska\u0107 za pomoc\u0105 starego i nudnego SQL.<\/p>\n<h3>Wydajno\u015b\u0107<\/h3>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/clickhouse.yandex\/benchmark.html#%5B%2522100000000%2522,%5B%2522ClickHouse%2522,%2522Vertica%2522,%2522MySQL%2522%5D,%5B%25220%2522,%25221%2522%5D%5D\">Benchmark<\/a><\/noindex> por\u00f3wnania Clickhouse z Vertica i MySQL na serwerze o konfiguracji: dwa gniazda Intel\u00ae Xeon\u00ae CPU E5-2650 v2 @ 2.60GHz; 128 GiB RAM; md RAID-5 na 8 dyskach SATA HDD po 6 TB, ext4.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.altinity.com\/blog\/2017\/6\/20\/clickhouse-vs-redshift\">Benchmark<\/a><\/noindex> por\u00f3wnania Clickhouse z chmur\u0105 danych Amazon RedShift.<\/li>\n<li>Wyci\u0105gi z bloga <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.cloudflare.com\/how-cloudflare-analyzes-1m-dns-queries-per-second\/\">Cloudflare na temat wydajno\u015bci Clickhouse<\/a><\/noindex>:<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"U\u017cycie Clickhouse jako zamiennika ELK, Big Query i TimescaleDB\" src=\"\/wp-content\/uploads\/2020\/01\/b6ef9fbad8e8c864a227bcffd97ec0fe.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nBaza danych ClickHouse ma bardzo prosty design \u2014 wszystkie w\u0119z\u0142y w klastrze maj\u0105 tak\u0105 sam\u0105 funkcjonalno\u015b\u0107 i korzystaj\u0105 tylko z ZooKeeper do koordynacji. Zbudowali\u015bmy ma\u0142y klaster z kilku w\u0119z\u0142\u00f3w i przeprowadzili\u015bmy testy, podczas kt\u00f3rych odkryli\u015bmy, \u017ce system ma do\u015b\u0107 imponuj\u0105c\u0105 wydajno\u015b\u0107, kt\u00f3ra odpowiada deklarowanym zaletom w benchmarkach analitycznych baz danych. Postanowili\u015bmy dok\u0142adniej zbada\u0107 koncepcj\u0119 stoj\u0105c\u0105 za ClickHouse. Pierwsz\u0105 przeszkod\u0105 w badaniach by\u0142o brak narz\u0119dzi i ma\u0142a liczba u\u017cytkownik\u00f3w ClickHouse, dlatego zag\u0142\u0119bili\u015bmy si\u0119 w projekt tej bazy danych, aby zrozumie\u0107, jak to dzia\u0142a.<\/p>\n<p>ClickHouse nie obs\u0142uguje przyjmowania danych bezpo\u015brednio z Kafka, poniewa\u017c jest to tylko baza danych, dlatego napisali\u015bmy w\u0142asn\u0105 us\u0142ug\u0119 adapter\u00f3w w j\u0119zyku Go. Odczytywa\u0142 zakodowane wiadomo\u015bci Cap\u2019n Proto z Kafka, przekszta\u0142ca\u0142 je w TSV i wstawia\u0142 do ClickHouse partiami przez interfejs HTTP. P\u00f3\u017aniej przepisali\u015bmy t\u0119 us\u0142ug\u0119, aby korzysta\u0142a z biblioteki Go w po\u0142\u0105czeniu z w\u0142asnym interfejsem ClickHouse w celu zwi\u0119kszenia wydajno\u015bci. Podczas oceny wydajno\u015bci przyjmowania pakiet\u00f3w odkryli\u015bmy co\u015b wa\u017cnego \u2014 okaza\u0142o si\u0119, \u017ce wydajno\u015b\u0107 ClickHouse w du\u017cej mierze zale\u017cy od rozmiaru pakietu, a wi\u0119c od liczby r\u00f3wnocze\u015bnie wstawianych wierszy. Aby zrozumie\u0107, dlaczego tak si\u0119 dzieje, zbadali\u015bmy, jak ClickHouse przechowuje dane.<\/p>\n<p>Podstawowym silnikiem, a w\u0142a\u015bciwie rodzin\u0105 silnik\u00f3w dla tabel, u\u017cywan\u0105 przez ClickHouse do przechowywania danych, jest MergeTree. Ten silnik jest koncepcyjnie podobny do algorytmu LSM stosowanego w Google BigTable czy Apache Cassandra, jednak unika budowania tymczasowej tabeli w pami\u0119ci i zapisuje dane bezpo\u015brednio na dysk. Daje mu to doskona\u0142\u0105 przepustowo\u015b\u0107 zapisu, poniewa\u017c ka\u017cdy wstawiony pakiet jest sortowany tylko wed\u0142ug \u201eklucza podstawowego\u201d primary key, kompresowany i zapisywany na dysku, aby utworzy\u0107 segment. <\/p>\n<p>Brak tabeli pami\u0119ci lub jakiegokolwiek poj\u0119cia \"\u015bwie\u017co\u015bci\" danych oznacza r\u00f3wnie\u017c, \u017ce mo\u017cna je jedynie dodawa\u0107; modyfikacje lub usuni\u0119cia nie s\u0105 wspierane przez system. Do dzi\u015b jedynym sposobem na usuni\u0119cie danych jest usuni\u0119cie ich w cyklach miesi\u0119cznych, poniewa\u017c segmenty nigdy nie przekraczaj\u0105 granicy miesi\u0105ca. Zesp\u00f3\u0142 ClickHouse intensywnie pracuje nad tym, aby uczyni\u0107 t\u0119 funkcj\u0119 konfigurowaln\u0105. Z drugiej strony, to sprawia, \u017ce zapis i \u0142\u0105czenie segment\u00f3w s\u0105 bezkonfliktowe, co z kolei umo\u017cliwia liniowe skalowanie przepustowo\u015bci przyj\u0119cia wraz z liczb\u0105 r\u00f3wnoleg\u0142ych wstawek, a\u017c do momentu nasycenia I\/O lub rdzeni. <br \/>\nJednak\u017ce ta okoliczno\u015b\u0107 oznacza r\u00f3wnie\u017c, \u017ce system nie nadaje si\u0119 do ma\u0142ych paczek, dlatego do buforowania u\u017cywane s\u0105 us\u0142ugi Kafka i insertery. Ponadto ClickHouse w tle nieustannie wykonuje \u0142\u0105czenie segment\u00f3w, dzi\u0119ki czemu wiele drobnych cz\u0119\u015bci informacji jest scalanych i zapisywanych wi\u0119cej razy, co zwi\u0119ksza intensywno\u015b\u0107 zapisu. Przy tym zbyt wiele niepowi\u0105zanych cz\u0119\u015bci spowoduje agresywne ograniczenie wstawek, dop\u00f3ki trwaj\u0105 procesy \u0142\u0105czenia. Odkryli\u015bmy, \u017ce najlepszym kompromisem mi\u0119dzy przyj\u0119ciem danych w czasie rzeczywistym a wydajno\u015bci\u0105 przyj\u0119cia jest przyjmowanie w tabeli ograniczonej liczby wstawek na sekund\u0119.<\/p>\n<p>Kluczem do wydajno\u015bci odczytu tabel jest indeksowanie oraz lokalizacja danych na dysku. Niezale\u017cnie od tego, jak szybka jest obr\u00f3bka, gdy silnik musi przeskanowa\u0107 terabajty danych z dysku i u\u017cy\u0107 tylko ich cz\u0119\u015bci, zajmuje to czas. ClickHouse jest magazynem kolumnowym, dlatego ka\u017cdy segment zawiera plik dla ka\u017cdej kolumny z posortowanymi warto\u015bciami dla ka\u017cdego wiersza. Dzi\u0119ki temu ca\u0142e kolumny, kt\u00f3re nie s\u0105 w zapytaniu, mog\u0105 by\u0107 pomini\u0119te, a nast\u0119pnie kilka kom\u00f3rek mo\u017ce by\u0107 przetwarzanych r\u00f3wnolegle przy u\u017cyciu wektoryzowanego wykonania. Aby unikn\u0105\u0107 pe\u0142nego skanowania, ka\u017cdy segment ma ma\u0142y plik indeksowy. <\/p>\n<p>Bior\u0105c pod uwag\u0119, \u017ce wszystkie kolumny s\u0105 uporz\u0105dkowane wed\u0142ug \u201eklucza podstawowego\u201d, plik indeksu zawiera tylko etykiety (uchwycone wiersze) ka\u017cdego N-tego wiersza, aby m\u00f3c je przechowywa\u0107 w pami\u0119ci, nawet dla bardzo du\u017cych tabel. Na przyk\u0142ad mo\u017cna ustawi\u0107 domy\u015blne opcje na \u201eoznaczanie ka\u017cdego 8192. wiersza\u201d, wtedy \u201eubogie\u201d indeksowanie tabeli z 1 bilionem wierszy, kt\u00f3re \u0142atwo mie\u015bci si\u0119 w pami\u0119ci, zajmie tylko 122 070 znak\u00f3w. <\/p>\n<h3>Rozw\u00f3j systemu<\/h3>\n<p>\nRozw\u00f3j i doskonalenie Clickhouse mo\u017cna \u015bledzi\u0107 na <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/yandex\/ClickHouse\/pulse\">repozytorium Github<\/a><\/noindex> i upewni\u0107 si\u0119, \u017ce proces \u201edorastania\u201d przebiega w imponuj\u0105cym tempie. <\/p>\n<p><img decoding=\"async\" alt=\"U\u017cycie Clickhouse jako zamiennika ELK, Big Query i TimescaleDB\" src=\"\/wp-content\/uploads\/2020\/01\/19211da28e42178d26dff7623689df71.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Popularno\u015b\u0107<\/h3>\n<p>\nWygl\u0105da na to, \u017ce popularno\u015b\u0107 Clickhouse ro\u015bnie wyk\u0142adniczo, szczeg\u00f3lnie w spo\u0142eczno\u015bci rosyjskoj\u0119zycznej. Konferencja High load 2018 w zesz\u0142ym roku (Moskwa, 8-9 listopada 2018 r.) pokaza\u0142a, \u017ce tacy giganci jak vk.com i Badoo korzystaj\u0105 z Clickhouse, za pomoc\u0105 kt\u00f3rego wprowadzaj\u0105 dane (np. logi) z dziesi\u0105tek tysi\u0119cy serwer\u00f3w jednocze\u015bnie. W 40-minutowym wideo <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=pbbcMcrQoXw\">Juri Nasretdinow z zespo\u0142u VKontakte opowiada, jak to si\u0119 odbywa<\/a><\/noindex>. Wkr\u00f3tce opublikujemy transkrypcj\u0119 na Habrze dla u\u0142atwienia pracy z materia\u0142em.<\/p>\n<h3>Obszary zastosowania<\/h3>\n<p>\nPo sp\u0119dzeniu pewnego czasu na badaniach, s\u0105dz\u0119, \u017ce istniej\u0105 obszary, w kt\u00f3rych ClickHouse mo\u017ce by\u0107 korzystny lub w pe\u0142ni zast\u0105pi\u0107 inne, bardziej tradycyjne i popularne rozwi\u0105zania, takie jak MySQL, PostgreSQL, ELK, Google Big Query, Amazon RedShift, TimescaleDB, Hadoop, MapReduce, Pinot i Druid. Szczeg\u00f3\u0142y dotycz\u0105ce wykorzystania ClickHouse do modernizacji lub ca\u0142kowitej wymiany powy\u017cszych baz danych przedstawiono poni\u017cej. <\/p>\n<h3>Rozszerzenie mo\u017cliwo\u015bci MySQL i PostgreSQL<\/h3>\n<p>\nNiedawno cz\u0119\u015bciowo zast\u0105pili\u015bmy MySQL ClickHouse na platformie informacji o biuletynach <noindex><a rel=\"nofollow\" href=\"https:\/\/www.mautic.org\/\">Mautic newsletter<\/a><\/noindex>Problem polega\u0142 na tym, \u017ce MySQL z powodu nieprzemy\u015blanej struktury rejestrowa\u0142 ka\u017cde wys\u0142ane e-mail oraz ka\u017cdy link w tych e-mailach z hashem base64, tworz\u0105c ogromn\u0105 tabel\u0119 MySQL (email_stats). Po wys\u0142aniu subskrybentom us\u0142ugi zaledwie 10 milion\u00f3w e-maili ta tabela zajmowa\u0142a 150 GB przestrzeni dyskowej, a MySQL zaczyna\u0142 \u201ezwalnia\u0107\u201d przy prostych zapytaniach. Aby rozwi\u0105za\u0107 problem z przestrzeni\u0105 dyskow\u0105, skutecznie zastosowali\u015bmy kompresj\u0119 tabeli InnoDB, co zmniejszy\u0142o jej rozmiar czterokrotnie. Jednak nadal nie ma sensu przechowywa\u0107 wi\u0119cej ni\u017c 20-30 milion\u00f3w e-maili w MySQL tylko po to, aby zachowa\u0107 histori\u0119, poniewa\u017c ka\u017cde proste zapytanie, kt\u00f3re z jakiego\u015b powodu musi wykona\u0107 pe\u0142ne skanowanie, prowadzi do swapa i du\u017cego obci\u0105\u017cenia I\/O, co regularnie skutkowa\u0142o ostrze\u017ceniami Zabbix.<\/p>\n<p><img decoding=\"async\" alt=\"U\u017cycie Clickhouse jako zamiennika ELK, Big Query i TimescaleDB\" src=\"\/wp-content\/uploads\/2020\/01\/11b3ee4b1a8b7c9457bd3871bd12049f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nClickhouse wykorzystuje dwa algorytmy kompresji, kt\u00f3re zmniejszaj\u0105 obj\u0119to\u015b\u0107 danych o oko\u0142o <noindex><a rel=\"nofollow\" href=\"https:\/\/www.altinity.com\/blog\/2017\/11\/21\/compression-in-clickhouse\">3-4 razy<\/a><\/noindex>, ale w tym konkretnym przypadku dane by\u0142y szczeg\u00f3lnie \"kompresowalne\". <\/p>\n<p><img decoding=\"async\" alt=\"U\u017cycie Clickhouse jako zamiennika ELK, Big Query i TimescaleDB\" src=\"\/wp-content\/uploads\/2020\/01\/d192502073d57967620aa07da0bbfa0c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Zast\u0105pienie ELK<\/h3>\n<p>\nNa podstawie w\u0142asnego do\u015bwiadczenia stos ELK (ElasticSearch, Logstash i Kibana, w tym konkretnym przypadku ElasticSearch) wymaga znacznie wi\u0119cej zasob\u00f3w do uruchomienia, ni\u017c to konieczne do przechowywania log\u00f3w. ElasticSearch to \u015bwietny silnik, je\u015bli potrzebujesz dobrego wyszukiwania pe\u0142notekstowego w logach (a nie s\u0105dz\u0119, \u017ce rzeczywi\u015bcie tego potrzebujesz), ale ciekawe jest, dlaczego de facto sta\u0142 si\u0119 standardowym silnikiem do prowadzenia log\u00f3w. Jego wydajno\u015b\u0107 przyjmowania w po\u0142\u0105czeniu z Logstash sprawia\u0142a nam problemy nawet przy stosunkowo niewielkich obci\u0105\u017ceniach i wymaga\u0142a dodawania coraz wi\u0119kszej ilo\u015bci pami\u0119ci RAM i przestrzeni dyskowej. Jako baza danych, Clickhouse jest lepszy od ElasticSearch z nast\u0119puj\u0105cych powod\u00f3w:<\/p>\n<ul>\n<li>Wsparcie dla dialektu SQL;<\/li>\n<li>Lepszy stopie\u0144 kompresji przechowywanych danych;<\/li>\n<li>Wsparcie wyszukiwania wyra\u017ce\u0144 regularnych zamiast wyszukiwania pe\u0142notekstowego;<\/li>\n<li>Ulepszone planowanie zapyta\u0144 i wy\u017csza og\u00f3lna wydajno\u015b\u0107.<\/li>\n<\/ul>\n<p>\nObecnie najwi\u0119kszym problemem przy por\u00f3wnywaniu ClickHouse z ELK jest brak rozwi\u0105za\u0144 do przesy\u0142ania log\u00f3w, a tak\u017ce niedob\u00f3r dokumentacji i materia\u0142\u00f3w szkoleniowych w tym zakresie. Ka\u017cdy u\u017cytkownik mo\u017ce jednak skonfigurowa\u0107 ELK korzystaj\u0105c z przewodnika Digital Ocean, co jest niezwykle wa\u017cne dla szybkiego wdro\u017cenia takich technologii. Istnieje silnik bazy danych, ale jak na razie brakuje Filebeat dla ClickHouse. Tak, jest tam obecny <noindex><a rel=\"nofollow\" href=\"https:\/\/www.fluentd.org\/\">fluentd<\/a><\/noindex> i systema do pracy z logami <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\/loghouse\">loghouse<\/a><\/noindex>, istnieje narz\u0119dzie <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Altinity\/clicktail\">clicktail<\/a><\/noindex> do wprowadzania danych log\u00f3w do ClickHouse, ale wszystko to zajmuje wi\u0119cej czasu. Mimo to ClickHouse nadal dominuje ze wzgl\u0119du na swoj\u0105 prostot\u0119, wi\u0119c nawet nowicjusze mog\u0105 go zainstalowa\u0107 i rozpocz\u0105\u0107 pe\u0142noprawne u\u017cytkowanie dos\u0142ownie w ci\u0105gu 10 minut. <\/p>\n<p>Preferuj\u0105c minimalistyczne rozwi\u0105zania, pr\u00f3bowa\u0142em u\u017cy\u0107 FluentBit, narz\u0119dzie do przesy\u0142ania log\u00f3w o bardzo ma\u0142ym zu\u017cyciu pami\u0119ci, razem z ClickHouse, staraj\u0105c si\u0119 unika\u0107 u\u017cycia Kafka. Jednak konieczne jest rozwi\u0105zanie drobnych niezgodno\u015bci, takich jak <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/fluent\/fluent-bit\/issues\/848\">problemy z formatem daty<\/a><\/noindex>, zanim b\u0119dzie mo\u017cna to zrobi\u0107 bez warstwy proxy, kt\u00f3ra przekszta\u0142ca dane z FluentBit do ClickHouse.<\/p>\n<p>Alternatywnie, jako backend do ClickHouse mo\u017cna u\u017cy\u0107 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Vertamedia\/clickhouse-grafana\">Grafana<\/a><\/noindex>. Z tego, co rozumiem, mog\u0105 wyst\u0105pi\u0107 problemy z wydajno\u015bci\u0105 przy renderowaniu ogromnej liczby punkt\u00f3w danych, szczeg\u00f3lnie w starszych wersjach Grafana. W Qwintry jeszcze tego nie pr\u00f3bowali\u015bmy, ale skargi na to od czasu do czasu pojawiaj\u0105 si\u0119 na kanale wsparcia ClickHouse w Telegramie. <\/p>\n<h3>Zamiennik Google Big Query i Amazon RedShift (rozwi\u0105zanie dla du\u017cych przedsi\u0119biorstw)<\/h3>\n<p>\nIdealnym zastosowaniem BigQuery jest za\u0142adowanie 1 TB danych JSON i wykonywanie na nich zapyta\u0144 analitycznych. Big Query to znakomity produkt, kt\u00f3rego skalowalno\u015b\u0107 jest trudna do przecenienia. To znacznie bardziej skomplikowane oprogramowanie ni\u017c ClickHouse, dzia\u0142aj\u0105ce na wewn\u0119trznym klastrze, ale z punktu widzenia klienta ma wiele wsp\u00f3lnego z ClickHouse. BigQuery mo\u017ce szybko \"podro\u017ce\u0107\", gdy zaczniesz p\u0142aci\u0107 za ka\u017cde SELECT, wi\u0119c to prawdziwe rozwi\u0105zanie SaaS ze wszystkimi swoimi zaletami i wadami. <\/p>\n<p>ClickHouse jest najlepszym wyborem, gdy wykonujesz wiele kosztownych obliczeniowo zapyta\u0144. Im wi\u0119cej zapyta\u0144 SELECT wykonujesz codziennie \u2014 tym bardziej sensowne jest zast\u0105pienie Big Query ClickHouse, poniewa\u017c taka wymiana pomo\u017ce Ci zaoszcz\u0119dzi\u0107 tysi\u0105ce dolar\u00f3w, gdy m\u00f3wimy o wielu terabajtach przetwarzanych danych. To nie dotyczy danych przechowywanych, kt\u00f3rych przetwarzanie w Big Query jest stosunkowo tanie.<\/p>\n<p>W artykule wsp\u00f3\u0142za\u0142o\u017cyciela firmy Altinity Aleksandra Zajcewa <noindex><a rel=\"nofollow\" href=\"https:\/\/www.altinity.com\/blog\/2017\/10\/23\/migration-to-clickhouse\">\"Przej\u015bcie na ClickHouse\"<\/a><\/noindex> opisywane s\u0105 zalety takiej migracji bazy danych.<\/p>\n<h3>Zamiennik TimescaleDB<\/h3>\n<p>\nTimescaleDB jest rozszerzeniem PostgreSQL, kt\u00f3re optymalizuje prac\u0119 z danymi czasowymi w tradycyjnej bazie danych.<noindex><a rel=\"nofollow\" href=\"https:\/\/docs.timescale.com\/v1.0\/introduction\">https:\/\/docs.timescale.com\/v1.0\/introduction<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/zabbix\/blog\/458530\/\">https:\/\/habr.com\/ru\/company\/zabbix\/blog\/458530\/<\/a><\/noindex>). <\/p>\n<p>Chocia\u017c ClickHouse nie jest powa\u017cnym konkurentem w niszy danych czasowych, jego struktura kolumnowa i wektorowe wykonywanie zapyta\u0144 sprawiaj\u0105, \u017ce w wi\u0119kszo\u015bci przypadk\u00f3w przetwarzania zapyta\u0144 analitycznych jest znacznie szybszy ni\u017c TimescaleDB. Ponadto wydajno\u015b\u0107 przyjmowania danych partiami w ClickHouse jest oko\u0142o 3 razy wy\u017csza, a do tego zu\u017cywa 20 razy mniej miejsca na dysku, co jest naprawd\u0119 istotne przy przetwarzaniu du\u017cych zbior\u00f3w danych historycznych.<noindex><a rel=\"nofollow\" href=\"https:\/\/www.altinity.com\/blog\/ClickHouse-for-time-series\">https:\/\/www.altinity.com\/blog\/ClickHouse-for-time-series<\/a><\/noindex>.<\/p>\n<p>W przeciwie\u0144stwie do ClickHouse, jedynym sposobem na zaoszcz\u0119dzenie miejsca na dysku w TimescaleDB jest u\u017cycie systemu plik\u00f3w ZFS lub podobnych.<\/p>\n<p>Nadchodz\u0105ce aktualizacje ClickHouse prawdopodobnie wprowadz\u0105 kompresj\u0119 delta, co uczyni go jeszcze bardziej odpowiednim do przetwarzania i przechowywania danych czasowych. TimescaleDB mo\u017ce by\u0107 lepszym wyborem ni\u017c \"go\u0142y\" ClickHouse w nast\u0119puj\u0105cych przypadkach:<\/p>\n<ul>\n<li>ma\u0142e instalacje z bardzo ma\u0142\u0105 ilo\u015bci\u0105 pami\u0119ci RAM (&lt;3 GB);<\/li>\n<li>du\u017ca liczba ma\u0142ych INSERT-\u00f3w, kt\u00f3re nie chc\u0105 by\u0107 bufrowane w du\u017ce fragmenty;<\/li>\n<li>lepsza sp\u00f3jno\u015b\u0107, jednolito\u015b\u0107 i wymogi ACID;<\/li>\n<li>wsparcie PostGIS;<\/li>\n<li>integracja z istniej\u0105cymi tabelami PostgreSQL, poniewa\u017c w zasadzie TimescaleDB jest PostgreSQL.<\/li>\n<\/ul>\n<p><\/p>\n<h3>konkurencja z systemami Hadoop i MapReduce<\/h3>\n<p>\nHadoop i inne produkty MapReduce mog\u0105 przeprowadza\u0107 wiele skomplikowanych oblicze\u0144, ale zazwyczaj dzia\u0142aj\u0105 z ogromnymi op\u00f3\u017anieniami. ClickHouse rozwi\u0105zuje ten problem, przetwarzaj\u0105c terabajty danych i niemal natychmiast wydaj\u0105c wyniki. Dzi\u0119ki temu ClickHouse jest znacznie bardziej efektywny w przeprowadzaniu szybkich, interaktywnych bada\u0144 analitycznych, co powinno zainteresowa\u0107 specjalist\u00f3w w dziedzinie przetwarzania danych.<\/p>\n<h3>konkurencja z Pinot i Druid<\/h3>\n<p>\nNajbli\u017cszymi konkurentami ClickHouse s\u0105 kolumnowe produkty open source skalowane liniowo: Pinot i Druid. Doskona\u0142a analiza por\u00f3wnawcza tych system\u00f3w zosta\u0142a opublikowana w artykule <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@leventov\/comparison-of-the-open-source-olap-systems-for-big-data-ClickHouse-druid-and-pinot-8e042a5ed1c7\">Romana Leventova<\/a><\/noindex> z 1 lutego 2018 r. <\/p>\n<p><img decoding=\"async\" alt=\"U\u017cycie Clickhouse jako zamiennika ELK, Big Query i TimescaleDB\" src=\"\/wp-content\/uploads\/2020\/01\/fe58814aa97b287b70c2f724b72b448a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nArtyku\u0142 wymaga aktualizacji \u2013 stwierdza, \u017ce ClickHouse nie obs\u0142uguje operacji UPDATE i DELETE, co nie jest ca\u0142kowicie prawd\u0105 w odniesieniu do najnowszych wersji.<\/p>\n<p>Nie mamy wystarczaj\u0105cego do\u015bwiadczenia w pracy z tymi bazami danych, ale zupe\u0142nie nie podoba mi si\u0119 z\u0142o\u017cono\u015b\u0107 infrastruktury wymaganej do uruchomienia Druid i Pinot \u2014 to ca\u0142a masa \"ruchomych cz\u0119\u015bci\" otoczonych Jav\u0105 z ka\u017cdej strony.<\/p>\n<p>Druid i Pinot to projekty inkubatorowe Apache, kt\u00f3rych rozw\u00f3j jest szczeg\u00f3\u0142owo relacjonowany przez Apache na stronach ich projekt\u00f3w GitHub. Pinot pojawi\u0142 si\u0119 w inkubatorze w pa\u017adzierniku 2018, a Druid zadebiutowa\u0142 8 miesi\u0119cy wcze\u015bniej \u2013 w lutym.<\/p>\n<p>Brak informacji na temat dzia\u0142ania AFS budzi we mnie pewne, by\u0107 mo\u017ce nierozs\u0105dne, pytania. Ciekawe, czy autorzy Pinot zauwa\u017cyli, \u017ce Apache Foundation jest bardziej przychylne Druid, i czy takie podej\u015bcie do konkurencji wywo\u0142a\u0142o uczucie zazdro\u015bci? Czy rozw\u00f3j Druid zwolni, a rozw\u00f3j Pinot przyspieszy, je\u015bli sponsorzy wspieraj\u0105cy pierwszy nagle zainteresuj\u0105 si\u0119 drugim?<\/p>\n<h3>Wady ClickHouse<\/h3>\n<p>\nNiedojrza\u0142o\u015b\u0107: oczywi\u015bcie, \u017ce to wci\u0105\u017c interesuj\u0105ca technologia, ale w ka\u017cdym razie nie zauwa\u017ca si\u0119 nic podobnego w innych bazach danych kolumnowych. <\/p>\n<p>Ma\u0142e wstawki \u017ale dzia\u0142aj\u0105 przy wysokiej pr\u0119dko\u015bci: wstawki powinny by\u0107 podzielone na wi\u0119ksze kawa\u0142ki, poniewa\u017c wydajno\u015b\u0107 ma\u0142ych wstawek spada proporcjonalnie do liczby kolumn w ka\u017cdym wierszu. Tak w\u0142a\u015bnie w ClickHouse dane s\u0105 przechowywane na dysku \u2014 ka\u017cda kolumna oznacza 1 plik lub wi\u0119cej, dlatego, aby wstawi\u0107 1 wiersz zawieraj\u0105cy 100 kolumn, nale\u017cy otworzy\u0107 i zapisa\u0107 co najmniej 100 plik\u00f3w. Dlatego do buforowania wstawek potrzebny jest po\u015brednik (chyba \u017ce sam klient zapewnia buforowanie) \u2014 zazwyczaj jest to Kafka lub jaki\u015b system zarz\u0105dzania kolejkami. Mo\u017cna r\u00f3wnie\u017c u\u017cy\u0107 silnika Buffer table, aby p\u00f3\u017aniej kopiowa\u0107 du\u017ce fragmenty danych do tabel MergeTree.<\/p>\n<p>Po\u0142\u0105czenia tabel ograniczone s\u0105 pami\u0119ci\u0105 operacyjn\u0105 serwera, ale przynajmniej s\u0105! Na przyk\u0142ad Druid i Pinot w og\u00f3le nie maj\u0105 takich po\u0142\u0105cze\u0144, poniewa\u017c trudno je zaimplementowa\u0107 bezpo\u015brednio w rozproszonych systemach, kt\u00f3re nie wspieraj\u0105 przenoszenia du\u017cych kawa\u0142k\u00f3w danych mi\u0119dzy w\u0119z\u0142ami. <\/p>\n<h3>Wnioski<\/h3>\n<p>\nW najbli\u017cszych latach planujemy szerokie wdro\u017cenie ClickHouse w Qwintry, poniewa\u017c ta baza danych zapewnia doskona\u0142\u0105 r\u00f3wnowag\u0119 mi\u0119dzy wydajno\u015bci\u0105, niskimi kosztami, skalowalno\u015bci\u0105 i prostot\u0105. Jestem niemal pewien, \u017ce zacznie si\u0119 szybko rozwija\u0107, gdy spo\u0142eczno\u015b\u0107 ClickHouse wymy\u015bli wi\u0119cej sposob\u00f3w na jej wykorzystanie w ma\u0142ych i \u015brednich instalacjach.<\/p>\n<h3>Troch\u0119 reklamy \ud83d\ude42<\/h3>\n<p>\nDzi\u0119kujemy, \u017ce jeste\u015b z nami. Podobaj\u0105 Ci si\u0119 nasze artyku\u0142y? Chcesz zobaczy\u0107 wi\u0119cej interesuj\u0105cych materia\u0142\u00f3w? Wspieraj nas sk\u0142adaj\u0105c zam\u00f3wienie lub polecaj\u0105c nas znajomym, <noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/cloudvps\/nl\">chmurowe VPS dla programist\u00f3w od 4,99 $<\/a><\/noindex>, <b>unikatowy odpowiednik serwer\u00f3w entry-level, kt\u00f3ry zosta\u0142 stworzony przez nas dla Ciebie:<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/347386\/\">Ca\u0142a prawda o VPS (KVM) E5-2697 v3 (6 rdzeni) 10GB DDR4 480GB SSD 1Gbps od 19 $ lub jak prawid\u0142owo podzieli\u0107 serwer?<\/a><\/noindex> (dost\u0119pne opcje z RAID1 i RAID10, do 24 rdzeni i do 40GB DDR4).<\/p>\n<p><b>Dell R730xd dwa razy ta\u0144szy w centrum danych Equinix Tier IV w Amsterdamie?<\/b> Tylko u nas <b><noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/serversnl\">2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100TB od 199 dolar\u00f3w<\/a><\/noindex> w Holandii! <b>Dell R420 \u2014 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB \u2014 od 99 dolar\u00f3w!<\/b><\/b> Czytaj o tym <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/329618\/\">Jak zbudowa\u0107 infrastruktur\u0119 klasy korporacyjnej z zastosowaniem serwer\u00f3w Dell R730xd E5-2650 v4 kosztuj\u0105cych 9000 euro za grosze?<\/a><\/noindex><br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/ua-hosting\/blog\/483112\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>Clickhouse \u2014 \u044d\u0442\u043e \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0430\u0437\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u043e\u043d\u043b\u0430\u0439\u043d \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 (OLAP) \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c, \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u0430\u044f \u042f\u043d\u0434\u0435\u043a\u0441\u043e\u043c. \u0415\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u042f\u043d\u0434\u0435\u043a\u0441, CloudFlare, VK.com, Badoo \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u043f\u043e \u0432\u0441\u0435\u043c\u0443 \u043c\u0438\u0440\u0443 \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u043e\u0431\u044a\u0435\u043c\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445 (\u0432\u0441\u0442\u0430\u0432\u043a\u0430 \u0442\u044b\u0441\u044f\u0447 \u0441\u0442\u0440\u043e\u043a \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443 \u0438\u043b\u0438 \u043f\u0435\u0442\u0430\u0431\u0430\u0439\u0442\u044b \u0434\u0430\u043d\u043d\u044b\u0445, \u0445\u0440\u0430\u043d\u044f\u0449\u0438\u0445\u0441\u044f \u043d\u0430 \u0434\u0438\u0441\u043a\u0435). \u0412 \u043e\u0431\u044b\u0447\u043d\u043e\u0439, \u00ab\u0441\u0442\u0440\u043e\u043a\u043e\u0432\u043e\u0439\u00bb \u0421\u0423\u0411\u0414, \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u043c\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 [&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-54918","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=\"Clickhouse \u2014 \u044d\u0442\u043e \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0430\u0437\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u043e\u043d\u043b\u0430\u0439\u043d \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 (OLAP) \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c.\" \/>\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\/pl\/blog\/administrirovanie\/ispolzovanie-clickhouse-v-kachestve-zameny-elk-big-query-i-timescaledb\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\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\udd47\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Clickhouse \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0437\u0430\u043c\u0435\u043d\u044b ELK, Big Query \u0438 TimescaleDB | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"Clickhouse \u2014 \u044d\u0442\u043e \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0430\u0437\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u043e\u043d\u043b\u0430\u0439\u043d \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 (OLAP) \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/ispolzovanie-clickhouse-v-kachestve-zameny-elk-big-query-i-timescaledb\" \/>\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=\"2020-01-06T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:02:58+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\udd47 Wykorzystanie Clickhouse jako zamiennika ELK, Big Query i TimescaleDB | ProHoster","description":"Clickhouse to kolumnowy system zarz\u0105dzania bazami danych do online'owego przetwarzania zapyta\u0144 analitycznych (OLAP) o otwartym kodzie \u017ar\u00f3d\u0142owym.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/ispolzovanie-clickhouse-v-kachestve-zameny-elk-big-query-i-timescaledb","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","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\udd47\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 Clickhouse \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0437\u0430\u043c\u0435\u043d\u044b ELK, Big Query \u0438 TimescaleDB | ProHoster","og:description":"Clickhouse \u2014 \u044d\u0442\u043e \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0430\u0437\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u043e\u043d\u043b\u0430\u0439\u043d \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 (OLAP) \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c.","og:url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/ispolzovanie-clickhouse-v-kachestve-zameny-elk-big-query-i-timescaledb","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":"2020-01-06T21:00:00+00:00","article:modified_time":"2020-02-18T11:02:58+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"54918","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 13:09:54","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:55:36","updated":"2026-01-24 13:09:54","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/54918","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=54918"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/54918\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=54918"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=54918"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=54918"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}