Sida aan u tijaabinay xog-ururin waqtiyo badan ah

Sida aan u tijaabinay xog-ururin waqtiyo badan ah

Dhawrkii sano ee la soo dhaafay, xog-ururinta-waqtiga-xilliyeedka waxay ka noqdeen shay aan fiicneyn (si aad ah u takhasusay oo loo isticmaalo nidaamyada kormeerka furan (oo ku xiran xalal gaar ah) ama mashaariicda Xogta Weyn) oo loo beddelo "alaabta macaamiisha". Dhulka Ruushka, mahad gaar ah waa in la siiyaa Yandex iyo ClickHouse. Ilaa heerkan, haddii aad u baahato inaad kaydiso tiro badan oo xog taxane ah, waa inaad la timaaddaa baahida loo qabo in la dhiso xidhmo Hadoop ah oo bahal ah oo aad ilaaliso, ama aad la xidhiidho borotokoolka shakhsi ahaaneed ee nidaam kasta.

Waxay u muuqan kartaa in sanadka 2019 maqaal ku saabsan TSDB ay mudan tahay in la isticmaalo uu ka koobnaan doono hal jumlad: "kaliya isticmaal ClickHouse." Laakiin... waxaa jira nuances.

Runtii, ClickHouse ayaa si firfircoon u horumarinaysa, saldhigga adeegsaduhu wuu sii kordhayaa, taageeraduna aad bay u firfircoon tahay, laakiin miyaannu la-hayste u noqonnay guusha dadweynaha ee ClickHouse, kaas oo hadheeyay kuwa kale, laga yaabee in ka badan oo wax ku ool ah / xalal la isku halleyn karo?

Bilowgii sannadkii hore, waxaan bilownay inaan dib u habeynno nidaamkayaga kormeerka, kaas oo su'aashu ay kacday doorashada keydka xogta ku habboon ee kaydinta xogta. Waxaan rabaa inaan halkan kaga hadlo taariikhda doorashadan.

Abuurista dhibaatada

Marka hore, gogoldhig lagama maarmaan ah. Waa maxay sababta aan ugu baahanahay nidaamkayaga la socodka gabi ahaanba iyo sidee loo qaabeeyey?

Waxaan bilownay bixinta adeegyada taageerada 2008, iyo 2010 waxay caddaatay in ay adkaatay in la isku daro xogta ku saabsan hababka ka dhacaya kaabayaasha macaamiisha xalalkii jiray wakhtigaas (waxaan ka hadlaynaa, Ilaahow i cafi, Cacti, Zabbix). iyo Graphite-ka soo baxaya).

Shuruudahayaga ugu muhiimsan waxay ahaayeen:

  • taageero (waqtigaas - daraasiin, iyo mustaqbalka - boqolaal) macaamiisha hal nidaam iyo isla mar ahaantaana joogitaanka nidaamka maamulka feejignaanta dhexe;
  • dabacsanaan xagga maaraynta nidaamka digniinta (kordhinta digniinaha u dhexeeya saraakiisha shaqada, jadwalka, saldhigga aqoonta);
  • Awoodda si qoto dheer loo faahfaahiyo garaafyada (Zabbix wakhtigaas oo la sameeyay garaafyada qaabka sawirada);
  • kaydinta muddada-dheer ee qadar badan oo xog ah (sanad ama ka badan) iyo awood u leh in si degdeg ah loo soo saaro.

Maqaalkan waxaan xiiseyneynaa qodobka ugu dambeeya.

