Lakehouse är en central del av Microsoft Fabric, och det är en lösning som kombinerar det bästa av två världar: data lakes och data warehouses. I den här bloggposten utforskar vi vad ett Lakehouse är, varför det är viktigt och hur det fungerar i Microsoft Fabric.
Vad är ett Lakehouse?
Traditionellt har företag använt två separata system för att hantera data:
- Data lakes för ostrukturerad och semistrukturerad data, som JSON-filer, loggar och bilder.
- Data warehouses för strukturerad data, som tabeller för analys och rapportering.
Ett Lakehouse förenar dessa system genom att erbjuda en enda plattform där data kan lagras i sitt ursprungliga format (som i en data lake) men ändå hanteras och analyseras med hög prestanda (som i ett data warehouse).
I Microsoft Fabric bygger Lakehouse på OneLake, vilket innebär att all data lagras centralt och är tillgänglig för alla verktyg och tjänster i plattformen.
Hur fungerar Lakehouse i Microsoft Fabric?
Lakehouses lagrar all data i OneLake och det finns två typer av data:
- Tabeller innehåller strukturerad data på motsvarande sätt som en databas
- Filer kan vara mer eller mindre strukturerade och kan innehålla till exempel csv, parquet, bildfiler etc.
Shortcuts
För data som finns redo i en annan plattform kan man använda shortcuts som låter oss använda data utan att först läsa in hela datamängden. Med shortcuts får man en genväg till datan även om den ligger i t.ex. Snowflake eller Amazon S3 och vi kan integrera data med den data vi har i Fabric. När vi kör jobb kommer den delen av data som finns i annan plattform att läsas över.
Bearbeta och läsa data
Ett vanligt sätt att bearbeta data i sitt Lakehouse är att använd PySpark Notebooks. I Notebooks kan man både skriva Python-kod och använda SQL. Power BI kan hämta data direkt från en Notebook, men andra system hämtar ut data via en SQL Endpoint. Via SQL Endpoint kan man inte modifiera data utan bara läsa.
Best practices
Det finns lite olika vanliga sätt att arbeta, men vi rekommenderar att man har ett workspace per förädlingssteg av data (brons, silver och guld) och i varje workspace har man ett lakehouse. Miljön blir tydligt uppdelad och det är enkelt att styra behörigheter. Detta är också det sätt som Microsoft rekommenderar att man jobbar.
Kommande funktionalitet
Det finns just nu en preview av en funktion för att ha scheman i sitt lakehouse. Scheman kommer att ge oss möjligheten att dela in tabeller efter olika funktioner, liknande som man gör i en databas. Det här kan vara bra om man använder sitt lakehouse till olika funktioner – t.ex. olika system eller nivåer.
2025 Q1 planeras Row-level security (RLS) och Column-level security (CLS) att släppas. Med RLS kan vi styra så att användare automatiskt bara ser den data de har behörighet till – t.ex. sitt kostnadsställe, sina egna kundordrar eller liknande. CLS styr vilka kolumner en användare har tillgång till och med hjälp av det kan vi t.ex. styra så att obehöriga inte kan ta del av inköpspris, lönesiffror eller annat känsligt.