Personliga reflektioner från konferensen

Dag 1 – Onsdag

En av dem tog den långa vägen och en av dem flög direkt till London. För mig började morgonen okristligt tidigt – fördelen med att bo nära flygplatsen i Linköping uppvägs av detaljen att planet mot Schiphol går klockan 0640. Linda hade en något mindre tidig morgon då hon flög direkt Heathrow från Arlanda, och strax efter 14 sammanstrålade de på Paddington Station i London. En kopp kaffe för att lugna nerverna inför en timmes resa genom Londons tunnelbanesystem senare påbörjades resan till Docklands och konferenscentret ExCel.

Väl på plats checkade vi in på talarhotellet som tacknämligt nog ligger ett stenkast från huvudentrén. Vi anlände på onsdagen, och då konferensens två s.k. ”pre-days” var i full gång, knallade vi över till ExCel för att bekanta oss med miljön vi skulle komma att spendera nästkommande dagar på. Årets tema på SQLBits var ”retro arcade”, och redan utanför dörren var Pac Man representerad på SQLBits-skyltarna.

SQLBits har tagit över kronan som världens största och främsta datakonferens. Tidigare var PASS Summit i Seattle den största, men då PASS har gått i graven är det SQLBits som gäller. Här slåss hela världens talare om en slot, och vi hade den stora förmånen att inte bara få en slot tillsammans utan även varsin egen slot.

ExCel är ett enormt komplex, och trots att SQLBits räknade med strax över 1000 deltagare på plats (och cirka 6-800 online) så användes knappt ett hörn på byggnaden. I mitten av utrymmet låg ett stort mässgolv med sponsorer. Då SQLBits är ett helt communitydrivet event är sponsorerna vitala för att evenemanget överhuvudtaget ska vara genomförbart. Strax bredvid mässgolvet fanns ett jättelikt ”community space” där man kunde umgås med andra deltagare, byta klistermärken, spela arkadspel och även lyssna till communitysessioner. Här uppstod många spontana möten och konversationer om allt från tekniska lösningar, utmaningar i arbetslivet och vikten av mental hälsa i en modern värld.

Längre in fanns de olika föreläsningsrummen. När konferensen gick igång på allvar på torsdagen var det 15 parallella spår i rummen och ett ytterligare i community zone. Det är svårt att förmedla precis hur mycket information som distribueras på en konferens av denna storlek, men man kan lugnt säga att det både fanns något för alla – samtidigt som man fick lite ont i magen över att man inte kunde delta på alla intressanta sessioner.

Det fanns två varianter av sessioner – antingen 20 minuter eller 50 minuter. 20-minuterssessionerna är strålande för att plantera en idé för vidare studier, och 50-minuterssessionerna är lämpade för demos eller att gå lite djupare. 50 minuter är trots allt en ganska kort tid, men syftet är inte att förklara allting i detalj.

Efter att ha kikat in i de rum Linda och jag skulle prata i senare under veckan knallade vi iväg och åt fish & chips – är man i England så är man!

Senare på kvällen deltog vi på ”board game night” på mässgolvet. Det blev inte så mycket spel, men väl väldigt många diskussioner med andra deltagare och talare. Linda började få en känsla för precis hur många människor jag skulle introducera henne till under veckan, och vi båda sov ovaggade den första natten.

Dag 2 – Torsdag

Den första dagen började med en keynote som genomfördes av Buck Woody och Bob Ward från Microsoft. Båda herrarna är legender på egen hand, men med sig på scen hade de flertalet kända namn från Microsoft – Anna Hoffman, Pedro Lopes och Patrick LeBlanc, för att nämna några. En del av de saker som visades var exempelvis att SQL Server 2022 kommer i publik beta i april. SQL Server 2022 har markanta förbättringar på många sätt, och när betan är publik kommer jag skriva lite om det här på hemsidan.

