Kif ittestjajna diversi databases tas-serje tal-ħin

Kif ittestjajna diversi databases tas-serje tal-ħin

Matul l-aħħar ftit snin, id-databases ta’ serje ta’ ħin daru minn ħaġa stramba (speċjalizzata ħafna użata jew f’sistemi ta’ monitoraġġ miftuħa (u marbuta ma’ soluzzjonijiet speċifiċi) jew fi proġetti ta’ Big Data) fi “prodott għall-konsumatur”. Fit-territorju tal-Federazzjoni Russa, għandu jingħata ringrazzjament speċjali lil Yandex u ClickHouse għal dan. Sa dan il-punt, jekk kellek bżonn taħżen ammont kbir ta 'dejta ta' serje ta 'żmien, jew kellek tispiċċa mal-ħtieġa li tibni munzell monstrous Hadoop u żżommha, jew tikkomunika ma' protokolli individwali għal kull sistema.

Jista 'jidher li fl-2019 artiklu li dwaru ta' min juża TSDB se jikkonsisti f'sentenza waħda biss: "sempliċement uża ClickHouse." Imma... hemm sfumaturi.

Tabilħaqq, ClickHouse qed tiżviluppa b'mod attiv, il-bażi tal-utenti qed tikber, u l-appoġġ huwa attiv ħafna, iżda sirna ostaġġi tas-suċċess pubbliku ta 'ClickHouse, li għebet soluzzjonijiet oħra, forsi aktar effettivi/affidabbli?

Fil-bidu tas-sena li għaddiet, bdejna naħdmu mill-ġdid is-sistema ta 'monitoraġġ tagħna stess, li matulha qamet il-kwistjoni li tagħżel database adattata għall-ħażna tad-dejta. Irrid nitkellem dwar l-istorja ta 'din l-għażla hawn.

Dikjarazzjoni tal-problema

L-ewwelnett, prefazju meħtieġ. Għaliex għandna bżonn is-sistema ta 'monitoraġġ tagħna stess u kif kienet iddisinjata?

Bdejna nipprovdu servizzi ta' appoġġ fl-2008, u sal-2010 deher ċar li sar diffiċli li nġabru data dwar il-proċessi li jseħħu fl-infrastruttura tal-klijenti mas-soluzzjonijiet li kienu jeżistu dak iż-żmien (qed nitkellmu dwar, Alla jaħfirli, Cacti, Zabbix). u l-Graphite emerġenti).

Ir-rekwiżiti ewlenin tagħna kienu:

  • appoġġ (dak iż-żmien - għexieren, u fil-futur - mijiet) ta 'klijenti fi ħdan sistema waħda u fl-istess ħin il-preżenza ta' sistema ċentralizzata ta 'ġestjoni ta' twissija;
  • flessibbiltà fil-ġestjoni tas-sistema ta' twissija (eskalazzjoni ta' twissijiet bejn uffiċjali ta' dmirijiet, skedar, bażi ta' għarfien);
  • l-abbiltà li tiddettalja b'mod profond il-grafiċi (Zabbix dak iż-żmien ippreżenta graffs fil-forma ta 'stampi);
  • ħażna fit-tul ta 'ammont kbir ta' dejta (sena jew aktar) u l-abbiltà li tirkupraha malajr.

F'dan l-artikolu aħna huma interessati fl-aħħar punt.

Meta wieħed jitkellem dwar il-ħażna, ir-rekwiżiti kienu kif ġej:

  • is-sistema trid taħdem malajr;
  • huwa mixtieq li s-sistema jkollha interface SQL;
  • is-sistema trid tkun stabbli u jkollha bażi ta 'utent attiv u appoġġ (ladarba konna ffaċċjati bil-ħtieġa li nappoġġjaw sistemi bħal MemcacheDB, li ma kienx għadu żviluppat, jew il-ħażna mqassma MooseFS, li l-bug tracker tiegħu nżamm biċ-Ċiniż: nirrepetu din l-istorja għall-proġett tagħna ma riedx);
  • konformità mat-teorema tal-PAK: Konsitenza (meħtieġa) - id-dejta trid tkun aġġornata, ma rridux li s-sistema ta 'ġestjoni tat-twissija ma tirċevix dejta ġdida u bżoq twissijiet dwar in-nuqqas ta' wasla ta 'dejta għall-proġetti kollha; Partition Tolleranza (meħtieġa) - ma rridux niksbu sistema Split Brain; Disponibbiltà (mhux kritika, jekk ikun hemm replika attiva) - nistgħu naqilbu għas-sistema ta 'backup aħna stess f'każ ta' inċident, bl-użu tal-kodiċi.

