Introduksjon til Databaser
Når vi bruker internett, enten det er for å scrolle på sosiale medier, handle i en nettbutikk, eller sjekke bankkontoen, kommuniserer vi kontinuerlig med databaser. Dette er selve ryggraden i nesten alle moderne nettsider og apper.
1. Hva er en database?
En database er et spesialisert system som er designet for å lagre, strukturere og hente ut enorme mengder data ekstremt raskt og trygt. Tenk på det som et avansert, digitalt arkivskap der all informasjon har sin bestemte plass og kan søkes opp på brøkdelen av et sekund.
2. Databaser vs. Filer
Hvorfor lagrer vi ikke bare all brukerinformasjon, innlegg og kommentarer i et vanlig dokument eller en tekstfil?
- Søk og Filtrering: En database gjør det lynraskt å "finne alle brukere over 18 år som bor i Oslo". I en tekstfil måtte programmet ha lest filen fra topp til bunn hver gang noen søker.
- Samtidighet: Hvis hundre personer prøver å lagre og redigere den samme tekstfilen samtidig, blir det kaos og data forsvinner. Databaser er spesielt bygget for å håndtere tusenvis av handlinger på nøyaktig samme tid (transactions).
- Sikkerhet: I en database kan du sette nøyaktige regler: Du kan la en bruker endre sitt eget passord, uten at de får teknisk tilgang til å se de andre brukernes data.
3. Ulike typer databaser
Det finnes hovedsakelig to store "familier" med databaser i dag:
SQL (Relasjonsdatabaser)
Dette er de tradisjonelle databasene. Dataen lagres i strenge, forhåndsdefinerte tabeller, omtrent som i et Excel-regneark. Alt er koblet sammen (relasjoner). Veldig trygt og forutsigbart.
Eksempler: MySQL, PostgreSQL.
NoSQL (Dokumentdatabaser)
Disse er nyere og mye mer fleksible. I stedet for faste tabeller, lagres hver gjenstand (for eksempel en bruker) som et frittstående dokument (nesten helt likt JSON og JavaScript objekter). Veldig populært og lett å lære for moderne webutvikling.
Eksempler: MongoDB, Firebase.