Lär dig vad som menas med databashanteringssystem inom datahantering. Vi går igenom hur begreppet definieras i enkla termer, historien bakom samt de olika typerna. Artikeln kommer också att förklara skillnaden mellan databaser och DBMS, ge en översikt över välkända DBMS-system och belysa fördelar, utmaningar och framtida trender inom databashantering.
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)
År | 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:
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 bland annat:
Access | Lättviktigt relationellt databashanteringssystem (RDMS) som ingår i Microsoft Office och Office 365. |
Amazon RDS | Inbyggt molnbaserat DBMS som erbjuder motorer för hantering av MySQL-, Oracle-, SQL Server-, PostgreSQL- och Amazon Aurora-databaser. |
Apache Cassandra | Distribuerat databashanteringssystem med öppen källkod som är känt för att kunna hantera stora mängder data. |
Filemaker | Relationell DBMS med låg/ingen kod (LCNC). |
Google Cloud Spanner | Globalt distribuerad, horisontellt skalbar och starkt konsekvent relationsdatabastjänst som erbjuds av Google Cloud. |
IBM Db2 | Familj av relationsdatabashanteringssystem som utvecklats av IBM och som erbjuder olika utgåvor för olika miljöer och arbetsbelastningar. |
MariaDB | Relationsdatabas med öppen källkod som är en förgrening av MySQL. |
Microsoft Azure SQL Database | Molnbaserad relationsdatabastjänst som tillhandahålls av Microsoft Azure och som erbjuder fullt hanterade SQL-databaser. |
MongoDB | Populärt NoSQL-databashanteringssystem som använder ett dokumentorienterat schema för att ge hög skalbarhet och flexibilitet. |
MySQL | System för hantering av relationsdatabaser (RDBMS) med öppen källkod som ägs av Oracle. |
Oracle | Egenutvecklat RDMS optimerat för hybrida molnarkitekturer. |
PostgreSQL | Bashanteringssystem för relationsdata med öppen källkod som är känt för sin robusthet, skalbarhet och omfattande funktionsuppsättning. |
SAP HANA | Kolumnorienterad RDBMS med minneshantering som är optimerad för datainmatning i realtid >och högpresterande analys. |
SQL Server | Relationellt databashanteringssystem på företagsnivå från Microsoft som kan hantera extremt stora datamängder och databasförfrågningar. |
SQLite | Lättviktig, filbaserad relationsdatabasmotor som ofta används i inbyggda system och mobila applikationer. |
Teradata | 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.