B'mod stramb, dak iż-żmien MySQL irriżulta li kien is-soluzzjoni ideali għalina. L-istruttura tad-dejta tagħna kienet estremament sempliċi: id-server, id-counter, it-timbru taż-żmien u l-valur; it-teħid ta 'kampjuni veloċi ta' dejta sħuna kien żgurat minn pool kbir ta 'buffer, u t-teħid ta' kampjuni ta 'dejta storika kien żgurat minn SSD.

Kif ittestjajna diversi databases tas-serje tal-ħin

Għalhekk, ksibna kampjun ta 'dejta friska ta' ġimgħatejn, b'dettall sa it-tieni 200 ms qabel ma d-dejta ġiet mogħtija kompletament, u għexu f'din is-sistema għal żmien pjuttost twil.

Sadanittant, għadda ż-żmien u l-ammont ta 'dejta kiber. Sal-2016, il-volumi tad-dejta laħqu għexieren ta 'terabytes, li kienet spiża sinifikanti fil-kuntest tal-ħażna SSD mikrija.

Sa dan iż-żmien, id-databases tal-kolonni kienu saru mifruxa b'mod attiv, li bdejna naħsbu b'mod attiv dwarhom: f'databases tal-kolonni, id-data hija maħżuna, kif tista' tifhem, f'kolonni, u jekk tħares lejn id-data tagħna, huwa faċli li tara kbir. numru ta' duplikati li jistgħu, f' Jekk tuża database kolonni, tikkompressaha billi tuża kompressjoni.

Kif ittestjajna diversi databases tas-serje tal-ħin

Madankollu, is-sistema ewlenija tal-kumpanija kompliet taħdem b'mod stabbli, u ma ridtx nesperimenta bil-bidla għal xi ħaġa oħra.

Fl-2017, fil-konferenza Percona Live f'San Jose, l-iżviluppaturi ta 'Clickhouse probabbilment ħabbru lilhom infushom għall-ewwel darba. L-ewwel daqqa t'għajn, is-sistema kienet lesta għall-produzzjoni (ukoll, Yandex.Metrica hija sistema ta 'produzzjoni ħarxa), l-appoġġ kien veloċi u sempliċi, u, l-aktar importanti, l-operazzjoni kienet sempliċi. Mill-2018, bdejna l-proċess ta’ tranżizzjoni. Iżda sa dak iż-żmien, kien hemm ħafna sistemi TSDB "adulti" u ttestjati fil-ħin, u ddeċidejna li niddedikaw ħin konsiderevoli u nqabblu alternattivi sabiex niżguraw li ma kienx hemm soluzzjonijiet alternattivi għal Clickhouse, skont ir-rekwiżiti tagħna.

Minbarra r-rekwiżiti tal-ħażna diġà speċifikati, dehru oħrajn ġodda:

  • is-sistema l-ġdida għandha tipprovdi mill-inqas l-istess prestazzjoni bħal MySQL fuq l-istess ammont ta 'hardware;
  • il-ħażna tas-sistema l-ġdida għandha tieħu ħafna inqas spazju;
  • Id-DBMS xorta trid tkun faċli biex timmaniġġja;
  • Ridt nibdel l-applikazzjoni minimament meta nibdel id-DBMS.

Liema sistemi bdejna nikkunsidraw?

Apache Hive/Apache Impala
Munzell Hadoop antik, ittestjat fil-battalja. Essenzjalment, hija interface SQL mibnija fuq il-ħażna tad-dejta f'formati indiġeni fuq HDFS.

Vantaġġi.

  • B'operazzjoni stabbli, huwa faċli ħafna li tiskala data.
  • Hemm soluzzjonijiet ta 'kolonna għall-ħażna tad-dejta (inqas spazju).
  • Eżekuzzjoni veloċi ħafna ta 'kompiti paralleli meta r-riżorsi huma disponibbli.

