Tosiaikajärjestelmät Luento 11: Tosiaikatietokannat

Samankaltaiset tiedostot
Sisältö. Tosiaikajärjestelmät Luento 11: Tosiaikatietokannat. Abstrakti tietokantamalli. Tietoalkio ACID. Transaktion tilat. Abstrakti tietokantamalli

Tosiaikatietokannat. Anu Kontio. Helsinki Tietokannat nyt seminaari HELSINGIN YLIOPISTO. Tietojenkäsittelytieteen laitos

Tietokantarakenteet ja -algoritmit 6. harjoitus

HAAGA-HELIA Heti-09 1 (14) ICT05: Tiedonhallinta ja Tietokannnat O.Virkki Transaktionkäsittely

HELIA 1 (14) Outi Virkki Tiedonhallinta

R 2 [0] ei ole likainen luku, sillä avaimelle 0 on jo palautettu sen alkuperäinen arvo.

Transaktiot - kertausta

Seminaari: Keskusmuistitietokannat. Keskusmuistitietokantojen samanaikaisuuden hallinta Ilkka Pullinen

Lisätään avainarvo 6, joka mahtuu lehtitasolle:

Lisätään avainarvo 1, joka mahtuu lehtitasolle:

IIO30220 Database Management / Tietokannan hallinta TAPAHTUMIEN HALLINTA JOUNI HUOTARI ( )

jotakin käyttötarkoitusta varten laadittu kokoelma toisiinsa liittyviä säilytettäviä tietoja

Tosiaikajärjestelmät Luento 5: Resurssien hallinta ja prioriteetit

Samanaikaisuuden hallinta Snapshot Isolationin avulla

Transaktionhallinta. R & G Chapter Tietokannan hallinta, kevät 2006, J. Li 1

Tietohakemisto ja Transaktionkäsittely

Tietokannan hallinta. Kevät 2004 Jan Lindström R&G Chapter 1

D B. Transaktionhallinta - samanaikaisuus. Transaktionhallinta - samanaikaisuus. Transaktionhallinta - samanaikaisuus

Tietokanta (database)

5.2 Samanaikaisuuden hallinta

Samanaikaisuuden hallinta. tietokantapalvelimessa. Tiedonhallintaa. Alkuper. versio: Jaakko Rantanen Pieniä korjauksia: Jouni Huotari 26.2.

Transaktioiden eristyvyys

Helsingin yliopisto/tktl Tietokannan hallinta, kevät Harri Laine 1 D B. Transaktionhallinta - samanaikaisuus

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen,

Transaktionhallinta. Transaktionhallinta. Transaktionhallinta. R & G Chapter 17

Web-palveluiden transaktionaalinen koostaminen

Helsingin yliopisto/tktl DO Tietokantojen perusteet, s 2000 Johdanto & yleistä Harri Laine 1. Tietokanta. Tiedosto

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43


Tietokannan hallintajärjestelmän (DBMS) palvelut ja rakenne

Muita transaktioiden hallintamenetelmiä

Keskusmuistitietokantojen samanaikaisuuden hallinta

Palvelut. Sulautetut järjestelmät Luku 2 Sivu 1 (??) Sulautetut käyttöjärjestelmät

D B. Transaktionhallinta - samanaikaisuus

TIETOKANTOJEN PERUSTEET MARKKU SUNI

Järjestelmäarkkitehtuuri (TK081702) Hajautettu tietokanta. Hajautuksen hyötyjä

CSE-A1200 Tietokannat

Stabilointi. Marja Hassinen. p.1/48

TIETOKANTOJEN PERUSTEET MARKKU SUNI

CS-A1150 Tietokannat CS-A1150 Tietokannat / 47

Written by Administrator Monday, 05 September :14 - Last Updated Thursday, 23 February :36

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

Jaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007

Ohjelmoinnin peruskurssien laaja oppimäärä

JHS 180 Paikkatiedon sisältöpalvelut Liite 4 INSPIRE-palvelujen laadun testaus

Sovellusarkkitehtuurit

Sisältö. Tosiaikajärjestelmät: Luento 3 Epäsäännöllisten töiden ajoitus. Sporadisten ja jaksottomien ajoitus Kellopohjainen ajoitus jaksollisilla

Käyttöjärjestelmät: poissulkeminen ja synkronointi

Tosiaikajärjestelmät: Luento 3 Epäsäännöllisten töiden ajoitus

5.2 Samanaikaisuuden hallinta

TIEDONHALLINTA - SYKSY Luento 12. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

