Databashanteringssystem (DBMS)

Varför oss?

Vad är ett DBMS?

Ett databashanteringssystem (DBMS) är middleware som gör det möjligt för programmerare, databasadministratörer (DBA), programvaruapplikationer och slutanvändare att lagra, organisera, komma åt, fråga efter och manipulera data i en databas.

DBMS är viktiga eftersom de tillhandahåller effektiva och tillförlitliga mekanismer för att organisera, hantera och använda stora mängder data samtidigt som de säkerställer dataintegritet och ger andra fördelar med datahantering.

I företaget ger databashanteringssystem databasadministratörer (DBA) ett strukturerat ramverk som underlättar datadelning mellan olika avdelningar, team och applikationer. DBMS ger anställda kontrollerad och organiserad tillgång till data som de kan använda för att driva innovation och hjälpa sitt företag att behålla en konkurrensfördel.

Historia om databashanteringssystem

Historien om databashanteringssystem går tillbaka till början av 1960-talet när datorer började användas för databehandling. På den tiden kallades konceptet vanligtvis för ett informationshanteringssystem.

Det första kommersiellt tillgängliga databashanteringssystemet kallades Integrated Data Store (IDS). Det utvecklades av Charles W. Bachman och hans team på General Electric (GE) i slutet av 1960-talet.

IDS var ett hierarkiskt DBMS som organiserade data i en trädliknande struktur, med föräldra-barn-relationer mellan poster. Användarna kunde lagra, hämta och hantera data på ett strukturerat sätt. IDS introducerade också begreppet data dictionary, som definierar strukturen och relationerna för data i databasen. Före IDS lagrades data vanligtvis i platta filer och det fanns ingen standard för hur filerna skulle lagras, nås eller manipuleras.

Bachmans IDS överskuggades så småningom av framväxten av relationsdatabaser och Structured Query Language (SQL) på 1970-talet. Sedan dess har DBMS-produkter och -tjänster genomgått en kontinuerlig utveckling som har förbättrat lagring, hämtning och hantering av data.

Tidslinje: Evolutionen av DBMS (Database Management System)

Year Event
1964 Utveckling av den första databasen, en Integrated Data Store (IDS), av Charles Bachman på General Electric.
1966 IBM introducerar Information Management System (IMS), en gemensam utveckling med Rockwell och Caterpillar.
1970 Edgar F. Codd introducerar relationsmodellen i ett dokument med titeln “A Relational Model of Data for Large Shared Data Banks“.
1974 Structured Query Language (SQL) skapas.
1976 Peter Chen introducerar the Entity-Relationship Model i sin artikel “The Entity-Relationship Model – Toward a Unified View of Data“.
1979 Oracle lanserar den första kommersiella relationsdatabasen som använder SQL.
1980 IBM introducerar System R, det SQL-baserade systemet för hantering av relationsdatabaser.
1981 IBM lanserar SQL/DS, det första fullfunktions DBMS som kan köras på persondatorer.
1983 IBM lanserar den första versionen av DB2 för stordatorer.
1986 The Object-Oriented Database System Manifesto publiceras, vilket ger en betydande drivkraft för utvecklingen av objektorienterade databaser.
1996 PostgreSQL, ett av de första relativa databashanteringssystemen med öppen källkod, lanseras.
1998 MySQL, ett annat viktigt RDMS med öppen källkod, släpps för Windows 95 och NT.
1998 Microsoft lanserar SQL Server 7.0, en fullständig omskrivning av deras DBMS.
2000 Internetföretag börjar använda XML-databaser.
2004 Termen “NoSQL” blir populär, vilket leder till en ny generation av icke-relationella, distribuerade databaser.
2006 Google publicerar ett dokument om BigTable, sin interna NoSQL-databas, vilket påverkar en ny våg av NoSQL-databaser med öppen källkod
2012 Amazon introducerar DynamoDB, en egen NoSQL-databas.
2013 FoundationDB, en distribuerad databas som är utformad för att hantera stora volymer strukturerad data, släpps.
2017 Google lanserar Spanner, en globalt distribuerad databas.
2020-talet Fortsatt utveckling och innovation inom DBMS-teknik, med fokus på molnbaserade databaser, edge-databaser och förbättringar av AI-integration för databashantering. Blockkedjedatabaser blir också ett viktigt ämne av intresse.

