Ciklikus adatbázis

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt hozzászólók, és jelentősen eltérhet a 2015. október 28-án felülvizsgált verziótól ; az ellenőrzések 9 szerkesztést igényelnek .

Circular database ( English  Round-robin Database, RRD ) - olyan adatbázis , amelynek tárolt adatainak mennyisége időben nem változik, [1] mivel a rekordok száma állandó, az adatmentés során ciklikusan hasznosulnak [ 1] 2] [3] [4] . Általában rendszeres időközönként felülírt információk tárolására szolgál.

A legnagyobb alkalmazást az MRTG programban találta meg , amelyet később az RRDtool szoftvercsomag [5] váltott fel .

A DBMS és a körkörös adatbázis interfészek a főbb Linux disztribúciók [6] [7] [8] [9] és a Perl könyvtárak CPAN tárházában [10] találhatók . A DBMS RRDtool is elérhető modulként a CMS Drupalhoz [11] .

Adatbázis szerkezet

Egy ciklikus adatbázis egy vagy több adatkészletet tárolhat, amelyeket archívumokká (RRA - round robin archive) egyesítenek. Az archívumok gyűrűtáblái szerkezetükben hasonlóak a tömbökhöz , amelyekben az utolsó elem címe megegyezik az első elem címével. A legutóbb frissített elem pozíciója mutatóként kerül tárolásra . Az archívumok általában össze vannak kötve, mint a fészkelő babák, minden következő archívum az előzőből származó konszolidált információkat tárol. Ez az adatbázisba épített konszolidációs függvényekkel történik. Ez lehetővé teszi, hogy ezeket a funkciókat automatikusan alkalmazza az adatbázisban lévő információk frissítésekor. Az egyik archívum a rekordok közötti kis időközönként tárolja az adatokat, a másik adott időközönként az előző konszolidált adatait menti, a következő még ritkábban stb. [12]

Az adatok konszolidálása

Ha rövid időközönként rögzíti az adatokat, majd az átlagos (maximum, minimum stb.) értékeket képezi egy évre vagy bármely más kellően nagy időintervallumra, akkor a számítások és az adatbázisból történő mintavétel folyamata megkövetelheti. nagy mennyiségű erőforrás. Ennek elkerülése érdekében a körmérkőzéses adatbázisok adatkonszolidációt használnak az írásnál, nem pedig az olvasásnál. Tetszőleges számú konszolidációs időszak lehet (hét, hónap, negyedév, év stb.). A számítások elvégzéséhez speciális konszolidációs függvényeket ( eng.  consolidation function , CF) használnak, mint például:

Adattípusok

Alap adattípusok: [13]

A SZÁMLÁLÓ egy számláló, melynek értéke csak növekedhet, ilyen típusú adatok mentésekor az aktuális értékből levonjuk az előző értéket.

GAUGE - tetszőleges értékek. Ezt a típust olyan adatokhoz használják, amelyek csökkenthetik és növelhetik is (például egy objektum hőmérséklete).

A DERIVE típus ugyanaz a számláló, de nemcsak folyamatosan növekvő, hanem csökkenő értékeket is képes tárolni, vagyis a szomszédos értékek közötti különbség negatív lehet. Fontos megjegyezni, hogy ezt a típust nem ellenőrzik túlcsordulás szempontjából.

Az ABSZOLÚT szintén a számláló módosítása, a különbség az, hogy az értékek közötti különbséget nem számítják ki, hanem magukat a számlálóértékeket elmentik, és a számlálót leolvasáskor nullázzák. Ez a típus hasznos az utolsó olvasás óta bekövetkezett események számának megszámlálásához.

A COMPUTE típust az aktuális RRD adatbázis más adatforrásaiból ( eng.  Data Source, DS ) származó adatokon alapuló számított értékek rögzítésére használják. Az adatbáziselméletben az ilyen mezőket számító- vagy virtuális mezőknek nevezik. Ez az adatforrás nincs megadva a frissítési művelet során, de annak elsődleges adatpontjait (PDP) a rendszer más adatforrások elsődleges adatpontjaiból (PDP ) számítja ki,  fordított lengyel jelölési képletekkel ( angol fordított lengyel jelöléssel , RPN ). A konszolidációs függvények erre az adattípusra is alkalmazhatók.  

Adatinterpoláció

Tekintettel arra, hogy gyakran ciklikus adatbázisokat használnak az időben rendszeres időközönként elosztott adatok megjelenítésére, az ilyen adatbázisok mechanizmusa a következő tulajdonságot biztosítja: ha valamilyen okból (például egy érték kiszámításának késése) az adat nem nem rögzítették időben (például a rögzítés 3 másodperc késéssel történt), az adatok továbbra is úgy kerülnek rögzítésre, mintha időben közölték volna. A ciklikus adatbázis „mechanizmusa” maga módosítja a korrekcióhoz szükséges adatokat (a késleltetéssel vagy késleltetési idővel arányosan). Más szavakkal, maga az adatbázis rendelkezik egy beépített rendellenesség - felismerő rendszerrel  . Ez a rendszer három összetevőből áll: [14]

Az aberrált adatinterpoláció működése könnyen megérthető konkrét értékek alapján:

adatok az RRD adatbázisban valós adatok
idő+000: 0 delta="U" idő+300: 300 delta=300 idő+600: 600 delta=300 idő+900: 900 delta=300 idő+000: 0 delta="U" idő+300: 300 delta=300 idő+603: 603 delta=303 idő+900: 900 delta=297

De az adatbázis nem csak interpolált adatokat tárol, hanem közvetlenül bevitt adatokat is. Ez szükséges a későbbi adatok pontosabb interpolálásához.

Az adatok interpolációja az adatok torzulásához vezethet, ezért a hatókör azokra a területekre korlátozódik, ahol a pontosság nem kritikus. Más területeken olyan adattípust használnak, amelyre az interpolációs mechanizmus nem vonatkozik.

Jegyzetek

  1. http://h20195.www2.hp.com/V2/GetPDF.aspx/4AA1-4053ENW.pdf  (a hivatkozás nem érhető el)
  2. Archivált másolat (a hivatkozás nem elérhető) . Letöltve: 2011. november 2. Az eredetiből archiválva : 2013. augusztus 28.. 
  3. Tobias Oetiker. MRTG. A Multi Router Traffic Graph . - Zürich: Svájci Szövetségi Technológiai Intézet, 1998.
  4. Az RRDtool használata a webalkalmazások teljesítményével kapcsolatos problémák okainak diagnosztizálására
  5. Nyílt forráskódú figyelés: RRDTool 1.3 elérhető, csevegés Tobias Oetikerrel
  6. librrd_th.so.4()(64bit) RPM DEB ingyenes letöltés Linuxra - pkgs.org
  7. Ubuntu – A torrus csomag részletei – gyakori a hardyben
  8. Debian - Az rrdtool-tcl csomag részletei lenny-backports-ban
  9. Fedora 8 frissítés: rrdtool-1.3-0.4.beta3.fc8
  10. RRDTool::OO - metacpan.org
  11. RRD eszköz | drupal.org
  12. RRDtool – rrdoktatóanyag
  13. RRDtool - rrdcreate
  14. RRDtool – rrdtool

Lásd még

Linkek