Esame: Transazioni ACID e isolation
Questa collezione di flashcard offre un riepilogo delle transazioni ACID e del concetto di isolamento nei database, utile per studenti universitari che preparano esami in informatica.
Quiz(56 vragen)
1. Cosa garantisce l'atomicità di una transazione?
Termen in deze set(56)
Fondamenti delle Transazioni ACID(16)
Cosa significa ACID?
ACID è un acronimo che sta per: - Atomicità - Coerenza - Isolamento - Durabilità.
Definisci Atomicità.
L'atomicità garantisce che una transazione venga eseguita completamente o per nulla. Se un'operazione fallisce, tutte le modifiche vengono annullate.
Cos'è la Coerenza?
La coerenza assicura che una transazione porti il database da uno stato valido a un altro stato valido, mantenendo l'integrità dei dati.
Isolamento: vero o falso?
Vero. L'isolamento garantisce che le transazioni concorrenti non si influenzino l'una con l'altra.
Che cosa implica la Durabilità?
La durabilità assicura che, una volta che una transazione è stata confermata, le sue modifiche persistano anche in caso di guasti del sistema.
Esempio di Atomicità.
Se trasferisci 100 euro da un conto a un altro, entrambi i movimenti devono avvenire. Se uno fallisce, l'intera operazione è annullata.
Cosa succede in caso di errore?
In caso di errore, la transazione deve essere annullata, ripristinando il database allo stato precedente.
Cos'è un database transazionale?
È un database che supporta transazioni ACID, garantendo integrità e affidabilità durante le operazioni di modifica dei dati.
Qual è l'importanza dell'isolamento?
L'isolamento previene problemi di concorrenza, come letture sporche o aggiornamenti persi, garantendo che ogni transazione operi in modo indipendente.
Quali sono le conseguenze di una violazione dell'ACID?
Possibili effetti includono dati inconsistenti, transazioni parziali e perdita di informazioni critiche.
Cosa comporta una transazione incoerente?
Una transazione incoerente porta a dati non validi, violando le regole di integrità del database.
Atomicità vs Coerenza: confronto.
- Atomicità: tutto o niente. - Coerenza: stato valido dopo la transazione.
Riempi il vuoto: la transazione deve essere ____.
atomica, coerente, isolata, durabile.
Qual è l'effetto della durabilità?
Le modifiche fatte da una transazione confermata rimangono permanenti nel database anche dopo un crash.
In che modo l'ACID influisce sulla progettazione dei database?
L'ACID guida la progettazione per garantire che i sistemi siano affidabili, sicuri e capaci di gestire errori e guasti senza perdita di dati.
Cos'è un log delle transazioni?
Un log delle transazioni tiene traccia di tutte le modifiche apportate al database, fondamentale per garantire la durabilità e il ripristino in caso di errore.
Livelli di Isolamento(12)
Che cos'è il livello di isolamento Read Uncommitted?
Consente di leggere dati non ancora confermati. Possibili letture sporche.
Read Committed vs Read Uncommitted
- Read Committed: evita letture sporche. - Read Uncommitted: consente letture sporche.
Che cosa garantisce il livello Read Committed?
Evita letture sporche, ma non evita letture fantasma.
Che cos'è il livello di isolamento Repeatable Read?
Garantisce che i dati letti rimangano costanti durante la transazione, evitando letture sporche e letture fantasma.
Il livello Serializable cosa garantisce?
Evita tutte le anomalie di concorrenza ma ha un costo in termini di prestazioni.
Fill in the blank: Il livello di isolamento ___ garantisce letture consistenti senza letture sporche.
Read Committed.
True or False: Repeatable Read evita le scritture sporche.
False - consente scritture sporche, ma non letture sporche.
Qual è la principale differenza tra Serializable e Repeatable Read?
Serializable evita anche le letture fantasma, mentre Repeatable Read non le evita.
Quale livello di isolamento è il più restrittivo?
Serializable è il più restrittivo tra i livelli di isolamento.
Qual è l'effetto di utilizzare Read Uncommitted?
Si possono ottenere letture sporche, che possono comportare dati incoerenti.
Che cos'è una lettura fantasma?
Si verifica quando una transazione legge un insieme di dati, e un'altra modifica i dati tra le letture.
Cause ed effetti del livello Serializable
Cause: alta sicurezza. Effetti: riduzione delle prestazioni e aumento del blocco delle risorse.
Problemi di Concorrenza(12)
Cos'è un problema di concorrenza?
Un problema che si verifica quando più transazioni accedono e modificano dati simultaneamente, causando risultati imprevisti.
Cosa provoca la lettura sporca?
Una transazione legge dati che sono stati modificati da un'altra transazione non ancora completata.
Vero o falso: la scrittura sporca è possibile in isolamento Serializable.
Falso: l'isolamento Serializable impedisce la scrittura sporca garantendo che le transazioni siano completamente isolate.
Confronta lettura sporca e lettura fantasma.
Lettura sporca: dati non confermati. Lettura fantasma: nuovi dati aggiunti durante l'esecuzione di una transazione.
Qual è l'effetto di un blocco in un sistema?
Previene l'accesso simultaneo ai dati, evitando conflitti tra transazioni attive.
Complete: L'isolamento Read Committed evita _____.
Leggibilità sporca, garantendo che solo le scritture confermate siano visibili.
Qual è il problema di aggiornamento persa?
Si verifica quando due transazioni leggono lo stesso dato e una scrittura sovrascrive l'altra, perdendo aggiornamenti.
Esempio di lettura fantasma.
Transazione A conta righe, Transazione B inserisce una nuova riga. A legge di nuovo e conta righe diverse.
Cos'è il problema del deadlock?
Si verifica quando due o più transazioni si bloccano a vicenda, ognuna in attesa di una risorsa detenuta dall'altra.
Quali problemi risolve l'isolamento Repeatable Read?
Evitare lettura sporca e aggiornamenti persi, ma può ancora avere letture fantasma.
Vero o falso: l'isolamento Serializable è il più debole.
Falso: è il più forte, garantendo che le transazioni siano completamente isolate l'una dall'altra.
Qual è l'effetto di trascurare i problemi di concorrenza?
Può portare a risultati errati, dati inconsistenti e violazioni dell'integrità del database.
Implementazione delle Transazioni(16)
Cosa sono le transazioni ACID?
Le transazioni ACID sono operazioni nei database che garantiscono: - Atomicità - Coerenza - Isolamento - Durabilità.
Vero o falso: Un sistema ACID è sempre veloce.
Falso. La garanzia delle proprietà ACID può influenzare le prestazioni.
Qual è la funzione del logging nelle transazioni?
Il logging registra tutte le modifiche, permettendo di ripristinare lo stato in caso di errore o crash.
Come si implementa l'atomicità?
Attraverso il concetto di undo e redo nel logging delle transazioni.
Cosa fa il protocollo Two-Phase Commit?
Garantisce che tutte le parti di una transazione distribuita siano completate o annullate, assicurando coerenza.
Vero o falso: L'isolamento è fondamentale per prevenire anomalie.
Vero. L'isolamento previene problemi come la lettura sporca.
Qual è il ruolo del timeout nelle transazioni?
Evita che un'operazione rimanga bloccata indefinitamente, terminando le transazioni inattive.
Confronta locking e timestamping.
Locking: blocca risorse. Timestamping: usa timestamp per controllare l'ordine delle transazioni.
Cosa è una transazione annullata?
Una transazione che, per vari motivi, non completa le sue operazioni. Viene ripristinata allo stato precedente.
Vero o falso: Le transazioni possono essere parziali.
Falso. Le transazioni devono essere atomiche: complete o non eseguite.
Qual è l'importanza della gestione dei conflitti?
Prevenire conflitti tra transazioni concorrenti migliora l'integrità e la coerenza dei dati.
Come si utilizza il rollback?
Il rollback ripristina il database a uno stato precedente in caso di errore, mantenendo la coerenza.
Perché è importante la durabilità?
Assicura che i dati modificati da una transazione completata siano permanenti anche dopo un crash.
Cos'è il controllo della concorrenza?
Tecniche per gestire l'accesso simultaneo ai dati, evitando anomalie e garantendo la coerenza.
Esempio di implementazione della durabilità.
Scrivere le informazioni su disco prima di confermare una transazione. Esempio: journaling.
Quali tecniche si usano per le transazioni ACID?
- Logging - Locking - Timestamping Le tecniche garantiscono l'atomicità, la coerenza, l'isolamento e la durabilità delle transazioni nei database.
Vragen in deze set(56)
1. Cosa garantisce l'atomicità di una transazione?
2. Quale delle seguenti proprietà NON è una caratteristica delle transazioni ACID?
3. Quale livello di isolamento consente la lettura di dati non confermati?
4. Qual è la causa principale del problema di lettura sporca?
5. Quale delle seguenti affermazioni descrive meglio la coerenza?
6. Cosa garantisce il protocollo Two-Phase Commit?
7. Qual è la principale caratteristica del livello Read Committed?
8. Quale di queste affermazioni è vera riguardo al deadlock?
9. Il concetto di isolamento previene quale di queste situazioni?
10. Quale affermazione sul rollback è corretta?
11. Che cosa distingue il livello Repeatable Read?
12. Qual è una conseguenza dell'isolamento Read Committed?
13. Qual è la conseguenza della durabilità?
14. Qual è la funzione del logging nelle transazioni ACID?
15. Quale di questi livelli di isolamento offre la massima protezione contro anomalie di concorrenza?
16. In quale livello di isolamento è possibile la lettura fantasma?
17. Qual è un esempio pratico di atomicità?
18. In quale situazione si utilizza il timeout nelle transazioni?
19. Quale affermazione è falsa riguardo al livello Serializable?
20. Qual è l'effetto di un blocco su una risorsa?
21. Cosa accade quando una transazione incontra un errore?
22. Quale tecnica NON è utilizzata nella gestione delle transazioni ACID?
23. Che effetto ha l'utilizzo di Read Uncommitted sulle transazioni?
24. Cosa si intende per aggiornamento perso?
25. Quale dei seguenti non è un principio dell'ACID?
26. Quale dei seguenti rappresenta un esempio di transazione annullata?
27. Qual è l'effetto delle letture fantasma in una transazione?
28. Quale delle seguenti opzioni non è un problema di concorrenza?
29. Cosa implica un database transazionale?
30. Qual è l'importanza della gestione dei conflitti nelle transazioni?
31. Quale livello di isolamento consente di ottenere letture consistenti senza letture sporche e senza letture fantasma?
32. Cosa succede in caso di lettura fantasma?
33. Quale delle seguenti è una violazione dell'ACID?
34. Cosa implica l'isolamento in una transazione ACID?
35. Quale livello di isolamento potrebbe causare un aumento dei tempi di attesa per le transazioni?
36. Qual è il livello di isolamento più forte?
37. Cosa significa che una transazione è 'coerente'?
38. Qual è la conseguenza di una transazione non isolata?
39. In quale livello di isolamento le scritture possono ancora avvenire mentre le letture sono in corso?
40. Quale di queste affermazioni è falsa riguardo all'isolamento Serializable?
41. Qual è la funzione di un log delle transazioni?
42. Qual è il ruolo del locking nelle transazioni?
43. Quale livello di isolamento potrebbe portare a un incremento della concorrenza, ma a scapito della coerenza?
44. Qual è l'effetto di trascurare i problemi di concorrenza in un database?
45. Cosa succede in caso di violazione della durabilità?
46. Qual è un esempio di implementazione della durabilità?
47. Quale livello di isolamento è più adatto per applicazioni con alta concorrenza e tolleranza alle anomalie?
48. Cosa si intende per lettura sporca?
49. Qual è la differenza principale tra atomicità e coerenza?
50. Cosa si intende per controllo della concorrenza?
51. In quale situazione l'isolamento è fondamentale?
52. Quale affermazione sulle transazioni ACID è corretta?
53. Riempi il vuoto: l'ACID garantisce che le transazioni siano ____.
54. Quale delle seguenti opzioni è un vantaggio dell'uso del timestamping?
55. Quale delle seguenti affermazioni descrive meglio il principio di durabilità?
56. Quale delle seguenti affermazioni descrive meglio l'atomicità in una transazione ACID?
Gerelateerde sets
Wiederholung: Tabelle Schlüssel
SQL WHERE
Abitur: SQL JOIN Idee
Normalisierung Datenbanken Abiturvorbereitung
Entity-Relationship-Modell Kardinalitäten fürs Abi
Relationale Algebra
Transaktionen ACID Definitionen
SQL GROUP BY und HAVING
Maak je eigen studieset
Upload een PDF, plak je notities of beschrijf een onderwerp – AI genereert flashcards, quizzen en meer in seconden.