Visma Liikkuvan työn ratkaisut Päivitysohje. Pääkäyttäjän opas

811120P Diskreetit rakenteet

Elvytys. R & G Chapter Tietokannan hallinta, kevät 2006, J. Li 1

Ajotaitomerkkisäännöt matkailuautolle voimaan

D B. Tietokannan hallinta kertaus

Samanaikaisuuden hallinta. Optiot transaktionaalisissa työnkuluissa

Helsingin yliopisto/tktl Tietokantojen perusteet, s 2006 Tiedon mallinnus ja tietokannat. Harri Laine 1. Tietokanta.

Tilannevedoseristyvyydessä esiintyvät eristyvyysanomaliat

Looginen tietokanta ja transaktiot

LOAD R1, =2 Sijoitetaan rekisteriin R1 arvo 2. LOAD R1, 100

Algoritmit 2. Luento 2 Ke Timo Männikkö

Algoritmit 2. Luento 2 To Timo Männikkö

Ohjelmoinnin peruskurssien laaja oppimäärä

Verkon värittämistä hajautetuilla algoritmeilla

Määrittelydokumentti NJC2. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Hajautettujen transaktioiden hallinta

Visma Liikkuvan työn ratkaisut

Maiju Mykkänen Susanna Sällinen

Äänellä vauhtia robottiin

TIETOKANTOJEN PERUSTEET OSIO 14 MARKKU SUNI

Ajalliset muunnokset eksploratiivisen paikkatietoanalyysin työkaluna. Salla Multimäki ProGIS Ry Paikkatietomarkkinat

NAVITA BUDJETTIJÄRJESTELMÄN ENSIASENNUS PALVELIMELLE

D B. Tietokannan hallinta - kurssin tavoite. Kurssilla opitaan periaatteet. Edellytyksenä osallistumiselle on Tietokantojen perusteiden hallinta

Helsingin yliopisto/tktl Tietokannan hallinta, kevät Harri Laine 1 D B. Transaktionhallinta. Transaktionhallinta. Transaktionhallinta

Contents AdsML ympäristö... 2 AdsML Testi ympäristö... 2 AdsML tuotantoympäristö... 2 AdsML käyttöliittymä... 3 Kirjautuminen...

Hälyri-tietojärjestelmän järjestelmätestaussuunnitelma ja -raporttimalli

Tietokantarakenteet ja -algoritmit 3. harjoitus

A. Huutokaupat ovat tärkeitä ainakin kolmesta syystä. 1. Valtava määrä taloudellisia transaktioita tapahtuu huutokauppojen välityksellä.

2 Konekieli, aliohjelmat, keskeytykset

T Testitapaukset TC-1

Kurssien suorittamisen ajoitus

5. Tapahtumien hallinta. Esim. pankkitilisovelluksen proseduuri tilisiirto(t1, t2, x), joka siirtää x mk tililtä t1 tilille t2:

Ohjelmistojen mallintaminen Olioiden yhteistyö Harri Laine 1

SUMO-ROBOTTI. Tehtävä

HOJ Haja-aiheita. Ville Leppänen. HOJ, c Ville Leppänen, IT, Turun yliopisto, 2012 p.1/10

7. Koneenohjausjärjestelmien suunnittelumallit. OhAr Veli-Pekka Eloranta

Konsensusongelma hajautetuissa järjestelmissä. Niko Välimäki Hajautetut algoritmit -seminaari

Monitorit. Monitori Synkronointimenetelmiä Esimerkkejä. Andrews , Stallings 5.5

Monitorit. Tavoite. Monitori Synkronointimenetelmiä Esimerkkejä. Andrews , Stallings 5.5. Minimoi virhemahdollisuuksia

Helsingin yliopisto/tktl Kyselykielet, s 2006 Optimointi Harri Laine 1. Kyselyn optimointi. Kyselyn optimointi

Ohjelmoinnin perusteet Y Python

Tietosuojalauseke 1 Tietoa henkilötietojesi suojasta neuvoston verkkosivuston tilaajatietojen käsittely

7.4 Sormenjälkitekniikka

FYYSINEN SUUNNITTELU

Hajautettujen järjestelmien perusteet. Replikointi. Kari Systä

Wilman käyttöohje huoltajille

Palvelusopimuksen esittely. Pentti Säynätjoki Alkuperätakuun iltapäivä

Ajotaitomerkkisäännöt matkailuautoille 2015

Haaga-Helia ammattikorkeakoulu Oy:n tietosuojaseloste koskien Urkundplagioinnintunnistusohjelmaa

