Skip to main content

SQLite tietokanta

	SQLite 3

SLC engine käyttää SQLite tietokantakirjastoa moniin eri toimenpiteisiin,
ja sitä voi hyödyntää vapaasti sovellusohjelmissa API:n kautta myös omiin
tarpeisiinsa.

Joissakin versioissa SQLite -tietokanta oli asetettu n.s. async moodiin,
kirjoitus operaatiot saattoivat limittyä, tiedostojärjestelmän operaatioiden
kanssa, jolloin tiedostojärjestelmässä oleva versio tietokannasta ei
välttämättä ole aina sisäisesti täysin yhdenmukaisessa tilassa. Tällöin
seuraava kirjoitusoperaatio voi alkaa jo siinä vaiheessa, kun edellisen
muutoksen data on vielä kirjoituspuskurissa, odottamassa
levyllekirjoittamista.

Tämä muodostuu ongelmaksi siinä vaiheessa, kun laitteelta katkaistaan
syöttöjännite ilman "shutdown" komentoa, jolloin tiedostojärjestelmän
kirjoituspuskureita ei ehditä vielä levylle saakka.

Tällaisen epäkoherentissa tilassa olevan tietokantatiedoston
voi osittain pelastaa tekemällä tietokannasta n.s. dumpin,
esimerkiksi shell-komennolla:

	sqlite3 mydata.db ".dump" | sqlite3 new.db


Trendlog tietokannan koon arviointi:

Demon pistetietokannassa on 423kpl analog-value pisteitä, ja jokaisen .pv arvosta 5000 näytettä.

Tietokannan koko on 122 612 736 tavua.

Näin ollen yhden historianäytteen koko on keskimäärin 58 tavua,
tai yhden 1000 näytettä vastaa aina noin 58 kilotavua.


Näytteenottotaajuus:

ARM Cortex-A9 (1 GHz) pohjaisella TI Sitara prosessorilla 450 analogisen 
-pisteen pv-kentän arvojen tallentaminen kestää noin 3 - 4 sekuntia, joten 
tuolla näytetaajuudella on mahdollista päästä suhteellisen luotettavasti 
5 sekunnin näytteistysväliin.