{"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\/ro\/blog\/administrirovanie\/kak-my-testirovali-neskolko-baz-dannyh-vremennyh-ryadov","title":{"rendered":"Cum am testat mai multe baze de date pentru serii temporale","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Cum am testat mai multe baze de date pentru serii temporale\" src=\"\/wp-content\/uploads\/2019\/08\/14e07eac02df8d1276c46c33276d8a26.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00cen ultimii c\u00e2\u021biva ani, bazele de date cu serii temporale (Time-series databases) au evoluat de la un concept rar \u00eent\u00e2lnit (aplicat \u00een mod special fie \u00een sistemele deschise de monitorizare, legate de solu\u021bii specifice, fie \u00een proiectele Big Data) la un \u201eprodus de consum de mas\u0103\u201d. \u00cen Rusia, un mare merit pentru aceasta \u00eel au Yandex \u0219i ClickHouse. P\u00e2n\u0103 \u00een acel moment, dac\u0103 aveai nevoie s\u0103 stochezi o cantitate mare de date cu serii temporale, trebuia fie s\u0103 te obi\u0219nuie\u0219ti cu necesitatea de a implementa un stiv\u0103 Hadoop monstruoas\u0103 \u0219i de a-i oferi suport, fie s\u0103 comunici cu protocoale specifice fiec\u0103rei sisteme. <\/p>\n<p>Ar putea p\u0103rea c\u0103 \u00een 2019, un articol despre ce TSDB ar trebui folosit ar consta doar dintr-o singur\u0103 propozi\u021bie: \u201efolose\u0219te pur \u0219i simplu ClickHouse\u201d. Dar... exist\u0103 nuan\u021be. <\/p>\n<p>\u00centr-adev\u0103r, ClickHouse se dezvolt\u0103 activ, baza de utilizatori cre\u0219te, iar suportul este foarte activ, dar nu cumva am devenit prizonieri ai succesului public al ClickHouse-ului, care a eclipsat alte solu\u021bii, poate, mai eficiente\/fiabile? <\/p>\n<p>La \u00eenceputul anului trecut, am \u00eenceput s\u0103 refacem propriul nostru sistem de monitorizare, iar \u00een acest proces a ap\u0103rut \u00eentrebarea alegerii unei baze potrivite pentru stocarea datelor. Despre istoria acestei alegeri vreau s\u0103 povestesc aici.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>Formularea problemei<\/h4>\n<p>\n\u00cen primul r\u00e2nd \u2014 o introducere necesar\u0103. De ce avem nevoie de un sistem de monitorizare propriu \u0219i cum era structurat?<\/p>\n<p>Am \u00eenceput s\u0103 oferim servicii de suport \u00een 2008 \u0219i p\u00e2n\u0103 \u00een 2010 a devenit clar c\u0103 agregarea datelor despre procesele din infrastructura clien\u021bilor cu solu\u021biile existente la momentul respectiv a devenit dificil\u0103 (vorbim despre, Dumnezeule, Cacti, Zabbix \u0219i Graphite care abia \u00eencepea s\u0103 prind\u0103 contur).<\/p>\n<p>Principalele noastre cerin\u021be erau:<\/p>\n<ul>\n<li>suportul (la acel moment \u2014 zeci, iar pe viitor \u2014 sute) de clien\u021bi \u00eentr-o singur\u0103 sistem\u0103 \u0219i totodat\u0103 existen\u021ba unui sistem centralizat de gestionare a notific\u0103rilor;<\/li>\n<li>flexibilitatea \u00een gestionarea sistemului de notific\u0103ri (escaladarea notific\u0103rilor \u00eentre angaja\u021bi, gestionarea programului, baza de cuno\u0219tin\u021be);<\/li>\n<li>posibilitatea de a detalia profund graficele (Zabbix la acel moment reda graficele sub form\u0103 de imagini);<\/li>\n<li>p\u0103strarea pe termen lung a unei cantit\u0103\u021bi mari de date (un an sau mai mult) \u0219i posibilitatea de a le extrage rapid.<\/li>\n<\/ul>\n<p>\n\u00cen acest articol, ne intereseaz\u0103 ultimul punct.<\/p>\n<p>Vorbind despre stocare, cerin\u021bele au fost urm\u0103toarele:<\/p>\n<ul>\n<li>sistemul trebuie s\u0103 func\u021bioneze rapid;<\/li>\n<li>ar fi de dorit ca sistemul s\u0103 aib\u0103 o interfa\u021b\u0103 SQL;<\/li>\n<li>sistemul trebuie s\u0103 fie stabil \u0219i s\u0103 aib\u0103 o baz\u0103 de utilizatori activ\u0103 \u0219i suport (odat\u0103 ne-am confruntat cu necesitatea de a sus\u021bine astfel de sisteme, cum ar fi MemcacheDB, care a fost abandonat\u0103, sau sistemul de stocare distribuit MooseFS, al c\u0103rui tracker de erori era \u00een chinez\u0103: nu ne-am dorit s\u0103 repet\u0103m aceast\u0103 poveste pentru proiectul nostru);<\/li>\n<li>respectarea teoremei CAP: Consisten\u021b\u0103 (necesar\u0103) - datele trebuie s\u0103 fie actuale, nu ne dorim ca sistemul de gestionare a alertelor s\u0103 nu primeasc\u0103 date noi \u0219i s\u0103 emit\u0103 alerte despre lipsa datelor pentru toate proiectele; Toleran\u021b\u0103 la parti\u021bii (necesar\u0103) - nu vrem s\u0103 avem o situa\u021bie de Separare a Creierului; Disponibilitate (nu critic\u0103, \u00een cazul existen\u021bei unei replici active) - putem comuta noi \u00een\u0219ine pe sistemul de rezerv\u0103 \u00een caz de urgen\u021b\u0103, prin cod.<\/li>\n<\/ul>\n<p>\nCumva, la acel moment, solu\u021bia ideal\u0103 pentru noi s-a dovedit a fi MySQL. Structura noastr\u0103 de date era extrem de simpl\u0103: id-ul serverului, id-ul contoarelor, timestamp \u0219i valoare; extragerea rapid\u0103 a datelor fierbin\u021bi era asigurat\u0103 printr-o dimensiune mare a buffer pool-ului, iar extragerea datelor istorice - prin SSD.<\/p>\n<p><img decoding=\"async\" alt=\"Cum am testat mai multe baze de date pentru serii temporale\" src=\"\/wp-content\/uploads\/2019\/08\/555bff26c74badf85131c4d9198871af.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAstfel, am reu\u0219it s\u0103 ob\u021binem extragerea datelor proaspete din ultimele dou\u0103 s\u0103pt\u0103m\u00e2ni, cu detalii p\u00e2n\u0103 la secund\u0103, \u00een 200 ms \u00eenainte de momentul complet\u0103rii extragerii datelor, \u0219i am tr\u0103it \u00een acest sistem o perioad\u0103 destul de lung\u0103.<\/p>\n<p>\u00centre timp, timpul a trecut \u0219i volumul de date a crescut. P\u00e2n\u0103 \u00een anul 2016, volumul de date a ajuns la zeci de terabi\u021bi, ceea ce reprezenta o cheltuial\u0103 semnificativ\u0103 \u00een condi\u021biile stoc\u0103rii SSD \u00eenchiriate.<\/p>\n<p>P\u00e2n\u0103 \u00een acel moment, bazele de date coloanelor au c\u00e2\u0219tigat popularitate, la care am \u00eenceput s\u0103 ne g\u00e2ndim activ: \u00een bazele de date coloanelor, datele sunt stocate, a\u0219a cum se poate \u00een\u021belege, pe coloane, iar dac\u0103 ne uit\u0103m la datele noastre, putem observa o mare cantitate de duplic\u0103ri care, \u00een cazul utiliz\u0103rii unei baze de date pe coloane, ar putea fi comprimate.<\/p>\n<p><img decoding=\"async\" alt=\"Cum am testat mai multe baze de date pentru serii temporale\" src=\"\/wp-content\/uploads\/2019\/08\/2e1a6010fcb09de8cd28ec826752d160.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCu toate acestea, sistemul cheie pentru activitatea companiei a continuat s\u0103 func\u021bioneze stabil, \u0219i nu ne-am dorit s\u0103 experiment\u0103m cu trecerea la altceva.<\/p>\n<p>\u00cen 2017, la conferin\u021ba Percona Live din San Jose, probabil pentru prima dat\u0103, dezvoltatorii Clickhouse s-au f\u0103cut remarca\u021bi. La prima vedere, sistemul p\u0103rea s\u0103 fie preg\u0103tit pentru produc\u021bie (iar Yandex.Metrica este adev\u0103ratul mediu de produc\u021bie), suportul era rapid \u0219i simplu, iar, cel mai important, exploatarea era u\u0219oar\u0103. Din 2018, am \u00eenceput procesul de tranzi\u021bie. Dar, p\u00e2n\u0103 atunci, existau multe sisteme TSDB \u201emature\u201d \u0219i testate \u00een timp, iar noi am decis s\u0103 dedic\u0103m un timp semnificativ pentru a compara alternativele, pentru a ne asigura c\u0103 nu exist\u0103 solu\u021bii alternative la Clickhouse, conform cerin\u021belor noastre.<\/p>\n<p>Pe l\u00e2ng\u0103 cerin\u021bele deja men\u021bionate, au ap\u0103rut altele noi:<\/p>\n<ul>\n<li>noua sistem\u0103 ar trebui s\u0103 ofere, cel pu\u021bin, aceea\u0219i performan\u021b\u0103 ca MySQL, pe aceea\u0219i configura\u021bie hardware;<\/li>\n<li>stocarea noii sisteme ar trebui s\u0103 ocupe semnificativ mai pu\u021bin spa\u021biu;<\/li>\n<li>DBMS-ul ar trebui s\u0103 r\u0103m\u00e2n\u0103 simplu de gestionat;<\/li>\n<li>ne-am dorit s\u0103 modific\u0103m aplica\u021bia c\u00e2t mai pu\u021bin posibil la schimbarea DBMS-ului.<\/li>\n<\/ul>\n<p><\/p>\n<h4>Ce sisteme am \u00eenceput s\u0103 analiz\u0103m<\/h4>\n<p>\n<b><u>Apache Hive\/Apache Impala<\/u><\/b><br \/>\nUn stac Hadoop testat \u00een lupt\u0103. Practic, este o interfa\u021b\u0103 SQL construit\u0103 peste un sistem de stocare \u00een formate proprietare pe HDFS. <\/p>\n<p>Avantaje.<\/p>\n<ul>\n<li>\u00cen cazul unei exploat\u0103ri stabile, datele sunt foarte u\u0219or de scalat.<\/li>\n<li>Exist\u0103 solu\u021bii columnare pentru stocarea datelor (ocup\u0103 mai pu\u021bin spa\u021biu).<\/li>\n<li>Execu\u021bia rapid\u0103 a sarcinilor paralele \u00een prezen\u021ba resurselor.<\/li>\n<\/ul>\n<p>\nMinusuri.<\/p>\n<ul>\n<li>Este Hadoop \u0219i este complex de exploatat. Dac\u0103 nu suntem preg\u0103ti\u021bi s\u0103 adopt\u0103m o solu\u021bie gata preparat\u0103 \u00een cloud (\u0219i nu suntem din cauza costurilor), \u00eentregul stac va trebui s\u0103 fie asamblat \u0219i \u00eentre\u021binut manual de c\u0103tre administratori, iar acest lucru nu ne-ar pl\u0103cea deloc.<\/li>\n<li>Datele sunt agregate <noindex><a rel=\"nofollow\" href=\"https:\/\/www.percona.com\/blog\/2014\/04\/21\/using-apache-hadoop-and-impala-together-with-mysql-for-data-analysis\/\">cu adev\u0103rat rapid<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>\nCu toate acestea:<\/p>\n<p><img decoding=\"async\" alt=\"Cum am testat mai multe baze de date pentru serii temporale\" src=\"\/wp-content\/uploads\/2019\/08\/6baa1b6024def8c1c7518ef386cfc8d3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nViteza este atins\u0103 prin scalarea num\u0103rului de servere de calcul. Cu alte cuvinte, dac\u0103 suntem o companie mare, ne ocup\u0103m de analize \u0219i pentru afacerea noastr\u0103 este critic s\u0103 agreg\u0103m informa\u021biile c\u00e2t mai rapid posibil (chiar dac\u0103 acest lucru necesit\u0103 utilizarea unei cantit\u0103\u021bi mari de resurse de calcul) \u2014 acesta ar putea fi alegerera noastr\u0103. Dar nu eram preg\u0103ti\u021bi s\u0103 cre\u0219tem semnificativ parcul de echipamente pentru a spori viteza de execu\u021bie a sarcinilor.<\/p>\n<p><b><u>Druid\/Pinot<\/u><\/b><\/p>\n<p>Acestea sunt deja mai specifice pentru TSDB, dar din nou \u2014 un stac Hadoop.<\/p>\n<p>Exist\u0103 <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@leventov\/comparison-of-the-open-source-olap-systems-for-big-data-clickhouse-druid-and-pinot-8e042a5ed1c7\">un articol excelent care compar\u0103 avantajele \u0219i dezavantajele Druid \u0219i Pinot \u00een compara\u021bie cu ClickHouse <\/a><\/noindex>. <\/p>\n<p>Dac\u0103 ar fi s\u0103 spunem \u00een c\u00e2teva cuvinte: Druid\/Pinot par mai bune dec\u00e2t ClickHouse \u00een cazurile \u00een care:<\/p>\n<ul>\n<li>Ave\u021bi un caracter heterogen al datelor (\u00een cazul nostru, \u00eenregistr\u0103m doar serii temporale ale metricelor serverelor \u0219i, practic, aceasta este o singur\u0103 tabel\u0103. Dar pot exista \u0219i alte cazuri: serii temporale de echipamente, serii temporale economice etc. \u2014 fiecare cu structura sa, care trebuie agregat\u0103 \u0219i procesat\u0103).<\/li>\n<li>\u00cen acela\u0219i timp, aceste date sunt foarte multe.<\/li>\n<li>Tabelele \u0219i datele cu serii temporale apar \u0219i dispar (adic\u0103 un set de date a sosit, a fost analizat \u0219i apoi s-a \u0219ters).<\/li>\n<li>Nu exist\u0103 un criteriu clar pe baza c\u0103ruia datele pot fi partitionate.<\/li>\n<\/ul>\n<p>\n\u00cen cazurile opuse, ClickHouse \u00ee\u0219i arat\u0103 mai bine abilit\u0103\u021bile, iar acesta este cazul nostru.<\/p>\n<p><b><u>ClickHouse<\/u><\/b><\/p>\n<ul>\n<li>Similar SQL.<\/li>\n<li>U\u0219or de gestionat.<\/li>\n<li>Oamenii spun c\u0103 func\u021bioneaz\u0103.<\/li>\n<\/ul>\n<p>\nApare pe lista scurt\u0103 de testare.<\/p>\n<p><b><u>InfluxDB<\/u><\/b><\/p>\n<p>O alternativ\u0103 str\u0103in\u0103 la ClickHouse. Din dezavantaje: High Availability este disponibil doar \u00een versiunea comercial\u0103, dar trebuie s\u0103 compar\u0103m.<\/p>\n<p>Apare pe lista scurt\u0103 de testare.<\/p>\n<p><b><u>Cassandra<\/u><\/b> <\/p>\n<p>Pe de o parte, \u0219tim c\u0103 este folosit pentru stocarea seriilor temporale de metrici de sisteme de monitorizare, cum ar fi, de exemplu, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.signalfx.com\/blog\/making-cassandra-perform-as-a-tsdb\/\">SignalFX<\/a><\/noindex> sau OkMeter. Totu\u0219i, exist\u0103 o specificitate.<\/p>\n<p>Cassandra nu este o baz\u0103 de date colunar\u0103 \u00een sensul obi\u0219nuit al termenului. Arat\u0103 mai degrab\u0103 ca o baz\u0103 de date pe r\u00e2nduri, dar \u00een fiecare r\u00e2nd poate exista un num\u0103r diferit de coloane, ceea ce faciliteaz\u0103 organizarea unei reprezent\u0103ri pe coloane. \u00cen acest sens, este clar c\u0103, av\u00e2nd o limitare de 2 miliarde de coloane, se pot stoca unele date efectiv \u00een coloane (ca acelea\u0219i serii temporale). De exemplu, \u00een MySQL exist\u0103 o limitare de 4096 de coloane \u0219i acolo este u\u0219or s\u0103 te confrun\u021bi cu eroarea cu codul 1117, dac\u0103 \u00eencerci s\u0103 faci acela\u0219i lucru.<\/p>\n<p>Motorul Cassandra este orientat spre stocarea unor volume mari de date \u00eentr-un sistem distribuit f\u0103r\u0103 master, iar \u00een teorema CAP men\u021bionat\u0103 anterior, Cassandra tinde spre AP, adic\u0103 spre disponibilitatea datelor \u0219i rezisten\u021ba la partajarea partition\u0103rii. Astfel, acest instrument poate fi excelent pentru situa\u021biile \u00een care trebuie doar s\u0103 scriem \u00een aceast\u0103 baz\u0103 de date \u0219i s\u0103 citim din ea destul de rar. \u00cen acest sens, este logic s\u0103 folosim Cassandra ca \u201estocare rece\u201d. A\u0219adar, ca un loc fiabil de stocare pe termen lung pentru mari cantit\u0103\u021bi de date istorice, care sunt necesare rar, dar care pot fi accesate la nevoie. Totu\u0219i, pentru a avea o imagine complet\u0103, s\u0103 o test\u0103m \u0219i pe ea. Dar, a\u0219a cum am men\u021bionat anterior, nu exist\u0103 dorin\u021ba de a rescrie activ codul pentru solu\u021bia de baz\u0103 de date aleas\u0103, a\u0219a c\u0103 o vom testa \u00eentr-un mod oarecum limitat - f\u0103r\u0103 a adapta structura bazei de date la specificul Cassandra.<\/p>\n<p><b><u>Prometheus<\/u><\/b><\/p>\n<p>\u00cen plus, din curiozitate, am decis s\u0103 test\u0103m performan\u021ba stoc\u0103rii Prometheus - pur \u0219i simplu pentru a \u00een\u021belege dac\u0103 suntem mai rapizi dec\u00e2t solu\u021biile curente sau mai lent \u0219i \u00een ce m\u0103sur\u0103.<\/p>\n<h4>Metodologia \u0219i rezultatele test\u0103rii<\/h4>\n<p>\nA\u0219adar, am testat 5 baze de date \u00een urm\u0103toarele 6 configura\u021bii: ClickHouse (1 nod), ClickHouse (tabel distribuit pe 3 noduri), InfluxDB, Mysql 8, Cassandra (3 noduri) \u0219i Prometheus. Planul de testare este urm\u0103torul:<\/p>\n<ol>\n<li>\u00eenc\u0103rc\u0103m date istorice pentru o s\u0103pt\u0103m\u00e2n\u0103 (840 milioane valori pe zi; 208 mii metri);<\/li>\n<li>gener\u0103m o sarcin\u0103 de scriere (am analizat 6 moduri de sarcin\u0103, vezi mai jos);<\/li>\n<li>\u00een paralel cu scrierea, facem periodic interog\u0103ri, simul\u00e2nd cererile utilizatorului care lucreaz\u0103 cu grafice. Pentru a nu complica prea mult, am ales datele pentru 10 metri (exact c\u00e2te sunt pe graficul CPU) pentru o s\u0103pt\u0103m\u00e2n\u0103.<\/li>\n<\/ol>\n<p>\n\u00cenc\u0103rc\u0103m, simul\u00e2nd comportamentul agentului nostru de monitorizare, care trimite valori pentru fiecare metric\u0103 la fiecare 15 secunde. \u00cen acest sens, ne intereseaz\u0103 s\u0103 variem:<\/p>\n<ul>\n<li>num\u0103rul total de metrici \u00een care sunt scrise datele;<\/li>\n<li>intervalul de trimitere a valorilor c\u0103tre o metric\u0103;<\/li>\n<li>dimensiunea batch-ului.<\/li>\n<\/ul>\n<p>\nDespre dimensiunea batch-ului. Deoarece aproape toate bazele noastre de testare nu sunt recomandate s\u0103 fie \u00eenc\u0103rcate cu inser\u021bii unice, va fi necesar un relay care s\u0103 colecteze metricile primite, s\u0103 le grupeze \u00een loturi \u0219i s\u0103 le scrie \u00een baza de date printr-un insert \u00een batch.<\/p>\n<p>De asemenea, pentru a \u00een\u021belege mai bine cum s\u0103 interpret\u0103m datele ob\u021binute, s\u0103 ne imagin\u0103m c\u0103 nu trimitem doar o mul\u021bime de metrici, ci c\u0103 metricile sunt organizate \u00een servere \u2014 c\u00e2te 125 de metrici pe server. Aici, serverul este pur \u0219i simplu o entitate virtual\u0103 \u2014 doar pentru a \u00een\u021belege c\u0103, de exemplu, 10000 de metrici corespund aproximativ 80 de servere.<\/p>\n<p>Iat\u0103, av\u00e2nd \u00een vedere toate acestea, cele 6 moduri de \u00eenc\u0103rcare a bazelor de date pentru scriere:<\/p>\n<p><img decoding=\"async\" alt=\"Cum am testat mai multe baze de date pentru serii temporale\" src=\"\/wp-content\/uploads\/2019\/08\/3ba70050dc7e711cb8f3d14ac1a6707b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nExist\u0103 dou\u0103 aspecte aici. \u00cen primul r\u00e2nd, pentru Cassandra, aceste dimensiuni de batch-uri s-au dovedit a fi prea mari, acolo am folosit valori de 50 sau 100. \u00cen al doilea r\u00e2nd, deoarece Prometheus func\u021bioneaz\u0103 strict \u00een modul pull, adic\u0103 el \u00eensu\u0219i acceseaz\u0103 \u0219i preia datele din sursele de metrici (iar pushgateway, \u00een ciuda numelui, nu schimb\u0103 situa\u021bia), \u00eenc\u0103rc\u0103rile corespunz\u0103toare au fost realizate printr-o combina\u021bie de configura\u021bii statice.<\/p>\n<p>Rezultatele test\u0103rii sunt urm\u0103toarele:<\/p>\n<p><img decoding=\"async\" alt=\"Cum am testat mai multe baze de date pentru serii temporale\" src=\"\/wp-content\/uploads\/2019\/08\/9df12bee66ad8c5df720ba08472efead.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"Cum am testat mai multe baze de date pentru serii temporale\" src=\"\/wp-content\/uploads\/2019\/08\/891090bf0461c7e3c48e38eb36f9e217.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"Cum am testat mai multe baze de date pentru serii temporale\" src=\"\/wp-content\/uploads\/2019\/08\/137f944b3578ab5bad4ebc5fa6f96b79.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Ce merit\u0103 men\u021bionat<\/b>: selec\u021bii fantastic de rapide din Prometheus, selec\u021bii \u00eenfrico\u0219\u0103tor de lente din Cassandra, selec\u021bii inacceptabil de lente din InfluxDB; \u00een ceea ce prive\u0219te viteza de scriere, ClickHouse a c\u00e2\u0219tigat, iar Prometheus nu particip\u0103 la competi\u021bie, deoarece efectueaz\u0103 inserturi singur \u0219i nu m\u0103sur\u0103m nimic.<\/p>\n<p><u><b>\u00cen concluzie<\/b><\/u>: ClickHouse \u0219i InfluxDB s-au comportat cel mai bine, dar un cluster de Influx poate fi construit doar pe baza versiunii Enterprise, care cost\u0103 bani, \u00een timp ce ClickHouse este gratuit \u0219i a fost dezvoltat \u00een Rusia. Logic, \u00een SUA alegerea ar fi probabil \u00een favoarea InfluxDB, iar la noi - \u00een favoarea ClickHouse-ului.<br \/>\n<br \/>Sursa: <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.2.1 - 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\/ro\/blog\/administrirovanie\/kak-my-testirovali-neskolko-baz-dannyh-vremennyh-ryadov\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\/ro\/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\udd47Cum am testat mai multe baze de date pentru serii temporale | ProHoster","description":"\u00cen ultimii c\u00e2\u021biva ani, bazele.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/kak-my-testirovali-neskolko-baz-dannyh-vremennyh-ryadov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/36737","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=36737"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/36737\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/27518"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=36737"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=36737"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=36737"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}