Vår första session ”Learning to Listen – Making the Most of Mentoring” var schemalagd till 11.30, så huvuddelen av förmiddagen ägnades åt förberedelser för leveransen. Jamey Johnston (the Statistics Cowboy) var klar med sin session 11.10, så vi tog raskt över podiet och förberedde slides, mikrofoner och verktyg. De sista minuterna innan en session är alltid speciella – alla förberedelser är klara, det finns inget mer att skruva på, och nu får det bära eller brista. Deltagarna började sippra in, och när det var dags att starta hade vi ett fyrtiotal på plats och ytterligare ett gäng på videolänk.

”Learning to Listen” är resultatet av nästan ett års intensivt arbete där jag tog mig an Linda som adept med målet att hon skulle föreläsa på evenemanget ”New Stars of Data” den 22 oktober. Det är ett onlineevent enbart öppet för människor som aldrig tidigare föreläst på en konferens. Linda uttryckte ett intresse att delta mer i communityn och samtidigt börja föreläsa, och självklart erbjöd jag mig att vara mentor. Trots att Powerpoint gjorde ett strålande jobb med att äta upp hennes slide deck ett fåtal dagar innan New Stars gick den sessionen som på räls. Vi valde att bygga en session på temat mentorskap som [sammanfattar, tips, tricks] Vi hade sedan turen att få sessionen accepterad till SQLBits.

Klockan blev 11.30 och det var dags. Tiden rör sig lite annorlunda när man står på scen och 20 minuter känns plötsligt väldigt kort. Vi gick i mål till applåder efter 19 minuter och 40 sekunder. Lindas första föreläsning (även om den var tillsammans med mig) på scen inför människor blev en utmärkt succé – precis som förväntat.

Efter att ha spenderat en stund med feedback och funderat på hur vi kan förbättra sessionen inför nästa leverans kastade vi i oss lite lunch och gav oss av i jakt på intressanta sessioner. Vi landade bland annat hos Andy Cutler som pratade om Azure Synapse Serverless Pools och därefter i en enormt intressant diskussion kring mental hälsa och ”Finding Your Own Superpower” som hölls av Matthew Roche från Power BI CAT Team. De två sista sessionerna för dagen blev Cathrine Wilhelmsen som pratade om ”6 Tips for Building Confidence as a Public Speaker” samt ”An Evening with the Power BI CAT Team”. CAT står för ”customer advisory team” och är det gäng med Power BI-experter som kallas in för de största och mest komplicerade uppgifterna. Här återfinns namn som Adam Saxton, Patrick LeBlanc, Chris Webb, Scott Sewell, Kasper de Jonge, Gabi Münster och Benni de Jagere, för att nämna några. På scen var också Alberto Ferrari och Marco Russo – ”the DAX Italians”.

Vi gick tillbaka till community zone, och efter en stunds konversation med Matthew Roche om både teknik och konsultliv beslöt vi oss för att gå till hotellrestaurangen för middag. Kvällen avslutades med en mycket givande konversation på olika teman som Power BI, Microsoft, storheten i japansk kontra europeisk svärdskonst och hur man misslyckas kapitalt med att göra ketchup.

Dag 3 – Fredag

Fredagen började med ”community keynote” under ledning av Rob Sewell och Ben Weissman. Här hade jag fått förmånen att vara en av de åtta utvalda MVPer som fick välja en ”favorite data platform feature” att prata om ett par minuter. Jag funderade länge och väl efter att ha fått frågan och valde att prata om något som inte är en dataplattformsfeature per se – Private Link. Säkerhet är extremt viktigt, och det värsta jag kan tänka mig är att man begår misstag för att man inte känner till hur PaaS-tjänsterna i Azure fungerar, så därför tog jag fem minuter för att beskriva skillnaden mellan hur folk tror att PaaS-tjänsterna fungerar och hur de faktiskt gör det.

Det här var min första keynote inför samtliga konferensdeltagare och jag ser med tillförsikt fram emot att få leverera keynote på Data Saturday i Stockholm den 21 maj.

Dagen då Linda skulle gå upp på scen helt på egen hand var äntligen här. Förmiddagen ägnades åt diskussioner i community zone, ett par övningsvarv inför föreläsningen och ett snabbt varv på mässgolvet.