Transkriptio:

Tosiaikajärjestelmät Luento 11: Tosiaikatietokannat Tiina Niklander Perustuu Jan Lindströmin materiaalin S2002 ja artikkeliin: Ramamritham, Son & DiPippo: Real-Time Databases and Data Services. Real-Time Systems, 28, 179-215,2004. Sisältö Abstrakti tietokantamalli (kertausta mm. tietokannan hallinta ja tapahtumankäsittely kursseilta) Ajoitukset ja sarjallistuvuus Aika ja eheys Samanaikaisuudenhallinta Esimerkkejä 1

Abstrakti tietokantamalli Tietokanta on joukko nimettyjä tietoalkioita, joilla on arvo. Näiden arvot muodostavat tietokannan tilan. Tietokantajärjestelmä on laite- ja ohjelmistokomponentit, jotka tarjoavat komennot tietokannan käsittelyyn eli nk. tietokantaoperaatiot. Tietokantaoperaatiot suoritetaan atomisesti yksi kerrallaan eli sarjallisesti. Tietokantajärjestelmä tukee myös transaktiooperaatioita: Begin (b), Read (r[x]), Write (w[x]), Commit (c) ja Abort (a) Tietoalkio d:( arvo, RTS, WTS,...) arvo: tietoalkio tila RTS: viimeisin lukuaikaleima WTS: viimeisin kirjoitusaikaleima Tietoalkiolla voi olla lisäinformaatiota, esim avi: absoluuttinen eheysaikaväli rvi: suhteellinen eheysaikaväli 2

Transaktion tilat Transaktio on sitoutunut jos se on suorittanut commit operaation. Transaktio on peruuntunut jos se on suorittanut abort operaation. Transaktio on aktiivinen jos se on suorittanut begin operaation mutta ei commit tai abort operaatiota. Transaktio ei voi olla vain yhdessä näistä tiloista. ACID Atomisuus: Transaktio suoritetaan kokonaan tai ei ollenkaan Eheys: Transaktio siirtää tietokannan yhdestä eheästä tilasta toiseen. Eristyneisyys: Transaktiot toimivat kuten olisivat yksin järjestelmässä. Pysyvyys: Sitoutumisen jälkeen muutokset säilyvät virhetilanteissakin. 3

Ajoituksista Oletetaan että transaktio yksinään muuttaa tietokannan eheästä tilasta eheään tilaan. Transaktioiden suoritus voi olla sarjallinen eli kukin transaktio suoritetaan alusta loppuun peräjälkeen. Sarjallinen ajoitus säilyttää tietokannan eheyden. Sarjallistuva ajoitus säilyttää tietokannan eheyden. Transaktioiden operaatiot muodostavat historian Historian ominaisuuksia Täydellinen historia on sarjallistuva jos se on ekvivalentti jonkin sarjallisen historian kanssa. Historia on ketjuperuutukset estävä (cascading aborts) jos transaktio lukee vain sitoutuneiden transaktioiden kirjoittamia tietoalkioita. Historia on toipuva (recoverable) jos transaktio sitoutuu vasta kun kaikki ne transaktiot ovat sitoutuneet, jolta transaktio on lukenut tietoalkion arvon. 4

Abstrakti tietokantamalli Transaction Manager Scheduler Recovery Manager Buffer Manager Aika tietokannoissa Temporaalitietokannat (temporal databases) datalla aikarajoitteita voimassaololle Aktiiviset tietokannat (active databases) datalla voi olla aikarajoitteita osa tiedoista johdetaan (derive) automaattisesti muiden perusteella Tosiaikatietokannat (real-time databases) datalla ja transaktioilla aikarajoitteita Mitattu data vs. johdettu data 5

Tosiaikatietokannan eheys Transaktioiden aikarajat (deadlines) tulokset saadaan aikarajojen puitteissa Temporaalinen eheys (temporal concistency) tieto ajallisesti eheää absoluuttisesti ja suhteellisesti Tietokannan eheys (sarjallistuvuus) tieto on loogisesti eheää Temporaalinen eheys Absoluuttinen eheys (absolute consistency) tieto eheää vain tietyn aikavälin current time d.wts d.avi Suhteellinen eheys (relative consistency) tietoalkiojoukon oltava riittävän läheltä samaa ajanhetkeä. d, d R : d. WTS d.wts R.rvi Esim painekattilan mitta-arvot Lämpö 100, Paine 360 OK Lämpö 700, Paine 360 EI Aika 100 200 300 Lämpö 100 300 700 Paine 360 720 100 6