Isagoo ka hadlaya kaydinta, shuruuduhu waxay ahaayeen sidan.

  • nidaamku waa inuu si dhakhso ah u shaqeeyaa;
  • waa suurad wacan in nidaamku leeyahay interface SQL;
  • Nidaamku waa inuu ahaadaa mid deggan oo leh saldhig isticmaale oo firfircoon iyo taageero (mar haddii aan la kulanno baahida loo qabo in lagu taageero nidaamyada sida MemcacheDB, oo aan hadda la horumarin, ama MooseFS qaybinta kaydinta, tracker bug kaas oo lagu hayo Shiinaha: waxaan ku celineynaa sheekadan mashruuceena ma rabin;
  • u hoggaansanaanta aragtida CAP: Joogteynta (loo baahan yahay) - xogtu waa inay noqotaa mid casri ah, ma rabno in nidaamka maaraynta digniinta uusan helin xog cusub oo uu tufo digniinaha ku saabsan imaatinka xogta dhammaan mashaariicda; Dulqaadka Qaybinta (loo baahan yahay) - ma rabno in aan helno nidaamka Maskaxda Kala qaybsan; Helitaanka (ma aha mid muhiim ah, haddii uu jiro nuqul firfircoon) - waxaan u beddeli karnaa nidaamka kaydinta nafteena haddii ay dhacdo shil, adoo isticmaalaya koodka.

Si la yaab leh, wakhtigaas MySQL waxay noqotay xalka ugu habboon annaga. Qaab dhismeedka xogtayadu aad buu u fududaa: id server, id counter, timestamp iyo qiimaha; shaybaarka degdega ah ee xogta kulul ayaa lagu hubiyay barkad kayd ah oo weyn, iyo muunad xogta taariikhiga ah waxaa hubiyay SSD.

Sida aan u tijaabinay xog-ururin waqtiyo badan ah

Markaa, waxaanu gaadhnay muunad xog laba toddobaad ah oo cusub, iyadoo tafatiran ilaa 200 ms labaad ka hor inta aan xogta gebi ahaanba la soo saarin, oo aan ku noolay nidaamkan muddo dheer.

Dhanka kale, waqti ayaa dhaafey oo tirada xogta ayaa korodhay. Sannadkii 2016, tirada xogtu waxay gaadhay tobanaan terabyte, kaas oo ahaa kharash aad u badan marka loo eego macnaha kaydinta SSD ee kirada ah.

Waqtigaan, database-yada columnar waxay noqdeen kuwo si firfircoon u faafaya, taas oo aan bilownay inaan si firfircoon uga fikirno: database-yada columnar, xogta ayaa lagu kaydiyaa, sida aad fahmi karto, tiirarka, iyo haddii aad eegto xogtayada, way fududahay inaad aragto weyn. tirada nuqul ka mid ah oo laga yaabo, in Haddii aad isticmaasho database columnar, ku cadaadi isticmaalaya cadaadis.

Sida aan u tijaabinay xog-ururin waqtiyo badan ah

Si kastaba ha noqotee, nidaamka muhiimka ah ee shirkadu wuxuu sii waday inuu si deggan u shaqeeyo, mana aanan rabin inaan tijaabiyo u beddelashada shay kale.

2017, shirkii Percona Live ee San Jose, horumarinta Clickhouse waxay u badan tahay inay naftooda ku dhawaaqeen markii ugu horeysay. Jaleecada hore, nidaamku wuxuu ahaa mid wax soo saar leh (si fiican, Yandex.Metrica waa nidaam wax-soo-saar adag), taageeradu waxay ahayd mid degdeg ah oo fudud, iyo, ugu muhiimsan, hawlgalku wuxuu ahaa mid fudud. Tan iyo 2018, waxaan bilownay geeddi-socodka ku-meel-gaarka. Laakiin wakhtigaas, waxaa jiray nidaamyo TSDB badan oo "dadka waaweyn" iyo waqti-la tijaabiyey, waxaanan go'aansanay inaan waqti badan galno oo aan isbarbar dhigno beddelka si aan u hubinno inaysan jirin xal kale oo lagu beddelo Clickhouse, sida waafaqsan shuruudahayada.

Marka lagu daro shuruudaha kaydinta ee hore loo cayimay, kuwa cusub ayaa soo muuqday:

  • nidaamka cusub waa inuu bixiyaa ugu yaraan wax qabad la mid ah MySQL oo ku saabsan isla qaddarka qalabka;
  • kaydinta nidaamka cusub waa in ay qaataan meel aad u yar;
  • DBMS waa in wali ay fududdahay in la maareeyo;
  • Waxaan rabay inaan wax yar ka beddelo codsiga markaan beddelayo DBMS.

Nidaamkee ayaan bilownay inaan tixgelinno?

Apache Hive/Apache Impala
Xirmo hore oo Hadoop ah oo dagaal lagu tijaabiyay. Asal ahaan, waa interface SQL ah oo lagu dhisay dusha sare ee kaydinta xogta qaabab hooyo HDFS.

Faa'iidooyinka

  • Hawlgalka xasilloon, aad bay u fududahay in la cabbiro xogta.
  • Waxaa jira xalal tiirar ah oo loogu talagalay kaydinta xogta (meel yar).
  • Fulinta aadka u degdega ah ee hawlaha barbar socda marka agab la heli karo.

Minuses

  • Waa Hadoop, wayna adagtahay in la isticmaalo. Haddii aynaan diyaar u ahayn in aan xal diyaar ah ku qaadano daruuraha (oo aan diyaar u ahayn xagga kharashka), gunnada oo dhan waa in la ururiyaa oo lagu taageeraa gacmaha admins, mana rabno runtii. tan.
  • Xogta waa la isku daray aad u degdeg badan.

Si kastaba ha ahaatee:

Sida aan u tijaabinay xog-ururin waqtiyo badan ah

Xawaaraha waxaa lagu gaaraa iyadoo la cabiro tirada server-yada xisaabinta. Si fudud loo dhigo, haddii aan nahay shirkad weyn, oo ku hawlan falanqaynta, waxaana muhiim u ah ganacsiga in la isku daro macluumaadka sida ugu dhakhsaha badan ee suurtogalka ah (xitaa kharashka isticmaalka qadar badan oo agab xisaabeed), tani waxay noqon kartaa doorashadayada. Laakiin diyaar uma aynaan ahayn in aan ku dhufano maraakiibta qalabka si aan u dardargelino hawlaha.

Druid/Pinot

Waxaa jira wax badan oo ku saabsan TSDB gaar ahaan, laakiin mar labaad, xirmada Hadoop.

Waxaa jira maqaal weyn oo isbarbar dhigaya faa'iidooyinka iyo khasaarooyinka Druid iyo Pinot iyo ClickHouse .

Dhowr kelmadood: Druid/Pint waxay u muuqdaan kuwo ka fiican Clickhouse marka ay jiraan:

  • Waxaad leedahay dabeecad kala duwan oo xog ah (xaaladkeena, waxaan diiwaangelineynaa kaliya taxane waqtiyo ah oo ah mitirka server-ka, iyo, dhab ahaantii, tani waa hal miis. Laakiin waxaa jiri kara kiisas kale: taxane waqti qalab, taxane waqti dhaqaale, iwm - mid kasta oo leh qaab dhismeedkeeda, kaas oo u baahan in la isku geeyo oo la habeeyo).
  • Waxaa intaa dheer, waxaa jira wax badan oo xogtan ah.
  • Shaxda iyo xogta leh taxane wakhti ayaa soo muuqda oo baaba'aya (taasi waa, xogo qaar ayaa yimid, la falanqeeyay oo la tirtiray).
  • Ma jirto shuruud cad oo xogta lagu qaybsan karo.

Kiisaska iska soo horjeeda, ClickHouse ayaa si ka wanaagsan u qabata, tanina waa kiiskeenna.

GujiHouse

  • SQL u eg
  • Si fudud loo maareeyo.
  • Dadku waxay yiraahdaan way shaqeysaa.

Looga soo baxay liiska imtixaanada

InfluxDB

Beddelka ajnabiga ah ee ClickHouse. Laga jaro: Helitaanka Sare wuxuu ku jiraa kaliya nooca ganacsiga, laakiin waxay u baahan tahay in la barbardhigo.

Looga soo baxay liiska imtixaanada

Cassandra

Dhinaca kale, waxaan ognahay in loo isticmaalo in lagu kaydiyo metric times by hababka la socodka sida, tusaale ahaan, SignalFX ama OkMeter. Si kastaba ha ahaatee, waxaa jira waxyaabo gaar ah.

Cassandra ma aha kaydka tiirarka ee macnaha dhaqanka. Waxay u egtahay muuqaal saf ah, laakiin xariiq kastaa wuxuu yeelan karaa tiro kala duwan oo tiirar ah, taasoo sahlaysa in la habeeyo aragtida tiirarka. Dareenkan, way caddahay in xadka 2 bilyan oo tiirar ah, ay suurtogal tahay in lagu kaydiyo xogta qaar ee tiirarka (iyo waqti isku mid ah). Tusaale ahaan, MySQL waxaa ku jira xadka 4096 tiirar waana ay fududahay in lagu turunturoodo qaladka koodka 1117 haddii aad isku daydo inaad sidaas oo kale sameyso.

Matoorka Cassandra wuxuu diiradda saarayaa kaydinta xaddi badan oo xog ah oo ku jira nidaamka la qaybiyay iyada oo aan lahayn sayid, iyo aragtida sare ee Cassandra CAP waxay ku saabsan tahay AP, taas oo ah, ku saabsan helitaanka xogta iyo iska caabinta qaybinta. Sidaa darteed, qalabkani wuxuu noqon karaa mid aad u fiican haddii aad u baahan tahay oo kaliya inaad wax u qorto xogtan oo aad dhif u tahay inaad wax ka akhrido. Oo halkan waa macquul in Cassandra loo isticmaalo kaydinta "qabow". Taasi waa, sida meel muddo dheer ah, oo lagu kalsoonaan karo oo lagu kaydiyo tiro badan oo xog taariikhi ah oo dhif ah loo baahan yahay, laakiin waa la soo celin karaa haddii loo baahdo. Si kastaba ha ahaatee, dhammaystirka aawadood, annaguna waanu tijaabin doonnaa. Laakiin, sidaan hore u sheegay, ma jirto rabitaan ah in si firfircoon dib loogu qoro code ee xal database ee la doortay, si aan u tijaabin doonaa xoogaa xaddidan - iyada oo aan la qabsiga qaab-dhismeedka database ee gaarka ah ee Cassandra.

Prometheus

Waa hagaag, xiisaha, waxaan go'aansanay inaan tijaabino waxqabadka kaydinta Prometheus - kaliya si aan u fahanno haddii aan ka dhaqso badan nahay ama ka gaabineyno xalalka hadda jira iyo inta ay le'eg tahay.

Habka tijaabada iyo natiijooyinka

Marka, waxaan ku tijaabinay 5 database ee soo socda 6 qaabeynta: ClickHouse (1 node), ClickHouse (miiska loo qaybiyay 3 noode), InfluxDB, Mysql 8, Cassandra (3 nodes) iyo Prometheus. Qorshaha imtixaanku waa sida soo socota:

  1. soo geli xogta taariikhiga ah ee usbuuca (qiyaastii 840 milyan maalintii; 208 kun oo mitir);
  2. waxaan abuurnaa culeys duubis ah (6 hababka culeyska ayaa la tixgeliyey, hoos eeg);
  3. Si la mid ah duubista, waxaan sameynaa xilliyo kala duwan, anagoo ku dayanayna codsiyada adeegsadaha ku shaqeeya jaantusyada. Si aanaan wax badan u adkayn, waxaanu u dooranay xogta 10 mitir (taasi waa sida saxda ah ee ay u badan yihiin garaafka CPU) muddo todobaad ah.

Waxaan ku shubaa annagoo ku dayanaya hab-dhaqanka wakiilkayaga la socodka, kaas oo u soo dira qiyamka mitir kasta hal mar 15kii sekan. Isla markaana, waxaanu xiisaynaynaa inaanu ku kala duwanaano:

  • wadarta tirada mitir ee xogta lagu qoray;
  • muddada u dhaxaysa qiimaha hal mitir;
  • cabbirka dufcadda.

Ku saabsan cabbirka dufcadda. Maaddaama aan lagu talin in lagu shubo ku dhawaad ​​dhammaan xogtayada tijaabada ah ee leh hal gelin, waxaanu u baahan doonaa gudbin ururinaysa cabbirada soo socda oo u kooxeeya kooxo una qora kaydka kaydka sidii dufcad gelin.

Sidoo kale, si aad si fiican u fahamto sida loo tarjumo xogta la helay, aan ka fikirno inaanan soo dirayn oo kaliya tirooyin mitir ah, laakiin cabbirada waxaa loo habeeyey server - 125 metrics per server. Halkan server-ku si fudud waa wax macmal ah - kaliya si loo fahmo taas, tusaale ahaan, 10000 metrik waxay u dhigmaan ilaa 80 server.

Oo halkan, iyada oo waxaas oo dhan xisaabta ku darsaday, waa 6-da xog-ururinta ee qorista hababka:

Sida aan u tijaabinay xog-ururin waqtiyo badan ah

Waxaa jira laba dhibcood halkan. Marka hore, Cassandra, cabbirradan dufcadaha ayaa u soo baxay inay aad u weyn yihiin, halkaas waxaan isticmaalnay qiyamka 50 ama 100. Marka labaadna, maadaama Prometheus uu si adag ugu shaqeeyo qaabka jiidashada, i.e. lafteedu way tagtaa oo ururisaa xogta ilaha metrics (iyo xitaa marinka riixida, inkasta oo magaca, aan asal ahaan wax ka beddelin xaalada), culeysyada u dhigma ayaa la hirgeliyay iyadoo la adeegsanayo isku-darka qaab-dhismeedka static.

Natiijooyinka imtixaanku waa sida soo socota:

Sida aan u tijaabinay xog-ururin waqtiyo badan ah

Sida aan u tijaabinay xog-ururin waqtiyo badan ah

Sida aan u tijaabinay xog-ururin waqtiyo badan ah

Maxaa mudan in la xusoMuunado si fantastik ah u dhaqso badan oo ka yimid Prometheus, muunado aad u gaabis ah oo laga keenay Cassandra, muunado gaabis ah oo aan la aqbali karin oo laga keenay InfluxDB; Marka la eego xawaaraha duubista, ClickHouse ayaa ku guuleystay qof walba, Prometheusna kama qayb qaadanayo tartanka, sababtoo ah waxay samaysaa gelinta lafteeda, waxna ma cabbirno.

Gabagabadii: ClickHouse iyo InfluxDB waxay sameeyeen sida ugu fiican, laakiin koox ka socota Influx kaliya waxaa lagu dhisi karaa iyada oo lagu saleynayo nooca ganacsiga, taas oo lacag ah, halka ClickHouse aysan waxba ka bixin oo laga sameeyay Ruushka. Waa macquul in gudaha Mareykanka doorashadu ay u badan tahay inay door bidayso InfluxDB, waddankeenana waxay door bidaysaa ClickHouse.

Source: www.habr.com

Add a comment