Sessionen ”How to Avoid the Most Common Junior Mistakes” handlar om vanliga misstag som nya inom IT-industrin ofta begår. Här kan nämnas en tendens att arbeta för mycket, sakna en utvecklingsplan och mycket mer. Under 20 minuter pratade Linda om klassiska misstag och gav flera alternativ till lösningar – både för den enskilde individen och för chefer och ledare.

Antalet deltagare som ville prata med Linda efter genomförd föreläsning var en god indikation på hur uppskattad den var.

Resten av eftermiddagen ägnades åt debriefing av Lindas session, BI Power Hour med Power BI CAT team samt Patrick LeBlanc som pratade om incremental refresh i Power BI.

Middagen intogs i sällskap med flera av vänner från Holland. Lagom som vi fått in maten anslöt också min tidigare adept Heini Ilmarinen. Heini började sin talarkarriär på den svenska Power BI-användarföreningen under min ledning för tre år sedan och är nu Data Platform MVP och uppskattad talare världen över. Under den här middagen diskuterades både Lindas session och min kommande session på lördagen. Denna session går under namnet ”Lipstick on a Pig – Remaking a Power BI Report in 20 Minutes”, och dessvärre tyckte mina vänner att jag behövde göra slag i saken med tanke på namnet – mer om det strax.

Senare på kvällen var det dags för den nästintill legendariska SQLBitsfesten. Varje år har som tidigare nämnt ett tema, och årets tema var ”retro arcade”. Sist SQLBits gick fysiskt var 2019 i Manchester, och då var temat ”the great data heist”, så alla bar 1920-talsinspirerade kläder.

”Retro arcade” bjöd på fantastiskt många outfits från klassiska spel som Pac Man, Street Fighter, Tron, Donkey Kong och Super Mario Bros. Det som gör SQLBitsfesten till en riktig favorit för mig som inte är så mycket för hög musik är att det alltid finns alternativ – antingen äntrar man dansgolvet till hög musik, eller så knallar man ut till den tysta ytan där man kan träffa folk och diskutera. Här blev vi sittande till ganska sent – en utmärkt avslutning på ännu en fantastisk dag.

Dag 4 – Lördag

Lördagen är lite speciell på SQLBits då den är gratis och öppen för vem som helst. SQLBits är ett event som drivs helt i frivillig regi och en av de viktigaste drivkrafterna är möjligheten att ”ge tillbaka”. Därför är lördagen gratis och tenderar därför vara den dag som har flest besökare.

Morgonen blev väldigt tidig då vi var enormt nyfikna att lyssna på Heini Ilmarinen prata om ”Less Clicking, More Coding! Data Platform Development Using Infrastructure as Code”. Klockan åtta på lördagen efter festen är inte den slot man längtar efter som talare, men då Heini är en väldigt uppskattad talare drog hon utan vidare ett fyrtiotal åhörare.

Efter en kort paus var det dags för Benni de Jagere från Power BI CAT team att prata om ”Power BI dataflows? Why you need to implement it!” följt av Ben Weissman med ”(Almost) all about Azure Arc – in 20 Minutes”

Efter en raskt intagen lunch var det till sist dags för mig att göra mig redo för min session ”Lipstick On a Pig – Remaking a Power BI Report in 20 Minutes”. Den här sessionen diskuterar grunderna i disposition, informationsmängd, typsnittval, färger och tillgänglighet.

Mina holländska vänner trodde inte sina ögon när jag faktiskt gjorde det vi pratade om på middagen kvällen innan: sessionen heter ”Lipstick on a Pig”, så jag tog på mig ett knallrött läppstift. Jag har tacknämligt nog inte sett någon bild på det än, men det finns en överhängande risk att jag fastnade på bild.

Flera deltagare kom fram och ville prata om rapportdesign och tillgänglighet efter sessionen, och då det var kort om tid inför nästa session av Pedro Lopes från Microsoft (som såg lite fundersam ut över mina röda läppar) fortsatte vi konversationerna utanför.

En av de märkligaste upplevelserna jag vet på konferenser är när den sista dagen leder mot sitt slut och deltagarna börjar gå hem. Från tusen personer som pratar, skrattar och diskuterar till färre och färre människor. Lokalen känns mer och mer tom, och en bitterljuv känsla när ett par fantastiska dagar med lärdomar, insikter, nyheter, möjligheter och nya bekantskaper blandas med vetskapen att det är slut för den här gången. När man lagt så oerhört mycket tid och energi på att dels vara mentor, dels på att skriva, bygga och leverera en session uppstår ett stort tomrum efter en konferens.