Lyhytkestoisen datan päivitys Säännöllisesti (esim. jaksollinen transaktio) Kolme erilaista tapaa: Jakson pituus (P i ) on voimassaoloaika i Jakson pituus i /2, missä i voimassaoloaika Jakson pituus > i /2 ja P i +D i = i. Artikkelit kuvat 1 & 2 Tosiaikatransaktion ominaisuudet Aikaraja: deadline(t i ) hot, firm tai soft Prioriteetti: priority(t i ) Kriittisyys: criticality(t i ) Kovat aikarajat - A priori takuu suoritukselle Tiedettävä ennalta käytettävät tietoalkiot ja WCET Suurin osa tutkimuksesta kohdistuu pehmeisiin aikarajoihin 7

Samanaikaisuudenhallinnan ongelmat Turha peruutus: transaktio peruuttaa toisen transaktion ja myöhemmin peruuntuu itse. Turha odotus: alempi prioriteettinen transaktio odottaa korkeamman päättymistä ja myöhemmin myöhästyy. Turha suoritus: alempi prioriteettinen peruutetaan validoinnissa, koska konfliktissa korkeamman kanssa. Turha uudelleenkäynnistys: transaktio peruutetaan vaikka historia on sarjallistuva. Ajoitusmenetelmien luokittelu Pessimistiset menetelmät Aikaleimamenetelmät Sarjallistuvuusverkkomenetelmät Lukitusmenetelmät Optimistiset menetelmät Eteenpäin validoivat Taaksepäin validoivat Sarjallistuvuusverkkomenetelmät Hybridit menetelmät 8

2PL-PA (Priority Abort) 2PL + jos lukon varaaja on alempiprioriteettinen, se peruutetaan Hyödyt: Korkeampi prioriteettisia suositaan Haitat Ketjuperuutukset Lukkiuma Prioriteetin kääntyminen Kutsutaan myös 2PL-HP (High Priority) 2PL-PI (Priority Inheritance) Transaktio voi liittyä lukijoiden joukkoon vain jos sen prioriteetti suurempi kuin kenenkään kirjoittamista odottavan. Lukon hallinnan ajan transaktion prioriteetti on vähintään suurimman odottajan prioriteetti. Kutsutaan myös 2PL-WP (Wait Promote) 9

Optimistiset menetelmät 1. Lukuvaihe: Suoritetaan transaktion koodia ja luetut tietoalkiot lisätään lukujoukkoon ja kirjoitetut kirjoitusjoukkoon. Kirjoitukset yleensä tehdään vain paikallisiin tietoalkioihin. 2. Validointivaihe: Tarkistetaan että muodostettu historia on sarjallistuva, toipuva ja ketjuperuutukset estävä. 3. Kirjoitusvaihe: Muutokset kirjoitetaan osaksi tietokantaa. OCC-BC (Broadcast Commit) Validoiva transaktio lähettää viestin konfliktoiville transaktioille ja ne peruutetaan. Pitkäkestoiset transaktiot perutaan herkästi. Ei aikatietoinen (tai prioriteettitietoinen) 10

OPT-SACRIFICE Jos validoinnissa yksikin konfliktoiva transaktio on korkeampi prioriteettinen kuin validoiva, validoiva peruutetaan. Muuten konfliktoiva peruutetaan. Ongelmana lähes valmiiden transaktioiden peruutuskustannus. OPT-WAIT Jos validoinnissa havaitaan yksikin korkeampi prioriteettinen konfliktoiva transaktio, validoitava jää odottamaan. Odotuksen aikana validoiva voidaan joutua peruuttamaan. Kuinka kauan odotetaan??? 11

WAIT-50 Validoiva transaktio odottaa kunnes vähemmän kuin puolella konfliktoivista transaktioista on korkeampi prioriteetti. Tämän jälkeen konfliktoivat transaktiot peruutetaan. Ongelmana peruutukset ja odotuksen pituus. Validointimenetelmiä Taaksepäin validointi: Konfliktit havaitaan tarkistamalla viimeaikoina sitoutuneiden transaktioiden kirjoitusjoukot ja validoivan transaktion lukujoukko. Eteenpäin validointi: Konfliktit havaitaan tarkistamalla validoivan transaktion kirjoitusjoukko ja aktiivisten transaktioiden lukujoukko. 12

