Ki jan nou teste plizyè baz done seri tan

Ki jan nou teste plizyè baz done seri tan

Pandan kèk ane ki sot pase yo, baz done seri tan yo te tounen yon bagay estrawòdinè (trè espesyalize yo itilize swa nan sistèm siveyans ouvè (ak mare nan solisyon espesifik) oswa nan pwojè Big Data) nan yon "pwodwi konsomatè". Sou teritwa Federasyon Larisi la, yo dwe bay Yandex ak ClickHouse mèsi espesyal pou sa. Jiska pwen sa a, si ou te bezwen estoke yon gwo kantite done seri tan, ou swa te oblije vini ak bezwen an bati yon pil Hadoop kolosal epi kenbe li, oswa kominike ak pwotokòl endividyèl pou chak sistèm.

Li ka sanble ke nan 2019 yon atik sou ki TSDB vo itilize pral konpoze de yon sèl fraz: "jis itilize ClickHouse." Men... gen nuans.

Vreman vre, ClickHouse ap devlope aktivman, baz itilizatè a ap grandi, ak sipò a trè aktif, men èske nou vin otaj nan siksè piblik ClickHouse, ki te kouvri lòt, petèt pi efikas / solisyon serye?

Nan kòmansman ane pase a, nou te kòmanse retravay pwòp sistèm siveyans nou an, pandan ke kesyon an leve nan chwazi yon baz done apwopriye pou estoke done yo. Mwen vle pale sou istwa chwa sa a isit la.

Deklarasyon sou pwoblèm nan

Premye a tout, yon prefas nesesè. Poukisa nou bezwen pwòp sistèm siveyans nou ditou e ki jan li te fèt?

Nou te kòmanse bay sèvis sipò an 2008, epi nan 2010 li te vin klè ke li te vin difisil pou rasanble done sou pwosesis ki fèt nan enfrastrikti kliyan an ak solisyon ki te egziste nan epòk sa a (n ap pale de, Bondye padone m, Cacti, Zabbix). ak Graphite kap parèt).

Kondisyon prensipal nou yo te:

  • sipò (nan tan sa a - plizyè douzèn, ak nan lavni an - dè santèn) nan kliyan nan yon sistèm ak nan menm tan an prezans nan yon sistèm jesyon alèt santralize;
  • fleksibilite nan jere sistèm alèt la (eskalade alèt ant ofisye devwa yo, orè, baz konesans);
  • kapasite nan detaye graf pwofondman (Zabbix nan epòk sa a te rann graf sou fòm foto);
  • depo alontèm nan yon gwo kantite done (yon ane oswa plis) ak kapasite nan byen vit rekipere li.

Nan atik sa a nou enterese nan dènye pwen an.

Pale de depo, kondisyon yo te jan sa a:

  • sistèm lan dwe travay byen vit;
  • li se dezirab ke sistèm nan gen yon koòdone SQL;
  • sistèm nan dwe estab epi yo gen yon baz itilizatè aktif ak sipò (yon fwa nou te fè fas ak nesesite pou sipòte sistèm tankou MemcacheDB, ki pa te devlope ankò, oswa MooseFS distribye depo a, tracker a ensèk yo te kenbe nan Chinwa: nou repete istwa sa a pou pwojè nou an pa t vle);
  • konfòmite ak teyorèm CAP la: Konsidans (obligatwa) - done yo dwe ajou, nou pa vle sistèm jesyon alèt la pa resevwa nouvo done ak krache alèt sou non-rive nan done pou tout pwojè; Tolerans patisyon (obligatwa) - nou pa vle jwenn yon sistèm Split Brain; Disponibilite (pa kritik, si gen yon kopi aktif) - nou ka chanje nan sistèm nan backup tèt nou nan ka ta gen yon aksidan, lè l sèvi avèk kòd.

Etranj ase, nan moman sa a MySQL te tounen solisyon ideyal la pou nou. Estrikti done nou an te trè senp: id sèvè, id kontwa, timestamp ak valè; echantiyon rapid nan done cho te asire pa yon pisin tanpon gwo, ak echantiyon nan done istorik te asire pa SSD.

Ki jan nou teste plizyè baz done seri tan

Kidonk, nou te reyalize yon echantiyon done fre de semèn, ak detay desann nan yon dezyèm 200 ms anvan done yo te konplètman rann, epi te viv nan sistèm sa a pou yon tan long.

Pandan se tan, tan te pase ak kantite done yo te grandi. Pa 2016, volim done yo te rive jwenn dè dizèn de terabytes, ki te yon depans enpòtan nan kontèks depo SSD lwe.

Nan tan sa a, baz done kolòn te vin aktivman gaye toupatou, ki nou te kòmanse aktivman panse sou: nan baz done kolon, done yo estoke, jan ou ka konprann, nan kolòn, epi si ou gade nan done nou an, li fasil wè yon gwo kantite kopi ki ta ka, nan Si w itilize yon baz done kolòn, konpresyon li lè l sèvi avèk konpresyon.

