Cadhada, gorgortanka iyo niyad-jabka markaad la shaqaynayso InfluxDB

Cadhada, gorgortanka iyo niyad-jabka markaad la shaqaynayso InfluxDB

Haddii aad isticmaasho xog-ururin waqtiyeed (timeseries db, wiki) sida kaydinta ugu weyn ee goobta leh tirakoobyada, ka dibna halkii aad xallin lahayd dhibaatada waxaad heli kartaa madax xanuun badan. Waxaan ka shaqeynayaa mashruuc isticmaala xogtan oo kale, iyo mararka qaarkood InfluxDB, kaas oo laga doodi doono, soo bandhigay lama filaan gabi ahaanba lama filaan ah.

Afeef: Arrimaha liiska ku jira waxay khuseeyaan nooca InfluxDB 1.7.4.

Waa maxay sababta taxanaha wakhtiga?

Mashruucu waa in lala socdo macaamil ganacsi oo kala duwan oo blockchain ah iyo soo bandhigida tirakoobyada. Gaar ahaan, waxaanu eegnaa sii daynta iyo gubashada qadaadiicda deggan (wiki). Iyada oo ku saleysan wax kala iibsiga, waxaad u baahan tahay inaad dhisto garaafyo oo aad muujiso jaantusyo kooban.

Iyadoo la falanqeynayo macaamilka, fikrad ayaa soo baxday: in loo isticmaalo xogta taxanaha wakhtiga InfluxDB sida kaydinta ugu weyn. Wax kala iibsigu waa dhibco wakhtiga waxayna si fiican ugu haboon yihiin qaabka taxanaha wakhtiga.

Hawlaha isku-darka ayaa sidoo kale u muuqday mid aad u habboon - ku habboon habaynta jaantusyada leh muddo dheer. Isticmaaluhu wuxuu u baahan yahay jaantus muddo sannad ah, kaydkuna wuxuu ka kooban yahay xog la dejiyay oo leh waqti xaddidan oo shan daqiiqo ah. Waa macno darro in loo diro dhammaan boqol kun oo dhibcood - marka laga reebo farsamaynta dheer, xitaa kuma habboona shaashadda. Waxaad qori kartaa fulinta adiga kuu gaar ah ee kordhinta wakhtiga, ama isticmaal hawlaha isku-darka ee lagu dhisay qulqulka. Caawintooda, waxaad kooxeyn kartaa xogta maalintii oo aad u diri kartaa 365 dhibcood ee loo baahan yahay.

Waxa ay ahayd wax yar oo jahawareer ah in xogta macluumaadka sida caadiga ah loo isticmaalo ujeeddada ururinta cabbirada. La socodka server-yada, aaladaha iot, wax kasta oo malaayiin dhibcood oo foomka "qulqulaya": [<time> - <metric value>]. Laakiin haddii kaydku si fiican ugu shaqeeyo qulqulka xogta weyn, markaa maxay mugga yar u keenayaa dhibaatooyin? Anigoo tan maskaxda ku hayna, waxaan u qaadnay InfluxDB si ay u shaqeyso.

Maxaa kale oo ku habboon InfluxDB

Marka laga reebo hawlaha isku-darka ee la soo sheegay, waxaa jira shay kale oo weyn - weydiimo joogto ah (Doc). Kani waa jadwal sameeye lagu dhex dhisay kaydka kaas oo ka shaqayn kara xogta jadwalka. Tusaale ahaan, 24-kii saacadoodba mar waxaad ururin kartaa dhammaan diiwaannada maalinta, xisaabi celceliska oo waxaad ku qori kartaa hal dhibic oo cusub miis kale adigoon qorin baaskiiladaada.

Sidoo kale leeyihiin siyaasadaha haynta (Doc) - dejinta xogta tirtirka ka dib muddo cayiman. Waa faa'iido leh marka, tusaale ahaan, aad u baahan tahay inaad kaydiso culeyska CPU muddo toddobaad ah adigoo cabbiraya hal mar ilbiriqsikii, laakiin in ka badan dhowr bilood oo sax ah looma baahna. Xaaladdan oo kale, waxaad samayn kartaa sidan:

  1. samee weydiimo joogto ah si aad xogta ugu ururiso miis kale;
  2. shaxda koowaad, qeex siyaasada lagu tirtirayo cabbirada ka weyn isla usbuuca.

