{"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\/sq\/blog\/administrirovanie\/kak-my-testirovali-neskolko-baz-dannyh-vremennyh-ryadov","title":{"rendered":"Si testuam disa baza t\u00eb dh\u00ebnash p\u00ebr serit\u00eb e koh\u00ebs","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Si testuam disa baza t\u00eb dh\u00ebnash p\u00ebr serit\u00eb e koh\u00ebs\" src=\"\/wp-content\/uploads\/2019\/08\/14e07eac02df8d1276c46c33276d8a26.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00eb vitet e fundit, bazat e t\u00eb dh\u00ebnave p\u00ebr serit\u00eb e koh\u00ebs (Time-series databases) jan\u00eb kthyer nga nj\u00eb gj\u00eb e pazakont\u00eb (e p\u00ebrdorur kryesisht n\u00eb sisteme specifike monitorimi ose n\u00eb projekte Big Data) n\u00eb nj\u00eb \"mall p\u00ebr konsum t\u00eb gjer\u00eb\". N\u00eb territorin e RF, nj\u00eb fal\u00ebnderim t\u00eb ve\u00e7ant\u00eb duhet t'i lutemi Yandex-it dhe ClickHouse. Deri n\u00eb k\u00ebt\u00eb moment, n\u00ebse ju nevojitej t\u00eb ruani nj\u00eb sasi t\u00eb madhe t\u00eb dh\u00ebnash time-series, duhej ose t\u00eb pajtoheshit me nevoj\u00ebn p\u00ebr t\u00eb ngritur nj\u00eb stack monstruoz Hadoop dhe ta mirrni at\u00eb, ose t\u00eb flisnit me protokolle, t\u00eb cilat ishin individuale p\u00ebr \u00e7do sistem. <\/p>\n<p>Mund t\u00eb duket se n\u00eb vitin 2019, nj\u00eb artikull mbi at\u00eb se cila TSDB duhet t\u00eb p\u00ebrdoret do t\u00eb p\u00ebrb\u00ebhej vet\u00ebm nga nj\u00eb fjali: \"thjesht p\u00ebrdorni ClickHouse.\" Por... ka nuanca. <\/p>\n<p>N\u00eb t\u00eb v\u00ebrtet\u00eb, ClickHouse po zhvillohet me shpejt\u00ebsi, baza e p\u00ebrdoruesve po rritet, dhe mb\u00ebshtetje po ofrohet shum\u00eb aktivisht, por a jemi b\u00ebr\u00eb ne peng t\u00eb suksesit publik t\u00eb ClickHouse, i cili ka mbuluar zgjidhje tjet\u00ebr, ndoshta m\u00eb efikase\/dhe m\u00eb t\u00eb besueshme? <\/p>\n<p>N\u00eb fillim t\u00eb vitit t\u00eb kaluar, ne filluam rishikimin e sistemit ton\u00eb t\u00eb monitorimit, dhe gjat\u00eb procesit u shfaq nj\u00eb pyetje p\u00ebr t\u00eb zgjedhur baz\u00ebn e p\u00ebrshtatshme p\u00ebr ruajtjen e t\u00eb dh\u00ebnave. Historia e k\u00ebtij zgjedhjeje \u00ebsht\u00eb ajo q\u00eb dua t\u00eb ndaj k\u00ebtu.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h4>Formulimi i detyr\u00ebs<\/h4>\n<p>\nS\u00eb pari \u2014 nj\u00eb parath\u00ebnie e domosdoshme. Pse na duhet nj\u00eb sistem monitorimi dhe si \u00ebsht\u00eb organizuar ai?<\/p>\n<p>Ne filluam ofrimin e sh\u00ebrbimeve t\u00eb mb\u00ebshtetjes n\u00eb vitin 2008, dhe deri n\u00eb vitin 2010 u b\u00eb e qart\u00eb se ishte e v\u00ebshtir\u00eb t\u00eb agregoheshin t\u00eb dh\u00ebnat mbi proceset q\u00eb ndodhnin n\u00eb infrastruktur\u00ebn e klientit me zgjidhjet q\u00eb ekzistonin n\u00eb at\u00eb koh\u00eb (flasim p\u00ebr, s\u2019ka gj\u00eb, Cacti, Zabbix dhe Graphite-n n\u00eb zhvillim).<\/p>\n<p>K\u00ebrkesat tona kryesore ishin:<\/p>\n<ul>\n<li>mb\u00ebshtetje (n\u00eb at\u00eb moment \u2014 dhjet\u00ebra, dhe n\u00eb perspektiv\u00eb \u2014 qindra) klient\u00ebsh brenda nj\u00eb sistemi dhe gjithashtu t\u00eb kishte nj\u00eb sistem t\u00eb centralizuar menaxhimi t\u00eb njoftimeve;<\/li>\n<li>fleksibilitet n\u00eb menaxhimin e sistemit t\u00eb njoftimeve (eskalimi i njoftimeve mes turneve, llogaritja e orarit, baza e njohurive);<\/li>\n<li>mund\u00ebsia p\u00ebr detaje t\u00eb thelluara n\u00eb grafika (Zabbix n\u00eb at\u00eb moment vizatonte grafika si imazhe);<\/li>\n<li>ruajtja e gjat\u00eb e nj\u00eb sasi t\u00eb madhe t\u00eb dh\u00ebnash (nj\u00eb vit e m\u00eb shum\u00eb) dhe mund\u00ebsia e nxjerrjes s\u00eb shpejt\u00eb t\u00eb tyre.<\/li>\n<\/ul>\n<p>\nN\u00eb k\u00ebt\u00eb artikull na intereson pika e fundit.<\/p>\n<p>Kurse p\u00ebr ruajtjen, k\u00ebrkesat ishin si n\u00eb vijim:<\/p>\n<ul>\n<li>sistemi duhet t\u00eb punoj\u00eb shpejt;<\/li>\n<li>preferohet q\u00eb sistemi t\u00eb ket\u00eb nj\u00eb nd\u00ebrfaqe SQL;<\/li>\n<li>sistemi duhet t\u00eb jet\u00eb stabil dhe t\u00eb ket\u00eb nj\u00eb baz\u00eb aktive p\u00ebrdoruesish dhe mb\u00ebshtetje (dikur kemi p\u00ebrjetuar nevoj\u00ebn p\u00ebr t\u00eb mb\u00ebshtetur sisteme si MemcacheDB, e cila u ndal p\u00ebrparimi, ose dep\u00ebrtimi i shp\u00ebrndar\u00eb MooseFS, ku problemi dokumentohej n\u00eb gjuh\u00ebn kineze: nuk d\u00ebshironim ta p\u00ebrs\u00ebrisnim k\u00ebt\u00eb histori p\u00ebr projektin ton\u00eb);<\/li>\n<li>p\u00ebrputhshm\u00ebria me teorem\u00ebn CAP: Consistency (e nevojshme) \u2014 t\u00eb dh\u00ebnat duhet t\u00eb jen\u00eb aktuale, nuk duam q\u00eb sistemi i menaxhimit t\u00eb njoftimeve t\u00eb mos marr\u00eb t\u00eb dh\u00ebna t\u00eb reja dhe t\u00eb l\u00ebshoj\u00eb alarme p\u00ebr munges\u00eb t\u00eb dh\u00ebnash p\u00ebr t\u00eb gjith\u00eb projektet; Partition Tolerance (e nevojshme) \u2014 nuk duam t\u00eb kemi nj\u00eb sistem Split Brain; Availability (jo kritike, n\u00eb raste t\u00eb nj\u00eb replike aktive) \u2014 mund t\u00eb kalojm\u00eb vet\u00eb n\u00eb sistemin rezerv\u00eb n\u00eb rast emergjence, me kod.<\/li>\n<\/ul>\n<p>\nSi\u00e7 ndodh shpesh, zgjidhja ideale p\u00ebr ne n\u00eb at\u00eb moment ishte MySQL. Struktura jon\u00eb e t\u00eb dh\u00ebnave ishte jasht\u00ebzakonisht e thjesht\u00eb: id e serverit, id e num\u00ebruesit, timestamp dhe vlera; k\u00ebrkimi i shpejt\u00eb i t\u00eb dh\u00ebnave t\u00eb nxehta arrihej me madh\u00ebsin\u00eb e madhe t\u00eb buffer pool, nd\u00ebrsa k\u00ebrkimi i t\u00eb dh\u00ebnave historike \u2014 me SSD.<\/p>\n<p><img decoding=\"async\" alt=\"Si testuam disa baza t\u00eb dh\u00ebnash p\u00ebr serit\u00eb e koh\u00ebs\" src=\"\/wp-content\/uploads\/2019\/08\/555bff26c74badf85131c4d9198871af.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00eb k\u00ebt\u00eb m\u00ebnyr\u00eb, arrit\u00ebm t\u00eb nxjerrim t\u00eb dh\u00ebnat e fresk\u00ebta t\u00eb dy jav\u00ebve, me detaje deri n\u00eb sekond\u00eb p\u00ebr 200 ms deri n\u00eb momentin e plot\u00eb t\u00eb vizatimit t\u00eb t\u00eb dh\u00ebnave, dhe jetuam n\u00eb k\u00ebt\u00eb sistem p\u00ebr nj\u00eb koh\u00eb t\u00eb gjat\u00eb.<\/p>\n<p>Megjithat\u00eb, koha kalonte dhe sasia e t\u00eb dh\u00ebnave po rritej. Deri n\u00eb vitin 2016, volumet e t\u00eb dh\u00ebnave arrit\u00ebn dhjet\u00ebra terabajt, q\u00eb n\u00ebn kushtet e ruajtjeve SSD n\u00eb qira ishte nj\u00eb shpenzim substancial.<\/p>\n<p>N\u00eb k\u00ebt\u00eb moment, database kolonare ishin p\u00ebrhapur aktivisht, p\u00ebr t\u00eb cilat filluam t\u00eb mendonim seriozisht: n\u00eb databazat kolonare t\u00eb dh\u00ebnat ruhen, si\u00e7 mund ta kuptoni, n\u00eb kolona, dhe n\u00ebse shikoni t\u00eb dh\u00ebnat tona, \u00ebsht\u00eb e leht\u00eb t\u00eb shihni nj\u00eb num\u00ebr t\u00eb madh duplikatesh, t\u00eb cilat mund t\u00eb kompresohen n\u00eb rastin e p\u00ebrdorimit t\u00eb nj\u00eb database kolonare.<\/p>\n<p><img decoding=\"async\" alt=\"Si testuam disa baza t\u00eb dh\u00ebnash p\u00ebr serit\u00eb e koh\u00ebs\" src=\"\/wp-content\/uploads\/2019\/08\/2e1a6010fcb09de8cd28ec826752d160.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMegjithat\u00eb, sistemi ky\u00e7 p\u00ebr funksionimin e kompanis\u00eb vazhdonte t\u00eb punonte stabilisht, dhe nuk d\u00ebshironim t\u00eb eksperimentonim me kalimin n\u00eb di\u00e7ka tjet\u00ebr.<\/p>\n<p>N\u00eb vitin 2017, n\u00eb konferenc\u00ebn Percona Live n\u00eb San Jose, ndoshta p\u00ebr her\u00eb t\u00eb par\u00eb zhvilluesit e Clickhouse shpall\u00ebn veten. N\u00eb pamje t\u00eb par\u00eb, sistemi dukej i p\u00ebrshtatsh\u00ebm p\u00ebr prodhim (p\u00ebr t\u00eb qen\u00eb t\u00eb sinqert\u00eb, Yandex.Metrica \u2014 \u00ebsht\u00eb nj\u00eb prodhim i v\u00ebshtir\u00eb), mb\u00ebshtetja ishte e shpejt\u00eb dhe e thjesht\u00eb, dhe m\u00eb e r\u00ebnd\u00ebsishmja, operimi ishte i leht\u00eb. Q\u00eb nga viti 2018 filluam procesin e kalimit. Por n\u00eb at\u00eb koh\u00eb kishte shum\u00eb sisteme TSDB t\u00eb<\/p>\n<p>N\u00eb shtes\u00eb t\u00eb k\u00ebrkesave tashm\u00eb t\u00eb p\u00ebrmendura p\u00ebr magazinimin, u shfaq\u00ebn disa t\u00eb reja:<\/p>\n<ul>\n<li>sistemi i ri duhet t\u00eb ofroj\u00eb, t\u00eb pakt\u00ebn, t\u00eb nj\u00ebjtin performanc\u00eb si MySQL, n\u00eb t\u00eb nj\u00ebjtin sasi hardueri;<\/li>\n<li>magazina e sistemit t\u00eb ri duhet t\u00eb marr\u00eb ndjesh\u00ebm m\u00eb pak hap\u00ebsir\u00eb;<\/li>\n<li>SGBD duhet t\u00eb vazhdoj\u00eb t\u00eb jet\u00eb i thjesht\u00eb p\u00ebr t'u menaxhuar;<\/li>\n<li>do t\u00eb doja t\u00eb ndryshoja sa m\u00eb pak aplikacionin kur t\u00eb kaloj te SGBD tjet\u00ebr.<\/li>\n<\/ul>\n<p><\/p>\n<h4>Cilat sisteme filluam t\u00eb shqyrtonim<\/h4>\n<p>\n<b><u>Apache Hive\/ Apache Impala<\/u><\/b><br \/>\nStaku Hadoop, i provuar nga beteja. N\u00eb thelb, ky \u00ebsht\u00eb nj\u00eb nd\u00ebrfaqe SQL e nd\u00ebrtuar mbi ruajtjen e t\u00eb dh\u00ebnave n\u00eb formate specifike n\u00eb HDFS. <\/p>\n<p>P\u00ebrfitimet.<\/p>\n<ul>\n<li>Me nj\u00eb funksionim t\u00eb stabilizuar, \u00ebsht\u00eb shum\u00eb e leht\u00eb t\u00eb shkall\u00ebzosh t\u00eb dh\u00ebnat.<\/li>\n<li>Ka zgjidhje kolon\u00eb p\u00ebr ruajtjen e t\u00eb dh\u00ebnave (m\u00eb pak hap\u00ebsir\u00eb).<\/li>\n<li>Ekzekutimi i shpejt\u00eb i detyrave t\u00eb ndara kur ka burime.<\/li>\n<\/ul>\n<p>\nDisavantazhet.<\/p>\n<ul>\n<li>Kjo \u00ebsht\u00eb Hadoop, dhe \u00ebsht\u00eb e nd\u00ebrlikuar p\u00ebr t'u operuar. N\u00ebse nuk jemi t\u00eb gatsh\u00ebm t\u00eb marrim nj\u00eb zgjidhje t\u00eb gatshme n\u00eb cloud (dhe ne nuk jemi t\u00eb gatsh\u00ebm p\u00ebr shkak t\u00eb kostos), e gjith\u00eb staku duhet t\u00eb nd\u00ebrtohet dhe mb\u00ebshtetet manualisht nga administrator\u00ebt, dhe kjo nuk \u00ebsht\u00eb di\u00e7ka q\u00eb d\u00ebshirojm\u00eb.<\/li>\n<li>T\u00eb dh\u00ebnat agregohen <noindex><a rel=\"nofollow\" href=\"https:\/\/www.percona.com\/blog\/2014\/04\/21\/using-apache-hadoop-and-impala-together-with-mysql-for-data-analysis\/\">v\u00ebrtet shpejt<\/a><\/noindex>.<\/li>\n<\/ul>\n<p>\nMegjithat\u00eb:<\/p>\n<p><img decoding=\"async\" alt=\"Si testuam disa baza t\u00eb dh\u00ebnash p\u00ebr serit\u00eb e koh\u00ebs\" src=\"\/wp-content\/uploads\/2019\/08\/6baa1b6024def8c1c7518ef386cfc8d3.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nShpejt\u00ebsia arrihet duke shkall\u00ebzuar numrin e server\u00ebve t\u00eb p\u00ebrpunimit. Th\u00ebn\u00eb ndryshe, n\u00ebse jemi nj\u00eb kompani e madhe, merremi me analitik\u00ebn dhe p\u00ebr biznesin \u00ebsht\u00eb kritikisht e r\u00ebnd\u00ebsishme t\u00eb agregojm\u00eb informacionin sa m\u00eb shpejt t\u00eb jet\u00eb e mundur (madje edhe me \u00e7mimin e p\u00ebrdorimit t\u00eb nj\u00eb sasie t\u00eb madhe burimesh p\u00ebrpunuese) \u2014 kjo mund t\u00eb jet\u00eb zgjedhja jon\u00eb. Por ne nuk ishim t\u00eb gatsh\u00ebm t\u00eb rritnim ndjesh\u00ebm numrin e harduerit p\u00ebr shpejt\u00ebsin\u00eb e ekzekutimit t\u00eb detyrave.<\/p>\n<p><b><u>Druid\/Pinot<\/u><\/b><\/p>\n<p>Tani, shum\u00eb m\u00eb tep\u00ebr p\u00ebr konkret TSDB, por p\u00ebrs\u00ebri \u2014 staku Hadoop.<\/p>\n<p>Ka <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@leventov\/comparison-of-the-open-source-olap-systems-for-big-data-clickhouse-druid-and-pinot-8e042a5ed1c7\">Nj\u00eb artikull i shk\u00eblqyer q\u00eb krahason p\u00ebrfitimet dhe mang\u00ebsit\u00eb e Druid dhe Pinot n\u00eb krahasim me ClickHouse <\/a><\/noindex>. <\/p>\n<p>N\u00eb disa fjal\u00eb: Druid\/Pinot duken m\u00eb mir\u00eb se ClickHouse n\u00eb rastet kur:<\/p>\n<ul>\n<li>Ju keni nj\u00eb karakter heterogjen t\u00eb t\u00eb dh\u00ebnave (n\u00eb k\u00ebt\u00eb rast ne regjistrojm\u00eb vet\u00ebm seri temporale t\u00eb metrikave t\u00eb server\u00ebve, dhe, n\u00eb thelb, kjo \u00ebsht\u00eb nj\u00eb tabel\u00eb. Por mund t\u00eb ket\u00eb raste t\u00eb tjera: seri temporale t\u00eb pajisjeve, seri temporale ekonomike, etj. - \u00e7do nj\u00ebra me struktur\u00ebn e saj, t\u00eb cilat duhet t\u00eb agregohen dhe t\u00eb p\u00ebrpunohen).<\/li>\n<li>Megjithat\u00eb, k\u00ebto t\u00eb dh\u00ebna jan\u00eb shum\u00eb t\u00eb shumta.<\/li>\n<li>Tabelat dhe t\u00eb dh\u00ebnat me seri temporale shfaqen dhe zhduken (dometh\u00ebn\u00eb, nj\u00eb grup i caktuar t\u00eb dh\u00ebnash ka ardhur, \u00ebsht\u00eb analizuar dhe \u00ebsht\u00eb fshir\u00eb).<\/li>\n<li>Nuk ka nj\u00eb kriter t\u00eb qart\u00eb sipas t\u00eb cilit t\u00eb dh\u00ebnat mund t\u00eb ndahen n\u00eb pjes\u00eb.<\/li>\n<\/ul>\n<p>\nN\u00eb raste t\u00eb tjera, ClickHouse tregon rezultate m\u00eb t\u00eb mira, dhe kjo \u00ebsht\u00eb rasti yn\u00eb.<\/p>\n<p><b><u>ClickHouse<\/u><\/b><\/p>\n<ul>\n<li>P\u00ebraf\u00ebrsisht si SQL.<\/li>\n<li>E leht\u00eb p\u00ebr t'u menaxhuar.<\/li>\n<li>Njer\u00ebzit thon\u00eb se funksionon.<\/li>\n<\/ul>\n<p>\nB\u00ebn pjes\u00eb n\u00eb list\u00ebn e shkurt\u00ebr p\u00ebr testim.<\/p>\n<p><b><u>InfluxDB<\/u><\/b><\/p>\n<p>Alternativa nd\u00ebrkomb\u00ebtare p\u00ebr ClickHouse. Nga ana negative: Disponibiliteti i Lart\u00eb \u00ebsht\u00eb vet\u00ebm n\u00eb versionin komercial, por duhet b\u00ebr\u00eb nj\u00eb krahasim.<\/p>\n<p>B\u00ebn pjes\u00eb n\u00eb list\u00ebn e shkurt\u00ebr p\u00ebr testim.<\/p>\n<p><b><u>Cassandra<\/u><\/b> <\/p>\n<p>Nga nj\u00ebra an\u00eb, ne e dim\u00eb se p\u00ebrdoret p\u00ebr ruajtjen e serive temporale metrikore nga sisteme monitorimi si, p\u00ebr shembull, <noindex><a rel=\"nofollow\" href=\"https:\/\/www.signalfx.com\/blog\/making-cassandra-perform-as-a-tsdb\/\">SignalFX<\/a><\/noindex> ose OkMeter. Megjithat\u00eb, ka disa ve\u00e7ori.<\/p>\n<p>Cassandra nuk \u00ebsht\u00eb nj\u00eb baz\u00eb t\u00eb dh\u00ebnash kolonore n\u00eb kuptimin e zakonsh\u00ebm t\u00eb saj. Duket m\u00eb shum\u00eb si thjesht nj\u00eb rresht, por n\u00eb \u00e7do rresht mund t\u00eb ket\u00eb numra t\u00eb ndrysh\u00ebm kolonesh, \u00e7ka leht\u00ebson organizimin e p\u00ebrfaq\u00ebsimit kolonor. N\u00eb k\u00ebt\u00eb kuptim \u00ebsht\u00eb e kuptueshme q\u00eb me nj\u00eb kufizim prej 2 miliard kolonash, mund t\u00eb ruhet disa t\u00eb dh\u00ebna n\u00eb kolonat (po ato serit\u00eb temporale). P\u00ebr shembull, n\u00eb MySQL ka nj\u00eb kufizim prej 4096 kolonash dhe atje \u00ebsht\u00eb e leht\u00eb t\u00eb has\u00ebsh n\u00eb gabimin me kod 1117, n\u00ebse p\u00ebrpiqesh t\u00eb b\u00ebsh t\u00eb nj\u00ebjt\u00ebn gj\u00eb.<\/p>\n<p>Motor Cassandra \u00ebsht\u00eb i orientuar p\u00ebr ruajtjen e sasis\u00eb s\u00eb madhe t\u00eb t\u00eb dh\u00ebnave n\u00eb nj\u00eb sistem t\u00eb shp\u00ebrndar\u00eb pa master, dhe n\u00eb teorem\u00ebn CAP t\u00eb p\u00ebrmendur m\u00eb sip\u00ebr, Cassandra \u00ebsht\u00eb m\u00eb shum\u00eb p\u00ebr AP, pra p\u00ebr disponueshm\u00ebrin\u00eb e t\u00eb dh\u00ebnave dhe q\u00ebndrueshm\u00ebrin\u00eb ndaj ndarjes s\u00eb particioneve. K\u00ebshtu, ky mjet mund t\u00eb jet\u00eb shum\u00eb i p\u00ebrshtatsh\u00ebm, n\u00ebse ne duam t\u00eb shkruajm\u00eb vet\u00ebm n\u00eb k\u00ebt\u00eb baz\u00eb dhe t\u00eb lexojm\u00eb mjaft rrall\u00eb nga ajo. Dhe k\u00ebtu ka logjik\u00eb q\u00eb ta p\u00ebrdorim Cassandra si nj\u00eb \u201cdepozit\u00eb t\u00eb ftoht\u00eb\u201d. K\u00ebshtu, si nj\u00eb vend t\u00eb besuesh\u00ebm p\u00ebr ruajtjen afatgjat\u00eb t\u00eb sasis\u00eb s\u00eb madhe t\u00eb t\u00eb dh\u00ebnave historike q\u00eb k\u00ebrkohen rrall\u00eb, por n\u00eb rast nevoje mund t\u00eb nxirren. Megjithat\u00eb, p\u00ebr plot\u00ebsin\u00eb e imazhit, do ta testojm\u00eb edhe at\u00eb. Por, si\u00e7 e kam th\u00ebn\u00eb m\u00eb par\u00eb, nuk kam d\u00ebshir\u00eb t\u00eb rishkruaj aktivisht kodin p\u00ebr zgjidhjen e zgjedhur t\u00eb DB, prandaj do ta testojm\u00eb at\u00eb disi t\u00eb kufizuar - pa adaptimin e struktur\u00ebs s\u00eb baz\u00ebs sipas specifikave t\u00eb Cassandra.<\/p>\n<p><b><u>Prometheus<\/u><\/b><\/p>\n<p>Pra, dhe tashm\u00eb nga kurioziteti, vendos\u00ebm t\u00eb testojm\u00eb performanc\u00ebn e magazin\u00ebs Prometheus - thjesht p\u00ebr t\u00eb kuptuar n\u00ebse ne jemi m\u00eb t\u00eb shpejt\u00eb se zgjidhjet aktuale ose m\u00eb t\u00eb ngadalt\u00eb dhe sa.<\/p>\n<h4>Metodika dhe rezultatet e testimit<\/h4>\n<p>\nPra, testuam 5 bazat e t\u00eb dh\u00ebnave n\u00eb 6 konfigurime t\u00eb m\u00ebposhtme: ClickHouse (1 nod), ClickHouse (tabela e shp\u00ebrndar\u00eb n\u00eb 3 node), InfluxDB, Mysql 8, Cassandra (3 node) dhe Prometheus. Plani i testimit \u00ebsht\u00eb si m\u00eb posht\u00eb:<\/p>\n<ol>\n<li>ngarkojm\u00eb t\u00eb dh\u00ebnat historike p\u00ebr nj\u00eb jav\u00eb (840 mln vlera n\u00eb dit\u00eb; 208 mij\u00eb metrika);<\/li>\n<li>gjenerojm\u00eb ngarkes\u00ebn p\u00ebr shkrim (kemi konsideruar 6 m\u00ebnyra ngarkese, shih m\u00eb posht\u00eb);<\/li>\n<li>paralelisht me shkrimin, kryejm\u00eb p\u00ebrjashtime duke imituar pyetje nga p\u00ebrdoruesi, q\u00eb punon me grafik\u00ebt. P\u00ebr t\u00eb mos e komplikuar shum\u00eb, zgjedhim t\u00eb dh\u00ebnat p\u00ebr 10 metrika (aq sa jan\u00eb n\u00eb grafikun CPU) p\u00ebr nj\u00eb jav\u00eb.<\/li>\n<\/ol>\n<p>\nNgarkojm\u00eb, duke imituar sjelljen e agjentit ton\u00eb t\u00eb monitorimit, i cili d\u00ebrgon n\u00eb \u00e7do metrik\u00eb vlera \u00e7do 15 sekonda. N\u00eb k\u00ebt\u00eb rast, na intereson t\u00eb ndryshojm\u00eb:<\/p>\n<ul>\n<li>numri i p\u00ebrgjithsh\u00ebm i metricave, n\u00eb t\u00eb cilat shkruhen t\u00eb dh\u00ebnat;<\/li>\n<li>intervali i d\u00ebrgimit t\u00eb vlerave n\u00eb nj\u00eb metrik\u00eb;<\/li>\n<li>p\u00ebrmasat e grupit.<\/li>\n<\/ul>\n<p>\nP\u00ebrmasat e grupit. Duke qen\u00eb se pothuajse t\u00eb gjitha bazat tona t\u00eb studimit nuk rekomandojn\u00eb ngarkimin me inserte t\u00eb vetme, do t\u00eb na nevojitet nj\u00eb sistem q\u00eb mbledh metrikat e ardhura dhe i grumbullon ato ndonj\u00ebher\u00eb dhe i shkruan n\u00eb baz\u00eb me insert t\u00eb paketuar.<\/p>\n<p>Po k\u00ebsaj radhe, p\u00ebr t\u00eb kuptuar m\u00eb mir\u00eb si t\u00eb interpretojm\u00eb t\u00eb dh\u00ebnat e marr\u00eb m\u00eb von\u00eb, le t\u00eb imagjinojm\u00eb se nuk po d\u00ebrgojm\u00eb thjesht nj\u00eb mori metrikash, por metrikat jan\u00eb t\u00eb organizuara n\u00eb server\u00eb \u2014 me nga 125 metrika p\u00ebr server. K\u00ebtu serveri \u00ebsht\u00eb thjesht nj\u00eb entitet virtual \u2014 thjesht p\u00ebr t\u00eb kuptuar se, p\u00ebr shembull, 10000 metrika p\u00ebrputhen me rreth 80 server\u00eb.<\/p>\n<p>Dhe tani, duke marr\u00eb parasysh t\u00eb gjitha k\u00ebto, kemi 6 modelet e ngarkes\u00ebs p\u00ebr baz\u00ebn n\u00eb shkrim:<\/p>\n<p><img decoding=\"async\" alt=\"Si testuam disa baza t\u00eb dh\u00ebnash p\u00ebr serit\u00eb e koh\u00ebs\" src=\"\/wp-content\/uploads\/2019\/08\/3ba70050dc7e711cb8f3d14ac1a6707b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nK\u00ebtu ka dy pika. S\u00eb pari, p\u00ebr Cassandra, k\u00ebto madh\u00ebsi grupesh rezultuan tep\u00ebr t\u00eb m\u00ebdha, aty ne p\u00ebrdor\u00ebm vlera 50 ose 100. S\u00eb dyti, duke qen\u00eb se Prometheus funksionon ngusht\u00ebsisht n\u00eb m\u00ebnyr\u00ebn pull, pra ai shkon dhe merr t\u00eb dh\u00ebna nga burimet e metrikave (dhe madje pushgateway, pavar\u00ebsisht emrit, nuk e ndryshon situat\u00ebn thelb\u00ebsisht), ngarkesat p\u00ebrkat\u00ebse u realizuan me nj\u00eb kombinim t\u00eb konfigurimeve statike.<\/p>\n<p>Rezultatet e testimit jan\u00eb k\u00ebto:<\/p>\n<p><img decoding=\"async\" alt=\"Si testuam disa baza t\u00eb dh\u00ebnash p\u00ebr serit\u00eb e koh\u00ebs\" src=\"\/wp-content\/uploads\/2019\/08\/9df12bee66ad8c5df720ba08472efead.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"Si testuam disa baza t\u00eb dh\u00ebnash p\u00ebr serit\u00eb e koh\u00ebs\" src=\"\/wp-content\/uploads\/2019\/08\/891090bf0461c7e3c48e38eb36f9e217.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<img decoding=\"async\" alt=\"Si testuam disa baza t\u00eb dh\u00ebnash p\u00ebr serit\u00eb e koh\u00ebs\" src=\"\/wp-content\/uploads\/2019\/08\/137f944b3578ab5bad4ebc5fa6f96b79.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>\u00c7ka \u00ebsht\u00eb e r\u00ebnd\u00ebsishme t\u00eb theksohet<\/b>: marrje fantastikisht t\u00eb shpejta nga Prometheus, marrje tmerr\u00ebsisht t\u00eb ngadalta nga Cassandra, marrje t\u00eb papranueshme t\u00eb ngadalta nga InfluxDB; p\u00ebr shpejt\u00ebsin\u00eb e shkrimit, ClickHouse fitoi t\u00eb gjitha, nd\u00ebrsa Prometheus nuk merr pjes\u00eb n\u00eb gar\u00eb, sepse ai b\u00ebn insertet brenda vetes dhe ne nuk masim asgj\u00eb.<\/p>\n<p><u><b>N\u00eb fund<\/b><\/u>: ClickHouse dhe InfluxDB treguan rezultate m\u00eb t\u00eb mira, por nj\u00eb klaster nga Influx mund t\u00eb nd\u00ebrtohet vet\u00ebm mbi baz\u00ebn e versionit Enterprise, q\u00eb kushton, nd\u00ebrsa ClickHouse \u00ebsht\u00eb falas dhe \u00ebsht\u00eb b\u00ebr\u00eb n\u00eb Rusi. \u00cbsht\u00eb logjike q\u00eb n\u00eb SHBA, ndoshta zgjedhja \u00ebsht\u00eb n\u00eb favor t\u00eb InfluxDB, nd\u00ebrsa k\u00ebtu \u00ebsht\u00eb n\u00eb favor t\u00eb ClickHouse.<br \/>\n<br \/>Burimi: <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\/sq\/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=\"sq_AL\" \/>\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\/sq\/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\udd47Si testuam disa baza t\u00eb dh\u00ebnash t\u00eb serive temporale | ProHoster","description":"N\u00eb vitet e fundit.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/administrirovanie\/kak-my-testirovali-neskolko-baz-dannyh-vremennyh-ryadov","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","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\/sq\/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\/sq\/wp-json\/wp\/v2\/posts\/36737","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=36737"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/36737\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/27518"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=36737"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=36737"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=36737"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}