Heini Ilmarinen lyckades knipa ”best feedback” för sin session ”Less Clicking, More Coding!”, och efter en sista blick över ett nästan tomt mässgolv gick vi i samlad tropp tillbaka till hotellet och den sista middagen.

Dag 5 – Söndag

Söndagen ägnades åt resa – Linda hade fördelen att flyga direkt Heathrow – Arlanda, men jag flög Heathrow – Schiphol – Linköping. Det gav mig en hel del tid att fundera över mina upplevelser från den största datakonferensen de senaste två åren.

Jag funderade på vad som får mig att lägga de nästintill galna mängder timmar varje kväll på att utveckla mina kunskaper, skriva och bygga sessioner, vad som får mig att spendera dagar och helger iväg på konferenser, vad som får mig att driva den svenska Power BI-användarföreningen, organisera event och allt annat jag gör. Jag räknade lite snabbt och kom fram till att jag lägger mellan 20–100 gånger tiden som sessionslängden på att utveckla den, testköra den och förfina den. Användarföreningen tar ett par kvällar i månaden i anspråk. Listan kan göras lång.

Det finns ett mönster som återkommer i allt jag gör: community. Det är ett svårt ord att översätta, men innebörden är tydlig. En samling människor från alla världens hörn som brinner för att hjälpa, stötta, förbättra och utvecklas. Människorna i den internationella datacommunityn är kort och gott häpnadsväckande.

Ta Linda som exempel: jag introducerade henne till mer människor än hon trodde var möjligt. Varje människa hon träffade utgör en potentiell källa till hjälp, till svar på en fråga, någon att testa idéer på eller möjlighet till samarbete. Det går inte att överskatta värdet av ett professionellt nätverk, och datacommunityn är ett nätverk som inget annat. Mycket går att googla, men vad gör man när man inte ens kan formulera frågan? Det är lätt att man fastnar på ren teknik, men betänk att communityn består av tusentals människor – många av dem är konsulter och har mycket klokskap att dela med sig av kring konsultlivet. Det är svårt att sätta ord på precis hur inkluderande, öppen och välkomnande datacommunityn faktiskt är.

Linda kom till SQLBits som grön och okänd i communityn och lämnar som uppskattad talare med ett kontaktnät som är hundra gånger större än för en vecka sen.

Att lägga tid på communityarbete är som att ge sin karriär superkrafter. Genom att hjälpa, lyfta, stötta, dela kunskaper och driva communityn framåt vinner alla. ”The rising tide lifts all boats” är ett väldigt träffande uttryck. Det finns gott om plats för fler båtar. Välkommen till communityn!

Sammanfattning av tekniska nyheter

SQLBits bjöd som nämnt ovan på många intressanta konversationer och nyheter. Här är ett par av dem med kommentarer och exempel på varför de skulle kunna vara relevanta för just dig:

Power BI

Hur hanterar man ett dataset på en petabyte i Power BI? Det gör man inte, man aggregerar den intressanta informationen och vips så är ens dataset markant mycket mindre.

För en tid sedan släpptes aggregeringar (”Power BI Aggregations”), en metod för att kunna lagra aggregeringar i minnet och därmed undvika majoriteten av anropen mot datakällan. Ett exempel på detta är det s.k ”trillion row demo” som visar styrkan i aggregeringar mot ett dataset med en triljard rader. Då datasetet är alldeles för stort för att få plats i minnet måste man köra s.k ”direct query” mot datakällan, något som dessvärre är ganska långsamt.

I många fall önskar man å andra sidan aggregat och är egentligen inte intresserad av detaljraderna. Med aggregeringar kan man beräkna dessa aggregat och lagra dem i minnet (import mode) och på så sätt få blixtsnabba svarstider för majoriteten av frågorna, och den långsammare ”direct query”-tekniken för detaljrader.

