Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Deze pagina beschrijft isolatieniveaus en schrijfconflictgedrag voor Delta Lake-tabellen in Azure Databricks.
Delta Lake biedt ACID-transactiegaranties tussen lees- en schrijfbewerkingen:
- Schrijvers: Meerdere schrijvers in meerdere clusters kunnen tegelijkertijd een tabelpartitie wijzigen. Schrijvers zien een consistente momentopnameweergave van de tabel en schrijfbewerkingen vinden plaats in een seriële volgorde.
- Lezers: Lezers blijven een consistente momentopnameweergave zien van de tabel waarmee de Azure Databricks-taak is gestart, zelfs wanneer een tabel tijdens een taak wordt gewijzigd.
Bekijk wat zijn ACID-garanties in Azure Databricks?
Opmerking
Azure Databricks maakt standaard gebruik van Delta Lake voor alle tabellen.
Isolatieonderwerpen
| Onderwerp | Beschrijving |
|---|---|
| Isolatieniveaus (WriteSerializable en Serializable) | Hoe de twee isolatieniveaus van invloed zijn op gelijktijdige bewerkingen en hoe u ze configureert. |
| Rijniveau-concurrentie | Hoe conflictdetectie op rijniveau schrijfconflicten vermindert voor gelijktijdige bewerkingen op dezelfde gegevensbestanden. |
Zie Transactieisolatie voor informatie over transactieisolatie, gedrag van momentopnamen en conflictafhandeling.
Conflicten met wijziging van metagegevens
Wijzigingen in metagegevens zorgen ervoor dat alle gelijktijdige schrijfbewerkingen mislukken. Deze bewerkingen omvatten wijzigingen in het tabelprotocol, tabeleigenschappen of gegevensschema.
Streaming-leesbewerkingen mislukken wanneer ze een doorvoer tegenkomen die metagegevens van de tabel wijzigt. Als u wilt dat de stream doorgaat, moet u deze opnieuw starten. Zie voor aanbevolen methoden Productieoverwegingen voor Gestructureerde Streaming.
Hier volgen voorbeelden van query's die metagegevens wijzigen:
-- Set a table property
ALTER TABLE table_name SET TBLPROPERTIES ('delta.isolationLevel' = 'Serializable')
-- Enable a feature using a table property and update the table protocol
ALTER TABLE table_name SET TBLPROPERTIES ('delta.enableDeletionVectors' = true);
-- Drop a table feature
ALTER TABLE table_name DROP FEATURE deletionVectors;
-- Upgrade to UniForm
REORG TABLE table_name APPLY (UPGRADE UNIFORM(ICEBERG_COMPAT_VERSION=2));
-- Update the table schema
ALTER TABLE table_name ADD COLUMNS (col_name STRING);