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.

LlamaGreta3·56 fiszki·56 pytania·1 wyświetleń
universitàcomputer_sciencedatabases
0
Umiem
1 / 56
0
Uczę się
Przód

Cosa significa ACID?

Kliknij, aby odwrócić
Tył

ACID è un acronimo che sta per: - Atomicità - Coerenza - Isolamento - Durabilità.

Kliknij, aby odwrócić
Umiem
Uczę się

Quiz(56 pytania)

Pytanie 1 z 56

1. Cosa garantisce l'atomicità di una transazione?

Pojęcia w tym zestawie(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.

Pytania w tym zestawie(56)

1. Cosa garantisce l'atomicità di una transazione?

A.Esecuzione completa o nulla
B.Integrità dei dati
C.Isolamento delle transazioni
D.Persistenza dei dati

2. Quale delle seguenti proprietà NON è una caratteristica delle transazioni ACID?

A.Durabilità
B.Atomicità
C.Isolamento
D.Velocità

3. Quale livello di isolamento consente la lettura di dati non confermati?

A.Read Uncommitted
B.Read Committed
C.Repeatable Read
D.Serializable

4. Qual è la causa principale del problema di lettura sporca?

A.Una transazione legge dati non confermati.
B.Una transazione scrive dati non confermati.
C.Una transazione modifica dati bloccati.
D.Una transazione elimina dati esistenti.

5. Quale delle seguenti affermazioni descrive meglio la coerenza?

A.Le transazioni possono fallire
B.Il database può trovarsi in uno stato non valido
C.Il database passa da uno stato valido a un altro
D.Le transazioni sono sempre isolate

6. Cosa garantisce il protocollo Two-Phase Commit?

A.L'atomicità delle transazioni
B.La velocità delle operazioni
C.La sicurezza dei dati
D.Il backup automatico

7. Qual è la principale caratteristica del livello Read Committed?

A.Consente letture sporche
B.Evita letture sporche
C.Evita letture fantasma
D.Consente scritture sporche

8. Quale di queste affermazioni è vera riguardo al deadlock?

A.Due transazioni si bloccano a vicenda.
B.Una transazione può sempre recuperare da un deadlock.
C.Il deadlock si verifica solo in transazioni di lunga durata.
D.I deadlock non possono essere risolti.

9. Il concetto di isolamento previene quale di queste situazioni?

A.Letture sporche
B.Recupero dei dati
C.Registrazione delle transazioni
D.Backup del database

10. Quale affermazione sul rollback è corretta?

A.Ripristina il database a uno stato futuro
B.Elimina permanentemente le transazioni
C.Ripristina il database a uno stato precedente
D.Aggiunge dati al database

11. Che cosa distingue il livello Repeatable Read?

A.Evita letture sporche
B.Garantisce letture consistenti
C.Evita letture fantasma
D.Permette letture sporche

12. Qual è una conseguenza dell'isolamento Read Committed?

A.Evita lettura sporca.
B.Consente lettura fantasma.
C.Permette scritture sporche.
D.Non influisce sull'isolamento.

13. Qual è la conseguenza della durabilità?

A.Le modifiche possono essere annullate
B.Le modifiche sono permanenti anche dopo un crash
C.Le transazioni possono non essere completate
D.Il database può perdere informazioni

14. Qual è la funzione del logging nelle transazioni ACID?

A.Per migliorare le prestazioni
B.Per registrare modifiche e ripristinare stati
C.Per bloccare le risorse
D.Per eseguire il backup dei dati

15. Quale di questi livelli di isolamento offre la massima protezione contro anomalie di concorrenza?

A.Read Uncommitted
B.Read Committed
C.Repeatable Read
D.Serializable

16. In quale livello di isolamento è possibile la lettura fantasma?

A.Repeatable Read
B.Read Committed
C.Serializable
D.None of the above

17. Qual è un esempio pratico di atomicità?

A.Acquisire dati da più fonti
B.Trasferire fondi tra conti
C.Eseguire una query complessa
D.Sviluppare un'applicazione

18. In quale situazione si utilizza il timeout nelle transazioni?

A.Per garantire la coerenza
B.Per evitare operazioni bloccate
C.Per accelerare le transazioni
D.Per annullare tutte le transazioni

19. Quale affermazione è falsa riguardo al livello Serializable?

A.Evita letture fantasma
B.Consente letture sporche
C.Evita scritture sporche
D.Garantisce consistenza dei dati

20. Qual è l'effetto di un blocco su una risorsa?

A.Impedisce l'accesso simultaneo.
B.Aumenta la velocità di accesso.
C.Rende i dati visibili a tutte le transazioni.
D.Crea un'istantanea dei dati.

21. Cosa accade quando una transazione incontra un errore?

A.Viene completata con dati errati
B.Viene annullata
C.Le modifiche vengono salvate
D.Il database va offline

22. Quale tecnica NON è utilizzata nella gestione delle transazioni ACID?

A.Locking
B.Timestamping
C.Caching
D.Logging

23. Che effetto ha l'utilizzo di Read Uncommitted sulle transazioni?

A.Migliora la coerenza dei dati
B.Evita conflitti tra transazioni
C.Consente letture sporche
D.Ritarda le scritture

24. Cosa si intende per aggiornamento perso?

A.Una scrittura sovrascrive un'altra.
B.Una transazione non completa.
C.Una lettura viene eseguita in modo errato.
D.Una transazione è in deadlock.

25. Quale dei seguenti non è un principio dell'ACID?

A.Atomicità
B.Coerenza
C.Isolamento
D.Semplicità

26. Quale dei seguenti rappresenta un esempio di transazione annullata?

A.Una transazione completata con successo
B.Una transazione che ha avuto un errore e viene ripristinata
C.Una transazione in attesa
D.Una transazione che è stata eseguita parzialmente

27. Qual è l'effetto delle letture fantasma in una transazione?

A.Rende i dati più coerenti
B.Consente scritture più veloci
C.Compromette la consistenza dei dati
D.Evita letture sporche

28. Quale delle seguenti opzioni non è un problema di concorrenza?

A.Lettura sporca
B.Lettura fantasma
C.Blocco
D.Esecuzione parallela

29. Cosa implica un database transazionale?

A.Supporto per transazioni ACID
B.Nessuna registrazione delle transazioni
C.Limitata integrità dei dati
D.Fallimenti frequenti

30. Qual è l'importanza della gestione dei conflitti nelle transazioni?

A.Aumenta la velocità delle transazioni
B.Prevenire anomalie tra transazioni concorrenti
C.Riduce il numero di transazioni
D.Elimina la necessità di locking

31. Quale livello di isolamento consente di ottenere letture consistenti senza letture sporche e senza letture fantasma?

A.Read Uncommitted
B.Read Committed
C.Repeatable Read
D.Serializable

32. Cosa succede in caso di lettura fantasma?

A.Dati nuovi vengono inseriti durante una transazione.
B.Dati esistenti vengono modificati.
C.Dati vengono eliminati.
D.Dati vengono letti senza conferma.

33. Quale delle seguenti è una violazione dell'ACID?

A.Sistemi con transazioni affidabili
B.Dati inconsistenti
C.Transazioni isolate
D.Dati persistenti

34. Cosa implica l'isolamento in una transazione ACID?

A.Ogni transazione è eseguita in modo indipendente
B.Le transazioni possono sovrapporsi
C.Le transazioni devono essere eseguite sequenzialmente
D.Le operazioni sono sempre visibili ad altre transazioni

35. Quale livello di isolamento potrebbe causare un aumento dei tempi di attesa per le transazioni?

A.Read Uncommitted
B.Read Committed
C.Repeatable Read
D.Serializable

36. Qual è il livello di isolamento più forte?

A.Serializable
B.Repeatable Read
C.Read Committed
D.Read Uncommitted

37. Cosa significa che una transazione è 'coerente'?

A.Cambia stato in modo casuale
B.Rispetta le regole di integrità
C.Esegue più operazioni di seguito
D.Può essere annullata

38. Qual è la conseguenza di una transazione non isolata?

A.Incremento delle prestazioni
B.Anomalie come lettura sporca
C.Completezza delle operazioni
D.Atomicità garantita

39. In quale livello di isolamento le scritture possono ancora avvenire mentre le letture sono in corso?

A.Read Uncommitted
B.Read Committed
C.Repeatable Read
D.Serializable

40. Quale di queste affermazioni è falsa riguardo all'isolamento Serializable?

A.Previene lettura sporca.
B.Previene lettura fantasma.
C.Consente aggiornamenti persi.
D.Isola completamente le transazioni.

41. Qual è la funzione di un log delle transazioni?

A.Memorizzare dati temporanei
B.Registrare tutte le modifiche al database
C.Eliminare dati obsoleti
D.Fornire reportistica

42. Qual è il ruolo del locking nelle transazioni?

A.Accelerare le operazioni
B.Bloccare risorse per evitare conflitti
C.Registrare le modifiche
D.Controllare l'ordine delle transazioni

43. Quale livello di isolamento potrebbe portare a un incremento della concorrenza, ma a scapito della coerenza?

A.Read Uncommitted
B.Read Committed
C.Repeatable Read
D.Serializable

44. Qual è l'effetto di trascurare i problemi di concorrenza in un database?

A.Può portare a dati inconsistenti.
B.Aumenta le prestazioni del database.
C.Riduce i costi operativi.
D.Migliora l'integrità dei dati.

45. Cosa succede in caso di violazione della durabilità?

A.Le transazioni vengono salvate
B.I dati vengono persi dopo un crash
C.Il sistema continua a funzionare
D.I dati sono sempre disponibili

46. Qual è un esempio di implementazione della durabilità?

A.Scrivere dati in memoria volatile
B.Scrivere dati su disco prima della conferma
C.Eseguire il rollback
D.Utilizzare il timestamping

47. Quale livello di isolamento è più adatto per applicazioni con alta concorrenza e tolleranza alle anomalie?

A.Read Uncommitted
B.Read Committed
C.Repeatable Read
D.Serializable

48. Cosa si intende per lettura sporca?

A.Leggere dati non confermati.
B.Modificare dati confermati.
C.Scrivere dati in una transazione.
D.Contare righe in una tabella.

49. Qual è la differenza principale tra atomicità e coerenza?

A.Atomicità riguarda l'integrità dei dati, coerenza no
B.Atomicità è 'tutto o niente', coerenza è 'stato valido'
C.Coerenza è più importante di atomicità
D.Non ci sono differenze

50. Cosa si intende per controllo della concorrenza?

A.Tecniche per limitare le transazioni
B.Gestione dell'accesso simultaneo ai dati
C.Aumentare la velocità di esecuzione
D.Registrare tutte le transazioni

51. In quale situazione l'isolamento è fondamentale?

A.Quando ci sono molte transazioni concorrenti
B.Quando il database è offline
C.Quando non ci sono transazioni attive
D.Quando si eseguono backup

52. Quale affermazione sulle transazioni ACID è corretta?

A.Possono essere parziali
B.Devono essere atomiche
C.Possono essere eseguite senza logging
D.Non richiedono isolamento

53. Riempi il vuoto: l'ACID garantisce che le transazioni siano ____.

A.difficili
B.affidabili
C.lente
D.complesse

54. Quale delle seguenti opzioni è un vantaggio dell'uso del timestamping?

A.Consente transazioni più veloci
B.Evita conflitti tra transazioni
C.Elimina la necessità di locking
D.Rende il rollback più semplice

55. Quale delle seguenti affermazioni descrive meglio il principio di durabilità?

A.Le modifiche confermate rimangono permanenti anche in caso di guasti
B.Le transazioni possono essere annullate in qualsiasi momento
C.Ogni transazione deve terminare in modo indipendente dalle altre
D.Le operazioni devono essere eseguite in ordine sequenziale

56. Quale delle seguenti affermazioni descrive meglio l'atomicità in una transazione ACID?

A.Una transazione deve essere completata completamente o non eseguita affatto.
B.Le transazioni possono essere eseguite in modo parziale e confermate in seguito.
C.L'atomicità si riferisce solo ai dati non modificati.
D.Una transazione può essere divisa in più sotto-transazioni.

Powiązane zestawy

Stwórz własny zestaw

Wgraj PDF, wklej notatki lub opisz temat – AI wygeneruje fiszki, quizy i więcej w kilka sekund.