Skip to content

Lesetips: Designing Data-Intensive Applications av Martin Kleppmann

Jeg har hatt god erfaring gjennom årene med å lese bøker for å bli en bedre utvikler. Bøker er en måte å tvinge seg selv til å gå litt dypere inn i materien, og bruke litt tid på å lære noe. Men det fungerer ikke så veldig bra for å holde seg "oppdatert" på det som skjer, da det skrives få bøker om den “hotteste” og nyeste utviklingen som skjer. Bloggposter, videoer og kurs er bedre for å få spesifikk kunnskap om enkelte teknologier, og for å løse konkrete problemer. Men for å skape forståelse og dybdekunnskap, mener jeg at bøker stiller sterkt. Og det er nettopp det denne boken gjør. Den lærte meg ingenting, men samtidig lærte jeg mye. Jeg forstår sammenhenger bedre, jeg er i bedre stand til å forstå avveininger som er gjort, og å ta disse avveiningene selv.
21. jun Magnus Fjell

Gammelt? Men godt

Klassikerne innen Software-faget holder god stand, selv om teknologien er forbigått. Søker du etter "Top 10 programming books", er det få som fokuserer på spesifikke teknologier og språk, de fleste omhandler metoder, strategier og tenkemåter. Det var nettopp gjennom slike lister jeg fant denne boken. 
Jeg hadde lyst til å finne en bok som kunne gi meg noe, men hadde lite lyst til å drive nybrottsarbeid for å finne den neste klassikeren. Etter å ha trålet Reddit/Goodreads/Amazon/bloggposter etter noe bra å lese, dukket denne opp flere steder. 

Det er en forholdsvis gammel bok, i utviklingsverden. Den ble utgitt i 2017, og forfatteren brukte nesten 4 år på å skrive den, noe som vil si at det nå er 10 år siden han begynte på boken. Men databaser er ikke et nytt fagfelt. Her snakker vi om kunnskap som de kom frem til på 70-tallet, og tidligere, som fremdeles er relevant i dag. Og vi har fremdeles mye av de samme problemene. 

"And MapReduce bears an uncanny resemblance to the electromechanical IBM card-sorting machines that were widely used for business data processing in the 1940s and 1950s."

"Replication of databases is an old topic — the principles haven’t changed much since they were studied in the 1970s (...)"

"This is not a new problem — it has been like this since the 1970s, when weak isolation levels were first introduced. "

Vi liker å tro at vi finner på nye ting, men vi står på skuldrene til kjemper, heldigvis. 

 

Formalisering av kunnskap

Du kjenner deg sikkert igjen; noen ganger når du leser noe, føles det ikke som om du sitter igjen med noe konkret. Slik var for meg med denne boken. Jeg kunne ikke peke på noe spesifikt jeg kunne si at jeg hadde lært meg, eller jeg kunne bruke i jobben til daglig. Men da jeg var halvveis i boken, dukket denne bloggposten fra Discord opp, og jeg fikk en liten åpenbaring: 

gif_twoday_lesetips

Det var en god følelse når jeg kunne forstå hva de snakket om, og kunne henge problemene de opplevde på knagger i hodet mitt. Og nettopp dette har jeg opplevd flere ganger i ettertid, i de tilfeller hvor jeg har kunnet formalisert det som tidligere har vært magefølelse og ryggmargsrefleks. 

Til slutt

Boken er lang, og spenner både dypt og vidt, men er forholdsvis lettlest. Mye vil du nok aldri få bruk for, noe vil kun ha ren faglig interesse, men hvis du skal håndtere og manipulere data, inneholder boken mye god kunnskap. Den er data-fokusert, i ordets videste forstand, og tar for seg, som tittelen sier, systemer som har data som grunnstein. 
 
Du lærer ikke hvordan du skal bruke Kafka, eller hvilke parametere du skal finjustere for å få best mulig ytelse i Postgres. Men du lærer kanskje når det er best å velge en relasjons-database foran en dokument-database, eller hvorfor replikering av databaser er vanskelig, og forskjellene mellom batch-prosessering og stream-prosessering. Jeg angrer ikke på at jeg leste boken, og for de som noen gang sitter og tenker "hvordan i all verden fungerer egentlig det her?", anbefaler jeg å lese den. Er du ferskt i faget, er det nok andre ting du burde fokusere på, men har du noen år på baken, og er interessert i databehandling, eller om du skal lage et system som skal ta inn mye data, levere ut mye data, eller behandle mye data, ville jeg satt en knapp på denne boken. 

 

Ta kontakt med oss! 

Er det noe du lurer på kan du legge igjen kontaktinformasjon så tar vi kontakt med deg.

 

Relaterte artikler