Afai e te fa'aogaina se fa'amaumauga fa'asologa o taimi (timeseries db,
Tuuese: O mataupu o lo'o lisiina e fa'atatau ile InfluxDB version 1.7.4.
Aisea e fa'asologa ai taimi?
O le poloketi o le siakiina o fefaʻatauaiga i luga o poloka poloka eseese ma faʻaalia fuainumera. Aemaise lava, matou te vaʻavaʻai i le faʻaosoina ma le susunuina o tupe siliva mautu (
A o suʻesuʻeina fefaʻatauaiga, na oʻo mai se manatu: faʻaaoga le InfluxDB time series database e avea ma mea e teu ai. O fefa'ataua'iga o vaega i le taimi ma e fetaui lelei i le fa'ata'ita'iga fa'asologa o taimi.
O galuega faʻapipiʻi e foliga mai e faigofie tele - lelei mo le faʻatulagaina o siata ma se taimi umi. E manaʻomia e le tagata faʻaoga se siata mo le tausaga, ma o loʻo i ai i le database se seti faʻamaumauga ma se taimi faʻatulagaina e lima minute. E leai se aoga o le auina atu ia te ia o togi uma e selau afe - e ese mai le faagasologa umi, latou te le ofi i luga o le lau. E mafai ona e tusia lau lava fa'atinoga o le fa'atuputeleina o le taimi, po'o le fa'aogaina o galuega fa'aopoopo ua fausia ile Influx. Faatasi ai ma la latou fesoasoani, e mafai ona e tuʻufaʻatasia faʻamaumauga i le aso ma lafo le manaʻomia 365 points.
Sa fai si le mautonu ona o ia faʻamaumauga e masani ona faʻaaogaina mo le faʻamoemoe o le aoina o fua. Mataʻituina o 'auʻaunaga, masini iot, mea uma e maua mai ai le faitau miliona o mataʻitusi o le "tafe": [<taimi> - <metric value>]. Ae afai e galue lelei le faʻamaumauga ma le tele o faʻamaumauga, aisea la e tatau ai i le laʻititi laʻititi ona mafua ai faʻafitauli? Faatasi ai ma lenei mea i le mafaufau, matou ave le InfluxDB e galue.
O le a se isi mea e faigofie ile InfluxDB
E ese mai i galuega faʻaopoopo ua taʻua, o loʻo i ai se isi mea sili - fesili faifaipea (
E iai foi faiga fa'atumauina (
- faia se fesili faifaipea e fa'aputu fa'amaumauga i se isi laulau;
- mo le laulau muamua, fa'amatala se faiga fa'avae mo le tapeina o fua fa'atatau e matua atu nai lo lena lava vaiaso.
Ma o le Influx o le a faʻaitiitia ai le tele o faʻamaumauga ma tape mea e le manaʻomia.
E uiga i fa'amaumauga teuina
E le tele faʻamaumauga o loʻo teuina: e tusa ma le 70 afe fefaʻatauaiga ma le isi miliona faʻamatalaga ma faʻamatalaga maketi. Fa'aopoopoina tala fou - e le sili atu i le 3000 points i le aso. O loʻo i ai foʻi metrics mo le 'upega tafaʻilagi, ae e itiiti faʻamaumauga iina ma, e tusa ai ma le tulafono faʻamautu, e teuina mo le sili atu ma le masina.
Faʻafitauli
I le taimi o le atinaʻeina ma le suʻega mulimuli ane o le auaunaga, o le tele ma le tele o faʻafitauli ogaoga na tulaʻi mai i le faʻaogaina o InfluxDB.
1. Aveese fa'amaumauga
O loʻo i ai se faʻasologa o faʻamaumauga ma fefaʻatauaiga:
SELECT time, amount, block, symbol FROM transactions WHERE symbol='USDT'
Taunuʻuga:
O loʻo ou auina atu se poloaiga e tape faʻamaumauga:
DELETE FROM transactions WHERE symbol=’USDT’
Le isi ou te faia se talosaga e maua ai faʻamaumauga ua uma ona tape. Ma nai lo se tali gaogao, Influx toe faafoi vaega o faʻamaumauga e tatau ona tape.
O lo'o ou taumafai e tape le laulau atoa:
DROP MEASUREMENT transactions
Ou te siaki le tapeina o le laulau:
SHOW MEASUREMENTS
Ou te le o vaʻai i le laulau i le lisi, ae o se faʻamatalaga fou o faʻamatalaga e toe faʻafoʻi mai ai le seti tutusa o fefaʻatauaiga.
O le faʻafitauli na o le tasi na tupu ia te aʻu, talu ai o le tapeina o se mataupu faʻapitoa. Ae o lenei amio a le database e manino lava e le fetaui i totonu o le faʻavae o le "saʻo" gaioiga. Mulimuli ane na ou mauaina ua tatala ile github
O se taunuuga, o le tapeina ma le toe faʻaleleia o le database atoa na fesoasoani.
2. Numera fa'afefeteina
Fa'atatau ole numera pe a fa'aogaina galuega faufale ile InfluxDB e iai sa'o sa'o mea sese. E le faapea o se mea e le masani ai, ae e le manaia.
I loʻu tulaga, o faʻamaumauga o loʻo i ai se vaega tau tupe ma ou te manaʻo e faʻatautaia ma le maualuga saʻo. Ona o lea mea, matou te fuafua e lafoa'i fesili faifai pea.
3. Fa'aauau fesili e le mafai ona fetuunai i sone taimi eseese
O loʻo i ai i le 'auʻaunaga se laulau faʻatasi ai ma fuainumera o fefaʻatauaiga i aso uma. Mo aso ta'itasi, e mana'omia lou fa'avasegaina o fefa'atauaiga uma mo lena aso. Ae o aso taʻitasi o tagata faʻaoga o le a amata i se taimi eseese, ma o le mea lea o le seti o fefaʻatauaiga o le a eseese. E ala i le UTC ioe
I totonu o le InfluxDB, pe a faʻavasegaina i le taimi, e mafai ona e faʻaopoopoina se suiga, mo se faʻataʻitaʻiga mo Moscow taimi (UTC+3):
SELECT MEAN("supply") FROM transactions GROUP BY symbol, time(1d, 3h) fill(previous)
Ae o le a le sa'o le taunuuga ole fesili. Mo nisi mafuaʻaga, o faʻamaumauga faʻavae i le aso o le a amata i tua i le 1677 (InfluxDB e lagolagoina aloaia se taimi mai lenei tausaga):
Ina ia foia lenei faʻafitauli, na matou sui le auaunaga i le UTC+0.
4. Fa'atinoga
E tele fa'ailoga i luga ole Initaneti e fa'atusatusa ai le InfluxDB ma isi fa'amaumauga. I le tepa muamua, e foliga mai e pei o mea tau maketi, ae o lenei ua ou manatu o loʻo i ai se mea moni i totonu ia i latou.
O le a ou taʻu atu ia te oe laʻu mataupu.
O le 'au'aunaga e maua ai se auala API e toe fa'afo'i ai fa'amaumauga mo le aso mulimuli. A'o faia fa'atatauga, e fa'atolu ona fesiligia e le metotia le fa'amaumauga fa'atasi ma fesili nei:
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
Fa'amatalaga:
- I le talosaga muamua, matou te maua pito mulimuli mo tupe siliva taʻitasi ma faʻamatalaga maketi. E valu togi mo tupe e valu i la'u mataupu.
- O le talosaga lona lua e maua ai se tasi o mea fou.
- O le lona tolu e talosagaina se lisi o fefaʻatauaiga mo le XNUMX itula mulimuli; atonu e tele selau o latou.
Sei ou faamanino atu o InfluxDB e otometi lava ona fausia se faasino igoa e faavae i luga o pine ma taimi, lea e faatelevaveina ai fesili. I le talosaga muamua faʻailoga o se pine.
Sa ou faia se suʻega faʻamalosi i lenei auala API. Mo 25 RPS, na faʻaalia e le 'auʻaunaga se uta atoa o PPU e ono:
I le taimi lava e tasi, o le NodeJs process e leʻi tuʻuina atu se avega.
O le saoasaoa o le faʻatinoga ua uma ona faʻaleagaina e le 7-10 RPS: afai e mafai e se tasi tagata faʻatau ona maua se tali i le 200 ms, ona 10 tagata faʻatau e tatau ona faʻatali mo le lua. 25 RPS o le tapulaʻa lea na afaina ai le mautu; 500 mea sese na toe faʻafoʻi atu i tagata faʻatau.
Faatasi ai ma ia faʻatinoga e le mafai ona faʻaogaina le Influx i la matou poloketi. E le gata i lea: i totonu o se poloketi e manaʻomia ona faʻaalia le mataʻituina i le tele o tagata faʻatau, e ono aliaʻe faʻafitauli faʻapena ma o le a ova le server metrics.
iʻuga
O le fa'ai'uga pito sili ona taua mai le poto masani na maua e le mafai ona e fa'aaogaina se tekonolosi e le iloa i totonu o se poloketi e aunoa ma se su'esu'ega talafeagai. O se suʻesuʻega faigofie o faʻamatalaga tatala ile github e mafai ona tuʻuina atu faʻamatalaga e aloese ai mai le filifilia o InfluxDB e avea ma faleoloa autu.
E tatau ona fetaui lelei le InfluxDB mo galuega a laʻu poloketi, ae pei ona faʻaalia e le faʻataʻitaʻiga, o lenei faʻamaumauga e le fetaui ma manaʻoga ma e tele naua.
Ua mafai ona e mauaina le version 2.0.0-beta i le fale teu oloa; e mafai ona matou faʻamoemoe o le lona lua o le a iai ni faʻaleleia atili. I le taimi nei, o le a ou alu e suʻesuʻe le TimescaleDB pepa.
puna: www.habr.com