Databas vs DBMS

Termerna “databas” och “databashanteringssystem” används ofta synonymt i vardagliga konversationer. Det beror förmodligen på att när slutanvändare interagerar med en databas är de inte medvetna om den underliggande DBMS och dess distinkta roll i hanteringen av data. För att öka förvirringen är DBMS i vissa fall inbäddad direkt i applikationskoden. Detta gör det ännu mindre uppenbart att det rör sig om ett separat system.

För att kunna skilja mellan de två termerna och använda dem korrekt är det bra att förstå deras respektive roller och funktioner: En databas är en strukturerad samling av data. Databashanteringssystemet är den programvara som utvecklare, slutanvändare och applikationer använder för att interagera med en databas.

DBMS-komponenter

Kärnkomponenten i varje DBMS kallas databasmotorn. Det är den programvara som interagerar direkt med det underliggande lagringssystemet eller filsystemet och styr interaktionen mellan modulära underkomponenter som gör det möjligt för motorn att hantera och manipulera data i databassystemet. Detta inkluderar moduler för:

Säkerhetskopiering och återställning: Dessa moduler hanterar säkerhetskopiering och återställning av data för att skydda mot dataförluster eller systemfel. De innehåller mekanismer för att skapa säkerhetskopior av databaser, återställa data och utföra återställningsoperationer.

Samtidighetskontroll och transaktionshantering: Dessa moduler hanterar samtidig åtkomst till databasen för flera användare eller applikationer. De hanterar låsmekanismer och säkerställer datakonsistens.

Databasåtkomstspråk: Denna typ av modul gör det möjligt för databasmotorn att bearbeta och tolka användarfrågor eller kommandon som skrivits i standardåtkomstspråket. Den analyserar frågespråkets syntax, validerar frågan mot kataloginformationen och genererar en optimerad exekveringsplan för att hämta eller manipulera de data som efterfrågas.

Datadefinitionsspråk (DDL): DDL-modulen ger användarna möjlighet att definiera strukturen och organisationen av data. Den innehåller kommandon för att skapa, ändra och ta bort databasobjekt som tabeller, vyer, index och begränsningar.

Dataordbok: Data Dictionary (även kallad metadata repository) lagrar metadata om databasen, inklusive information om datastruktur, relationer och egenskaper. Denna modul används av DBMS-motorn för att säkerställa datakonsistens och genomdriva unika begränsningar.

Datamanipuleringsspråk (DML): DML-modulen innehåller kommandon för att manipulera och hämta data i databasen. Användare kan använda DML-satser för att infoga, uppdatera, radera och fråga efter data.

Data Warehousing och Business Intelligence: Dessa moduler underlättar utvinning, omvandling och inläsning av data från flera källor till ett separat datalager. De stöder också OLAP (online analytical processing) och rapporteringsverktyg för business intelligence.

Indexering: De flesta DBMS innehåller indexeringsmoduler som påskyndar exekveringen av frågor genom att minska mängden data som behöver skannas.

Låsning: Låshanteraren i ett DBMS är ansvarig för att hantera samtidighetskontroll. Den förhindrar konflikter och upprätthåller datakonsistens genom att se till att flera användare eller transaktioner inte kan ändra samma data samtidigt.

Loggning och granskning: DBMS innehåller ofta moduler för databasloggning och revision. Loggposter dokumenterar ändringar i databasen – inklusive infogningar, uppdateringar och raderingar – samt systemhändelser som säkerhetskopiering och återställning. Granskning innebär övervakning och granskning av dessa loggar för att spåra användaråtgärder, upprätthålla dataintegritet och hjälpa till att upprätthålla efterlevnad av säkerhetspolicyer.

Bearbetning av frågor: Frågeprocessorn tar emot och tolkar användarfrågor, konverterar dem till en optimerad exekveringsplan och interagerar med databasmotorn för att exekvera frågorna på ett effektivt sätt. Den innehåller undermoduler för optimering av frågor som tar hänsyn till faktorer som tillgängliga index, join-operationer och dataåtkomstmetoder.

