Circular-tietokanta ( englanniksi Round-robin Database, RRD ) - tietokanta , jonka tallennetun tiedon määrä ei muutu ajan myötä, [1] koska tietueiden määrä on vakio, niitä käytetään tietojen tallennuksen yhteydessä syklisesti [ 2] [3] [4] . Yleensä käytetään tallentamaan tietoja, jotka kirjoitetaan päälle säännöllisin väliajoin.
Se löysi suurimman sovelluksen MRTG -ohjelmasta , jonka myöhemmin korvasi RRDtool- ohjelmistopaketti [5] .
DBMS ja pyöreän tietokannan liitännät sisältyvät tärkeimpien Linux - jakelujen arkistoihin [6] [7] [8] [9] ja Perl - kirjastojen CPAN - arkistoon [10] . Myös DBMS RRDtool on saatavilla moduulina CMS Drupalille [11] .
Yksi syklinen tietokanta voi tallentaa yhden tai useamman tietojoukon, jotka yhdistetään arkistoihin (RRA - round robin archive). Arkistojen rengastaulukot ovat rakenteeltaan samanlaisia kuin taulukot , joissa viimeisen elementin osoite on sama kuin ensimmäisen elementin osoite. Viimeksi päivitetyn elementin sijainti tallennetaan osoittimena . Arkistot ovat pääsääntöisesti yhteydessä toisiinsa kuin pesimäiset nuket, jokainen myöhempi arkisto tallentaa konsolidoidut tiedot edellisestä. Tämä tehdään käyttämällä tietokantaan sisäänrakennettuja konsolidointitoimintoja. Näin voit käyttää näitä toimintoja automaattisesti, kun päivität tietokannan tietoja. Yksi arkisto tallentaa tietoja pienellä aikavälillä tietueiden välillä, toinen tietyn aikavälin jälkeen tallentaa edellisen konsolidoidun datan, seuraava tekee sen vielä harvemmin jne. [12]
Jos tallennat tietoja lyhyin aikavälein ja muodostat sitten keskimääräiset (maksimi-, minimi- jne.) arvot vuodelle tai muulle riittävän pitkälle aikavälille, laskelmat ja näytteenotto itse tietokannasta saattavat vaatia suuri määrä resursseja. Tämän välttämiseksi round robin -tietokannat käyttävät tietojen konsolidointia kirjoituksissa lukujen sijaan. Konsolidointijaksoja voi olla mikä tahansa määrä (viikko, kuukausi, vuosineljännes, vuosi jne.). Laskelmien suorittamiseen käytetään erityisiä konsolidointifunktioita ( eng. consolidation function , CF), kuten:
Perustietotyypit: [13]
COUNTER on laskuri, jonka arvo voi vain kasvaa, kun tämän tyyppistä tietoa tallennetaan, edellinen arvo vähennetään nykyisestä arvosta.
GAUGE - mielivaltaiset arvot. Tätä tyyppiä käytetään tiedoille, jotka voivat sekä laskea että lisätä (esimerkiksi kohteen lämpötila).
DERIVE-tyyppi on sama laskuri, mutta sillä on mahdollisuus tallentaa paitsi jatkuvasti kasvavia, myös laskevia arvoja, eli vierekkäisten arvojen välinen ero voi olla negatiivinen. On tärkeää muistaa, että tämän tyypin ylivuotoa ei tarkisteta.
ABSOLUUTTI on myös laskurin modifikaatio, erona on se, että arvojen eroa ei lasketa, vaan laskurin arvot itse tallennetaan ja laskuri nollataan luettaessa. Tämä tyyppi on hyödyllinen viimeisimmän lukemisen jälkeen tapahtuneiden tapahtumien laskemiseen.
COMPUTE-tyyppiä käytetään laskettujen arvojen tallentamiseen nykyisen RRD-tietokannan muista tietolähteistä ( eng. Data Source, DS ) saatujen tietojen perusteella. Tietokantoteoriassa tällaisia kenttiä kutsutaan lasketuiksi tai virtuaalisiksi. Tätä tietolähdettä ei määritetä päivityksen aikana, mutta sen ensisijaiset tietopisteet (PDP:t ) lasketaan muiden tietolähteiden ensisijaisista tietopisteistä (PDP:t) soveltamalla niihin käänteisen puolan merkintäkaavoja ( englanniksi Reverse Polish Notation , RPN ). Konsolidointifunktiot ovat myös sovellettavissa tälle tietotyypille.
Koska syklisiä tietokantoja käytetään usein edustamaan ajassa säännöllisin väliajoin jakautunutta tietoa, tällaisen tietokannan mekanismi tarjoaa seuraavan ominaisuuden: jos jostain syystä (esimerkiksi arvon laskemisen viiveestä) tiedot eivät ei tallennettu ajoissa (esimerkiksi tallennus tapahtui 3 sekuntia myöhässä), tiedot tallennetaan edelleen ikään kuin ne olisi toimitettu ajoissa. Syklinen tietokanta "mekanismi" itse muuttaa tietoja korjausta varten (suhteessa viiveeseen tai viiveaikaan). Toisin sanoen tietokannassa itsessään on sisäänrakennettu poikkeavan käyttäytymisen tunnistusjärjestelmä . Tämä järjestelmä koostuu kolmesta osasta: [14]
Aberroitujen tietojen interpoloinnin toimintatapa on helppo ymmärtää tarkastelemalla tiettyjä arvoja:
tiedot RRD-tietokannassa | todellista dataa |
---|---|
aika+000: 0 delta="U" aika+300: 300 delta=300 aika+600: 600 delta=300 aika+900: 900 delta=300 | aika+000: 0 delta="U" aika+300: 300 delta=300 aika+603: 603 delta=303 aika+900: 900 delta=297 |
Mutta tietokanta ei tallenna vain interpoloituja tietoja, vaan myös suoraan syötettyjä tietoja. Tämä on tarpeen myöhempien tietojen tarkempaan interpolointiin.
Tietojen interpolointi voi johtaa tietojen vääristymiseen, joten soveltamisala on rajoitettu alueille, joilla tarkkuus ei ole kriittistä. Muilla alueilla käytetään tietotyyppiä, johon interpolointimekanismi ei päde.
Tietokanta | |
---|---|
Käsitteet |
|
Objektit |
|
Avaimet | |
SQL | |
Komponentit |