{"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\/hr\/blog\/administrirovanie\/ispolzovanie-clickhouse-v-kachestve-zameny-elk-big-query-i-timescaledb","title":{"rendered":"Kori\u0161tenje Clickhouse-a kao zamjene za 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 je kolumnasti sustav upravljanja bazama podataka za online obradu analiti\u010dkih upita (OLAP) s otvorenim kodom, razvijen od strane Yandexa. Koriste ga Yandex, CloudFlare, VK.com, Badoo i drugi servisi \u0161irom svijeta za pohranu zaista velikih koli\u010dina podataka (ubacivanje tisu\u0107a redaka u sekundi ili petabajti podataka pohranjenih na disku).<\/p>\n<p>U uobi\u010dajenom, \"rednom\" DBMS-u, primjeri kojih su MySQL, Postgres, MS SQL Server, podaci se \u010duvaju u sljede\u0107em redoslijedu: <\/p>\n<p><img decoding=\"async\" alt=\"Kori\u0161tenje Clickhouse-a kao zamjene za ELK, Big Query i TimescaleDB.\" src=\"\/wp-content\/uploads\/2020\/01\/398f260de0152baf3cc11d884fa0d52d.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nU tom slu\u010daju, vrijednosti koje pripadaju jednom redu fizi\u010dki se pohranjuju blizu jedna druge. U kolumnastim DBMS-ima, vrijednosti iz razli\u010ditih kolona pohranjuju se odvojeno, a podaci iz jedne kolone \u2013 zajedno:<\/p>\n<p><img decoding=\"async\" alt=\"Kori\u0161tenje Clickhouse-a kao zamjene za 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>Primjeri kolumnastih DBMS-a uklju\u010duju 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>Tvrtka \u2013 mailforwarder <noindex><a rel=\"nofollow\" href=\"https:\/\/qwintry.com\/\">Qwintry<\/a><\/noindex> postala je korisnik Clickhousea 2018. godine za izradu izvje\u0161taja i bila je vrlo impresionirana njegovom jednostavno\u0161\u0107u, skalabilno\u0161\u0107u, podr\u0161kom za SQL i brzinom. Brzina rada ovog DBMS-a bila je nalik \u010daroliji.<\/p>\n<h3>Jednostavnost<\/h3>\n<p>\nClickhouse se instalira na Ubuntu jedinstvenom komandom. Ako znate SQL, mo\u017eete odmah po\u010deti koristiti Clickhouse za svoje potrebe. Me\u0111utim, to ne zna\u010di da mo\u017eete izvr\u0161iti \u201eshow create table\u201c u MySQL i jednostavno kopirati i zalijepiti SQL u Clickhouse. <\/p>\n<p>U usporedbi s MySQL-om, u ovom DBMS-u postoje va\u017ena razlikovna svojstva tipova podataka u definicijama shema tablica, stoga \u0107e vam ipak trebati neko vrijeme da prilagodite definicije shema tablica i prou\u010dite motore tablica.<\/p>\n<p>Clickhouse odli\u010dno funkcionira bez ikakvog dodatnog softvera, ali ako \u017eelite koristiti replikaciju, trebat \u0107ete instalirati ZooKeeper. Analiza performansi upita pokazuje odli\u010dne rezultate \u2013 sistemske tablice sadr\u017ee sve informacije, a svi podaci mogu se dobiti pomo\u0107u starog i dosadnog SQL-a.<\/p>\n<h3>Performanse<\/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> usporedbe Clickhousea s Verticom i MySQL-om na konfiguracijskom serveru: dva Intel\u00ae Xeon\u00ae CPU E5-2650 v2 @ 2.60GHz; 128 GiB RAM; md RAID-5 na 8 6TB SATA HDD, ext4.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.altinity.com\/blog\/2017\/6\/20\/clickhouse-vs-redshift\">Benchmark<\/a><\/noindex> usporedbe Clickhousea s Amazon RedShiftom kao oblakom za pohranu podataka.<\/li>\n<li>Izdvojci iz bloga <noindex><a rel=\"nofollow\" href=\"https:\/\/blog.cloudflare.com\/how-cloudflare-analyzes-1m-dns-queries-per-second\/\">Cloudflare o performansama Clickhousea<\/a><\/noindex>:<\/li>\n<\/ul>\n<p>\n<img decoding=\"async\" alt=\"Kori\u0161tenje Clickhouse-a kao zamjene za ELK, Big Query i TimescaleDB.\" src=\"\/wp-content\/uploads\/2020\/01\/b6ef9fbad8e8c864a227bcffd97ec0fe.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nClickHouse ima vrlo jednostavan dizajn baze podataka \u2014 svi \u010dvorovi u klasteru imaju istu funkcionalnost i koriste samo ZooKeeper za koordinaciju. Izgradili smo mali klaster od nekoliko \u010dvorova i obavili testiranje, pri \u010demu smo otkrili da sustav ima prili\u010dno impresivne performanse koje su u skladu s navedenim prednostima u benchmarkovima analiti\u010dkih sustava za upravljanje bazama podataka. Odlu\u010dili smo detaljnije istra\u017eiti koncept koji le\u017ei u osnovi ClickHousea. Prva prepreka za istra\u017eivanja bila je nedostatak alata i malobrojna zajednica ClickHouse, pa smo se produbili u dizajn ovog sustava za upravljanje bazama podataka kako bismo razumjeli kako on funkcionira.<\/p>\n<p>ClickHouse ne podr\u017eava prijem podataka izravno iz Kafke, jer je to samo baza podataka, pa smo napisali vlastitu uslugu adaptera na jeziku Go. Ona je \u010ditala kodirana poruke Cap\u2019n Proto iz Kafke, pretvarala ih u TSV i umetala u ClickHouse u paketima putem HTTP su\u010delja. Kasnije smo ovu uslugu prepravili kako bismo kori\u0161tenjem Go biblioteke zajedno s vlastitim su\u010deljem ClickHouse pobolj\u0161ali performanse. Prilikom procjene performansi primanja paketa otkrili smo va\u017enu stvar \u2013 ispostavilo se da ClickHouseove performanse uvelike ovise o veli\u010dini paketa, tj. broju istodobno umetnutih redaka. Kako bismo razumjeli za\u0161to se to doga\u0111a, prou\u010dili smo kako ClickHouse pohranjuje podatke.<\/p>\n<p>Glavni motor, bolje re\u010deno, obitelj motora za tablice, koji ClickHouse koristi za pohranu podataka, je MergeTree. Ovaj motor je konceptualno sli\u010dan LSM algoritmu koji se koristi u Google BigTable ili Apache Cassandri, me\u0111utim izbjegava izradu privremene tablice u memoriji i zapisuje podatke izravno na disk. To mu daje izvrsnu propusnost zapisivanja, jer se svaki umetnuti paket sortira samo prema \"primarnom klju\u010du\" primary key, komprimira i zapisuje na disk kako bi se formirao segment. <\/p>\n<p>Odsutnost memorijske tablice ili bilo kakvog pojma o \"svje\u017eini\" podataka tako\u0111er zna\u010di da se samo mogu dodavati, a sustav ne podr\u017eava izmjene ili brisanje. Danas je jedini na\u010din za brisanje podataka uklanjanje po kalendarskim mjesecima, budu\u0107i da segmenti nikada ne prelaze granicu mjeseca. Tim ClickHouse-a aktivno radi na tome da ovu funkciju u\u010dini prilagodljivom. S druge strane, to omogu\u0107ava nekompliciranu upisivanje i spajanje segmenata, pa se propusnost prihva\u0107anja linearno skalira s brojem paralelnih umetanja, sve dok ne do\u0111e do zasi\u0107enja I\/O-a ili jezgri. <br \/>\nMe\u0111utim, ova okolnost tako\u0111er zna\u010di da sustav nije prikladan za male pakete, pa se za me\u0111uspremanje koriste Kafka servisi i umetnici. Nadalje, ClickHouse u pozadini neprekidno obavlja spajanje segmenata, tako da \u0107e mnogi mali dijelovi informacija biti objedinjeni i zapisani vi\u0161e puta, pove\u0107avaju\u0107i intenzitet pisanja. U isto vrijeme, previ\u0161e nepovezanih dijelova uzrokovat \u0107e agresivno throttling umetanja sve dok spajanje traje. Otkrili smo da je najbolji kompromis izme\u0111u prihvata podataka u stvarnom vremenu i performansi prihvata ograni\u010den broj umetanja po sekundi u tablicu.<\/p>\n<p>Klju\u010d performansi \u010ditanja tablica je indeksiranje i raspored podataka na disku. Bez obzira na to koliko brzo je obrada, kada motor mora skenirati terabajte podataka s diska i koristiti samo dio njih, to \u0107e trajati. ClickHouse je kolonsko spremi\u0161te, pa svaki segment sadr\u017ei datoteku za svaku kolonu sa sortiranim vrijednostima za svaki redak. Tako mogu biti presko\u010deni cijeli stupci koji nisu u upitu, a zatim se mogu nekoliko \u0107elija obraditi paralelno s vektoriziranom obradom. Da bi se izbjeglo potpuno skeniranje, svaki segment ima mali indeksni datoteku. <\/p>\n<p>S obzirom na to da su svi stupci sortirani prema \"primarnom klju\u010du\", indeksna datoteka sadr\u017ei samo oznake (zabilje\u017eene retke) svakog N-tog retka, kako bi ih bilo mogu\u0107e \u010duvati u memoriji \u010dak i za vrlo velike tablice. Na primjer, mo\u017ee se postaviti zadano pode\u0161avanje \"ozna\u010davanje svakog 8192. retka\", tada \u0107e \"skromno\" indeksiranje tablice s 1 trilijunom retka, koja lako staje u memoriju, zahtijevati samo 122 070 znakova. <\/p>\n<h3>Razvoj sustava<\/h3>\n<p>\nRazvoj i usavr\u0161avanje Clickhousea mo\u017ee se pratiti na <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/yandex\/ClickHouse\/pulse\">Github repo<\/a><\/noindex> i uvjeriti se da proces \"odraslog\" sustava napreduje impresivnim tempom. <\/p>\n<p><img decoding=\"async\" alt=\"Kori\u0161tenje Clickhouse-a kao zamjene za ELK, Big Query i TimescaleDB.\" src=\"\/wp-content\/uploads\/2020\/01\/19211da28e42178d26dff7623689df71.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Popularnost<\/h3>\n<p>\n\u010cini se da popularnost Clickhousea raste eksponencijalno, osobito u ruskom govoru. Konferencija High Load 2018 (Moskva, 8-9. studenog 2018.) pokazala je da takvi divovi kao \u0161to su vk.com i Badoo koriste Clickhouse za unos podataka (npr. logove) s desetaka tisu\u0107a poslu\u017eitelja istovremeno. U 40-minutnom videu <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=pbbcMcrQoXw\">Jurij Nasretdinov iz tima VKontakte obja\u0161njava kako se to radi<\/a><\/noindex>. Uskoro \u0107emo objaviti transkript na Habr-u za lak\u0161i rad s materijalom.<\/p>\n<h3>Podru\u010dja primjene<\/h3>\n<p>\nNakon \u0161to sam proveo malo vremena istra\u017euju\u0107i, mislim da postoje podru\u010dja u kojima ClickHouse mo\u017ee biti koristan ili u potpunosti zamijeniti druga, tradicionalnija i popularnija rje\u0161enja, kao \u0161to su MySQL, PostgreSQL, ELK, Google BigQuery, Amazon RedShift, TimescaleDB, Hadoop, MapReduce, Pinot i Druid. U nastavku su detalji o kori\u0161tenju ClickHousea za modernizaciju ili potpunu zamjenu gore navedenih DBMS-ova. <\/p>\n<h3>Pro\u0161irenje mogu\u0107nosti MySQL-a i PostgreSQL-a<\/h3>\n<p>\nNedavno smo djelomi\u010dno zamijenili MySQL s ClickHouseom za platformu newslettera <noindex><a rel=\"nofollow\" href=\"https:\/\/www.mautic.org\/\">Mautic newsletter<\/a><\/noindex>. Problem je bio u tome \u0161to je MySQL zbog lo\u0161eg dizajna bilje\u017eio svaku poslanu e-po\u0161tu i svaku vezu u toj e-po\u0161ti sa base64 hashom, stvaraju\u0107i ogromnu MySQL tablicu (email_stats). Nakon slanja samo 10 milijuna poruka pretplatnicima servisa, ova tablica je zauzela 150 GB prostora na disku, a MySQL je po\u010deo 'usporavati' na jednostavnim upitima. Kako bismo rije\u0161ili problem s prostorom na disku, uspje\u0161no smo koristili kompresiju InnoDB tablica, koja je smanjila njezinu veli\u010dinu za 4 puta. Me\u0111utim, i dalje nema smisla \u010duvati vi\u0161e od 20-30 milijuna e-po\u0161ta u MySQL-u samo radi pregledavanja povijesti, jer svaki jednostavni upit koji iz nekog razloga mora izvr\u0161iti potpuno skeniranje dovodi do swapanja i velikog optere\u0107enja na I\/O, o \u010demu smo redovito primali upozorenja iz Zabbixa.<\/p>\n<p><img decoding=\"async\" alt=\"Kori\u0161tenje Clickhouse-a kao zamjene za ELK, Big Query i TimescaleDB.\" src=\"\/wp-content\/uploads\/2020\/01\/11b3ee4b1a8b7c9457bd3871bd12049f.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nClickhouse koristi dva algoritma kompresije koja smanjuju volumen podataka otprilike za <noindex><a rel=\"nofollow\" href=\"https:\/\/www.altinity.com\/blog\/2017\/11\/21\/compression-in-clickhouse\">3-4 puta<\/a><\/noindex>, ali u ovom konkretnom slu\u010daju podaci su bili posebno 'kompresibilni'. <\/p>\n<p><img decoding=\"async\" alt=\"Kori\u0161tenje Clickhouse-a kao zamjene za ELK, Big Query i TimescaleDB.\" src=\"\/wp-content\/uploads\/2020\/01\/d192502073d57967620aa07da0bbfa0c.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Zamjena ELK<\/h3>\n<p>\nNa temelju vlastitog iskustva, ELK stack (ElasticSearch, Logstash i Kibana, u ovom konkretnom slu\u010daju ElasticSearch) zahtijeva mnogo vi\u0161e resursa za pokretanje nego \u0161to je potrebno za pohranu logova. ElasticSearch je izvrstan motor ako vam treba dobar pretra\u017eiva\u010d logova (a mislim da vam to zapravo nije potrebno), ali me zanima za\u0161to je de facto postao standardni motor za vo\u0111enje evidencije. Njegova brzina prihva\u0107anja u kombinaciji s Logstashom stvarala nam je probleme \u010dak i pri prili\u010dno malim optere\u0107enjima i zahtijevala dodatak sve ve\u0107ih koli\u010dina RAM-a i prostora na disku. Kao DB, Clickhouse je bolji od ElasticSearch-a iz sljede\u0107ih razloga:<\/p>\n<ul>\n<li>Podr\u0161ka za SQL dijalekat;<\/li>\n<li>Bolji stepen kompresije pohranjenih podataka;<\/li>\n<li>Podr\u0161ka za pretra\u017eivanje regularnih izraza Regex umjesto pretra\u017eivanja punog teksta;<\/li>\n<li>Pobolj\u0161ano planiranje upita i ve\u0107a ukupna u\u010dinkovitost.<\/li>\n<\/ul>\n<p>\nTrenutno je najve\u0107i problem u usporedbi ClickHouse-a s ELK-om nedostatak rje\u0161enja za otpremu logova, kao i manjak dokumentacije i vodi\u010da o ovoj temi. Ipak, svaki korisnik mo\u017ee postaviti ELK uz pomo\u0107 vodi\u010da Digital Ocean, \u0161to je izuzetno va\u017eno za brzu implementaciju sli\u010dnih tehnologija. Ovdje postoji DB motor, ali jo\u0161 uvijek nema Filebeat-a za ClickHouse. Da, tamo je prisutan. <noindex><a rel=\"nofollow\" href=\"https:\/\/www.fluentd.org\/\">fluentd<\/a><\/noindex> i sustav za rad s logovima <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/flant\/loghouse\">loghouse<\/a><\/noindex>, postoji alat <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Altinity\/clicktail\">clicktail<\/a><\/noindex> za unos log datoteka u ClickHouse, no sve to zahtijeva vi\u0161e vremena. Me\u0111utim, ClickHouse i dalje prednja\u010di zbog svoje jednostavnosti, tako da \u010dak i po\u010detnici lako instaliraju i zapo\u010dinju potpuno funkcionalnu upotrebu doslovno u roku od 10 minuta. <\/p>\n<p>Preferiraju\u0107i minimalisti\u010dka rje\u0161enja, poku\u0161ao sam koristiti FluentBit, alat za isporuku logova s vrlo malim optere\u0107enjem memorije, zajedno s ClickHouse, nastoje\u0107i izbje\u0107i kori\u0161tenje Kafke. No, potrebno je rije\u0161iti male nespojivosti kao \u0161to su <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/fluent\/fluent-bit\/issues\/848\">problemi s formatom datuma<\/a><\/noindex>, prije nego \u0161to to bude mogu\u0107e bez proxy sloja koji pretvara podatke iz FluentBit-a u ClickHouse.<\/p>\n<p>Kao alternativu Kibani, mogu\u0107e je koristiti ClickHouse kao backend <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/Vertamedia\/clickhouse-grafana\">Grafana<\/a><\/noindex>. Koliko sam razumio, mogu nastati problemi s performansama prilikom renderiranja ogromnog broja stavki podataka, posebno s starijim verzijama Grafane. U Qwintry to jo\u0161 nismo probali, ali pritu\u017ebe na to povremeno se javljaju na kanalu potpore ClickHouse na Telegramu. <\/p>\n<h3>Zamjena za Google Big Query i Amazon RedShift (rje\u0161enje za velike tvrtke)<\/h3>\n<p>\nIdealna upotreba BigQuery-a je u\u010ditati 1 TB JSON podataka i izvr\u0161iti analiti\u010dke upite nad njima. Big Query je odli\u010dan proizvod \u010dija se skalabilnost te\u0161ko mo\u017ee precijeniti. Ovo je mnogo slo\u017eeniji softver od ClickHouse-a koji radi na internom klasteru, ali s gledi\u0161ta klijenta ima mnogo zajedni\u010dkog s ClickHouse-om. BigQuery mo\u017ee brzo 'poskupjeti' \u010dim po\u010dnete pla\u0107ati za svaki SELECT, pa je to stvarno SaaS rje\u0161enje sa svim svojim prednostima i nedostacima. <\/p>\n<p>ClickHouse je najbolji izbor kada izvr\u0161avate mnogo skupi zahtjeva s obzirom na izra\u010dun. \u0160to vi\u0161e SELECT zahtjeva izvr\u0161avate svakodnevno \u2013 to vi\u0161e smisla ima zamjena Big Query-a s ClickHouse-om, jer takva zamjena mo\u017ee u\u0161tedjeti tisu\u0107e dolara kada su u pitanju mnogi terabajti obra\u0111enih podataka. To se ne odnosi na pohranjene podatke, \u010dija obrada u Big Query-u ko\u0161ta prili\u010dno malo.<\/p>\n<p>U \u010dlanku suosniva\u010da tvrtke Altinity Aleksandra Zajceva <noindex><a rel=\"nofollow\" href=\"https:\/\/www.altinity.com\/blog\/2017\/10\/23\/migration-to-clickhouse\">\u201ePrijelaz na ClickHouse\u201d<\/a><\/noindex> govori o prednostima takve migracije DBMS-a.<\/p>\n<h3>Zamjena za TimescaleDB<\/h3>\n<p>\nTimescaleDB je pro\u0161irenje PostgreSQL-a koje optimizira rad s vremenskim serijama timeseries u klasi\u010dnoj bazi podataka.<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>Iako ClickHouse nije ozbiljan konkurent u ni\u0161i vremenskih serija, zbog svoje stup\u010daste strukture i vektorskog izvo\u0111enja upita u ve\u0107ini slu\u010dajeva analiti\u010dka obrada upita je puno br\u017ea od TimescaleDB-a. Osim toga, performanse prihvata paketnih podataka ClickHouse-a su otprilike tri puta ve\u0107e, a koristi i 20 puta manje diskovnog prostora, \u0161to je zaista va\u017eno za obradu velikih koli\u010dina istorijskih podataka.<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>Za razliku od ClickHouse-a, jedini na\u010din da se u TimescaleDB-u u\u0161tedi ne\u0161to diskovnog prostora je kori\u0161\u0107enje ZFS-a ili sli\u010dnih datote\u010dnih sistema.<\/p>\n<p>Nadogradnje ClickHouse-a verovatno \u0107e uvesti delta-kompresiju, \u0161to \u0107e ga u\u010diniti jo\u0161 pogodnijim za obradu i skladi\u0161tenje podataka vremenskih serija. TimescaleDB mo\u017ee postati bolji izbor od 'gole' verzije ClickHouse-a u slede\u0107im slu\u010dajevima:<\/p>\n<ul>\n<li>mali instalacije s vrlo malo RAM-a (&lt;3 GB);<\/li>\n<li>velike koli\u010dine sitnih INSERT-ova koje ne \u017eelite da bufersite u velike fragmente;<\/li>\n<li>bolja konzistencija, jedinstvenost i ACID zahtjevi;<\/li>\n<li>podr\u0161ka za PostGIS;<\/li>\n<li>spajanje sa postoje\u0107im PostgreSQL tabelama jer je TimescaleDB su\u0161tinski PostgreSQL.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Konkurencija sa Hadoop i MapReduce sistemima<\/h3>\n<p>\nHadoop i drugi MapReduce proizvodi mogu obaviti mnoge slo\u017eene izra\u010dune, ali obi\u010dno rade s ogromnim ka\u0161njenjem. ClickHouse ovaj problem re\u0161ava obra\u0111uju\u0107i terabajte podataka i gotovo trenutno daju\u0107i rezultate. Tako je ClickHouse mnogo efikasniji za izvo\u0111enje brzih, interaktivnih analiti\u010dkih istra\u017eivanja, \u0161to bi trebalo da zainteresuje stru\u010dnjake za obradu podataka.<\/p>\n<h3>Konkurencija s Pinot i Druid<\/h3>\n<p>\nNajbli\u017ei konkurenti ClickHouse-a su stup\u010dasti linearno skalabilni open source proizvodi Pinot i Druid. Odli\u010dan pregled uporedbe ovih sistema objavljen je u \u010dlanku <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> od 1. februara 2018. godine. <\/p>\n<p><img decoding=\"async\" alt=\"Kori\u0161tenje Clickhouse-a kao zamjene za ELK, Big Query i TimescaleDB.\" src=\"\/wp-content\/uploads\/2020\/01\/fe58814aa97b287b70c2f724b72b448a.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nOvaj \u010dlanak zahteva a\u017euriranje \u2013 u njemu se navodi da ClickHouse ne podr\u017eava UPDATE i DELETE operacije, \u0161to nije sasvim ta\u010dno u vezi sa najnovijim verzijama.<\/p>\n<p>Nemamo dovoljno iskustva u radu s tim SDB-ima, ali se uop\u0107e ne sla\u017eem s slo\u017eeno\u0161\u0107u infrastrukture koja je potrebna za pokretanje Druid-a i Pinot-a \u2014 to je cijela gomila \"pokretnih dijelova\", okru\u017eena Javom sa svih strana.<\/p>\n<p>Druid i Pinot su projekti u inkubatoru Apachea \u010diji se razvoj detaljno prati na stranicama njihovih GitHub projekata. Pinot je u\u0161ao u inkubator u listopadu 2018., dok je Druid nastao 8 mjeseci ranije \u2013 u velja\u010di.<\/p>\n<p>Nedostatak informacija o tome kako AFS radi izaziva neka, mo\u017eda i glupa pitanja. Zanimljivo je, jesu li autori Pinota primijetili da je Apache Foundation sklonija Druid-u i je li to stvorilo zavist prema konkurentu? Ho\u0107e li se razvoj Druid-a usporiti, a razvoj Pinota ubrzati, ako sponzori koji podr\u017eavaju prvi odjednom poka\u017eu interes za drugi?<\/p>\n<h3>Nedostaci ClickHousea<\/h3>\n<p>\nNezrelost: o\u010dito je da je ovo jo\u0161 uvijek zanimljiva tehnologija, ali u svakom slu\u010daju, ni\u0161ta sli\u010dno nije prime\u0107eno kod drugih sustava upravljanja kolonama. <\/p>\n<p>Male umetnosti lo\u0161e funkcioniraju pri velikoj brzini: umetanja moraju biti podijeljena na ve\u0107e dijelove, jer se performanse malih umetanja smanjuju proporcionalno broju kolona u svakoj liniji. Na taj na\u010din ClickHouse pohranjuje podatke na disku \u2013 svaka kolona predstavlja 1 ili vi\u0161e datoteka, pa je za umetanje 1 reda koji sadr\u017ei 100 kolona potrebno otvoriti i zapisati najmanje 100 datoteka. Zato je za spremanje umetanja potreban posrednik (osim ako sam klijent ne osigurava spremanje) \u2013 obi\u010dno je to Kafka ili neki sustav za upravljanje redovima. Tako\u0111er se mo\u017ee koristiti Buffer table engine kako bi se kasnije kopirali veliki dijelovi podataka u MergeTree tablice.<\/p>\n<p>Spojevi tablica ograni\u010deni su operativnom memorijom servera, ali barem postoje! Na primjer, Druid i Pinot uop\u0107e nemaju takve spojeve jer ih je te\u0161ko implementirati u distribuiranim sustavima koji ne podr\u017eavaju premje\u0161tanje velikih koli\u010dina podataka izme\u0111u \u010dvorova. <\/p>\n<h3>Zaklju\u010dci<\/h3>\n<p>\nU narednim godinama planiramo \u0161iroku upotrebu ClickHouse-a u Qwintry, jer ova SDB pru\u017ea odli\u010dnu ravnote\u017eu izme\u0111u performansi, niskih tro\u0161kova, skalabilnosti i jednostavnosti. Gotovo sam siguran da \u0107e se brzo \u0161iriti \u010dim zajednica ClickHouse prona\u0111e vi\u0161e na\u010dina za kori\u0161tenje na malim i srednjim instalacijama.<\/p>\n<h3>Malo reklame \ud83d\ude42<\/h3>\n<p>\nHvala \u0161to ostajete s nama. Svi\u0111a li vam se na\u0161e \u010dlanke? \u017delite li vidjeti vi\u0161e zanimljivih materijala? Podr\u017eite nas narud\u017ebom ili preporu\u010dite prijateljima, <noindex><a rel=\"nofollow\" href=\"https:\/\/ua-hosting.company\/cloudvps\/nl\">obla\u010dni VPS za developere od 4,99 $<\/a><\/noindex>, <b>jedinstveni analog entry-level servera koji smo razvili za vas:<\/b> <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/347386\/\">Sva istina o VPS-u (KVM) E5-2697 v3 (6 jezgri) 10GB DDR4 480GB SSD 1Gbps od 19 $ ili kako pravilno dijeliti server?<\/a><\/noindex> (dostupne opcije s RAID1 i RAID10, do 24 jezgre i do 40GB DDR4).<\/p>\n<p><b>Dell R730xd je 2 puta jeftiniji u data centaru Equinix Tier IV u Amsterdamu?<\/b> Samo kod 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 100 TB od 199 $<\/a><\/noindex> u Nizozemskoj! <b>Dell R420 \u2014 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB \u2014 od 99 $!<\/b><\/b> Pro\u010ditajte o tome <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/company\/ua-hosting\/blog\/329618\/\">Kako izgraditi infrastrukturu korporacijske klase koriste\u0107i Dell R730xd E5-2650 v4 servere po cijeni od 9000 eura za sitni\u0161?<\/a><\/noindex><br \/>\n<br \/>Izvor: <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.4 - 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\/hr\/blog\/administrirovanie\/ispolzovanie-clickhouse-v-kachestve-zameny-elk-big-query-i-timescaledb\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"hr_HR\" \/>\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\/hr\/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\udd47Kori\u0161tenje Clickhouse-a kao zamjene za ELK, Big Query i TimescaleDB | ProHoster","description":"Clickhouse je kolumnarni sustav upravljanja bazama podataka za online obradu analiti\u010dkih upita (OLAP) s otvorenim izvorom.","canonical_url":"https:\/\/prohoster.info\/hr\/blog\/administrirovanie\/ispolzovanie-clickhouse-v-kachestve-zameny-elk-big-query-i-timescaledb","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"hr_HR","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\/hr\/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\/hr\/wp-json\/wp\/v2\/posts\/54918","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/comments?post=54918"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/54918\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media?parent=54918"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/categories?post=54918"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/tags?post=54918"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}