Replikering: Vissa DBMS stöder datareplikering, vilket innebär att man skapar och underhåller flera kopior av databasen på olika platser eller på olika servrar. Replikering förbättrar datatillgängligheten, feltoleransen och prestandan. Det säkerställer att om en kopia av databasen blir otillgänglig, kan data fortfarande nås från en annan kopia.

Säkerhet och auktorisering: Modulerna för säkerhet och auktorisering styr användarnas åtkomst till databasen och säkerställer datasekretess och integritet. De hanterar autentisering, användarhantering och implementerar PoLP-mekanismer (principle of least privilege) för åtkomstkontroll baserat på användarroller och jobbkrav.

Lagring: Databasmotorn i ett DBMS kommunicerar med en lagringsmotor för att hantera fysisk datalagring. Lagringsmotorn är ansvarig för att hantera detaljer på låg nivå om hur data lagras och nås, medan databasmotorn samordnar och styr dessa åtgärder för att optimera den övergripande funktionen hos databashanteringssystemet.

Användargränssnitt: Dessa moduler tillhandahåller användargränssnitt som gör det möjligt för programmerare, databasadministratörer och slutanvändare att interagera med databasen. Det kan handla om kommandoradsgränssnitt (CLI), grafiska användargränssnitt (GUI) eller API:er (Application Programming Interface) för integrering av programvara.

Användarpolicyer: Användarpolicyer definierar och upprätthåller åtkomstkontroller och interna säkerhetspolicyer. De anger behörigheter, roller och privilegier och styr hur användare kan interagera med en databas.

RDBMS vs. DBMS

Ett relationsdatabashanteringssystem (RDBMS) är en typ av databashanteringssystem. Alla RDBMS är DBMS, men alla databashanteringssystem är inte relationella databashanteringssystem.

DBMS RDBMS
Olika typer kan användas för att hantera olika typer av databasmodeller Kan endast hantera relationsdatabasmodellen
Olika typer kan lagra data i olika strukturer Lagrar alltid data i tabeller med rader och kolumner
Olika typer kan eller behöver inte automatiskt upprätthålla dataintegritet. Upprätthåller automatiskt dataintegritet genom begränsningar som primärnyckel, unik nyckel och främmande nyckel
Olika typer kan använda olika språk eller tekniker för datahantering Använder alltid SQL (Structured Query Language)

 

Olika typer av databashanteringssystem

Fram till sekelskiftet klassificerades databashanteringssystem som antingen relationella eller icke-relationella, beroende på deras struktur och användningsområden. Om DBMS lagrade data i tabeller kallades det för ett relationellt DBMS (RDBMS). Om det inte lagrade data i tabeller kallades det NoSQL eller icke-relationellt DBMS.

Idag kategoriseras databashanteringssystem fortfarande som antingen RDBMS eller icke-RDBMS, men de klassificeras också efter de unika fördelar de ger. Typer av DBMS inkluderar:

Cloud Database Management Systems – Cloud DBMS som Amazon Aurora är utformade för att hantera distribuerade data som lagras i en molnleverantörs fjärrdatacenter.

Columnar Database Management Systems – Columnar DBMS som Apache Cassandra returnerar frågor snabbare genom att lagra data i kolumner istället för rader. Detta schema gör det lättare för dataanalys- och business intelligence-applikationer att arbeta med stora datamängder.

Distributed Database Management Systems – DDBMS-funktioner som de som finns i Apache Hadoop-ekosystemet är utformade för att säkerställa dataintegritet för logiskt relaterade databaser över flera platser eller datormiljöer.

Graph Database Management Systems – Dessa system är utformade för att stödja grafdatabaser som lagrar relationer på den enskilda postnivån. Graph DBMS:er som Neo4j är idealiska för att hantera data med sammankopplade relationer, t.ex. data från sociala medier.

Hierarkiska databashanteringssystem – Hierarkiska hanteringssystem är utformade för att stödja databaser som är organiserade i föräldra-barn-relationer. Denna typ av DBMS har sina rötter i stordatorberäkningar och dess användningsområden idag är begränsade.

