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] .
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]
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:
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.
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.
Adatbázis | |
---|---|
Fogalmak |
|
Objektumok |
|
Kulcsok | |
SQL |
|
Alkatrészek |