Ki jan nou teste plizyè baz done seri tan

Sepandan, sistèm kle konpayi an te kontinye travay stab, e mwen pa t vle fè eksperyans ak chanje nan yon lòt bagay.

Nan 2017, nan konferans Percona Live nan San Jose, devlopè Clickhouse pwobableman te anonse tèt yo pou premye fwa. Nan premye gade, sistèm lan te pare pou pwodiksyon (byen, Yandex.Metrica se yon sistèm pwodiksyon piman bouk), sipò te rapid ak senp, epi, sa ki pi enpòtan, operasyon te senp. Depi 2018, nou te kòmanse pwosesis tranzisyon an. Men, nan epòk sa a, te gen anpil sistèm TSDB "granmoun" ak tan teste, epi nou te deside konsakre tan konsiderab epi konpare altènativ yo nan lòd asire ke pa te gen okenn solisyon altènatif nan Clickhouse, selon kondisyon nou yo.

Anplis de kondisyon depo deja espesifye, nouvo yo te parèt:

  • nouvo sistèm nan ta dwe bay omwen menm pèfòmans ak MySQL sou menm kantite pyès ki nan konpitè;
  • depo nouvo sistèm lan ta dwe pran anpil mwens espas;
  • DBMS a dwe toujou fasil pou jere;
  • Mwen te vle chanje aplikasyon an yon ti kras lè chanje DBMS la.

Ki sistèm nou te kòmanse konsidere?

Apache Hive/Apache Impala
Yon ansyen pil Hadoop ki teste batay la. Esansyèlman, li se yon koòdone SQL bati sou tèt estoke done nan fòma natif natal sou HDFS.

Avantaj.

  • Avèk operasyon ki estab, li trè fasil pou echèl done yo.
  • Gen solisyon kolòn pou depo done (mwens espas).
  • Trè rapid ekzekisyon nan travay paralèl lè resous yo disponib.

Kont

  • Li se Hadoop, epi li difisil pou itilize. Si nou pa pare pou pran yon solisyon pare nan nwaj la (e nou pa pare an tèm de pri), tout pil la pral gen yo dwe rasanble ak sipòte pa men yo nan admin, epi nou reyèlman pa vle. sa a.
  • Done yo agrégées vrèman vit.

Men:

Ki jan nou teste plizyè baz done seri tan

Vitès reyalize lè yo ogmante kantite serveurs informatique. Senpleman mete, si nou se yon gwo konpayi, angaje nan analytics, epi li enpòtan pou biznis la total enfòmasyon pi vit ke posib (menm nan pri a nan itilize yon gwo kantite resous informatique), sa a ka chwa nou an. Men, nou pa t 'pare yo miltipliye flòt pyès ki nan konpitè yo akselere travay.

Drwid/Pinot

Gen anpil plis sou TSDB espesyalman, men ankò, chemine Hadoop la.

Gen gwo atik konpare avantaj ak dezavantaj Druid ak Pinot kont ClickHouse .

Nan kèk mo: Druid/Pinot gade pi bon pase Clickhouse nan ka kote:

  • Ou gen yon nati heterogeneous nan done (nan ka nou an, nou anrejistre sèlman timeseries nan mezi sèvè, epi, an reyalite, sa a se yon sèl tab. Men, ka gen lòt ka: seri tan ekipman, seri tan ekonomik, elatriye - chak ak estrikti pwòp li yo, ki bezwen yo dwe rasanble ak trete).
  • Anplis, gen anpil nan done sa yo.
  • Tablo ak done ak seri tan parèt ak disparèt (ki se, kèk seri done te rive, yo te analize ak efase).
  • Pa gen okenn kritè klè pou done yo ka divize.

Nan ka opoze, ClickHouse fè pi byen, e sa a se ka nou an.

Klike sou Kay

  • SQL tankou
  • Fasil pou jere.
  • Moun yo di li travay.

Vin seleksyone pou tès la.

InfluxDB

Yon altènatif etranje pou ClickHouse. Nan minuses yo: Disponibilite segondè se sèlman prezan nan vèsyon an komèsyal, men li bezwen yo dwe konpare.

Vin seleksyone pou tès la.

Cassandra

Sou yon bò, nou konnen ke sistèm siveyans sa yo itilize pou estoke seri metrik yo, tankou, pou egzanp, SignalFX oswa OkMeter. Sepandan, gen spesifik.

Cassandra se pa yon baz done kolon nan sans tradisyonèl la. Li sanble plis tankou yon View ranje, men chak liy ka gen yon kantite diferan nan kolòn, ki fè li fasil òganize yon View kolòn. Nan sans sa a, li klè ke ak yon limit nan 2 milya dola kolòn, li posib pou estoke kèk done nan kolòn (ak menm seri tan an). Pou egzanp, nan MySQL gen yon limit nan 4096 kolòn epi li se fasil bite sou yon erè ak kòd 1117 si ou eseye fè menm bagay la.

