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



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

HELIA 1 (14) Outi Virkki Tiedonhallinta

Tietohakemisto ja Transaktionkäsittely

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

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

FYYSINEN SUUNNITTELU

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

Fyysinen suunnittelu

CS-A1150 Tietokannat CS-A1150 Tietokannat / 43

IIO10200 Tietokantaohjelmointi (4 op)

Maiju Mykkänen Susanna Sällinen

IIO10200 TIETOKANTAOHJELMOINTI (4 OP) OPINTOJAKSON ESITTELY JOUNI HUOTARI

Samanaikaisuuden hallinta MySQLtietokannanhallintajärjestelmässä. Vesa Tähkävuori

Tietojärjestelmä tuotantoympäristössä. Sovellusohjelmat Helsingin ammattikorkeakoulu Stadia / Tekniikka ja liikenne Vesa Ollikainen

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

FYYSINEN SUUNNITTELU

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

CSE-A1200 Tietokannat

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

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

CS-A1150 Tietokannat CS-A1150 Tietokannat / 47

5.2 Samanaikaisuuden hallinta

HELIA 1 (11) Outi Virkki Tiedonhallinta

HELIA TIKO-05 SQL-TRANSAKTIOT 1 ( 12) ICT03D Tieto ja tiedon varastointi

IIO30100 Tietokantojen suunnittelu (6 op)

Samanaikaisuuden hallinta Snapshot Isolationin avulla

IIO30200 TIETOKANNAN HALLINTA (5 OP)

Samanaikaisuuden hallinta. Optiot transaktionaalisissa työnkuluissa

D B. Transaktionhallinta - samanaikaisuus

Transaktiot - kertausta

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

Oraclen syvin ydin. Pertti Eiskonen Yleisradio Oy Tietokanta-asiantuntija. OUGF syysseminaari 2002 Sivu 1

TIETOKANTOJEN PERUSTEET MARKKU SUNI

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

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009

Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot)

Käsiteanalyysi prosessina ja tarveanalyysi

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

Tietokannan suunnittelu

MUITA TIETOKANTAOBJEKTEJA NÄKYMÄT, SYNONYYMIT, INDEKSOINTI, VALTUUDET JA SYSTEEMIHAKEMISTO

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

HELIA 1 (21) Outi Virkki Tietokantasuunnittelu

IIO30200 Tietokannan hallinta (5 op)

IIO30100 Tietokantojen suunnittelu (6 op)

Tämä tiedote koskee Fivaldi yrityksiä joissa käytössä Oma Säästöpankin tilinumero.

Transaktionhallinta. Transaktionhallinta. Transaktionhallinta. R & G Chapter 17

Tietokannanhallintajärjestelmä (DBMS)

IIO30100 TIETOKANTOJEN SUUNNITTELU (6 OP)

Tilannevedoseristyvyydessä esiintyvät eristyvyysanomaliat

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

TIETOKANTOJEN PERUSTEET OSIO 14 MARKKU SUNI

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

Tietokannanhoitaja DBA (Database Administrator) ja tietokannan hallinta

Muita tietokantaobjekteja. Näkymät, synonyymit, indeksointi, valtuudet ja systeemihakemisto

Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä

TIETOKANTOJEN PERUSTEET MARKKU SUNI

Visma Liikkuvan työn ratkaisut

POLKU LUOKKAKAAVIOISTA TAULUJEN TOTEUTUKSEEN

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

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

SQL Server 2005 Express Edition tietokannan asennusohje

KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI

SQL Transaktiot Opettajan opas

Yksittäisasennus eli perusasennus

2 Konekieli, aliohjelmat, keskeytykset

Versiohallinta ja Subversion Maunu Tuomainen

Päivitysohje Opus Dental

HELIA 1 (17) Outi Virkki Tiedonhallinta

Tapahtumanhallinnan pulmakohtia ja ratkaisuja

Sovellusarkkitehtuurit

Jouni Huotari & Ari Hovi. Käsitemallinnuksesta relaatiokantaan KÄSITEMALLI. LOOGINEN MALLI: tietomalli valittu. FYYSINEN MALLI: DBMS valittu

Copyright 2007 Hewlett-Packard Development Company, L.P.

TIETOVARASTOJEN SUUNNITTELU

D B. Transaktionhallinta

Pikaopas. Ohjeiden etsiminen Hae ohjesisältöä napsauttamalla kysymysmerkkiä.

SQL - STRUCTURED QUERY LANGUAGE

TIETOKANNANHOITAJA DBA (DATABASE ADMINISTRATOR) JA TIETOKANNAN HALLINTA

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

Tosiaikajärjestelmät Luento 11: Tosiaikatietokannat

Luento 5. Timo Savola. 28. huhtikuuta 2006

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

SQL-transaktiot Opettajan opas

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?

Hajautettujen transaktioiden hallinta

Tiedonhallintajärjestelmän rakenne ja Suorituskyky

TIETOKANNAT JOHDANTO

Visma Avendon asennusohje

Työasemien hallinta Microsoft System Center Configuration Manager Jarno Mäki Head of Training Operations M.Eng, MCT, MCSE:Security, MCTS

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

Samanaikaisuuden hallinta

MySQL Maestro. Aleksi Korpela IST4SO Markus Lamminaho IST4SO

