Wat betekent database management systeem?
Een database management systeem (DBMS) is een softwarepakket voor het opslaan, opvragen, bevragen en beheren van gegevens. Via userinterfaces (UI’s) kunnen gegevens worden gecreëerd, gelezen, bijgewerkt en verwijderd door bevoegde personen.
Databasebeheersystemen zijn belangrijk omdat zij programmeurs, databasebeheerders en eindgebruikers een gecentraliseerd overzicht van de gegevens bieden en applicaties en eindgebruikers bevrijden van de noodzaak om te weten waar de gegevens zich fysiek bevinden. API’s (applicatieprogramma-interfaces) behandelen verzoeken en reacties voor specifieke soorten gegevens via het internet.
Relationele en niet-relationele DBMS-componenten die via het internet worden geleverd, kunnen in marketingmateriaal DBaaS (Database as a Service) worden genoemd. Volgens het marktonderzoeksbureau Gartner zijn databasemanagementsystemen die gedistribueerde gegevens in de cloud ondersteunen momenteel goed voor de helft van de totale DBMS-markt.
De bekendste DBMS’en zijn onder meer:
- Access – een lichtgewicht relationeel databasebeheersysteem (RDMS) dat is opgenomen in Microsoft Office en Office 365.
- Amazon RDS – een cloud native DBMS dat engines biedt voor het beheer van MySQL, Oracle, SQL Server, PostgreSQL en Amazon Aurora-databases.
- Apache Cassandra – een open source gedistribueerd databasemanagementsysteem dat bekend staat om zijn vermogen om grote hoeveelheden gegevens te verwerken.
- Filemaker – een low-code, no-code relationeel DBMS (LCNC).
- MySQL – een open source relationeel databasemanagementsysteem (RDBMS) van Oracle.
- MariaDB – een open source fork van MySQL.
- Oracle – een bedrijfseigen relationeel databasebeheersysteem geoptimaliseerd voor hybride cloudarchitecturen.
- SQL Server – een enterprise relational database management systeem van Microsoft dat extreem grote hoeveelheden gegevens en database queries kan verwerken.
Techopedia legt het Database Management Systeem uit
DBMS-users zijn applicatieprogrammeurs van Database Management Systeem (DBA’s) en eindgebruikers.
Meestal zijn databasebeheerders de enigen die rechtstreeks met een DBMS communiceren. Tegenwoordig gebruiken programmeurs meestal cloud API’s voor interactie met een DBMS, en eindgebruikers lezen en schrijven meestal naar de database via front-end interfaces die door programmeurs zijn gemaakt.
De back-end componenten van een DBMS omvatten:
- Catalogus/Woordenboek – biedt diensten voor het beheer van metadata voor de gegevens in de database.
- Datahulpprogramma’s – beheren back-ups en restores, controles op gegevensintegriteit en rapporten.
- Database toegangstaal – biedt een manier voor eindgebruikers en toepassingsprogramma’s om toegang te krijgen tot gegevens. RDMS gebruiken bijvoorbeeld gestructureerde querytaal (SQL) als standaardtoegangstaal voor gegevens.
- Lock manager – zorgt ervoor dat meerdere gebruikers niet tegelijkertijd dezelfde gegevens kunnen wijzigen.
- Log manager – biedt een chronologisch overzicht van de database activiteit.
- Optimalization-engine – past de prestaties van de database aan.
- Query processor – interpreteert gebruikersvragen en geeft de gewenste uitvoer indien toegestaan.
- Storage engine – voert ”create”, ”read”, ”update” en ”delete” (CRUD) operaties uit.
- Gebruikersbeleid – zorgt voor toegangscontrole.
Soorten Database Management Systemen
Tot de eeuwwisseling werden Database Management Systemen, afhankelijk van hun structuur en beoogd gebruik, ingedeeld als relationeel of niet-rationeel. Eenvoudig gezegd, als het DBMS gegevens opsloeg in tabellen, werd het een relationeel DBMS (RDBMS) genoemd. Als het geen gegevens in tabellen opsloeg, werd het een niet-relationeel DBMS genoemd.
Tegenwoordig worden databasemanagementsystemen nog steeds gecategoriseerd als RDBMS of non-RDBMS.
In-memory Database Management Systemen (IMDBMS) – ontworpen om de latentie te verlagen door gebruik te maken van het hoofdgeheugen voor gegevensbeheer en -opslag.
Op kolommen gebaseerde databasemanagementsystemen (CDBMS) – ontworpen om zoekopdrachten sneller te beantwoorden door gegevens op te slaan in kolommen in plaats van rijen.
Gedistribueerde database management systemen – om de integriteit van gegevens te waarborgen voor logisch verbonden databanken.
Hiërarchisch databasemanagementsysteem – ontworpen ter ondersteuning van databases die zijn georganiseerd in ouder-kindrelaties.
Netwerkdatabasebeheersysteem – ontworpen ter ondersteuning van many-to-many relations.
Objectgeoriënteerd databasemanagementsysteem (OODBMS) – ontworpen om een groot aantal gegevenstypen te beheren.
Cloud DBMS – ontworpen om gedistribueerde gegevens te beheren die zijn opgeslagen in een of meer clouds.
HTAP DBMS – ontworpen ter ondersteuning van gemengde werklasten voor transactionele en analytische gegevens.
Graph DBMS – ontworpen ter ondersteuning van grafische databases waarin relaties op individueel recordniveau worden opgeslagen.