Delade metadata för Azure Synapse Analytics

Med Azure Synapse Analytics kan de olika beräkningsmotorerna för arbetsytan dela databaser och tabeller mellan Apache Spark-pooler och serverlös SQL-pool.

Delning stöder det så kallade moderna informationslagermönstret och ger arbetsytans SQL-motorer åtkomst till databaser och tabeller som skapats med Spark. Det gör också att SQL-motorerna kan skapa egna objekt som inte delas med de andra motorerna.

Stöd för det moderna informationslagret

Modellen med delade metadata stöder det moderna informationslagermönstret på följande sätt:

  1. Data från datasjön förbereds och struktureras effektivt med Spark genom att lagra förberedda data i (eventuellt partitionerade) Parquet-backade tabeller som finns i eventuellt flera databaser.

  2. Spark-skapade databaser och alla deras tabeller blir synliga i någon av Spark-poolinstanserna för Azure Synapse-arbetsytan och kan användas från något av Spark-jobben. Den här funktionen omfattas av behörigheterna eftersom alla Spark-pooler på en arbetsyta delar samma underliggande katalogmetaarkiv.

  3. Spark-skapade databaser och deras Parquet-backade eller CSV-backade tabeller blir synliga i den serverlösa SQL-poolen på arbetsytan. Databaser skapas automatiskt i de serverlösa SQL-poolmetadata, och både de externa och hanterade tabellerna som skapas av ett Spark-jobb görs tillgängliga som externa tabeller i de serverlösa SQL-poolmetadata i dbo schemat för motsvarande databas.

Objektsynkronisering sker asynkront. Objekten får en liten fördröjning på några sekunder tills de visas i SQL-kontexten. När de visas kan de frågas, men inte uppdateras eller ändras av DE SQL-motorer som har åtkomst till dem.

Delade metadataobjekt

Med Spark kan du skapa databaser, externa tabeller, hanterade tabeller och vyer. Eftersom Spark-vyer kräver en Spark-motor för att bearbeta den definierande Spark SQL-instruktionen och inte kan bearbetas av en SQL-motor, delas endast databaser och deras inneslutna externa och hanterade tabeller som använder Parquet- eller CSV-lagringsformatet med SQL-motorn för arbetsytan. Spark-vyer delas bara mellan Spark-poolinstanserna.

Säkerhetsmodell i korthet

Spark-databaser och -tabeller, tillsammans med deras synkroniserade representationer i SQL-motorn, skyddas på den underliggande lagringsnivån. När tabellen efterfrågas av någon av de motorer som frågelämnaren har rätt att använda skickas frågelämnarens säkerhetsobjekt vidare till de underliggande filerna. Behörigheter kontrolleras på filsystemnivå.

Mer information finns i Delad Azure Synapse Analytics-databas.

Ändra underhåll

Om ett metadataobjekt tas bort eller ändras med Spark hämtas ändringarna och sprids till den serverlösa SQL-poolen. Synkroniseringen är asynkron och ändringarna återspeglas i SQL-motorn efter en kort fördröjning.

Nästa steg