Le transazioni Itis Max Planck.

Slides:



Advertisements
Presentazioni simili
Introduzione ai DBMS I Sistemi di Gestione di Basi di Dati sono strumenti software evoluti per la gestione di grandi masse di dati residenti su memoria.
Advertisements

Architettura MySQL E Motori MySQL L. Vigliano.
Capitolo 3 Risorse e Stallo 3.1. Risorse 3.2. Introduzione
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità B1 Introduzione alle basi di dati.
Sicurezza e concorrenza nelle basi di dati
Stored Procedure Function Trigger
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D3 Sicurezza e concorrenza nelle basi di dati.
Structured Query Language (SQL) Presentazione 13.1 Informatica Generale (Prof. Luca A. Ludovico)
Data Bases Distribuiti Finalità Caratteristiche Struttura Mario Capurso
1 Processi e Thread Meccanismi di IPC, Inter Process Communication (1)
Biglietti e Ritardi: schema E/R
Biglietti e Ritardi: schema E/R
Biglietti: schema E/R.
1 Biglietti: schema E/R. 2 Biglietti: albero degli attributi.
UNIVERSITÀ DEGLI STUDI DI TERAMO FACOLTÀ DI SCIENZE DELLA COMUNICAZIONE MASTER UNIVERSITARIO DI I LIVELLO - COMUNICAZIONE e DIVULGAZIONE SCIENTIFICA Direttore.
Basi di dati attive Dispongono di un sottosistema integrato per definire e gestire regole di produzione (regole attive) Regole di tipo: Evento-Condizione-Azione.
G. Mecca – – Università della Basilicata Basi di Dati Tecnologia di un DBMS: Concorrenza e Affidabilità Concetti Avanzati versione 2.0.
1 Il punto di vista Un sistema è una parte del mondo che una persona o un gruppo di persone, durante un certo intervallo di tempo, sceglie di considerare.
SQL Structured Query Language
La Modifica dei Dati in una Base Dati La modifica dei dati contenuti allinterno di una base dati è unoperazione delicata Infatti, ogni potenziale problema.
19/01/2014 Viste. 19/01/2014 Viste Le Viste Logiche o Viste o View possono essere definite come delle tabelle virtuali, i cui dati sono riaggregazioni.
SCHEDA INFORMATIVA DI UNITÀ
Risorse e Stallo.
Laboratorio di Basi di Dati Introduzione ad Access 2ª Parte.
Tecnologie di un database server: la gestione della concorrenza
Basi di dati attive Paolo Atzeni.
Struttura dei sistemi operativi (panoramica)
File System NTFS 5.0 Disco: unità fisica di memorizzazione
Aspetti sistemistici dellSQL. SQL environment Un SQL environment è un framework dove esistono dati e possono aversi istruzioni SQL eseguite su questi.
Cenni sulla gestione delle transazioni in DBMS
SQL Per la modifica di basi di dati
SQL Per la definizione di basi di dati SQL per definire ed amministrare Ogni utente puo definire una base di dati di cui diventa lamministratore potendo.
Transazioni.
SQL basato su ANSI (American National Standards Institute) – standard SQL SQL – Structured Query Language è un linguaggio dichiarativo e permette di comunicare.
Progetto Di Uninfrastruttura Che Permetta La Modifica Di Dati Condivisi Distribuiti Su Più Nodi Reti di calcolatori L-S Gozzi Daniele
Basi di dati Claudia Raibulet
Introduzione alle Basi di Dati. Overview Informazione = contenuto + struttura Informazione non strutturata Molto contenuto, poca struttura Un romanzo.
Corso di INFORMATICA anno scolastico 2009/10 Linguaggio SQL IDENTIFICATORI di tabelle e attributi: stringhe di lunghezza max 18 caratteri, composte da.
Implementare un modello di dati
DAGLI ARCHIVI AI DATABASE
Cos’è una transazione? Una transazione è un’unità logica di elaborazione richiesta da un’applicazione che dà luogo a una serie di operazioni fisiche elementari.
Corso di Basi di Dati Il Linguaggio SQL
Basi di Dati e Sistemi Informativi
Basi di Dati e Sistemi Informativi
sql: esempi di linguaggio sql nell'implementazione mysql
File system distribuito transazionale con replicazione
CORSI DI FORMAZIONE - Basi di Dati: MySql - Parte 4 - Dicembre Utenti e privilegi del database - 1 Root è lutente amministratore predefinito, ma.
DATABASE Introduzione
Laboratorio informatico I
Architettura Centralizzata di un DBMS Relazionale
Nemesi Creazione e pubblicazione di una rivista online tramite l’utilizzo di Java Message Service.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità D3 Sicurezza e concorrenza nelle basi di dati.
BDE-TRANS 1 Gestione di transazioni concorrenti. BDE-TRANS 2 Lock Principio: –Tutte le letture sono precedute da r_lock (lock condiviso) e seguite da.
ATOMICITÀ Il tipo di atomicità di un programma PL/SQL è stabilito dall’ambiente chiamante oppure dal programma Gestione atomicità: –COMMIT –SAVEPOINT nome_punto.
Education & Training Training per Microsoft Access 97 Perché Education & Training ? Perché StartPoints crede nell’importanza strategica delle Risorse Umane.
Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;
Database Elaborato da: Claudio Ciavarella & Marco Salvati.
Tipo Documento: unità didattica 4 Modulo 14 Compilatore: Antonella Bolzoni Supervisore: Data emissione: Release: Indice: A.Scheda informativa B.Introduzione.
Sistema distribuito per il controllo remoto di Software SCADA HMI Presentazione di Paolo di Francia Reti di Calcolatori LS a.a
Transazioni in MySQL 4 Transazioni in MySQL 4
1 Risorse e Stallo 2 Risorse (1) Esempi di risorse –stampanti –nastri –tabelle I processi devono accedere alle risorse in un ordine ragionevole Supponiamo.
Informatica Generale Marzia Buscemi
BDE-TRANS 1 Gestione di transazioni concorrenti. BDE-TRANS 2 Controllo di concorrenza La concorrenza è fondamentale: decine o centinaia di transazioni.
Le basi di dati.
Normalizzazione. Introduzione Nell’organizzazione tradizionale degli archivi, si verificano alcuni problemi, quali: Ridondanza dei dati (gli stessi dati.
 Ogni processo che deve essere eseguito da un sistema di elaborazione, deve essere caricato e risiedere almeno parzialmente nella memoria centrale 
Anno Architetture dati DBMS Centralizzati Controllo di concorrenza Carlo Batini.
Linguaggio SQL. Linguaggi per database La diffusione del modello relazionale ha favorito l’uso prevalente di linguaggi non procedurali: in questo modo.
DDBMS Distributed database system. DDB Una base di dati distribuita è una collezione di dati che appartengono logicamente allo stesso sistema informativo.
Anno Architetture dati - DBMS Centralizzati Recovery management Carlo Batini.
Transcript della presentazione:

Le transazioni Itis Max Planck

Definizione di transazione Sequenza di operazioni sulla BD, trattata dal sistema come un’unità di lavoro indivisibile, cioè non può avere un effetto parziale. Consiste in un insieme di operazioni di interrogazione o modifica della BD che devono essere eseguite unitariamente come se fossero un’unica operazione. Itis Max Planck

Continua Transazioni La transazione costituisce un’unità logica di lavoro Esempio: transazioni bancarie prelievo allo sportello Registrata operazione prelievo Aggiornamento del saldo, controllando la sua disponibilità N.B. se una di queste operazioni non va a buon fine devono essere annullate anche le altre. Itis Max Planck

Comandi Begin transaction Commit Rollback Itis Max Planck

Continua Solo quando la transazione termina con successo (committed transaction), la BD transita in un nuovo stato. Se invece la transazione termina prematuramente (aborted transaction), per il sistema è come se non fosse mai iniziata: la BD si troverà nello stato esistente prima che la transazione iniziasse, vengono perciò intraprese opportune azioni rollback. Itis Max Planck

Comandi speciali Rollback: ha l’effetto di annullare tutte le modifiche alla base di dati apportate dall’inizio della transazione. Commit indica la conferma di tutto il lavoro fatto e termina la transazione. Itis Max Planck

Stati avanzamento transazione ATTIVATA Parzialmente COMMITED COMMITTED errori \ FALLITA ABORTITA Itis Max Planck

Perché termina una transazione Errori logici Fallimenti voluti dall’utente Sbloccare situazione di stallo, in caso di accesso concorrente Anomalia HW o SW Crash di sistema Itis Max Planck

Come ripristinare lo stato 1. Il sistema gestisce opportuni dati ausiliari per poter ripristinare lo stato esistente prima che la transazione iniziasse. 2. Backup copy 3. Durante l’uso della BD il sistema registra nel giornale delle modifiche (journal), la storia delle modifiche fatte sin dal momento in cui è stata fatta l’ultima copia Itis Max Planck

Journal Informazioni contenute nel Journal: Identificatore della transazione Tipo operazione Riferimento al dato modificato Per ogni attributo modificato il vecchio e nuovo valore Itis Max Planck

Proprietà ACID Atomicità Consistenza Isolamento Persistenza (Durability) Itis Max Planck

Uso concorrente T1 e T2 vogliono modificare lo stesso dato R: t1: T1 riceve copia di R; t2: T2 riceve copia di R; t3:T1 aggiorna R e lo memorizza t4:T2 aggiorna R e lo memorizza Itis Max Planck

Uso concorrente L’esecuzione contemporanea di più transazioni è corretta se e solo se l’effetto è lo stesso di quello ottenibile eseguendo le transazioni serialmente, in un qualche ordine. Itis Max Planck

Lo scheduler Due possibili strategie Impedire a T2 al tempo t2 di proseguire, perché T1 ha già avuto accesso al dato per modificarlo Impedire a T2al tempo t4 di modificare il dato, perché le sue operazioni sono state fatte a partire da un dato nel frattempo modificato da T1. T2 viene interrotta e fatta ripartire. Itis Max Planck

Continua Nella prima soluzione i dati vengono concessi in uso esclusivo alla transazione che intende modificarli (lock dei dati). La seconda soluzione, ordinamento temporale. Itis Max Planck

Le transazioni in SQL BEGIN TRANSACTION: prima della serie di istruzioni della transazione COMMIT: conferma la fine di una transazione corretta ROLLBACK: ripristina il database allo stato in cui era prima del comando BEGIN TRANSACTION, nel caso che i risultati della transazione non corrispondano a quelli attesi. Itis Max Planck

Controllo della concorrenza Def: Due transazioni si dicono concorrenti se una ha inizio prima della terminazione dell’altra. La proprietà di isolamento è garantita se tutte le transazioni vengono eseguite in modo seriale. Problema: si allungano i tempi di risposta. Introduzione schedulatore Itis Max Planck

Proprietà isolamento nelle transazioni La proprietà di isolamento consiste nell’escludere quelle schedulazioni che possono portare ai seguenti fenomeni: Aggiornamento perduto Lettura sporca Lettura non – ripetibile Scrittura o lettura dati inesistenti Fenomeno dei fantasmi Itis Max Planck

Schedulazioni serializabili Soluzione problema gestione concorrenza: Schedulazioni seriali Schedulazioni non seriali, ma serializzabili Schedulazioni non serializzabili. Le schedulazioni serializzabili è una schedulazione che produce gli stessi effetti di una schedulazione seriale, ossia garantisce proprietà di isolamento. Itis Max Planck

Protocollo di bloccaggio Per garantire la serializzabilità delle schedulazioni si fa uso dei comandi di bloccaggio, al fine di ordinare gli eventi in modo opportuno. Per migliorare il livello di concorrenza, visto che le transazioni per la maggior parte eseguono interrogazioni sulla BD (select), alcuni DBMS mettono a disposizione istruzioni di bloccaggio in sola lettura. Itis Max Planck

Gestione accessi Per concedere permesso a determinati utenti di poter compiere determinate operazioni comando grant GRANT UPDATE ON STUDENTE TO USER1, USER2; Itis Max Planck

Permessi Itis Max Planck per concedere un permesso GRANT [operazione] ON [tabella] TO [utente]; esempio: GRANT UPDATE ON STUDENTE TO USER1, USER2; per revocare un permesso REVOKE [operazione] ON [tabella] TO [utente]; REVOKE UPDATE ON STUDENTE FROM USER1, USER2; I permessi che possono essere concessi o revocati sono: ALTER, DELETE, INDEX, INSERT, SELECT, UPDATE Per concedere o revocare tutti i permessi contemporaneamente: ALL esempio: GRANT ALL ON STUDENTE TO USER1; Itis Max Planck

Gestione accessi Revoca dei permessi avviene con comando revoke REVOKE UPDATE ON STUDENTE FROM USER1, USER2; Itis Max Planck

Permessi I permessi che possono essere concessi o revocati sono: ALTER DELETE INDEX INSERT SELECT UPDATE ALL Itis Max Planck

Le viste In SQL è possibile decidere le modalità con le quali gli utenti possono vedere le tabelle del database, creando una vista solo su alcuni dati contenuti su una o più tabelle. Una vista (view) quindi è una tabella ridotta ottenuta dalle tabelle di partenza, a disposizione di uno o più utenti che su di essa possono operare con le autorizzazioni viste prima. Itis Max Planck

Viste Con le viste è possibile decidere che un utente debba avere una visione solo parziale dei dati registrati nel database si elimina così il rischio di modifiche indesiderate, si proteggono i dati riservati a certi livelli aziendali e si evita che l'utente sia distratto da troppi dati rispetto alle elaborazioni che deve effettuare. Itis Max Planck

Creare/Eliminare una vista CREATE VIEW nomeVista AS SELECT * FROM tabella WHERE condizione; DROP VIEW nomeVista; Itis Max Planck