Má úsáideann tú bunachar sonraí sraith ama (timeseries db,
Séanadh: Baineann na saincheisteanna atá liostaithe le InfluxDB leagan 1.7.4.
Cén fáth sraith ama?
Tá an tionscadal chun idirbhearta a rianú ar blockchain éagsúla agus staitisticí a thaispeáint. Go sonrach, féachaimid ar astaíocht agus ar dhó bonn cobhsaí (
Agus anailís á déanamh ar idirbhearta, tháinig smaoineamh chun cinn: bunachar sonraí sraith ama InfluxDB a úsáid mar phríomhstóráil. Is pointí ama iad na hidirbhearta agus luíonn siad go maith leis an tsamhail sraith ama.
D'fhéach na feidhmeanna comhiomlánaithe an-áisiúil freisin - oiriúnach le haghaidh cairteacha a phróiseáil le tréimhse fhada. Teastaíonn cairt ón úsáideoir ar feadh bliana, agus tá tacar sonraí sa bhunachar sonraí le fráma ama cúig nóiméad. Ní miste céad míle ponc a chur chuige - seachas próiseáil fhada, ní fiú iad a bheith ar an scáileán. Is féidir leat do chur i bhfeidhm féin a scríobh chun an fráma ama a mhéadú, nó úsáid a bhaint as na feidhmeanna comhiomlánaithe atá san Insreabhadh. Le cabhair uathu, is féidir leat sonraí a ghrúpáil i rith an lae agus na 365 pointe riachtanacha a sheoladh.
Bhí sé rud beag mearbhall go n-úsáidtear bunachair shonraí den sórt sin de ghnáth chun méadracht a bhailiú. Monatóireacht ar fhreastalaithe, gléasanna iot, gach rud as a bhfuil na milliúin pointí den fhoirm “sreabhadh”: [<am> - <luach méadrach>]. Ach má oibríonn an bunachar sonraí go maith le sreabhadh mór sonraí, cén fáth ar chóir go mbeadh líon beag ina chúis le fadhbanna? Agus é seo san áireamh, ghlacamar le InfluxDB a bheith ag obair.
Cad eile atá áisiúil in InfluxDB
Seachas na feidhmeanna comhiomlánaithe atá luaite, tá rud iontach eile - ceisteanna leanúnacha (
Chomh maith leis sin polasaithe coinneála (
- ceist leanúnach a chruthú chun sonraí a chomhiomlánú i dtábla eile;
- don chéad tábla, sainmhínigh beartas chun méadracht atá níos sine ná an tseachtain chéanna sin a scriosadh.
Agus laghdóidh Influx go neamhspleách méid na sonraí agus scriosfaidh sé rudaí gan ghá.
Maidir le sonraí stóráilte
Ní stóráiltear mórán sonraí: thart ar 70 míle idirbheart agus milliún pointe eile le faisnéis mhargaidh. iontrálacha nua a chur leis - gan níos mó ná 3000 pointe in aghaidh an lae. Tá méadrachtaí ann don suíomh freisin, ach is beag sonraí atá ann agus, de réir an bheartais coinneála, stóráiltear iad ar feadh níos mó ná mí.
Fadhbanna
Le linn na seirbhíse a fhorbairt agus a thástáil ina dhiaidh sin, tháinig fadhbanna níos mó agus níos mó chun cinn maidir le feidhmiú InfluxDB.
1. Sonraí a scriosadh
Tá sraith sonraí ann le hidirbhearta:
SELECT time, amount, block, symbol FROM transactions WHERE symbol='USDT'
Toradh:
Tá ordú á sheoladh agam chun sonraí a scriosadh:
DELETE FROM transactions WHERE symbol=’USDT’
Ansin déanaim iarratas chun na sonraí atá scriosta cheana féin a fháil. Agus in ionad freagra folamh, cuireann Influx cuid de na sonraí ar ais ba cheart a scriosadh.
Tá mé ag iarraidh an tábla ar fad a scriosadh:
DROP MEASUREMENT transactions
Seiceáilim scriosadh an tábla:
SHOW MEASUREMENTS
Ní fheicim an tábla ar an liosta, ach cuireann ceist sonraí nua an tsraith chéanna idirbheart ar ais fós.
Níor tharla an fhadhb domsa ach uair amháin, ós rud é gur cás iargúlta é an cás scriosta. Ach is léir nach dtagann iompar an bhunachair shonraí leis an gcreat oibríochta “ceart”. Níos déanaí fuair mé é ar oscailt ar github
Mar thoradh air sin, chabhraigh sé an bunachar sonraí iomlán a scriosadh agus ansin a athchóiriú.
2. Uimhreacha snámhphointe
Tá earráidí cruinnis ag baint le ríomhaireachtaí matamaitice agus feidhmeanna ionsuite in InfluxDB in úsáid. Ní hé gur rud neamhghnách é seo, ach tá sé míthaitneamhach.
I mo chás, tá comhpháirt airgeadais ag na sonraí agus ba mhaith liom iad a phróiseáil le cruinneas ard. Mar gheall air seo, tá sé beartaithe againn ceisteanna leanúnacha a thréigean.
3. Ní féidir fiosrúcháin leanúnacha a chur in oiriúint do chriosanna ama éagsúla
Tá tábla ag an tseirbhís le staitisticí idirbhearta laethúla. Do gach lá, ní mór duit gach idirbheart don lá sin a ghrúpáil. Ach tosóidh lá gach úsáideora ag am difriúil, agus dá bhrí sin beidh an tsraith idirbheart difriúil. De réir UTC tá
In InfluxDB, agus tú ag grúpáil de réir ama, is féidir leat athrú a shonrú freisin, mar shampla le haghaidh am Moscó (UTC+3):
SELECT MEAN("supply") FROM transactions GROUP BY symbol, time(1d, 3h) fill(previous)
Ach beidh toradh an cheist mícheart. Ar chúis éigin, cuirfear tús le sonraí arna ngrúpáil de réir an lae an bealach ar fad ar ais go dtí 1677 (tacaíonn InfluxDB go hoifigiúil le réimse ama ón mbliain seo):
Chun an fhadhb seo a réiteach, d'athraíomar an tseirbhís go sealadach go UTC+0.
4. Feidhmíocht
Tá go leor tagarmharcanna ar an Idirlíon a dhéanann comparáid idir InfluxDB agus bunachair shonraí eile. Ar an gcéad amharc, d'fhéach siad cosúil le hábhair mhargaíochta, ach anois is dóigh liom go bhfuil roinnt fírinne iontu.
Inseoidh mé mo chás duit.
Soláthraíonn an tseirbhís modh API a sheolann staitisticí ar ais don lá deiridh. Agus ríomhanna á ndéanamh, cuireann an modh ceisteanna ar an mbunachar sonraí faoi thrí leis na ceisteanna seo a leanas:
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
Míniú
- Sa chéad iarratas, faighimid na pointí deireanacha do gach bonn le sonraí margaidh. Ocht bpointe ar ocht mbonn i mo chás.
- Faigheann an dara iarratas ceann de na pointí is nuaí.
- Iarrann an tríú ceann liosta idirbhearta le XNUMX uair an chloig anuas; d'fhéadfadh go mbeadh na céadta acu ann.
Lig dom a shoiléiriú go dtógann InfluxDB innéacs go huathoibríoch bunaithe ar chlibeanna agus am, a chuireann dlús le fiosruithe. Sa chéad iarratas siombail is clib.
Tá tástáil struis ar siúl agam ar an modh API seo. Le haghaidh 25 RPS, léirigh an freastalaí ualach iomlán de shé LAP:
Ag an am céanna, níor chuir próiseas NodeJs aon ualach ar fáil ar chor ar bith.
Tá an luas forghníomhaithe díghrádaithe cheana féin ag 7-10 RPS: dá bhféadfadh cliant amháin freagra a fháil i 200 ms, ansin bhí ar 10 gcliant fanacht soicind. 25 Is é RPS an teorainn ag a d’fhulaing cobhsaíocht; cuireadh 500 earráid ar ais chuig na cliaint.
Le feidhmíocht den sórt sin tá sé dodhéanta Sní isteach a úsáid inár dtionscadal. Ina theannta sin: i dtionscadal ina bhfuil gá le monatóireacht a thaispeáint do go leor cliant, d'fhéadfadh fadhbanna den chineál céanna a bheith le feiceáil agus beidh an freastalaí méadrachta ró-ualach.
Aschur
Is é an chonclúid is tábhachtaí ón taithí a fuarthas ná nach féidir leat teicneolaíocht anaithnid a thabhairt isteach i dtionscadal gan dóthain anailíse. D’fhéadfadh scagadh simplí ar cheisteanna oscailte ar github faisnéis a sholáthar ionas nach roghnódh InfluxDB mar phríomhstór sonraí.
Ba cheart go mbeadh InfluxDB oiriúnach go maith do thascanna mo thionscadail, ach mar a léirigh cleachtas, ní chomhlíonann an bunachar sonraí seo na riachtanais agus tá go leor fabhtanna ann.
Is féidir leat leagan 2.0.0-beta a fháil cheana féin i stór an tionscadail; ní féidir linn ach a bheith ag súil go mbeidh feabhsuithe suntasacha ar an dara leagan. Idir an dá linn, déanfaidh mé staidéar ar an gcáipéisíocht TimescaleDB.
Foinse: will.com