SQL. ! nykystandardi SQL3 eli SQL'99. ! CREATE TABLE, ALTER TABLE ja DROP TABLE. ! CREATE VIEW ja DROP VIEW. ! CREATE INDEX ja DROP INDEX

HELIA 1 (14) Outi Virkki Tiedonhallinta

Helsingin yliopisto Tietojenkäsittelytieteen laitos (H.Laine) Tietokantojen perusteet. Liitteenä: Tiivistelmä SQL-syntaksista

Transaktioiden eristyvyys

5.2 Samanaikaisuuden hallinta

Haaga-Helia/IltaTiko ict2tcd005: Ohjelmiston suunnittelutaito 1/7 Anne Benson. Tällä opintojaksolla käytämme VS:n kolmen kokonaisuuden luomiseen:

Java ja tietokannan käsittely (JDBC)

SQL Buddy JAMK Labranet Wiki

Transkriptio:

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

TEHTÄVIÄ/KYSYMYKSIÄ Määrittele tapahtuma (transaction) tapahtumien hallinta Mitä ovat tapahtuman ACIDominaisuudet? Mitä ovat seuraavat lukot: Shared lock Exclusive lock Deadlock Mikä ero on optimistisella ja pessimistisellä lukituksella? Miksi tapahtumien hallinta on tärkeää? Mitä ongelmia voi esiintyä jos useita tapahtumia suoritetaan rinnakkain? Miten ongelmat voitaisiin ratkaista? IIO30220 Database Management / Tietokannan hallinta / Jouni Huotari

MENETELMÄ Tee määritykset ensin yksin Vertaa määrityksiäsi vierustoverisi kanssa Miettikää yhdessä (pienryhmissä) vastaukset miksi-, mitä- ja miten-kysymyksiin (Case: pankki tai lennonvarausjärjestelmä) Kootaan vastaukset yhteisesti

MÄÄRITELMÄT Tapahtuma (transaction) on käyttäjän antama komento tai ohjelma (tai sen osa), joka hakee tai muuttaa tietoa tietokannasta Tapahtumien hallinta (tai käsittely) tarkoittaa relaatiotietokannan kykyä hallita tapahtumia jos jokin menee vikaan tapahtuman aikana, ohjelman käskyt perutetaan (rollback); muutoin ohjelman käskyt suoritetaan (commit) esimerkiksi pankkitapahtuman käsittely: pitää tarkistaa sekä maksutili että saajatili

TYYPILLISIÄ ONGELMIA Menetetyn päivityksen ongelma (lost update problem): tapahtuman suorittama päivitys jää toteutumatta, koska toinen tapahtuma korvaa sen (ts. kirjoittaa päälle) Tilapäisen päivityksen ongelma (temporary update problem, uncommitted dependency problem, "dirty read"): tapahtuman päivitys perustuu tietoon, joka muuttuu toisen tapahtuman keskeytyksen seurauksena Virheellisen yhteenvedon ongelma (incorrect summary problem): tapahtuma hakee tietoja useasta paikasta samalla kun toinen tapahtuma päivittää tietoja

ESIMERKKEJÄ ONGELMISTA Menetetyn päivityksen ongelma Tilapäisen päivityksen ongelma

TAPAHTUMILLA PITÄÄ OLLA ACID-OMINAISUUDET Atomicity: tapahtuma suoritetaan joko kokonaisuudessaan tai ei lainkaan Consistency: tapahtuma siirtää tietokannan eheästä tilasta toiseen eli tapahtuman on säilytettävä kannan eheys Isolation: tapahtuman kantaan tekemät muutokset eivät saa näkyä muille tapahtumille ennen kuin se on lopettanut suorituksensa menestyksellisesti (committed; tapahtuma on eristetty muista tapahtumista) Durability: sitoutuneen tapahtuman kantaan tekemät muutokset ovat pysyviä, eivätkä ne saa missään tapauksessa kadota

LÄHTEET JA LINKIT Thomas Connolly & Begg, C. (2002), Database Systems a Practical Approach to Design, Implementation, and Management, 3. painos, Addison-Wesley Mauri Leppänen (1999), Tietokannan hallintajärjestelmät, luentomoniste, Jyväskylän yliopisto Ryan K. Stephens & al. (2001), SQL Trainer Kit, Edita WWW, etsi esim. hakusanalla "Transaction processing tai "Transaction management + liitä tarkennus, esim. lost update problem Jaakko Rantanen (2006), Samanaikaisuuden hallinta ohjelmoinnin näkökulmasta: http://homes.jamk.fi/~huojo/opetus/iio30200/samanaik_hallinta.pdf

ESIMERKKI LUKITUKSEN KÄSITTELYSTÄ Case: Microsoft Access, joka käyttää tiedostopohjaista lukitusta (.ldb) ja jonka tauluihin voidaan määrittää myös rivikohtainen lukitus Avaa yhteisellä levyllä oleva mdb-tiedosto Katso, mitä ko. hakemistoon ilmestyy Tutki ldb-tiedoston sisältö Tee muutos samaan tauluun kaverin kanssa, esim. FIRMAtauluun Mitä tapahtuu, kun tallennat rivin? Miten avaat Access-tietokannan Exclusive-tilaan?