Elkülönítési szintek és írási ütközések

Ez a lap az Azure Databricks Delta Lake-tábláinak elkülönítési szintjeit és írási ütközési viselkedését ismerteti.

A Delta Lake ACID-tranzakciós garanciákat biztosít az olvasások és írások között:

  • Írók: Több fürt több írója egyszerre módosíthatja a táblapartíciót. Az írók a táblázat konzisztens pillanatkép-nézetét látják, és az írások soros sorrendben történnek.
  • Olvasók: Az olvasók továbbra is egységes pillanatkép-nézetet láthatnak arról a tábláról, amellyel az Azure Databricks-feladat elindult, még akkor is, ha egy tábla módosul egy feladat során.

Tekintse meg mik az ACID garanciák az Azure Databricksben?

Megjegyzés:

Az Azure Databricks alapértelmezés szerint a Delta Lake-t használja az összes táblához.

Izolációs témakörök

Téma Leírás
Elkülönítési szintek (WriteSerializable és Serializálható) A két elkülönítési szint hatása az egyidejű műveletekre és azok konfigurálására.
Sorszintű egyidejűség Hogyan csökkenti a sorszintű ütközésészlelés az ugyanazon adatfájlokon végzett egyidejű műveletek írási ütközéseit.

A tranzakcióelkülönítésről, a pillanatképek viselkedéséről és az ütközések kezeléséről további információt a Tranzakcióelkülönítés című témakörben talál.

Metaadatok módosítási ütközései

A metaadatok változásai miatt az egyidejű írási műveletek meghiúsulnak. Ezek a műveletek közé tartozik a táblaprotokoll, a táblatulajdonságok vagy az adatséma módosítása.

A streamelési olvasások meghiúsulnak, ha olyan véglegesítést tapasztalnak, amely módosítja a tábla metaadatait. Ha azt szeretné, hogy a stream folytatódjon, újra kell indítania. Az ajánlott módszerekkel kapcsolatban tekintse meg a strukturált streamelés gyártási szempontjait.

Az alábbi példák a metaadatokat módosító lekérdezésekre mutatnak be példákat:

-- 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);

Következő lépések