Intervallimenetelmä (OCC-TI) Jokaisella transaktiolla T i on aikaväli (timestamp interval) TI(T i ). Aluksi aikaväli on [0, [, peruutetaan jos Ø Aikaväli kuvaa niitä ajanhetkiä, jolloin transaktio voi sitoutua siten että historia on sarjallistuva. Validoinnin aikana muutetaan aikavälejä dynaamisesti kuvaamaan transaktioiden järjestystä historiassa. Prioriteettitietoisuus (priority cognizant) Suorituksen tulisi suosia korkeampi prioriteettisia transaktioita. Vaihtoehtoja: Jokaisessa konfliktissa Vain jos joudutaan peruuttamaan Ei mitenkään selvää että kannattaa! 13

2PL Kannattaako? Tulokset osoittaneet että prioriteettitietoisuus on hyödyksi. Optimistiset Tulosten perusteella ei suurta vaikutusta kokonaistehokkuuteen (vaikutusta tärkeämpien läpipääsyyn) Sarjallistuvuusverkkoajoittajat Ei tuloksia Toipuminen (recovery) Pysyvä data Toipuminen abortoidusta transaktiosta edellyttää kantaan jo kirjoitettujen muutosten poistamista Lyhytkestoinen data Peruuttaminen voidaan korvata mitätöinnillä, seuraava päivitys on kohta tulossa Kannan osittaminen (hot ja cold) Pienemmät palautettavat yksiköt Erilainen käyttötapa erilaiselle datalle 14

Tosiaikatietokannan palveluntaso Tavanomaisia mittareita Deadline miss ratio kuinka suuri osa transaktioista myöhästyi Data freshness Kuinka suuri osa ajallaan sitoutuneiden transaktioiden käyttämästä lyhytkestoisesta datasta oli ajan tasalla Lisäksi voidaan käyttää Overshoot pahimman mahdollisen tilanteen toiminta (esim. myöhästymisten osuus ylikuormitustilanteessa) Settling time kuinka kauan järjestelmän rauhoittuminen yo. tilasta kestää QoS ja satunnainen ylikuormitus (transient overload) Satunnainen ylikuormitus on lyhytkestoinen tilanne, jossa järjestelmässä on hetkellisesti enemmän töitä suoritettavana kuin mihin resurssit riittävät Tällöin palvelun laatu aina kärsii Tietyn palvelutason ylläpitäminen edellyttää Satunnaisten ylikuormitusten välttämistä Ylikuormitustilanteessa joustoa Tapahtumien takarajat Datan voimassaoloajat Tapahtuman keston lyhentäminen (epätarkempi tulos) 15

QMF arkkitehtuuri Artikkelin kuva 3 Sensoriverkon toiminta tosiaikaisena tietokantana Sensoriverkot tavallisesti seuraavat (ja ohjaavat) jonkin fyysisen ympäristön käyttäytymistä Mittaus (sensorit) Ohjaus (aktorit, aktuaattorit) Voidaan hahmottaa myös hajautettuna tietokantana Sensorit solmuja, joissa osa tiedosta sijaitsee Hajautetut kyselyt joilla tietoja selvitetään 16

Tosiaikainen tietokanta ja solmujen liikkuvuus (mobile real-time database) Liikkuva solmu on epäluotettava Yhteys katoaa, sähkö loppuu, Ideoita Määrätään kullekin liikkuvalla solmulle siitä huolehtiva kiinteä solmu Suoritetaan transaktiot kiinteässä vastuu solmussa PUSH Jatkuvien muutosten seuranta Palvelin (tai sensori) syöttää muutostietoa jatkuvasti Tiedon käyttäjät voivat vaihtua PULL Kukin käyttäjä pyytää aika ajoin haluamiaan tietoja 17

Haasteita tosiaikaisten tietokantojen tutkimukselle ja tutkijoille Ala on nyt ollut käynnissä parikymmentä vuotta. Aluksi rinnakkaisuudenhallintaa aikarajojen kanssa ja tiedon aikarajojen käsittelyä Nyt pitäisi saada tutkimustuloksia siirrettyä myös kaupalliseen käyttöön Tällä hetkellä tavallisia tietokantoja, joissa nopeat vasteajat, mutta ei aikatakuita Tarvitaan todellisia käyttöesimerkkejä Standardointi Yhteenveto Tosiaikatietokantojen erityispiirteet Datan luokittelu: pysyvä ja lyhytkestoinen Lyhytkestoisen datan voimassaolorajoitukset Transaktioiden aikarajat Tosiaikaisten transaktioiden suorittaminen (suoritusjärjestys, rinnakkaisuuden hallinta, sitoutuminen, historian sarjallistuvuus) 18