Syklinen tietokanta

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 28. lokakuuta 2015 tarkistetusta versiosta . tarkastukset vaativat 9 muokkausta .

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] .

Tietokannan rakenne

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]

Tietojen yhdistäminen

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:

Tietotyypit

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.  

Tietojen interpolointi

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.

Muistiinpanot

  1. http://h20195.www2.hp.com/V2/GetPDF.aspx/4AA1-4053ENW.pdf  (linkki ei ole käytettävissä)
  2. Arkistoitu kopio (linkki ei saatavilla) . Haettu 2. marraskuuta 2011. Arkistoitu alkuperäisestä 28. elokuuta 2013. 
  3. Tobias Oetiker. MRTG. Usean reitittimen liikennekaavio . - Zürich: Sveitsin liittovaltion teknologiainstituutti, 1998.
  4. RRDtoolin käyttäminen verkkosovellusten suorituskykyongelmien syiden diagnosointiin
  5. Avoimen lähdekoodin valvonta: RRDTool 1.3 saatavilla, chat Tobias Oetikerin kanssa
  6. librrd_th.so.4()(64bit) RPM DEB:n ilmainen lataus Linuxille - pkgs.org
  7. Ubuntu - Paketin tiedot torrus-yleinen hardyssä
  8. Debian - Paketin rrdtool-tcl tiedot lenny-backporteissa
  9. Fedora 8 -päivitys: rrdtool-1.3-0.4.beta3.fc8
  10. RRDTool::OO - metacpan.org
  11. RRD-työkalu | drupal.org
  12. RRDtool - rrdtutorial
  13. RRDtool - rrdcreate
  14. RRDtool — rrdtool

Katso myös

Linkit