Feesten met dans, poëzie en Azure

Feesten met dans, poëzie en Azure

Data Ceili is de Ierse conferentie ‘voor en door de community’ op het gebied van het Microsoft Data platform. In 2020 stond de eerste fysieke bijeenkomst gepland in Ierland, maar deze kon om de welbekende Corona-redenen toen niet doorgaan. Daarvoor in de plaats is de eerste conferentie volledig online georganiseerd op 28 mei 2021 met 3 parallelle tracks. En, ik was onder de indruk! Goede sprekers, interessante content en een heel nuttig besteedde dag.

 

De naam Data Ceili refereert met het Ierse begrip céilí (uitspraak: kjelji) naar de typisch Ierse sociale bijeenkomsten of feesten met dans en poëzie. Je zou dus kunnen zeggen dat dit een soort Ierse variant is van het bekendere Duitse Data Grillen. De conferentie was dit jaar ingedeeld in 3 ‘rooms’ met eigen sessies:

  • Room 1 was vooral gericht op de meer klassieke onderwerpen van SQL Server;
  • Room 2 was meer gericht op Power BI;
  • Room 3 had als specialiteit ‘big data en machine learning’.

 

In deze blog worden een paar opvallende bijzonderheden uitgelicht van de sessies uit room 3, met een hoofdrol voor Databricks, Synapse Analytics en Deltalake 1.0

 

Databricks versus Synapse Analytics

Een interessante maar ook enigszins verwarrende ontwikkeling in de cloudoplossing van Microsoft (Azure) is de beschikbaarheid van twee vergelijkbare technieken binnen Azure: Databricks en Synpase Analytics. Databricks is een open source platform dat door Microsoft is geïncorporeerd als ‘managed Azure oplossing’. Het zorgt voor ‘in memory data processing’ op basis van scripts (notebooks) waarbij meerdere talen ondersteund worden (R, Python, etc.). Het kom goed tot z’n recht in omgevingen met ‘big data in-memory dataverwerking’. Synapse Analytics is de andere techniek met een vergelijkbare doelstelling. Het is echter meer gericht op de script taal van SQL Server en op een meer visuele manier van programmeren met wizards en Azure Data Factory.

Beide omgevingen ondersteunen het gebruik van geavanceerde machine learning, maar Databricks is hier van huis uit meer bekend mee. Synapse Analytics is echter bezig met een inhaalrace en het verschil wordt steeds kleiner. In de sessie “Machine Learning in Azure Synapse Analytics” concludeert Terry McCann dat beide platforms tegenwoordig inderdaad gebruikt kunnen worden voor machine learning, maar dat Synapse Analytics naar zijn mening (nog) geen toegevoegde waarde heeft boven het gebruik van Databricks alleen. Hierbij is wel de vraag of dit ook geldt voor mensen die alleen de scripttaal van SQL Server kennen en geen ervaring hebben met Databricks en notebooks. Dat voordeel is echter ook weer beperkt doordat de notebooks in Databricks naast andere talen zoals Python ook de taal van SQL Server ondersteunen.

 

Samenvattend kunnen we concluderen dat beide omgevingen vergelijkbare mogelijkheden bieden en dat de keuze voor Databricks of Synapse Analytics per use case bekeken moeten worden. Daarbij is het verstandig om ook de kennis en ervaring van het ontwikkelteam in ogenschouw te nemen. Om een man en paard te noemen dan toch even een paar ongenuanceerde voorbeelden:

  • SQL Analyses en Data warehousing: mijn voorkeur is Synapse Analytics
  • Machine learning ontwikkeling: mijn voorkeur is Databricks
  • Real-time transformaties: mijn voorkeur is Databricks
  • Reporting and self-service BI: mijn voorkeur is Synapse Analytics
  • Ad-hoc data lake discovery: Geen voorkeur

 

Delta Lake 1.0: Data Lake als database?

In de sessie “Databricks, Delta Lake and You” vertelt Simon Whitely over het Open Source bestandsformaat Delta Lake. Een bestandsformaat is een manier om gegevensbestanden op te slaan net als bijvoorbeeld .txt of .csv. Delta Lake is een relatief nieuw formaat dat is gebaseerd op het reeds langer bestaande bestandsformaat parquet. Het bijzondere aan Delta Lake is dat het voorziet in een aantal unieke eigenschappen waardoor het gebruik van bestanden in dit formaat meer begint te lijken op een gestructureerde database dan op een bestandssysteem van losse bestanden. Delta Lake was tot nu toe nog in ontwikkeling en alleen te gebruiken in zogenaamde bèta versies. De aanleiding van deze sessie was het uitkomen van de eerste officiële versie van Delta Lake: versie 1.0. Hiermee is het een officieel ondersteund formaat in Databricks en meer algemeen in Azure zoals bijvoorbeeld in Azure Synapse Analytics.

 

Die unieke eigenschappen waardoor Delta Lake begint te lijken op databases zijn het gebruik van een transactielog (ACID transacties, rollback, auditing), de mogelijkheid van tijdreizen (opvragen van de gegevens zoals ze waren op een specifiek moment in het verleden) en de (beperkte) mogelijkheid voor het toepassen van indexen om de performance te verbeteren.  Daarnaast blijven echter voordelen van een Data Lake architectuur ook (deels) bewaard. Denk hierbij aan het kunnen omgaan met bestanden met verschillende kolomindeling (bijvoorbeeld een kolom meer of minder). Uiteraard is dit nieuwe formaat lang niet op alle gebieden zo efficiënt als een database. Als je bijvoorbeeld één regel wijzigt in een Delta Lake bestand met 1 miljoen regels dan wordt deze wijziging opgeslagen in een nieuw bestand met dezelfde 1 miljoen regels waarbij alleen die ene gewijzigde regel verschilt van het oorspronkelijke bestand. Het oorspronkelijke bestand blijft ook bewaard om tijdreizen mogelijk te maken. Voorlopig is Delta Lake dus zeker nog geen vervanging van een database, maar de scheiding tussen een bestandsysteem en database wordt wel steeds vager door dit nieuwe formaat.

 

Dat waren voor mij een paar highlights van Data Ceili 2021. Voor 2022 hoop ik dat ze er in slagen om echt een fysiek event te kunnen organiseren in Ierland. Fingers crossed…

Ernst Wolf