Cons.

  • Huwa Hadoop, u huwa diffiċli biex tużah. Jekk ma nkunux lesti li nieħdu soluzzjoni lesta fis-sħab (u m'aħniex lesti f'termini ta 'spejjeż), il-munzell kollu se jkollu jiġi mmuntat u appoġġjat mill-idejn tal-amministraturi, u verament ma rridux dan.
  • Id-dejta hija aggregata verament malajr.

Madankollu:

Kif ittestjajna diversi databases tas-serje tal-ħin

Il-veloċità tinkiseb billi jiżdied in-numru ta 'servers tal-kompjuters. Fi kliem sempliċi, jekk aħna kumpanija kbira, impenjati fl-analitika, u huwa kritiku għan-negozju li jaggrega l-informazzjoni kemm jista 'jkun malajr (anke bl-ispiża tal-użu ta' ammont kbir ta 'riżorsi tal-kompjuters), din tista' tkun l-għażla tagħna. Iżda ma konniex lesti li mmultiplika l-flotta tal-ħardwer biex inħaffu l-kompiti.

Druid/Pinot

Hemm ħafna aktar dwar TSDB speċifikament, iżda għal darb'oħra, il-munzell Hadoop.

Hemm artikolu kbir li jqabbel il-vantaġġi u l-iżvantaġġi ta 'Druid u Pinot kontra ClickHouse .

Fi ftit kliem: Druid/Pinot jidhru aħjar minn Clickhouse f'każijiet fejn:

  • Għandek natura eteroġenja ta 'data (fil-każ tagħna, aħna nirreġistraw biss serje ta' ħin ta 'metriċi tas-server, u, fil-fatt, din hija tabella waħda. Iżda jista' jkun hemm każijiet oħra: serje ta 'ħin tat-tagħmir, serje ta' ħin ekonomika, eċċ. - kull wieħed b' l-istruttura tagħha stess, li jeħtieġ li jiġu aggregati u pproċessati).
  • Barra minn hekk, hemm ħafna minn din id-dejta.
  • Tabelli u dejta b'serje ta' żmien jidhru u jisparixxu (jiġifieri, xi sett ta 'dejta wasal, ġie analizzat u mħassar).
  • M'hemm l-ebda kriterju ċar li bih id-dejta tista' tiġi maqsuma.

F'każijiet opposti, ClickHouse jaħdem aħjar, u dan huwa l-każ tagħna.

IkklikkjaHouse

  • SQL simili
  • Faċli biex timmaniġġja.
  • In-nies jgħidu li taħdem.

Jiġi magħżul għall-ittestjar.

InfluxDB

Alternattiva barranija għal ClickHouse. Mill-iżvantaġġi: Disponibbiltà Għolja hija preżenti biss fil-verżjoni kummerċjali, iżda jeħtieġ li titqabbel.

Jiġi magħżul għall-ittestjar.

Cassandra

Min-naħa l-waħda, nafu li tintuża biex tinħażen serje ta’ żmien metriċi minn sistemi ta’ monitoraġġ bħal, pereżempju, SignalFX jew OkMeter. Madankollu, hemm ispeċifiċitajiet.

Cassandra mhijiex database kolonni fis-sens tradizzjonali. Jidher aktar qisu veduta ta 'ringiela, iżda kull linja jista' jkollha numru differenti ta 'kolonni, li jagħmilha faċli li torganizza veduta ta' kolonni. F'dan is-sens, huwa ċar li b'limitu ta '2 biljun kolonna, huwa possibbli li tinħażen xi dejta f'kolonni (u l-istess serje ta' żmien). Pereżempju, fil-MySQL hemm limitu ta '4096 kolonna u huwa faċli li tfixkel żball bil-kodiċi 1117 jekk tipprova tagħmel l-istess.

Il-magna Cassandra hija ffukata fuq il-ħażna ta 'ammonti kbar ta' dejta f'sistema distribwita mingħajr kaptan, u t-teorema Cassandra CAP imsemmija hawn fuq hija aktar dwar AP, jiġifieri dwar id-disponibbiltà tad-dejta u r-reżistenza għall-qsim. Għalhekk, din l-għodda tista 'tkun kbira jekk għandek bżonn biss tikteb f'din id-database u rari taqra minnha. U hawnhekk huwa loġiku li tuża Cassandra bħala ħażna "kiesħa". Jiġifieri, bħala post fit-tul u affidabbli biex taħżen ammonti kbar ta 'dejta storika li rarament tkun meħtieġa, iżda tista' tiġi rkuprata jekk meħtieġ. Madankollu, għall-fini tal-kompletezza, aħna se nittestjawha wkoll. Iżda, kif għedt qabel, m'hemm l-ebda xewqa li nikteb b'mod attiv il-kodiċi għas-soluzzjoni tad-database magħżula, għalhekk se nittestjawha b'mod kemmxejn limitat - mingħajr ma naddattaw l-istruttura tad-database għall-ispeċifiċitajiet ta 'Cassandra.

Prometheus

Ukoll, mill-kurżità, iddeċidejna li nittestjaw il-prestazzjoni tal-ħażna Prometheus - biss biex nifhmu jekk aħniex aktar mgħaġġla jew aktar bil-mod mis-soluzzjonijiet attwali u b'kemm.

Metodoloġija tal-ittestjar u riżultati

Allura, ittestjajna 5 databases fis-6 konfigurazzjonijiet li ġejjin: ClickHouse (node ​​1), ClickHouse (tabella mqassma għal 3 nodi), InfluxDB, Mysql 8, Cassandra (3 nodi) u Prometheus. Il-pjan tat-test huwa kif ġej:

  1. ittella data storika għal ġimgħa (840 miljun valuri kuljum; 208 elf metrika);
  2. aħna niġġeneraw tagħbija ta 'reġistrazzjoni (6 modi ta' tagħbija ġew ikkunsidrati, ara hawn taħt);
  3. B'mod parallel mar-reġistrazzjoni, aħna perjodikament nagħmlu selezzjonijiet, u nimutaw it-talbiet ta 'utent li jaħdem ma' charts. Sabiex ma nikkomplikawx wisq l-affarijiet, għażilna dejta għal 10 metriċi (jiġifieri eżattament kemm hemm fuq il-graff tas-CPU) għal ġimgħa.

Aħna tagħbija billi niemu l-imġieba tal-aġent ta 'monitoraġġ tagħna, li jibgħat valuri lil kull metrika darba kull 15-il sekonda. Fl-istess ħin, aħna interessati li nvarjaw:

  • in-numru totali ta' metriċi li fihom tinkiteb id-dejta;
  • intervall biex jintbagħtu valuri għal metrika waħda;
  • daqs tal-lott.

Dwar id-daqs tal-lott. Peress li mhux irrakkomandat li tagħbija kważi kollha tad-databases sperimentali tagħna b'inserzjonijiet singoli, se jkollna bżonn relay li jiġbor metriċi deħlin u jiġborhom fi gruppi u jiktebhom fid-database bħala inserzjoni tal-lott.

Ukoll, biex nifhmu aħjar kif imbagħad ninterpretaw id-dejta riċevuta, ejja nimmaġinaw li mhux biss qed nibagħtu mazz ta 'metriċi, iżda l-metriċi huma organizzati f'servers - 125 metriċi għal kull server. Hawnhekk is-server huwa sempliċement entità virtwali - biss biex tifhem li, pereżempju, 10000 metrika jikkorrispondu għal madwar 80 server.

U hawn, meta wieħed iqis dan kollu, hemm is-6 modi ta' tagħbija tal-kitba tad-database tagħna:

Kif ittestjajna diversi databases tas-serje tal-ħin

Hemm żewġ punti hawn. L-ewwelnett, għal Cassandra dawn id-daqsijiet tal-lott irriżultaw li kienu kbar wisq, hemmhekk użajna valuri ta '50 jew 100. U t-tieni, peress li Prometheus jaħdem strettament fil-modalità tal-ġibda, i.e. huwa stess imur u jiġbor data minn sorsi metriċi (u anke pushgateway, minkejja l-isem, ma jibdilx fundamentalment is-sitwazzjoni), it-tagħbijiet korrispondenti ġew implimentati bl-użu ta 'kombinazzjoni ta' konfigurazzjonijiet statiċi.

Ir-riżultati tat-test huma kif ġej:

Kif ittestjajna diversi databases tas-serje tal-ħin

Kif ittestjajna diversi databases tas-serje tal-ħin

Kif ittestjajna diversi databases tas-serje tal-ħin

Dak li ta’ min jinnota: kampjuni veloċi b'mod meraviljuż minn Prometheus, kampjuni bil-mod terriblement minn Cassandra, kampjuni bil-mod inaċċettabbli minn InfluxDB; F'termini ta 'veloċità ta' reġistrazzjoni, ClickHouse rebaħ kulħadd, u Prometheus ma jipparteċipax fil-kompetizzjoni, għax jagħmel inserts huwa stess u ma nkejlu xejn.

Bħala riżultat,: ClickHouse u InfluxDB wrew lilhom infushom li huma l-aħjar, iżda cluster minn Influx jista 'jinbena biss fuq il-bażi tal-verżjoni Enterprise, li tiswa l-flus, filwaqt li ClickHouse ma tiswa xejn u hija magħmula fir-Russja. Huwa loġiku li fl-Istati Uniti l-għażla hija probabbilment favur inInfluxDB, u f'pajjiżna hija favur ClickHouse.

Sors: www.habr.com

Żid kumment