Qulqulku wuxuu si madaxbanaan u dhimi doonaa cabbirka xogta wuxuuna tirtiri doonaa waxyaabaha aan loo baahnayn.

Ku saabsan xogta kaydsan

Xog badan lama kaydiyo: qiyaastii 70 kun oo macaamil ganacsi iyo malaayiin kale oo leh macluumaadka suuqa. Ku darida galitaanka cusub - in aan ka badnayn 3000 dhibcood maalintii. Waxa kale oo jira jaangooyooyin loogu talagalay goobta, laakiin waxaa jira xog yar oo halkaas ku taal, marka loo eego siyaasadda haynta, waxay ku kaydsan yihiin wax aan ka badnayn hal bil.

Dhibaatooyinka

Intii lagu guda jiray horumarinta iyo tijaabinta dambe ee adeegga, dhibaatooyin aad iyo aad u daran ayaa ka kacay hawlgalka InfluxDB.

1. Tirtir xogta

Waxaa jira xog taxane ah oo leh wax kala iibsiga:

SELECT time, amount, block, symbol FROM transactions WHERE symbol='USDT'

Natiijada:

Cadhada, gorgortanka iyo niyad-jabka markaad la shaqaynayso InfluxDB

Waxaan u dirayaa amar lagu tirtirayo xogta:

DELETE FROM transactions WHERE symbol=’USDT’

Marka xigta waxaan codsanayaa inaan helo xogta mar hore la tirtiray. Iyo halkii jawaab madhan laga heli lahaa, Qulqulku wuxuu soo celinayaa qayb ka mid ah xogta ay tahay in la tirtiro.

Waxaan isku dayayaa inaan tirtiro dhammaan miiska:

DROP MEASUREMENT transactions

Waxaan hubiyaa tirtirka miiska:

SHOW MEASUREMENTS

Ma arko shaxda liiska ku jira, laakiin xog xogeed cusub ayaa wali soo celinaysa isla xawaalad la mid ah.

Dhibaatadu waxay igu dhacday hal mar, maadaama kiiskii tirtirku ahaa kiis go'doonsan. Laakiin hab-dhaqankan xog-ururinta si cad uguma habboona qaabka hawlgalka "sax ah". Ka dib waxaan ka helay github ka furan tigidh ku dhawaad ​​hal sano ka hor mawduucan.

Natiijo ahaan, tirtirida iyo soo celinta xogta xogta oo dhan ayaa caawisay.

2. Nambarada dhibcaha sabbaynaya

Xisaabinta xisaabta marka la isticmaalayo hawlaha ku dhex jira InfluxDB waxay leeyihiin khaladaad sax ah. Ma aha in tani ay tahay wax aan caadi ahayn, laakiin waa wax aan fiicnayn.

Xaaladeyda, xogtu waxay leedahay qayb maaliyadeed waxaanan jeclaan lahaa inaan si sax ah ugu shaqeeyo. Sidaa darteed, waxaan qorsheyneynaa inaan iska dhaafno weydiimaha joogtada ah.

3. Weydiimaha joogtada ah lama qabsan karo waqtiyada kala duwan

Adeeggu wuxuu leeyahay miis leh xisaabaadka wax kala iibsiga maalinlaha ah. Maalin kasta, waxaad u baahan tahay inaad kooxayso dhammaan wax kala iibsiga maalintaas. Laakiin maalin kasta isticmaale kasta wuxuu bilaabmi doonaa waqti kala duwan, sidaas darteed jaangooyooyinka wax kala iibsiga way ka duwanaan doonaan. By UTC haa 37 nooc wareegyada kuwaas oo aad u baahan tahay in la isu geeyo xogta.

InfluxDB, marka la kooxeynayo waqti, waxaad sidoo kale qeexi kartaa isbeddelka, tusaale ahaan wakhtiga Moscow (UTC+3):

SELECT MEAN("supply") FROM transactions GROUP BY symbol, time(1d, 3h) fill(previous)

