Du skal ikke ha jobba veldig lenge med et prosjekt før det melder seg et behov for å skrive ny og lese gammel data; altså en database.
Og som for alt annet koderelatert i 2020, har du et hav av løsninger å velge mellom. Vi ba derfor kode24-klubben anbefale deres database-favoritter, til det virkelighetsnære og spennende scenarioet:
"Du skal bygge en web-applikasjon som gir oversikt over forskjellig brus og lar folk legge inn sine egne".
Resultatet hører du i ukas kode24-timen, og under spilleren får du de mest anbefalte løsningene.
#1: Firebase / Firestore 🔥
- Jeg har ikke skrevet direkte mot en database jeg har styrt selv på flere år, skriver Kristofer Giltvedt Selbekk.
Og grunnen til dette kommer fra Google og heter Firebase. Eller; det heter vel strengt tatt Cloud Firestore, som er en del av Firebase-pakka av produkter.
Firebase var et eget selskap fram til 2014, da det ble kjøpt opp av Google. Databasen deres Firestore ble tatt ut av beta i januar 2019, og Firebase tilbyr i tillegg en sanntidsdatabase kalt... Firebase Realtime Database, passende nok.
«Latterlig enkelt å få opp.»
Firebase-produktene har virkelig blitt en favoritt blant mange norske utviklere, blant annet fordi de enkelt kan settes opp, skrives til og leses fra helt uten å sette opp noen egen backend. Og sammen med Firebase Authentication får du alt du trenger for å sette opp applikasjoner i samme pakka.
- Siden dette hørtes ut som en app som bare trenger enkel CRUD, ville jeg valgt Firestore. Latterlig enkelt å få opp, noSQL JSON, du slipper å lage backend, og må bare bruke SDK-en som etterhvert har blitt ganske så slank, skriver Atle Magnussen.
- Jeg har nylig begynt å bruke Firestore og digger det, så hadde gått for det valget. Veldig enkelt i bruk, men også kraftig, skriver Daniel Martinsen.
#2: MongoDB 🍃
- MongoDB. Spiller så fint med NodeJS, skriver Fredrik Alexander de Lange.
Han er langt fra alene om å anbefale MongoDB, som er en ikke-SQL-basert dokumentdatabase. Databasen utvikles av MongoDB Inc, og navnet har selvfølgelig ingenting med syndromer å gjøre: Mongo er en forkortelse av engelske humongous, som spiller på at skaperne ville ha en database som kunne skalere til å bli enorm.
Det finnes flere løsninger for MongoDB-databaser, om du ikke vil sette den opp selv. kode24s favoritt mLab, for eksempel, som har stått bak alle kodekalenderne og kodekrimmene våre.
Men mLab skal legges ned, og brukerne anbefales å migrere til MongoDB Atlas.
- MongoDB Stitch! anbefaler Vegar Vikan.
Men også denne skal være på vei mot nedleggelse, og få sin arvtager i MongoDB Realm - en serverløs løsning.
#3: SQL 💽
Både Firebase og MongoDB er ikke-SQL-basert, eller noSQL som det heter. Men mange medlemmer i kode24-klubben anbefaler å bruke den gamle traveren.
Sanity: - Sykt at vi jobber med de største
SQL står for Structured Query Language, uttales som engelske sequel, og er altså et språk som lar deg snakke med kompatible relasjonsdatabaser.
Språket ble født på begynnelsen av 70-tallet hos IBM, og det finnes i dag en haug systemer for å drive en SQL-database:
- SQLite, er smått overrasket at ingen har sagt det ennå, skriver Kent Daleng.
- Jeg gjør det enkelt og bruker MariaDB, skriver Anders Birkenes.
- Knex.js pluss MySQL, tipser Mikael Finstad.
- PostgreSQL. Har prøvd mye forskjellig, men jeg er mest glad i PostgreSQL. Gjerne med PostGIS for geometrier, skriver Tore Halset.
#4: Lange, flate filær 💾
Flere tar til orde for å ikke ha noen database i det hele tatt.
- Code first som Christian Lundheim skriver, men ville lagret som JSON i fil inntil jeg hadde skaleringsbehovet, skriver Lars-Erik Aabech.
- Flatfil FTW, skriver Torleif Berger.
Og ble du, som meg, usikker på hva flatfil betyr, spiller det altså på det engelske begrepet "flat file", som betyr en database lagra i en enkel fil, helt uten relasjoner eller noe som helst.
- Gleder meg til hver gang jeg må tenke ut en bra spørring!
Ukas Koder Ragnhild Olsen er glad hun omskolerte seg fra grafisk designer.