Hvad er databaser?
Definitioner, typer og eksempler på databaser.
Hvad er databaser?
En helt grundlæggende definition af en database er en hvilken som helst samling af indbyrdes relaterede oplysninger. Når du skriver en indkøbsliste på et stykke papir, opretter du en lille analog database. Men hvad er en database inden for datalogi? I denne sammenhæng defineres en "database" som en samling af oplysninger, der er gemt som data i et computersystem, f.eks. lageret hos dit lokale supermarked.
Hvad bruges databaser til?
Databaser bruges til at gemme og organisere data, så det er nemmere at administrere og få adgang til dem. I takt med at en samling af data vokser og bliver mere kompleks, bliver det sværere at holde dataene organiseret, tilgængelige og sikre. For at hjælpe med det skal du bruge et databaseadministrationssystem (DBMS eller Database Management Systems), som indeholder et lag af databaseadministrationsværktøjer.
Hvad er data?
Data refererer til enhver form for oplysninger, der registreres og gemmes om en enkelt person, et sted, en ting eller et objekt – kaldet en enhed – samt attributterne for den pågældende enhed.
Hvis du f.eks. registrerer og gemmer oplysninger om lokale restauranter, er hver restaurant én enhed, og dens navn, adresse og åbningstider er attributter for den pågældende enhed. Alle de oplysninger, du indsamler og gemmer om dine favoritrestauranter, er data.
Datatyper
Databasetyper er grupperet bredt i relationsdatabaser og ikke-relationsdatabaser. Relationsdatabaser er yderst strukturerede og forstår et computersprog, der kaldes SQL (Structured Query Language). Ikke-relationsdatabaser er yderst alsidige og understøtter en række datastrukturer. Da mange ikke-relationsdatabaser ikke bruger SQL, kaldes de ofte NoSQL-databaser.
Typer af datastrukturer
Tabelstrukturer er strukturer af relationsdatabaser, der organiserer data i rækker og kolonner – rækker indeholder enheder, mens kolonner indeholder enhedsattributter. Brede tabeller eller brede kolonnelagre bruger sparsekolonner med tomme attributter for at øge det samlede antal kolonner, du kan have i tabellen, væsentligt. Da nogle pladser er tomme, er brede tabeller et eksempel på en struktur med en ikke-relationsdatabase.
Med lineære strukturer organiseres elementer i en sekvens
Matrix
Sammenkædet liste
Binært træ
Med træstrukturer organiseres databaseelementer i en hierarkisk database over noder i overordnede/underordnede relationer, der stammer fra én rodnode.
Graf
Med grafstrukturer organiseres elementer i et ikke-hierarkisk netværk af noder med komplekse relationer til hinanden.
Hashtabel
Hashbaserede strukturer tilknytter nøgler til værdier ved hjælp af hashfunktioner, der forbinder relaterede data ved at tildele indekser til hashtabeller.
Dokumentorienterede databaser
Med dokumentorienterede databaser organiseres mængden af oplysninger om en enhed i et enkelt objekt (dokumentet), som er adskilt fra andre objekter. Objekter behøver ikke at blive knyttet til hinanden, og en enkelt kan redigeres, uden at det påvirker andre objekter.
Relationsdatabaser
I en relationsdatabase – som er den mest almindelige type – organiseres data i tabeller, der indeholder oplysninger om hver enkelt enhed, og repræsenterer foruddefinerede kategorier via rækker og kolonner. Disse strukturerede data er både effektive og fleksible at få adgang til.
Eksempler på relationsdatabaser omfatter SQL Server, Azure SQL, MySQL, PostgreSQLog MariaDB.
Ikke-relationsdatabaser
Ikke-relationsdatabaser gemmer ustrukturerede eller semistrukturerede data. De bruger ikke tabeller med kolonner og rækker på samme måde som relationsdatabaser. I stedet bruger de en lagermodel, der er optimeret til de specifikke krav for den datatype, der gemmes. Ikke-relationsdatabaser gør det muligt at tilgå, opdatere og analysere større sæt af distribuerede data hurtigt.
Eksempler på ikke-relationsdatabaser omfatter MongoDB, Azure Cosmos DB, DocumentDB, Cassandra, Couchbase, HBase, Redis og Neo4j.
Nogle ikke-relationsdatabaser kaldes også NoSQL-databaser. NoSQL refererer til datalagre, der ikke bruger SQL eller ikke kun SQL til forespørgsler. I stedet bruger NoSQL-databaser andre computersprog og fremstillinger til at forespørge dataene. Mange NoSQL-databaser understøtter SQL-kompatible forespørgsler, men den måde, de udfører disse forespørgsler på, er normalt anderledes end den måde, som en traditionel relationsdatabase udfører den samme SQL-forespørgsel på.
En type af ikke-relationsdatabaser – en objektdatabase – bruger objektorienteret programmering. Objekter kodes med en tilstand (faktiske data), der er gemt i et felt eller en variabel, og en funktionsmåde, der vises via en metode eller funktion. Objekter kan opbevares i et vedvarende lager for evigt samt læses og tilknyttes direkte uden en API eller et værktøj, hvilket giver hurtigere adgang til data og bedre ydeevne. Objektdatabaser er dog ikke så populære som andre databasetyper og kan være udfordrende at understøtte.
Databaser i hukommelsen og cachelagre
Alle data i en database i hukommelsen gemmes i en computers RAM (Random Access Memory). Når du forespørger på eller opdaterer denne type database, får du direkte adgang til den primære hukommelse. Der er ingen disk involveret. Data indlæses hurtigt, fordi det er meget hurtigere at få adgang til den primære hukommelse (som er i nærheden af processoren på bundkortet) end at få adgang til en disk.
Databaser i hukommelsen bruges ofte til at gemme kopier af oplysninger, der tilgås ofte, f.eks. priser eller lagerdata. Dette kaldes cachelagring. Når du cachelagrer data, gemmer du en kopi af dem på en midlertidig placering, så de indlæses hurtigere, næste gang der anmodes om dem. Få mere at vide om cachelagring.
Eksempler på databaser
Databaser kan virke som usynlige mysterier, men de fleste af os interagerer med dem hver dag. Her er nogle almindelige eksempler på relationsdatabaser, NoSQL-databaser og databaser i hukommelsen:
Finansielle transaktioner
Banker bruger databaser til at holde styr på kundetransaktioner – alt lige fra at afstemme forespørgsler til overførsler mellem konti. Disse transaktioner skal ske næsten øjeblikkeligt, og dataene fra enorme mængder transaktioner skal altid være opdaterede. Til disse formål benytter banker onlinesystemer til transaktionsbehandling, der er oprettet med relationsdatabaser, som kan håndtere et stort antal kunder, hyppige dataændringer fra transaktioner og hurtige svartider.
Kataloger til e-handel
Hvis du har et websted til e-handel, indeholder dit katalog separate produkter med deres eget udvalg af attributter. En dokumentorienteret database – et eksempel på en ikke-relationsdatabase – bruger separate dokumenter til at beskrive alle attributterne for et enkelt produkt. Du kan ændre attributterne i dokumentet, uden at det påvirker nogen af dine andre produkter. Databaser i hukommelsen bruges ofte til at cachelagre data om e-handel, der tilgås ofte, f.eks. lager og priser, for at fremskynde datahentning og reducere belastningen på databasen.
Sociale netværk
Når du tilmelder dig et socialt netværk, føjes dine oplysninger til en ikke-relationsdatabase over alle, der bruger det pågældende netværk. Når du opretter forbindelse til andre personer i dette netværk, bliver du en del af en social graf. Derfor kan du se en filtreret liste over dine venner eller professionelle forbindelser og finde nye personer, som disse venner og forbindelser kender.
Personligt tilpassede resultater
Ikke-relationsdatabaser driver personlig onlinetilpasning, hvilket er blevet så udbredt, at du måske slet ikke bemærker det. Hvis du booker et fly via et rejsewebsted, får du også vist muligheder for at reservere hotelværelser og leje biler. Webstedets database indeholder et væld af ustrukturerede oplysninger – dine flyoplysninger, rejsepræferencer, tidligere bil- eller hotelreservationer – der bruges til at give dig tilpassede forslag, hvilket kan spare dig tid, penge eller kræfter. På samme måde bruges databaser i hukommelsen som et sessionslager til effektivt at opbevare midlertidige brugerdata, f.eks. søgepræferencer eller en indkøbskurv, mens du bruger programmet.
Virksomhedsanalyse
Når organisationer vil hente indsigt fra deres egne data, kan relationsdatabaser hjælpe dem med at administrere deres analyser. En helpdesk til teknologi kan f.eks. spore kundeproblemer i en række forskellige dimensioner, herunder problemtype, tid til at løse problemet og kundetilfredshed. En relationsdatabase, der bruger en tabelstruktur, organiserer problemer med kundedata ved hjælp af blot to dimensioner ad gangen. Men med et online analytisk behandlingssystem kan helpdesk se på mere end én tabel ad gangen, hvilket muliggør flerdimensionel analyse for at behandle store mængder data ved høje hastigheder.
Databaseadministrationssystemer
Databaseadministratorer bruger databaseadministrationssystemer (DBMS) til at styre data – især når de arbejder med big data. Big data refererer til store mængder af strukturerede og ustrukturerede data, der ofte modtages af systemet i realtid eller næsten i realtid. Et DBMS hjælper også med at administrere data, der bruges på tværs af flere programmer, eller data, der findes på flere placeringer.
Forskellige databaseadministrationssystemer tilbyder forskellige niveauer af organisering, skalerbarhed og programmer. Ud over den datatype, du vil organisere, og den måde, du vil have adgang til dem på, afhænger den DBMS, som du bruger, også af, hvor dine data findes, hvilken type arkitektur databasen bruger og den måde, du planlægger at skalere på.
Befinder dine data sig i det lokale miljø, i cloudmiljøet eller begge?
I databaser i det lokale miljø ligger data på privat hardware på stedet (også kaldet et privat cloudmiljø). Hvis du vil tilføje datakapacitet, skal databaseadministratorer enten sikre, at serverne på stedet har tilstrækkelig ledig plads tilgængelig eller udvide deres infrastruktur med ny hardware for at skabe plads.
I cloudbaserede databaser findes strukturerede eller ikke-strukturerede data på en privat eller offentlig platform eller hybridplatform til cloudcomputing (dvs. en platform, der kombinerer privat og offentlig cloudlagring). Da clouddatabaser er designet til et virtualiseret miljø, er de både yderst skalerbare og tilgængelige. De hjælper også med at reducere omkostningerne, fordi du ikke behøver at købe så meget hardware, og du betaler kun for det lager, du bruger.
Er din databasearkitektur centraliseret, distribueret eller sammensluttet?
I en centraliseret database findes alle dataene i ét system på ét sted. Dette ene system er adgangspunktet for alle brugere.
En distribueret database kan dække både relationsdatabaser og ikke-relationsdatabaser. I distribuerede databaser gemmes dataene på tværs af flere fysiske placeringer enten på flere computere i det lokale miljø eller fordelt over et netværk af sammenkoblede computere.
I en sammensluttet database er flere særskilte databaser, som kører på uafhængige servere, samlet i ét stort objekt. En blokkæde er en type af en sammensluttet database, der bruges til at administrere finansposter og andre transaktionsposter på en sikker måde.
Vil du vokse med dine data ved at skalere op eller ud?
Opskalering (eller nedskalering), hvilket også kaldes for vertikal skalering, er processen med at føje ressourcer, f.eks. hukommelse eller mere effektive CPU'er, til en eksisterende server.
Ved udskalering (eller indskalering), hvilket også kaldes for horisontal skalering, føjes der flere maskiner til din pulje af ressourcer.
Horisontal skalering i stedet for vertikal skalering udvider eksisterende hardwares livscyklus, giver dig mulighed for at opgradere uden forhandlerlås, reducere omkostningerne og skabe langsigtet potentiale for fleksibilitet.
Azure-databaser
Gør dine datahandlinger enklere med fuldt administrerede databaser, der automatiserer skalerbarhed, tilgængelighed og sikkerhed. Vælg mellem relationsdatabaser, NoSQL-databaser og databaser i hukommelsen, som dækker ejede programmer og open source-programmer.
Udforsk databaser på Azure, og find den, du har brug for
Få mere at vide om at migrere dine databaser til Azure
Opret en administreret cloudbaseret database med din gratis Azure-konto
Lær Azure SQL-serien af databaser at kende
Foren din SQL-portefølje uden at gå på kompromis med kompatibilitet. Migrer, moderniser og udrul programmer på din måde fra grænseenheden til cloudmiljøet ved hjælp af velkendt SQL Server-teknologi.
Udforsk databaser på Azure, og find den, du har brug for
Lær mere om Azure SQL Database
Få mere at vide om grundlæggende funktioner i Azure SQL i et guidet læringsforløb
Skaler problemfrit med Azure Database for PostgreSQL
Azure Database for PostgreSQL hjælper dig med at skalere din arbejdsbelastning hurtigt og fortroligt med høj tilgængelighed, optimering af ydeevnen drevet af kunstig intelligens og avanceret databasesikkerhed.
Opret applikationer med høj ydeevne med Azure Cosmos DB
Azure Cosmos DB er en fuldt administreret NoSQL-database med åbne API'er og garanteret hastighed i en hvilken som helst skala.
Håndter høj trafik effektivt med Azure Cache for Redis
Azure Cache for Redis hjælper dig med at håndtere tusindvis af samtidige brugere med næsten øjeblikkelig hastighed ved at føje et hurtigt cachelagrende lag til dit programs arkitektur.
Begynd at udvikle med Azure
Prøv Azures cloud computing-tjenester gratis i op til 30 dage, eller kom i gang med en betal efter forbrug-prisfastsættelse. Der er ingen forudgående forpligtelser – du kan annullere når som helst.