Laakiin natiijada su'aashu waxay noqon doontaa khalad. Sababaha qaar, xogta la ururiyay maalintii waxay bilaaban doontaa ilaa 1677 (InfluxDB waxay si rasmi ah u taageertaa wakhti laga bilaabo sanadkan):

Cadhada, gorgortanka iyo niyad-jabka markaad la shaqaynayso InfluxDB

Si aan uga shaqayno dhibaatadan, waxaanu si ku meel gaadh ah u bedelnay adeega UTC+0.

4. Waxqabadka

Waxaa jira bartilmaameedyo badan oo internetka ah oo isbarbar dhigaya InfluxDB iyo xog ururinta kale. Jaleecada hore, waxay u ekaayeen qalabka suuq-geynta, laakiin hadda waxaan u maleynayaa inay jiraan wax run ah iyaga.

Kiiskeyga ayaan kuu sheegayaa.

Adeeggu wuxuu bixiyaa hab API ah oo soo celiya tirakoobka maalinta ugu dambeysa. Marka la samaynayo xisaabinta, habku waxa uu waydiinayaa xog-ururinta saddex jeer su'aalaha soo socda:

SELECT * FROM coins_info WHERE time <= NOW() GROUP BY symbol ORDER BY time DESC LIMIT 1

SELECT * FROM dominance_info ORDER BY time DESC LIMIT 1

SELECT * FROM transactions WHERE time >= NOW() - 24h ORDER BY time DESC

Sharaxaad:

  1. Codsiga koowaad, waxaan helnaa dhibcaha ugu dambeeya ee qadaadiic kasta oo leh xogta suuqa. Sideed dhibcood sideed qadaadiic kiiskeyga.
  2. Codsiga labaad wuxuu helayaa mid ka mid ah qodobbada ugu cusub.
  3. Midka saddexaad wuxuu codsadaa liiska wax kala iibsiga XNUMX-kii saac ee la soo dhaafay; waxaa jiri kara dhowr boqol oo iyaga ka mid ah.

Aan caddeeyo in InfluxDB ay si toos ah u dhisto tusaha ku saleysan tags iyo waqtiga, taas oo dedejisa su'aalaha. Codsiga koowaad calaamad waa tag.

Waxaan ku sameeyay tijaabada cadaadiska habka API. 25 RPS, adeeguhu wuxuu muujiyay culays buuxa oo ah lix CPUs:

Cadhada, gorgortanka iyo niyad-jabka markaad la shaqaynayso InfluxDB

Isla mar ahaantaana, habka NodeJs ma bixin wax culeys ah gabi ahaanba.

Xawaaraha fulinta ayaa mar hore hoos u dhacay 7-10 RPS: haddii hal macmiil uu ku heli karo jawaab 200 ms, markaa 10 macaamiil waa inay sugaan ilbiriqsi. 25 RPS waa xadka ay xasilloonida soo gaartay; 500 khaladaad ayaa lagu celiyay macaamiisha.

Waxqabadka noocaas ah suurtagal maaha in la isticmaalo qulqulka mashruucayaga. Intaa waxaa dheer: mashruuca korjoogteynta u baahan in loo muujiyo macaamiil badan, dhibaatooyin la mid ah ayaa laga yaabaa inay soo baxaan oo server-ka mitiriga ah ayaa la buuxin doonaa.

gunaanad

Gabagabada ugu muhiimsan ee laga helay waayo-aragnimada la helay waa inaadan u qaadan karin tignoolajiyada aan la garanayn mashruuc iyada oo aan la samayn falanqayn ku filan. Baadhitaan sahlan oo arrimaha furan ee github waxay ku siin kartaa macluumaad si looga fogaado doorashada InfluxDB sida kaydka xogta ugu weyn.

InfluxDB waa inay ahaato mid ku habboon hawlaha mashruucayga, laakiin sida dhaqanku muujiyay, xogtan ma daboolayso baahiyaha oo waxay leedahay cillado badan.

Waxaad horeba uga heli kartaa nooca 2.0.0-beta ee kaydka mashruuca; waxaan rajayn karnaa oo kaliya in nooca labaad uu yeelan doono horumar la taaban karo. Dhanka kale, waxaan aadi doonaa daraasadda dukumeentiyada TimescaleDB.

Source: www.habr.com

Add a comment