4min

In de afgelopen jaren zien we een nieuwe vorm van datamanagement opkomen bij verschillende klanten en use cases: het lakehouse. Hoewel deze vorm nog niet perfect is, bieden lakehouses dé oplossing voor de diverse toepassingen van verschillende soorten data die we vandaag de dag tegenkomen.

Data warehouses spelen al sinds hun ontstaan 1980 een belangrijke rol bij BI-applicaties en het nemen van zakelijke beslissingen. Sindsdien is de technologie continu blijven evolueren en zijn we in staat grotere hoeveelheden data op te slaan. Toch zijn data warehouses niet voor elke toepassing optimaal geschikt: ze zijn wellicht de perfecte plek voor gestructureerde data, maar bedrijven hebben veelal te maken met ongestructureerde of semigestructureerd data uit heel verschillende bronnen. Data warehouses zijn vaak simpelweg niet ingericht voor dat soort situaties, en ze zijn al helemaal niet kostenefficiënt.

Naarmate bedrijven meer en meer en steeds grotere hoeveelheden data gingen verzamelen uit verschillende bronnen, zochten data-architecten naar één systeem om data in op te slaan voor verschillende analysedoeleinden. Zo’n tien jaar geleden begon men met de aanleg van data lakes – bronnen voor ruwe data in verschillende bestandsformaten. Deze data lakes zijn heel geschikt voor opslag, maar missen enkele essentiële mogelijkheden: ze zeggen niets over de kwaliteit van data, ondersteunen geen transacties en hun gebrek aan consistentie en isolatie maakt de data moeilijk bruikbaar. Veel van de beloften van data lakes zijn niet waargemaakt en in veel gevallen deden ze zelfs afbreuk aan de voordelen van data warehouses.

Wat is een lakehouse?

Toch is er nog steeds behoefte aan een flexibele, goedwerkende oplossing. Bedrijven zoeken naar systemen voor diverse toepassingen van data, zoals SQL analytics, realtime monitoring, data science en machine learning. De meest recente vernieuwingen op het gebied van AI zien we terug in vernieuwde modellen voor de verwerking van ongestructureerde data, zoals tekst, afbeeldingen, video en audio. En dat zijn precies de typen data waar data warehouses niet goed voor zijn ingericht. Om dit op te lossen, maken bedrijven vaak gebruik van verschillende op zichzelf staand oplossingen zoals een data lake, verschillende warehouses of andere gespecialiseerde systemen als streaming en afbeeldingdatabases. Met het gebruik van een veelvoud aan systemen sluipt ook complexiteit binnen. Bovendien zorgt dit voor onnodige vertragingen, omdat dataprofessionals data moeten verplaatsen en kopiëren tussen verschillende locaties.

Evolution of data storage, from data warehouses to data lakes to lakehouses

Inmiddels komen er systemen op die de problemen van data lakes proberen op te lossen. Een lakehouse is een nieuwe paradigma dat de sterke punten van data lakes en data warehouses combineert. Lakehouses stoelen op een nieuw systeemontwerp: de implementatie van datastructuren en datamanagement zoals we zien bij data warehouses, toegepast op de goedkope opslag die gebruikt wordt voor data lakes. Als je data warehouses vandaag de dag opnieuw zou ontwerpen, zou je uitkomen bij een lakehouse. 

Een lakehouse heeft de volgende kenmerken:

  • Transactieondersteuning: in een enterprise lakehouse wordt data tegelijkertijd gelezen en geschreven. Ondersteuning van ACID-transacties draagt daar zorg voor wanneer meerdere partijen tegelijkertijd data lezen of schrijven, vaak met SQL.
  • Verbeterde data-integriteit: een lakehouse ondersteunt schemahandhaving en evolutie en ondersteunt warehouse paradigma’s zoals star/snowflake-schema’s. Het systeem is in staat data-integriteit te garanderen en beschikt over robuuste auditing mogelijkheden.
  • BI ondersteuning: Lakehouses zorgen ervoor dat BI-tools direct op brondata gebruikt kunnen worden. Dit zorgt ervoor dat gegevens up-to-date zijn, versnelt processen en verlaagt de kosten van het operationaliseren van twee kopieën van de data in zowel data lake als warehouse.
  • Opslag staat los van berekeningen: In de praktijk betekent dit dat voor opslag en berekeningen verschillende clusters worden gebruikt, waardoor systemen beter schaalbaar zijn op het aantal gelijktijdige gebruikers en grotere hoeveelheden data.Sommige data warehouses kunnen dit al.
  • Openheid: de gebruikte opslagformaten, zoals Parquet, zijn open en gestandaardiseerd, en bieden een API zodat verschillende tools en engines, waaronder Machine Learning en Python/R-bibliotheken, de beschikbare data direct kunnen gebruiken.
  • Ondersteuning van diverse datatypes, zowel gestructureerd als ongestructureerd: het lakehouse kan gebruikt worden om nieuwe toepassingen van data zoals afbeeldingen, video, audio, semigestructureerde data en tekst op te slaan, te analyseren, te verfijnen en beschikbaar te maken.
  • Ondersteuning voor verschillende disciplines: waaronder data science, machine learning, SQL en analytics. Er zijn misschien verschillende tools nodig om dit allemaal uit te voeren, maar ze vertrouwen allemaal op dezelfde databron.
  • End-to-end streaming: realtime rapportage is vandaag de dag de norm voor veel bedrijven. Ondersteuning van streaming voorkomt de noodzaak van afzonderlijke systemen om realtime datatoepassingen mogelijk te maken.

De toekomst van data

Het lakehouse is een nieuw paradigma voor datamanagement dat enterprise data-infrastructuren versimpelt en innovatie versnelt in een tijd waarin machine learning op het punt staat iedere sector radicaal te veranderen. Op dit moment verlagen lakehouses de operationele kosten al, maar ze zijn nog niet feilloos. Toch zullen ze op de lange termijn alle huidige uitdagingen overwinnen en een eenvoudige, kostenefficiënte en effectieve manier bieden om de verschillende toepassingen van data te combineren.

Dit is een ingezonden bijdrage van Paul Leventis, Senior Director, Software Engineering and Site Lead bij Databricks. Via deze link vind je meer informatie over de mogelijkheden van het bedrijf.