{"id":36737,"date":"2019-10-31T22:13:29","date_gmt":"2019-10-31T19:13:29","guid":{"rendered":"https:\/\/prohoster.info\/blog\/kak-my-testirovali-neskolko-baz-dannyh-vremennyh-ryadov\/"},"modified":"2019-10-31T22:13:29","modified_gmt":"2019-10-31T19:13:29","slug":"kak-my-testirovali-neskolko-baz-dannyh-vremennyh-ryadov","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/kak-my-testirovali-neskolko-baz-dannyh-vremennyh-ryadov","title":{"rendered":"How we tested several time series databases","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"How we tested several time series databases\" src=\"\/wp-content\/uploads\/2019\/08\/14e07eac02df8d1276c46c33276d8a26.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nV posledn\u00fdch nieko\u013ek\u00fdch rokoch sa datab\u00e1zy \u010dasov\u00fdch radov (Time-series databases) pretransformovali z nie\u010doho neobvykl\u00e9ho (\u0161pecializovane pou\u017e\u00edvan\u00e9ho bu\u010f v otvoren\u00fdch syst\u00e9m v monitorovania (a viazan\u00e9ho na konkr\u00e9tne rie\u0161enia), alebo v projektoch Big Data) na \u201etovar pre masy\u201c. Na \u00fazem\u00ed RF si za to zasl\u00fa\u017ei osobitn\u00e9 po\u010fakovanie Yandex a ClickHouse. Predt\u00fdm, ak ste potrebovali uchov\u00e1va\u0165 ve\u013ek\u00e9 mno\u017estvo \u010dasov\u00fdch radov \u00fadajov, museli ste sa bu\u010f vzda\u0165 a zavies\u0165 mon\u0161tru\u00f3znu Hadoop architekt\u00faru a udr\u017eiava\u0165 ju, alebo komunikova\u0165 s protokolmi \u0161pecifick\u00fdmi pre ka\u017ed\u00fa syst\u00e9m. <\/p>\n<p>M\u00f4\u017ee sa zda\u0165, \u017ee v roku 2019 bude \u010dl\u00e1nok o tom, ktor\u00fd TSDB by sa mal pou\u017e\u00edva\u0165, pozost\u00e1va\u0165 iba z jedinej vety: \u201ejednoducho pou\u017eite ClickHouse\u201c. Ale\u2026 s\u00fa tu nuansy. <\/p>\n<p>Skuto\u010dne, ClickHouse sa akt\u00edvne vyv\u00edja, u\u017e\u00edvate\u013esk\u00e1 z\u00e1klad\u0148a rastie a podpora je ve\u013emi akt\u00edvna, ale nestali sme sa zajatcami verejn\u00e9ho \u00faspechu ClickHouse, ktor\u00fd zakr\u00fdva in\u00e9, mo\u017eno \u00fa\u010dinnej\u0161ie\/ spo\u013eahlivej\u0161ie rie\u0161enia? <\/p>\n<p>Na za\u010diatku minul\u00e9ho roku sme sa zaoberali prepracovan\u00edm n\u00e1\u0161ho vlastn\u00e9ho monitorovacieho syst\u00e9mu, v procese ktor\u00e9ho sa objavila ot\u00e1zka v\u00fdberu vhodnej datab\u00e1zy pre uchov\u00e1vanie \u00fadajov. O hist\u00f3rii tejto vo\u013eby by som chcel tu rozpr\u00e1va\u0165.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>Stanovenie \u00falohy<\/h4>\n<p>\nPredov\u0161etk\u00fdm \u2013 potrebn\u00e9 \u00favodn\u00e9 slovo. Pre\u010do v\u00f4bec potrebujeme vlastn\u00fd monitorovac\u00ed syst\u00e9m a ako bol postaven\u00fd?<\/p>\n<p>Za\u010dali sme poskytova\u0165 slu\u017eby podpory v roku 2008 a v roku 2010 sa stalo jasn\u00fdm, \u017ee agregova\u0165 \u00fadaje o procesoch v klientskej infra\u0161trukt\u00fare pomocou vtedaj\u0161\u00edch rie\u0161en\u00ed sa stalo zlo\u017eit\u00fdm (hovor\u00edme o, prep\u00e1\u010dte, Cacti, Zabbixe a vznikaj\u00facom Graphite).<\/p>\n<p>Na\u0161imi hlavn\u00fdmi po\u017eiadavkami boli:<\/p>\n<ul>\n<li>podpora (v tom \u010dase \u2013 desiatok, a v bud\u00facnosti \u2013 stovk\u00e1ch) klientov v r\u00e1mci jedn\u00e9ho syst\u00e9mu a pritom existenciu centralizovan\u00e9ho syst\u00e9mu spr\u00e1vy upozornen\u00ed;<\/li>\n<li>flexibilita v spr\u00e1ve syst\u00e9mu upozornen\u00ed (eskal\u00e1cia upozornen\u00ed medzi str\u00e1\u017ecov, zoh\u013ead\u0148ovanie rozvrhu, datab\u00e1za vedomost\u00ed);<\/li>\n<li>mo\u017enos\u0165 hlbok\u00e9ho podrobnenia grafov (Zabbix vtedy vykres\u013eoval grafy vo forme obr\u00e1zkov);<\/li>\n<li>dlh\u00e9 uchov\u00e1vanie ve\u013ek\u00e9ho mno\u017estva \u00fadajov (rok a viac) a mo\u017enos\u0165 ich r\u00fdchlej selekcie.<\/li>\n<\/ul>\n<p>\nV tomto \u010dl\u00e1nku n\u00e1s zauj\u00edma posledn\u00fd bod.<\/p>\n<p>Pokia\u013e ide o ukladanie, po\u017eiadavky boli nasledovn\u00e9:<\/p>\n<ul>\n<li>syst\u00e9m by mal r\u00fdchlo fungova\u0165;<\/li>\n<li>je \u017eiaduce, aby syst\u00e9m mal SQL rozhranie;<\/li>\n<li>syst\u00e9m by mal by\u0165 stabiln\u00fd a ma\u0165 akt\u00edvnu pou\u017e\u00edvate\u013esk\u00fa z\u00e1klad\u0148u a podporu (v minulosti sme sa stretli s potrebou podporova\u0165 tak\u00e9 syst\u00e9my ako MemcacheDB, ktor\u00e9 prestali by\u0165 vyv\u00edjan\u00e9, alebo distribuovan\u00e9 \u00falo\u017eisko MooseFS, ktor\u00e9ho bugtrackery boli v \u010d\u00ednskom jazyku: nechceli sme opakova\u0165 tento pr\u00edbeh pre n\u00e1\u0161 projekt);<\/li>\n<li>zhoda s CAP te\u00f3riou: Consistency (nevyhnutn\u00e9) \u2014 d\u00e1ta musia by\u0165 aktu\u00e1lne, nechceme, aby syst\u00e9m spr\u00e1vy upozornen\u00ed nez\u00edskal nov\u00e9 d\u00e1ta a p\u013eul alerty o nedor\u00e1\u017ean\u00ed d\u00e1t vo v\u0161etk\u00fdch projektoch; Partition Tolerance (nevyhnutn\u00e9) \u2014 nechceme za\u017ei\u0165 Split Brain syst\u00e9my; Availability (nie kritick\u00e9, v pr\u00edpade existencie akt\u00edvnej repliky) \u2014 m\u00f4\u017eeme prepn\u00fa\u0165 na z\u00e1lo\u017en\u00fd syst\u00e9m v pr\u00edpade hav\u00e1rie, programovo.<\/li>\n<\/ul>\n<p>\nAkoby to bolo prekvapuj\u00face, v tom \u010dase sa pre n\u00e1s ide\u00e1lnym rie\u0161en\u00edm stal MySQL. Na\u0161a \u0161trukt\u00fara d\u00e1t bola ve\u013emi jednoduch\u00e1: id servera, id po\u010d\u00edtadla, timestamp a hodnota; r\u00fdchle vyh\u013ead\u00e1vanie hor\u00facich d\u00e1t bolo zabezpe\u010den\u00e9 ve\u013ek\u00fdm rozmerom buffer pool, a v\u00fdber historick\u00fdch d\u00e1t \u2014 SSD.<\/p>\n<p><img decoding=\"async\" alt=\"How we tested several time series databases\" src=\"\/wp-content\/uploads\/2019\/08\/555bff26c74badf85131c4d9198871af.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nT\u00fdmto sp\u00f4sobom sme dosiahli v\u00fdber \u010derstv\u00fdch dvojt\u00fd\u017ed\u0148ov\u00fdch d\u00e1t, s detailiz\u00e1ciou a\u017e na sekundu za 200 ms do momentu \u00fapln\u00e9ho vykreslenia d\u00e1t, a \u017eili sme v tomto syst\u00e9me pomerne dlho.<\/p>\n<p>Medzit\u00fdm \u010das plynul a mno\u017estvo d\u00e1t r\u00e1stlo. Do roku 2016 objemy d\u00e1t dosahovali desiatky terabajtov, \u010do v podmienkach prenajat\u00fdch SSD \u00falo\u017e\u00edsk predstavovalo zna\u010dn\u00fa invest\u00edciu.<\/p>\n<p>V tom \u010dase u\u017e akt\u00edvne prenikali st\u013apcov\u00e9 datab\u00e1zy, o ktor\u00fdch sme za\u010dali intenz\u00edvne prem\u00fd\u0161\u013ea\u0165: v st\u013apcov\u00fdch DB sa d\u00e1ta ukladaj\u00fa, ako mo\u017eno pochopi\u0165, st\u013apcovo, a ak sa pozrieme na na\u0161e d\u00e1ta, je \u013eahk\u00e9 vidie\u0165 ve\u013ek\u00e9 mno\u017estvo duplik\u00e1tov, ktor\u00e9 by sa mohli, pri pou\u017eit\u00ed st\u013apcovej DB, skomprimova\u0165.<\/p>\n<p><img decoding=\"async\" alt=\"How we tested several time series databases\" src=\"\/wp-content\/uploads\/2019\/08\/2e1a6010fcb09de8cd28ec826752d160.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAle k\u013e\u00fa\u010dov\u00fd syst\u00e9m spolo\u010dnosti pokra\u010doval v stabilnej prev\u00e1dzke a experimentova\u0165 s prechodom na nie\u010do in\u00e9 sme nechceli.<\/p>\n<p>V roku 2017 na konferencii Percona Live v San Jose sa mo\u017eno po prv\u00fdkr\u00e1t predstavili v\u00fdvoj\u00e1ri Clickhouse. Na prv\u00fd poh\u013ead bola t\u00e1to s\u00fastava pripraven\u00e1 na produkciu (ve\u010f Yandex.Metrica je tvrd\u00e1 produkcia), podpora bola r\u00fdchla a jednoduch\u00e1 a najm\u00e4 samotn\u00e1 prev\u00e1dzka bola jednoduch\u00e1. Od roku 2018 sme za\u010dali proces prechodu. Ale do tej doby sa objavilo ve\u013ea \u201edospel\u00fdch\u201c a viac-menej overen\u00fdch syst\u00e9mov TSDB, a tak sme sa rozhodli venova\u0165 zna\u010dn\u00fd \u010das porovn\u00e1vaniu alternat\u00edv, aby sme sa uistili, \u017ee neexistuj\u00fa alternat\u00edvne rie\u0161enia k Clickhouse-u, ktor\u00e9 vyhovuj\u00fa na\u0161im po\u017eiadavk\u00e1m.<\/p>\n<p>Okrem u\u017e uveden\u00fdch po\u017eiadaviek na \u00falo\u017eisko sa objavili nov\u00e9:<\/p>\n<ul>\n<li>nov\u00fd syst\u00e9m by mal poskytova\u0165 minim\u00e1lne rovnak\u00fd v\u00fdkon ako MySQL na rovnakom hardv\u00e9ri;<\/li>\n<li>\u00falo\u017eisko nov\u00e9ho syst\u00e9mu by malo zaberaj\u00fa v\u00fdrazne menej miesta;<\/li>\n<li>DBMS by mala by\u0165 na\u010falej jednoduch\u00e1 na spr\u00e1vu;<\/li>\n<li>chceli sme minim\u00e1lne meni\u0165 aplik\u00e1ciu pri zmene DBMS.<\/li>\n<\/ul>\n<p><\/p>\n<h4>Ak\u00e9 syst\u00e9my sme za\u010dali zva\u017eova\u0165<\/h4>\n<p>\n<b><u>Apache Hive\/Apache Impala<\/u><\/b><br \/>\nStar\u00fd overen\u00fd Hadoop stack. V podstate ide o SQL rozhranie, ktor\u00e9 je postaven\u00e9 nad \u00falo\u017eiskom d\u00e1t vo vlastn\u00fdch form\u00e1toch na HDFS. <\/p>\n<p>V\u00fdhody.<\/p>\n<ul>\n<li>Pri stabilnej prev\u00e1dzke je ve\u013emi jednoduch\u00e9 \u0161k\u00e1lova\u0165 d\u00e1ta.<\/li>\n<li>Existuj\u00fa st\u013apcov\u00e9 rie\u0161enia na ukladanie d\u00e1t (menej miesta).<\/li>\n<li>Ve\u013emi r\u00fdchle vykon\u00e1vanie paralelne spracovan\u00fdch \u00faloh pri dostato\u010dn\u00fdch zdrojoch.<\/li>\n<\/ul>\n<p>\nNev\u00fdhody.<\/p>\n<ul>\n<li>Je to Hadoop, a je zlo\u017eit\u00fd na prev\u00e1dzku. Ak nie sme pripraven\u00ed prij\u00edma\u0165 hotov\u00e9 rie\u0161enie v cloude (a nie sme pripraven\u00ed z h\u013eadiska n\u00e1kladov), cel\u00fd stack bude potrebn\u00e9 zostavi\u0165 a udr\u017eiava\u0165 vlastn\u00fdmi administr\u00e1tormi, \u010do je ve\u013emi ne\u017eelan\u00e9.<\/li>\n<li>\u00dadaje sa agreguj\u00fa <noindex><a rel=\"nofollow\" href=\"https:\/\/www.percona.com\/blog\/2014\/04\/21\/using-apache-hadoop-and-impala-together-with-mysql-for-data-analysis\/\">naozaj r\u00fdchlo<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>\nAv\u0161ak:<\/p>\n<p><img decoding=\"async\" alt=\"How we tested several time series databases\" src=\"\/wp-content\/uploads\/2019\/08\/6baa1b6024def8c1c7518ef386cfc8d3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nR\u00fdchlos\u0165 sa dosahuje \u0161k\u00e1lovan\u00edm po\u010dtu v\u00fdpo\u010dtov\u00fdch serverov. Jednoducho povedan\u00e9, ak sme ve\u013ek\u00e1 spolo\u010dnos\u0165, ktor\u00e1 sa zaober\u00e1 predikciou a je pre podnik mimoriadne d\u00f4le\u017eit\u00e9 \u010do najr\u00fdchlej\u0161ie agregova\u0165 inform\u00e1cie (nech to stoj\u00ed aj mno\u017estvo v\u00fdpo\u010dtov\u00fdch zdrojov), \u2014 m\u00f4\u017ee to by\u0165 na\u0161a vo\u013eba. Ale neboli sme pripraven\u00ed v\u00fdrazne zvy\u0161ova\u0165 park hardv\u00e9ru pre zv\u00fd\u0161enie r\u00fdchlosti vykon\u00e1vania \u00faloh.<\/p>\n<p><b><u>Druid\/Pinot<\/u><\/b><\/p>\n<p>U\u017e ove\u013ea viac o konkr\u00e9tnych TSDB, av\u0161ak op\u00e4\u0165 \u2014 Hadoop stack.<\/p>\n<p>Existuje <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@leventov\/comparison-of-the-open-source-olap-systems-for-big-data-clickhouse-druid-and-pinot-8e042a5ed1c7\">skvel\u00fd \u010dl\u00e1nok, ktor\u00fd porovn\u00e1va v\u00fdhody a nev\u00fdhody Druid a Pinot v porovnan\u00ed s ClickHouse <\/a><\/noindex>. <\/p>\n<p>Ak by sme to mali zhrn\u00fa\u0165: Druid\/Pinot vyzeraj\u00fa lep\u0161ie ako ClickHouse v pr\u00edpadoch, ke\u010f:<\/p>\n<ul>\n<li>M\u00e1te heterog\u00e9nny charakter d\u00e1t (v na\u0161om pr\u00edpade zapisujeme iba \u010dasov\u00e9 rady serverov\u00fdch metr\u00edk, a v podstate ide o jednu tabu\u013eku. M\u00f4\u017eu v\u0161ak existova\u0165 aj in\u00e9 pr\u00edpady: \u010dasov\u00e9 rady zariaden\u00ed, ekonomick\u00e9 \u010dasov\u00e9 rady a podobne \u2014 ka\u017ed\u00e9 s vlastnou \u0161trukt\u00farou, ktor\u00fa je potrebn\u00e9 agregova\u0165 a spracov\u00e1va\u0165).<\/li>\n<li>T\u00fdchto \u00fadajov je pritom ve\u013emi ve\u013ea.<\/li>\n<li>Tabu\u013eky a \u00fadaje s \u010dasov\u00fdmi radmi sa objavuj\u00fa a mizn\u00fa (teda nejak\u00fd s\u00fabor \u00fadajov pri\u0161iel, bol analyzovan\u00fd a odstr\u00e1nen\u00fd).<\/li>\n<li>Neexistuje jasn\u00e9 krit\u00e9rium, pod\u013ea ktor\u00e9ho by mohli by\u0165 \u00fadaje partitionovan\u00e9.<\/li>\n<\/ul>\n<p>\nV opa\u010dn\u00fdch pr\u00edpadoch sa lep\u0161ie ukazuje ClickHouse, a to je n\u00e1\u0161 pr\u00edpad.<\/p>\n<p><b><u>ClickHouse<\/u><\/b><\/p>\n<ul>\n<li>Podobn\u00e9 SQL.<\/li>\n<li>Je jednoduch\u00fd na spr\u00e1vu.<\/li>\n<li>\u013dudia hovoria, \u017ee funguje.<\/li>\n<\/ul>\n<p>\nDost\u00e1va sa do zoznamu testovania.<\/p>\n<p><b><u>InfluxDB<\/u><\/b><\/p>\n<p>Zahrani\u010dn\u00e1 alternat\u00edva k ClickHouse. Z m\u00ednusov: Vysok\u00e1 dostupnos\u0165 je pr\u00edtomn\u00e1 len v komer\u010dnej verzii, ale treba porovna\u0165.<\/p>\n<p>Dost\u00e1va sa do zoznamu testovania.<\/p>\n<p><b><u>Cassandra<\/u><\/b> <\/p>\n<p>Na jednej strane vieme, \u017ee sa pou\u017e\u00edva na uchov\u00e1vanie metrick\u00fdch \u010dasov\u00fdch r\u00e1dov v tak\u00fdch monitorovac\u00edch syst\u00e9moch, ako napr\u00edklad, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.signalfx.com\/blog\/making-cassandra-perform-as-a-tsdb\/\">SignalFX<\/a><\/noindex> alebo OkMeter. Av\u0161ak existuje \u0161pecifika.<\/p>\n<p>Cassandra nie je st\u013apcov\u00e1 datab\u00e1za v jej be\u017enom ch\u00e1pan\u00ed. Vyzer\u00e1 sk\u00f4r ako riadkov\u00e1, ale v ka\u017edom riadku m\u00f4\u017ee by\u0165 in\u00e9 mno\u017estvo st\u013apcov, v\u010faka \u010domu je \u013eahk\u00e9 usporiada\u0165 st\u013apcov\u00fa prezent\u00e1ciu. V tomto zmysle je jasn\u00e9, \u017ee pri obmedzen\u00ed na 2 miliardy st\u013apcov je mo\u017en\u00e9 uchov\u00e1va\u0165 ur\u010dit\u00e9 \u00fadaje pr\u00e1ve v st\u013apcoch (napr\u00edklad tie ist\u00e9 \u010dasov\u00e9 rady). Napr\u00edklad v MySQL je obmedzenie na 4096 st\u013apcov a tam sa \u013eahko naraz\u00ed na chybu s k\u00f3dom 1117, ak sa pok\u00fasite urobi\u0165 to ist\u00e9.<\/p>\n<p>Cassandra je datab\u00e1zov\u00fd syst\u00e9m ur\u010den\u00fd na ukladanie ve\u013ek\u00fdch objemov d\u00e1t v distribuovanom syst\u00e9me bez hlavn\u00e9ho uzla, a pod\u013ea vy\u0161\u0161ie spomenutej CAP te\u00f3rie je Cassandra viac zameran\u00e1 na AP, teda na dostupnos\u0165 d\u00e1t a odolnos\u0165 vo\u010di rozdeleniu partition. Tento n\u00e1stroj je teda skvelou vo\u013ebou, ak je potrebn\u00e9 iba zapisova\u0165 do tejto datab\u00e1zy a \u010d\u00edta\u0165 z nej len zriedka. Preto je logick\u00e9 pou\u017ei\u0165 Cassandru ako \u201echladn\u00e9\u201c \u00falo\u017eisko. T\u00fdm sa rozumie dlhodob\u00e9 spo\u013eahliv\u00e9 miesto na ukladanie ve\u013ek\u00fdch objemov historick\u00fdch d\u00e1t, ktor\u00e9 sa zriedka vy\u017eaduj\u00fa, ale pri potrebe sa daj\u00fa jednoducho z\u00edska\u0165. Napriek tomu, pre \u00faplnos\u0165 obrazu, ju otestujeme aj my. Av\u0161ak, ako som u\u017e povedal, nem\u00e1m chu\u0165 akt\u00edvne prep\u00edsa\u0165 k\u00f3d pod\u013ea vybranej datab\u00e1zy, preto ju budeme testova\u0165 obmedzene \u2014 bez prisp\u00f4sobenia \u0161trukt\u00fary datab\u00e1zy \u0161pecifik\u00e1m Cassandry.<\/p>\n<p><b><u>Prometheus<\/u><\/b><\/p>\n<p>Nu\u017ee, a z ist\u00e9ho zvedavosti sme sa rozhodli otestova\u0165 v\u00fdkon \u00falo\u017eiska Prometheus \u2014 len aby sme pochopili, \u010di sme r\u00fdchlej\u0161\u00ed ako aktu\u00e1lne rie\u0161enia alebo pomal\u0161\u00ed, a v akej miere.<\/p>\n<h4>Metodol\u00f3gia a v\u00fdsledky testovania<\/h4>\n<p>\nTak\u017ee sme otestovali 5 datab\u00e1z v nasleduj\u00facich 6 konfigur\u00e1ci\u00e1ch: ClickHouse (1 uzol), ClickHouse (distribuovan\u00e1 tabu\u013eka na 3 uzloch), InfluxDB, Mysql 8, Cassandra (3 uzly) a Prometheus. Testovac\u00ed pl\u00e1n je nasleduj\u00faci:<\/p>\n<ol>\n<li>nahr\u00e1vame historick\u00e9 \u00fadaje za t\u00fd\u017ede\u0148 (840 mili\u00f3nov hodn\u00f4t denne; 208 tis\u00edc metr\u00edk);<\/li>\n<li>generujeme z\u00e1\u0165a\u017e na z\u00e1pis (presk\u00famali sme 6 re\u017eimov z\u00e1\u0165a\u017ee, pozri ni\u017e\u0161ie);<\/li>\n<li>paralelne so z\u00e1pisom ob\u010das rob\u00edme v\u00fdbery, emuluj\u00fac po\u017eiadavky pou\u017e\u00edvate\u013ea pracuj\u00faceho s grafmi. Aby sme to pr\u00edli\u0161 nekomplikovali, vybrali sme \u00fadaje pre 10 metr\u00edk (presne to\u013eko ich je na grafe CPU) za t\u00fd\u017ede\u0148.<\/li>\n<\/ol>\n<p>\nZat\u011b\u017eujeme, emuluj\u00fac spr\u00e1vanie agenta n\u00e1\u0161ho monitorovania, ktor\u00fd posiela hodnoty v ka\u017edej metrike ka\u017ed\u00fdch 15 sek\u00fand. Z\u00e1rove\u0148 n\u00e1s zauj\u00edma variabilita:<\/p>\n<ul>\n<li>celkov\u00fd po\u010det metr\u00edk, do ktor\u00fdch sa zapisuj\u00fa d\u00e1ta;<\/li>\n<li>interval odosielania hodn\u00f4t do jednej metriky;<\/li>\n<li>ve\u013ekos\u0165 d\u00e1vky.<\/li>\n<\/ul>\n<p>\nO ve\u013ekosti d\u00e1vky. Ke\u010f\u017ee takmer v\u0161etky na\u0161e testovan\u00e9 datab\u00e1zy neodpor\u00fa\u010daj\u00fa za\u0165a\u017eova\u0165 jednorazov\u00fdmi insertmi, potrebujeme rel\u00e1ciu, ktor\u00e1 zbiera prich\u00e1dzaj\u00face metriky a zoskupuje ich pod\u013ea mno\u017estva a zapisuje ich do datab\u00e1zy ako hromadn\u00fd insert.<\/p>\n<p>Aby sme lep\u0161ie porozumeli, ako interpretova\u0165 z\u00edskan\u00e9 \u00fadaje, predstavi\u0165 si m\u00f4\u017eeme, \u017ee neposielame len hromadu metr\u00edk, ale s\u00fa usporiadan\u00e9 do serverov \u2014 po 125 metr\u00edk na server. Server tu je len virtu\u00e1lna entita \u2014 len aby sme ch\u00e1pali, \u017ee napr\u00edklad 10000 metr\u00edk zodpoved\u00e1 pribli\u017ene 80 serverom.<\/p>\n<p>Na z\u00e1klade toho m\u00e1me \u0161es\u0165 re\u017eimov za\u0165a\u017eenia datab\u00e1zy pri z\u00e1pise:<\/p>\n<p><img decoding=\"async\" alt=\"How we tested several time series databases\" src=\"\/wp-content\/uploads\/2019\/08\/3ba70050dc7e711cb8f3d14ac1a6707b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTu s\u00fa dva aspekty. Po prv\u00e9, pre Cassandru s\u00fa tak\u00e9to ve\u013ekosti batchov pr\u00edli\u0161 ve\u013ek\u00e9, pou\u017eili sme hodnoty 50 alebo 100. A po druh\u00e9, ke\u010f\u017ee Prometheus funguje striktne v re\u017eime pull, teda s\u00e1m chod\u00ed a z\u00edskava \u00fadaje zo zdrojov metr\u00edk (a dokonca pushgateway, napriek n\u00e1zvu, situ\u00e1ciu z\u00e1sadne nemen\u00ed), zodpovedaj\u00face za\u0165a\u017eenia boli realizovan\u00e9 pomocou kombin\u00e1cie statick\u00fdch konfigur\u00e1ci\u00ed.<\/p>\n<p>V\u00fdsledky testovania s\u00fa tak\u00e9to:<\/p>\n<p><img decoding=\"async\" alt=\"How we tested several time series databases\" src=\"\/wp-content\/uploads\/2019\/08\/9df12bee66ad8c5df720ba08472efead.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"How we tested several time series databases\" src=\"\/wp-content\/uploads\/2019\/08\/891090bf0461c7e3c48e38eb36f9e217.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"How we tested several time series databases\" src=\"\/wp-content\/uploads\/2019\/08\/137f944b3578ab5bad4ebc5fa6f96b79.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>\u010co je potrebn\u00e9 poznamena\u0165<\/b>: fantasticky r\u00fdchle dotazy z Prometheus, hrozne pomal\u00e9 dotazy z Cassandra, neprijate\u013ene pomal\u00e9 dotazy z InfluxDB; z h\u013eadiska r\u00fdchlosti z\u00e1pisu v\u0161etky porazil ClickHouse, pri\u010dom Prometheus sa s\u00fa\u0165a\u017ee nez\u00fa\u010dast\u0148uje, preto\u017ee vklad\u00e1 d\u00e1ta samo do seba a my ni\u010d nemer\u00e1me.<\/p>\n<p><u><b>Nakoniec<\/b><\/u>: najlep\u0161ie sa uk\u00e1zali ClickHouse a InfluxDB, ale klaster z Influxu je mo\u017en\u00e9 postavi\u0165 len na z\u00e1klade Enterprise verzie, ktor\u00e1 stoj\u00ed peniaze, zatia\u013e \u010do ClickHouse je bezplatn\u00fd a vznikol v Rusku. Je logick\u00e9, \u017ee v USA je v\u00fdber pravdepodobne v prospech InfluxDB, zatia\u013e \u010do u n\u00e1s je to v prospech ClickHouse.<br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/itsumma\/blog\/462111\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0417\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043b\u0435\u0442 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0440\u044f\u0434\u043e\u0432 (Time-series databases) \u043f\u0440\u0435\u0432\u0440\u0430\u0442\u0438\u043b\u0438\u0441\u044c \u0438\u0437 \u0434\u0438\u043a\u043e\u0432\u0438\u043d\u043d\u043e\u0439 \u0448\u0442\u0443\u043a\u0438 (\u0443\u0437\u043a\u043e\u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0449\u0435\u0439\u0441\u044f \u043b\u0438\u0431\u043e \u0432 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u0445 \u043c\u043e\u043d\u0438\u0442\u043e\u0440\u0438\u043d\u0433\u0430 (\u0438 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0439 \u043a \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u043c \u0440\u0435\u0448\u0435\u043d\u0438\u044f\u043c), \u043b\u0438\u0431\u043e \u0432 Big Data \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445) \u0432 \u00ab\u0442\u043e\u0432\u0430\u0440 \u043d\u0430\u0440\u043e\u0434\u043d\u043e\u0433\u043e \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u044f\u00bb. \u041d\u0430 \u0442\u0435\u0440\u0440\u0438\u0442\u043e\u0440\u0438\u0438 \u0420\u0424 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0435 \u0441\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u044d\u0442\u043e \u043d\u0430\u0434\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u042f\u043d\u0434\u0435\u043a\u0441\u0443 \u0438 ClickHouse\u2019\u0443. \u0414\u043e \u044d\u0442\u043e\u0433\u043e \u043c\u043e\u043c\u0435\u043d\u0442\u0430, \u0435\u0441\u043b\u0438 \u0432\u0430\u043c \u0431\u044b\u043b\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":27518,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-36737","post","type-post","status-publish","format-standard","has-post-thumbnail","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=\"\u0417\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043b\u0435\u0442 \u0431\u0430\u0437\u044b.\" \/>\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\/sk\/blog\/administrirovanie\/kak-my-testirovali-neskolko-baz-dannyh-vremennyh-ryadov\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sk_SK\" \/>\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\u041a\u0430\u043a \u043c\u044b \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0440\u044f\u0434\u043e\u0432 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0417\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043b\u0435\u0442 \u0431\u0430\u0437\u044b.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/kak-my-testirovali-neskolko-baz-dannyh-vremennyh-ryadov\" \/>\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-10-31T19:13:29+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:13:29+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\udd47Ako sme testovali nieko\u013eko datab\u00e1z \u010dasov\u00fdch radov | ProHoster","description":"V posledn\u00fdch nieko\u013ek\u00fdch rokoch datab\u00e1zy.","canonical_url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/kak-my-testirovali-neskolko-baz-dannyh-vremennyh-ryadov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sk_SK","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\u041a\u0430\u043a \u043c\u044b \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0440\u044f\u0434\u043e\u0432 | ProHoster","og:description":"\u0417\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043b\u0435\u0442 \u0431\u0430\u0437\u044b.","og:url":"https:\/\/prohoster.info\/sk\/blog\/administrirovanie\/kak-my-testirovali-neskolko-baz-dannyh-vremennyh-ryadov","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-10-31T19:13:29+00:00","article:modified_time":"2019-10-31T19:13:29+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36737","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-22 04:38:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:39:24","updated":"2026-01-22 04:38:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/36737","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/comments?post=36737"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/posts\/36737\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media\/27518"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/media?parent=36737"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/categories?post=36737"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sk\/wp-json\/wp\/v2\/tags?post=36737"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}