Ita, fefaʻatauaʻiga ma le atuatuvale pe a galue ma InfluxDB

Ita, fefaʻatauaʻiga ma le atuatuvale pe a galue ma InfluxDB

Afai e te fa'aogaina se fa'amaumauga fa'asologa o taimi (timeseries db, tasi e faaaogaina) e pei o le teuina autu mo se nofoaga ma fuainumera, nai lo le foia o le faafitauli e mafai ona e maua ai le tele o tiga ulu. O loʻo ou galue i luga o se poloketi e faʻaaogaina se faʻamaumauga, ma o nisi taimi o le InfluxDB, lea o le a talanoaina, faʻaalia ai ni mea e leʻi mafaufauina.

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 (tasi e faaaogaina). Faʻavae i luga o nei fefaʻatauaʻiga, e manaʻomia lou fausiaina o kalafi ma faʻaalia laulau otooto.

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 (doc). Ole fa'asologa lea ua fausia ile fa'amaumauga e mafai ona fa'agasolo fa'amaumauga ile fa'asologa. Mo se faʻataʻitaʻiga, i le 24 itula uma e mafai ona e tuʻufaʻatasia uma faʻamaumauga mo le aso, fuafua le averesi ma faʻamaumau se tasi mea fou i le isi laulau e aunoa ma le tusia o au lava uila.

E iai foi faiga fa'atumauina (doc)—faatulagaina le tapeina o faamatalaga pe a uma se vaitaimi patino. E aoga pe a, mo se faʻataʻitaʻiga, e te manaʻomia le teuina o le CPU mo le vaiaso ma fua faʻatasi i le sekone, ae i luga o se mamao o ni nai masina e le manaʻomia le saʻo. I se tulaga faapena, e mafai ona e faia lenei:

  1. faia se fesili faifaipea e fa'aputu fa'amaumauga i se isi laulau;
  2. 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:

Ita, fefaʻatauaʻiga ma le atuatuvale pe a galue ma InfluxDB

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 tiketi toeitiiti atoa le tausaga talu ai i lenei autu.

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 37 ituaiga suiga e te mana'omia e fa'aputu ai fa'amaumauga.

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):

Ita, fefaʻatauaʻiga ma le atuatuvale pe a galue ma InfluxDB

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:

  1. 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.
  2. O le talosaga lona lua e maua ai se tasi o mea fou.
  3. 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:

Ita, fefaʻatauaʻiga ma le atuatuvale pe a galue ma InfluxDB

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

Faaopoopo i ai se faamatalaga