Motè Cassandra a konsantre sou estoke gwo kantite done nan yon sistèm distribye san yon mèt, ak teyorèm Cassandra CAP ki mansyone anwo a se plis sou AP, se sa ki sou disponiblite done ak rezistans nan patisyon. Kidonk, zouti sa a ka gwo si ou sèlman bezwen ekri nan baz done sa a epi li raman nan li. Ak isit la li lojik yo sèvi ak Cassandra kòm yon depo "frèt". Sa vle di, kòm yon alontèm, yon kote serye pou estoke gwo kantite done istorik ki raman bezwen, men yo ka rekipere si sa nesesè. Men, pou dedomajman pou konplè, nou pral teste li tou. Men, jan mwen te di pi bonè, pa gen okenn dezi aktivman reekri kòd la pou solisyon baz done chwazi a, kidonk nou pral teste li yon ti jan limite - san yo pa adapte estrikti nan baz done ak spesifik yo nan Cassandra.

Prometheus

Oke, nan kiryozite, nou deside teste pèfòmans nan depo Prometheus - jis pou konprann si nou pi vit oswa pi dousman pase solisyon aktyèl yo ak nan konbyen lajan.

Tès metodoloji ak rezilta yo

Se konsa, nou teste 5 baz done nan 6 konfigirasyon sa yo: ClickHouse (1 ne), ClickHouse (tablo distribye pou 3 nœuds), InfluxDB, Mysql 8, Cassandra (3 nœuds) ak Prometheus. Plan tès la se jan sa a:

  1. telechaje done istorik pou yon semèn (840 milyon valè pou chak jou; 208 mil metrik);
  2. nou jenere yon chaj anrejistreman (6 mòd chaj yo te konsidere, gade anba a);
  3. Nan paralèl ak anrejistreman, nou fè seleksyon detanzantan, imite demann yo nan yon itilizatè k ap travay ak tablo. Pou nou pa konplike bagay yo twòp, nou chwazi done pou 10 metrik (sa se egzakteman konbyen ki genyen sou graf CPU a) pou yon semèn.

Nou chaje pa imite konpòtman ajan siveyans nou an, ki voye valè nan chak metrik yon fwa chak 15 segonn. An menm tan, nou enterese nan varye:

  • kantite total mezi done yo ekri;
  • entèval pou voye valè nan yon sèl metrik;
  • gwosè pakèt.

Konsènan gwosè pakèt la. Piske li pa rekòmande pou chaje prèske tout baz done eksperimantal nou yo ak yon sèl foure, nou pral bezwen yon relè ki kolekte mezi k ap rantre epi gwoupe yo an gwoup epi ekri yo nan baz done a kòm yon insert pakèt.

Epitou, pi byen konprann ki jan yo Lè sa a, entèprete done yo resevwa, se pou nou imajine ke nou pa jis voye yon pakèt moun sou metrik, men metriz yo òganize an sèvè - 125 metrik pou chak sèvè. Isit la sèvè a se tou senpleman yon antite vityèl - jis yo konprann ke, pou egzanp, 10000 metrik koresponn ak apeprè 80 sèvè.

Ak isit la, pran tout bagay sa yo an kont, se 6 mòd chaj ekri baz done nou an:

Ki jan nou teste plizyè baz done seri tan

Gen de pwen isit la. Premyèman, pou Cassandra gwosè pakèt sa yo te twò gwo, nou te itilize valè 50 oswa 100. Ak dezyèmman, depi Prometheus travay entèdi nan mòd rale, sa vle di. li menm li ale ak kolekte done ki soti nan sous metrik (e menm pushgateway, malgre non an, pa fondamantalman chanje sitiyasyon an), chaj yo korespondan yo te aplike lè l sèvi avèk yon konbinezon de konfigirasyon estatik.

Rezilta tès yo se jan sa a:

Ki jan nou teste plizyè baz done seri tan

Ki jan nou teste plizyè baz done seri tan

Ki jan nou teste plizyè baz done seri tan

Ki sa ki vo sonje: echantiyon fantastikman rapid soti nan Prometheus, echantiyon fò anpil ralanti soti nan Cassandra, echantiyon inakseptab ralanti soti nan InfluxDB; An tèm de vitès anrejistreman, ClickHouse te genyen tout moun, ak Prometheus pa patisipe nan konpetisyon an, paske li fè foure tèt li epi nou pa mezire anyen.

Nan fen an: ClickHouse ak InfluxDB te montre tèt yo yo dwe pi bon an, men yon gwoup ki soti nan Influx ka sèlman bati sou baz vèsyon an Enterprise, ki koute lajan, pandan y ap ClickHouse koute anyen epi li se te fè nan Larisi. Li lojik ke nan USA chwa a se pwobableman an favè inInfluxDB, ak nan peyi nou an se an favè ClickHouse.

Sous: www.habr.com

Add nouvo kòmantè