Hva er en database? Definisjon og typer
โก Smart oppsummering
Hva er en database? En database er en systematisk, strukturert samling av data som stรธtter elektronisk lagring, gjenfinning og administrasjon. Den driver hverdagssystemer fra telefonkataloger til sosiale nettverk, og drives gjennom programvare kalt et databasehรฅndteringssystem (DBMS).

Hva er data?
For รฅ si det enkelt, dato er fakta om et objekt av interesse. Navn, alder, hรธyde og vekt er alle data om deg. Bilder, filer og PDF-er kan ogsรฅ telle som data fordi hver av dem inneholder informasjon som kan lagres og behandles.
Hva er en database?
A database er en systematisk datainnsamling. Databaser stรธtter elektronisk lagring, gjenfinning og manipulering av data, noe som gjรธr datahรฅndtering enkel i stor skala.
Tenk pรฅ noen kjente eksempler. En telefonkatalog pรฅ nett bruker en database til รฅ lagre personer, telefonnumre og kontaktinformasjon. En strรธmleverandรธr bruker en database til รฅ hรฅndtere fakturering, kundeproblemer og feilhistorikk. Facebook lagrer medlemmer, vennskap, innlegg, meldinger, annonser og mye mer โ alt dette ligger i databaser. Mรธnsteret er det samme pรฅ tvers av bransjer: organiser informasjon slik at applikasjoner og folk kan sรธke i den pรฅ en pรฅlitelig mรฅte.
Typer databaser
De vanligste databasetypene er oppsummert nedenfor. Hver er egnet for en bestemt dataform og arbeidsmengde.
Distribuerte databaser
En distribuert database sprer data pรฅ tvers av flere nettsteder eller lokasjoner. Hvert nettsted beholder sin egen sektor, mens klienter ser รฉn logisk database. Modellen er vanlig i globale applikasjoner som trenger lav latens og lokal tilgjengelighet.
Relasjonsdatabaser
En relasjonsdatabase lagrer data i tabeller med rader og kolonner og bruker nรธkler for รฅ relatere รฉn tabell til en annen. Den kalles ofte en RDBMS, og er fortsatt den mest populรฆre DBMS familie pรฅ markedet. Eksempler inkluderer MySQL, Oracle Database, PostgreSQLog Microsoft SQL Server.
Objektorienterte databaser
Objektorienterte databaser lagrer data som objekter, der hvert objekt har attributter og metoder som definerer hvilke operasjoner som er tillatt pรฅ dataene. De tilordnes tydelig til objektorienterte programmeringssprรฅk og fjerner behovet for et ORM-lag.
Sentralisert database
En sentralisert database lagrer alle poster pรฅ รฉn sentral server. Brukere kobler seg til samme lagringsplass fra mange steder, noe som forenkler administrasjonen, men gjรธr serveren til et enkelt stridspunkt.
ร pen kildekode databaser
ร pne kildekodedatabaser publiserer kildekoden sin under en permissiv lisens, slik at alle kan bruke, endre og distribuere dem. MySQL, PostgreSQL, SQLite, MariaDBog MongoDB er eksempler som er mye brukt.
Skydatabaser
En skybasert database er optimalisert for virtualisert infrastruktur pรฅ forespรธrsel. Den leveres som en administrert tjeneste, skalerer lagring og beregning elastisk, og tilbyr hรธy tilgjengelighet gjennom innebygd replikering. Eksempler inkluderer Amazon RDS, Azure SQL-database, og Google Cloud Skiftenรธkkel.
Datavarehus
A datalager sentraliserer historiske og kumulative data fra mange kildesystemer for รฅ stรธtte beslutningstaking, rapportering og prognoser. Det forenkler analyser ved รฅ gi organisasjonen รฉn enkelt, pรฅlitelig versjon av sannheten.
NoSQL databaser
NoSQL-databaser hรฅndterer svรฆrt store, ofte ustrukturerte datasett som ikke passer pent inn i rader og kolonner. Dokument-, nรธkkelverdi-, kolonnefamilie- og graflagre adresserer hver et annet tilgangsmรธnster og gir horisontal skalerbarhet som tradisjonelle relasjonsdatabaser synes er vanskelig รฅ matche.
Grafdatabaser
En grafdatabase bruker grafteori โ noder og kanter โ til รฅ lagre og spรธrre relasjoner direkte. Den er ideell for svindeldeteksjon, anbefalingsmotorer og analyse av sosiale nettverk der forbindelsene mellom enheter er like viktige som enhetene selv.
OLTP-databaser
OLTP-databaser (Online Transaction Processing) fokuserer pรฅ transaksjoner med hรธy gjennomstrรธmning og lav latens i flerbrukermiljรธer. De garanterer ACID-egenskaper og er innstilt for mange smรฅ lesninger og skrivinger som driver operativsystemer som salgssteder og bankapplikasjoner.
Personlig database
En personlig database lagrer data pรฅ รฉn datamaskin for รฉn bruker eller et lite team. Microsoft Tilgang og SQLite er typiske eksempler.
Multimodal database
En multimodal database stรธtter flere datamodeller โ for eksempel dokument, graf og nรธkkelverdi โ i รฉn enkelt motor. ArangoDB og Microsoft Azure Cosmos DB er populรฆre multimodale alternativer.
Dokument/JSON-database
I en dokumentorientert database er hver post et selvstendig dokument, vanligvis i JSON, BSON eller XML. Et enkelt dokument kan inneholde rikt nestede data og varierende felt, noe som gjรธr modellen fleksibel for applikasjoner med rask utvikling. MongoDB og Couchbase er velkjente eksempler.
Hierarkisk database
En hierarkisk database bruker en trestruktur med foreldre-barn-relasjoner. Noder representerer poster og grener representerer felt. Windows Registeret er pรฅ Windows XP og IBM IMS er klassiske eksempler pรฅ hierarkiske databaser.
Nettverksdatabase
Et nettverks-DBMS stรธtter mange-til-mange-relasjoner mellom poster, noe som produserer mer komplekse strukturer enn den hierarkiske modellen. RDM Server er et eksempel pรฅ et databasehรฅndteringssystem som implementerer nettverksmodellen.
Databasekomponenter
Databasekomponenter.
Hver database er bygget opp av fem komponenter som jobber sammen:
maskinvare
Maskinvare er det fysiske laget โ datamaskiner, I/O-enheter, lagringsmedier og nettverk. Det fungerer som grensesnitt mellom databasen og resten av verden.
Software
Programvare dekker alt som administrerer og kontrollerer databasen: selve DBMS-en, operativsystemet, nettverksprogramvaren som lar flere brukere dele data, og applikasjonene som leser og skriver gjennom DBMS-en.
Data
Data er rรฅ fakta, observasjoner, tall, symboler og bilder som databasen lagrer. Rรฅdata alene er meningslรธse; databasen organiserer og bearbeider dem til nyttig informasjon.
prosedyrer
Prosedyrer er de dokumenterte instruksjonene og reglene som styrer hvordan databasen utformes, drives og vedlikeholdes. De forteller administratorer og brukere hvordan de skal kjรธre systemet pรฅlitelig.
Sprรฅk for databasetilgang
Et databasetilgangssprรฅk โ oftest SQL โ lar brukere og applikasjoner sette inn, oppdatere, slette og spรธrre data. Brukere utsteder spesifikke kommandoer som DBMS-et analyserer, planlegger og utfรธrer mot den underliggende lagringen.
Hva er et Database Management System (DBMS)?
A Database Management System (DBMS) er programvarelaget som lar brukere definere, lagre, hente, oppdatere og sikre data. A DBMS koordinerer tilgang mellom mange brukere og applikasjoner, hรฅndhever integritet og kontrollerer hvem som kan se eller endre hva.
DBMS-teknologi er ikke ny โ Charles Bachmans Integrert datalager (IDS), bygget hos General Electric tidlig pรฅ 1960-tallet, er bredt anerkjent som det fรธrste DBMS-et. Siden den gang har feltet utviklet seg gjennom hierarkiske, nettverks-, relasjons-, objektorienterte og NoSQL-modeller, som hver adresserer neste generasjon av dataarbeidsbelastninger.
Historien om databasehรฅndteringssystemer
Milepรฆlene nedenfor trace utviklingen av databaseteknologi.
- 1960s โ Charles Bachman designer det fรธrste DBMS-et (integrert datalager) hos General Electric.
- 1968 - IBM skips informasjonsstyringssystem (IMS), et av de tidligste hierarkiske DBMS-ene.
- 1970 โ Edgar F. Codd publiserer ยซEn relasjonell datamodell for store delte databankerยป, og introduserer den relasjonelle modellen.
- 1976 โ Peter Chen formaliserer Entity-Relationship (ER)-modellen.
- 1980s - The relasjonsmodell blir det dominerende databaseparadigmet og SQL standardiseres.
- 1985 โ Objektorienterte DBMS-er ser ut til รฅ passe til fremveksten av OOP-sprรฅk.
- 1990s โ Objektrelasjonelle funksjoner kommer i vanlige RDBMS-er.
- 1992 - Microsoft slipper den fรธrste versjonen av Microsoft Tilgang til personlige databaser.
- 1995 โ Nettapplikasjoner begynner รฅ drive bruk av databaser pรฅ internettnivรฅ.
- 1997 โ XML gรฅr inn i databaser bรฅde som et format og et spรธrremรฅl.
- 2009 โ Begrepet NoSQL-gevinster tracettersom dokument-, nรธkkelverdi- og graflagre vokser raskt.
- 2010s og utover โ Skybaserte og distribuerte SQL-databaser (Aurora, Spanner, CockroachDB) dukke opp.
Fordeler med DBMS
Et godt implementert DBMS gir organisasjoner flere praktiske fordeler:
- Tilbyr mange teknikker for รฅ lagre og hente data effektivt.
- Balanserer behovene til flere applikasjoner som deler de samme dataene.
- Tilbyr ensartede administrasjonsprosedyrer.
- Beskytter applikasjonsprogrammerere mot lagringsdetaljer.
- Leverer dataintegritet og sikkerhet gjennom begrensninger og tilgangskontroll.
- Planlegger samtidig tilgang slik at bare gyldige operasjoner lykkes.
- Reduserer applikasjonsutviklingstiden gjennom gjenbrukbare tjenester.
Ulemper med DBMS
DBMS-modellen har ogsรฅ avveininger:
- Kostnadene for maskinvare og programvare kan vรฆre betydelige.
- De fleste systemer er komplekse, sรฅ brukere og administratorer trenger opplรฆring.
- ร sentralisere data til รฉn enkelt database skaper et verdifullt mรฅl for avbrudd, korrupsjon eller angrep.
- Samtidig tilgang krever nรธye design for รฅ unngรฅ tapte oppdateringer og fastlรฅste situasjoner.
- Et DBMS er ikke designet for tung numerisk beregning; spesialiserte verktรธy hรฅndterer den arbeidsmengden bedre.

