Haddii aad isticmaasho xog-ururin waqtiyeed (timeseries db,
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 (
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 (
Sidoo kale leeyihiin siyaasadaha haynta (
- samee weydiimo joogto ah si aad xogta ugu ururiso miis kale;
- 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:
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
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
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):
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:
- Codsiga koowaad, waxaan helnaa dhibcaha ugu dambeeya ee qadaadiic kasta oo leh xogta suuqa. Sideed dhibcood sideed qadaadiic kiiskeyga.
- Codsiga labaad wuxuu helayaa mid ka mid ah qodobbada ugu cusub.
- 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:
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