HTAP Database Management Systems – DBMS för hybridtransaktion/analytisk bearbetning är utformade för att stödja blandade arbetsbelastningar för transaktions- och analysdata. Traditionella databassystem har ofta separata system för OLTP (online transaction processing) och OLAP (online analytical processing). HTAP-hanteringssystem som SAP HANA och CockroachDB ger en enhetlig plattform som kan hantera båda typerna av uppgifter samtidigt.

In-memory Database Management Systems – In-memory Management Systems är utformade för att minska latensen genom att använda huvudminnet för datahantering och lagring. Volt Active Data och andra IMDBMS gör datahämtningen betydligt snabbare och förbättrar systemets övergripande prestanda.

Objektorienterade databashanteringssystem (OODBMS) – db4o är ett exempel på denna typ av DBMS. OODMBS är utformade för att hantera komplexa datastrukturer som lagringsobjekt.

NewSQL Database Management Systems – NewSQL DBMS som PostgreSQL ger skalbarheten och prestandafördelarna med NoSQL-databaser samtidigt som ACID-egenskaperna hos traditionella relationsdatabaser bibehålls. Denna typ av DBMS är utformad för storskaliga distribuerade miljöer och kan hantera hög genomströmning av transaktionella arbetsbelastningar.

Time-Series Database Management Systems – DBMS:er för tidsserier som InfluxDB optimerar lagring, hämtning och analys av tidsstämplade data. De används ofta för att stödja finansiell analys och övervakningssystem för Internet of Things (IoT).

Välkända databashanteringssystem

Exempel på välkända DBMS:er är bl.a:

Microsoft Access logo Access – ett lättviktigt relationellt databashanteringssystem (RDMS) som ingår i Microsoft Office och Office 365.
Amazon RDS logo Amazon RDS – ett inbyggt molnbaserat DBMS som erbjuder motorer för hantering av MySQL-, Oracle-, SQL Server-, PostgreSQL- och Amazon Aurora-databaser.
Apache Cassandra logo Apache Cassandra – ett distribuerat databashanteringssystem med öppen källkod som är känt för att kunna hantera stora mängder data.
Filemaker logo Filemaker – en relationell DBMS med låg/ingen kod (LCNC).
Google Cloud Spanner logo Google Cloud Spanner — en globalt distribuerad, horisontellt skalbar och starkt konsekvent relationsdatabastjänst som erbjuds av Google Cloud.
IBM DB2 logo IBM Db2 — En familj av relationsdatabashanteringssystem som utvecklats av IBM och som erbjuder olika utgåvor för olika miljöer och arbetsbelastningar.
MariaDB logo MariaDB – en relationsdatabas med öppen källkod som är en förgrening av MySQL.
Microsoft Azure SQL Database logo Microsoft Azure SQL Database — en molnbaserad relationsdatabastjänst som tillhandahålls av Microsoft Azure och som erbjuder fullt hanterade SQL-databaser.
MongoDB logo MongoDB — Ett populärt NoSQL-databashanteringssystem som använder ett dokumentorienterat schema för att ge hög skalbarhet och flexibilitet.
MySQL logo MySQL – ett system för hantering av relationsdatabaser (RDBMS) med öppen källkod som ägs av Oracle.
Oracle RDMS logo Oracle – ett egenutvecklat RDMS optimerat för hybrida molnarkitekturer.
PostgreSQL logo PostgreSQL — ett relationsdatabashanteringssystem med öppen källkod som är känt för sin robusthet, skalbarhet och omfattande funktionsuppsättning.
SAP HANA logo SAP HANA — en kolumnorienterad RDBMS med minneshantering som är optimerad för datainmatning i realtid och högpresterande analys.
SQL Server logo SQL Server – ett relationellt databashanteringssystem på företagsnivå från Microsoft som kan hantera extremt stora datamängder och databasförfrågningar.
SQLite logo SQLite — en lättviktig, filbaserad relationsdatabasmotor som ofta används i inbyggda system och mobila applikationer.
Teradata logo Teradata – en kraftfull SQL-motor som ger skalbara lösningar för hantering och analys av stora datamängder.