”Incremental refresh” möjliggör i sin tur att man laddar data mellan två datum (s.k ”high water mark load”). Istället för att ladda hela datasetet varje gång modellen uppdateras kan man istället välja att enbart ladda det senaste datat.

Nyheter inom det här området är dels ”automatic aggregations” som gör allt ovan automatiskt (och det fungerar!), något som är enormt intressant för alla med stora datamängder.

”Incremental refresh”-tekniken har också utvecklats till s.k ”hybrid tables” – här används partitionerna som ”incremental refresh” bygger på för att möjliggöra olika lagringsmedium för olika behov. På samma sätt som aggregeringarna möjliggör att man skickar vissa frågor till cachen och andra till datakällan, möjliggör ”hybrid tables” exempelvis att stoppa den senaste månadens data i cachen och behålla äldre data i databasen, eller varför inte att läsa den senaste dagens transaktioner direkt från databasen (och därmed få nästintill realtidsinformation) och äldre data i cachen? Alternativen är nästintill oändliga.

”Power BI Dataflows” har funnits under ganska lång tid i Power BI, men det är relativt få som använder dem. Enkelt uttryckt kan man säga att de är ett sätt att förpacka Power Query (M) – kod som en datakälla. Ett exempel kan vara data från Statistiska Centralbyrån – de har ett REST-API som levererar data på ett något omständligt JSON-format. Det tar en stund att transformera JSON-formatet till en användbart dataset, och istället för att låta varje användare göra alla steg kan man med fördel skapa ett dataflow. Ett dataflow ser för användaren ut som en datakälla, men i praktiken är det originaldatakällan plus Power Query-transformationen förpackat i ett. Power BI dataflows öppnar dörren för många intressanta utvecklingsmönster, och jag rekommenderar verkligen alla kunder att kika på konceptet.

SQL Server 2022

SQL Server är ryggraden i Microsofts dataplattform. 2019 är en exceptionellt kapabel plattform, men 2022 har ett antal nyheter som tar en redan fantastisk produkt till nästa nivå. Bland förbättringarna kan nämnas en häpnadsväckande funktion för att hantera flera körplaner för en fråga (och därmed nästintill eliminera problematiken med ”parameter sniffing”), rejäla förbättringar av Query Store, stora förbättringar av hur optimeraren dels beräknar körplaner och dels hur den hanterar feedback vid frågekörning, integration med Azure SQL Server Managed Instance för att väldigt enkelt kunna sätta upp en sekundär server i molnet, samt Azure Synapse Link for SQL Server 2022, en typ av automatisk ETL/replikeringsmekanism för att synkronisera data till Azure Synapse Analytics Dedicated Pools. SQL Server kommer i publik beta i april.

Azure Synapse Analytics

Microsofts flaggskepp inom analytics heter Azure Synapse Analytics, men det är inte en enda produkt. Det är istället en integrerad samling produkter, och en av de intressantaste är ”Azure Synapse Serverless Pools”. Enkelt uttryckt kan man säga att denna är en SQL Servermotor utan datafiler – istället för att lagra data i klassiska datafiler används CSV, Parquet eller liknande filer i en Azure Data Lake. Synapse Serverless Pools öppnar enormt många intressanta möjligheter för både logiska datavaruhus ovanpå platta filer (CSV, Parquet), extremt lättviktig ETL, och en enormt enkel metod för att utforska stora datamängder. Det känns väldigt märkligt (och enormt kraftfullt) att kunna skriva T-SQL mot CSV- eller Parquetfiler som om det vore en normal databas!

Infrastructure as code

Allt i Azure – databaser, nätverk, virtuella maskiner, rubbet – är kod. Allt bygger på ARM templates och det innebär att det är fullt möjligt (och väldigt lämpligt) att behandla infrastruktur i Azure som vilken kod som helst. Här har infrastrukturspecialister mycket att lära från utvecklare, och genom att använda etablerad utvecklingsmetodik kan saker som tidigare krävt många, många klick i portalen automatiseras. Det i sin tur leder till kortare ledtider och markant minskad risk för misstag. Ta chansen att förkovra dig och se hur infrastruktur som kod kan hjälpa dig leverera mer med högre kvalitet!