Fördelar med att använda ett DBMS

Databashanteringssystem DBMS är särskilt viktiga i situationer där flera användare eller applikationer interagerar med samma databaser samtidigt. DBMS-systemet skyddar mot konflikter och fel med hjälp av mekanismer för samtidighetskontroll som säkerställer att dataintegriteten förblir intakt även i scenarier med hög trafik.

En annan fördel är att databashanteringssystem erbjuder ett brett utbud av säkerhetsfunktioner, mekanismer och funktioner. Administratörer kan definiera regler för åtkomstkontroll, tilldela användarroller och ange behörigheter för att säkerställa att endast behöriga personer kan ange, komma åt och manipulera data.

Eftersom DBMS tillhandahåller verifieringskedjor och loggningsfunktioner för att spåra och övervaka användning och ändringar av dataåtkomst, är de användbara verktyg för efterlevnad.

Ett DBMS kan t.ex. hjälpa administratörer att hantera livscykeln för data genom att implementera policyer för datalagring, arkivering och eventuell kassering. Ett DBMS kan också hjälpa till att upprätthålla sekretesskontroller genom att tillhandahålla mekanismer som anonymiserar eller krypterar känsliga data,

Utmaningar med databashanteringssystem

Även om databashanteringssystem har revolutionerat hur små och stora företag hanterar och hanterar data, kan det vara svårt att lära sig att implementera och hantera DBMS för företag. Detta gäller särskilt om DBMS måste integreras med ERP-system (Enterprise Resource Planning) eller CRM-plattformar (Customer Relationship Management).

Att rulla ut ett nytt DBMS kan också vara dyrt. Även medelstora företag kommer sannolikt att behöva anställa eller kontraktera en kvalificerad databasadministratör för att säkerställa att deras DBMS är korrekt konfigurerat, underhållet och optimerat. Licensavgifter, hårdvaruinfrastruktur, programuppgraderingar och löpande underhållskostnader kan också belasta budgeten, särskilt för mindre organisationer.

Framtiden för DBMS

Dagens DBMS:er innehåller banbrytande teknik som artificiell intelligens (AI), maskininlärning (ML) och blockkedjor för att hantera utmaningarna med big data och hjälpa organisationer att följa relevanta regler och standarder för datahantering.

  • DBMS-system som är utrustade med AI- och ML-funktioner kan automatisera uppgifter som optimering av frågor, dataindexering och anomalidetektering. Intelligenta databashanteringssystem kan lära sig av datamönster, anpassa sig till förändrade arbetsbelastningar och optimera prestanda på egen hand.
  • Blockkedjeaktiverade databaser kan tillhandahålla oföränderlig, transparent datalagring och möjliggöra säkra, granskningsbara transaktioner. Denna typ av databashanteringssystem eliminerar behovet av centrala myndigheter samtidigt som dataintegriteten förbättras. Det gör dem idealiska för branscher som finans, leveranskedjor och hälso- och sjukvård, där riskerna för och effekterna av dataförfalskning är betydande.
  • DBMS med inbyggda funktioner för strömbearbetning blir allt viktigare för användningsområden som realtidsanalys, bedrägeridetektering och personliga kundupplevelser. Med ökningen av Internet of Things (IoT) och strömmande datakällor kommer DBMS att behöva hantera databehandling i realtid ännu mer effektivt.

Relaterade termer

Margaret Rouse
Teknikexpert

Margaret Rouse är en prisbelönt teknisk skribent och lärare som är känd för sin förmåga att förklara komplexa tekniska ämnen för en icke-teknisk affärspublik. Under de senaste tjugo åren har hennes förklaringar publicerats på TechTargets webbplatser och hon har citerats som en auktoritet i artiklar av New York Times, Time Magazine, USA Today, ZDNet, PC Magazine och Discovery Magazine.Margarets idé om en rolig dag är att hjälpa IT- och affärsproffs att lära sig tala varandras högt specialiserade språk. Om du har ett förslag på en ny definition eller hur man kan förbättra en teknisk förklaring, vänligen maila Margaret eller kontakta…