Gedistribueerde database, wat is dat?


database archive

Gedistribueerde database

Gedistribueerde database staat voor een database die niet beperkt is tot één systeem, maar is verspreid over verschillende sites, dat wil zeggen op meerdere servers of via een netwerk van servers op meerdere locaties. Het is een database die bestaat uit twee of meer bestanden. Een gedistribueerd databasesysteem bevindt zich bovendien op verschillende sites die geen fysieke componenten delen. Dit kan nodig zijn als een bepaalde database wereldwijd door verschillende gebruikers, hetzij op hetzelfde netwerk, hetzij op volledig verschillende netwerken, moeten benaderen. Delen van de database slaan we op meerdere fysieke locaties op en de verwerking verdelen tevens we over meerdere databaseservers. De database moeten we zo beheren dat het voor de gebruikers lijkt op één enkele database.

Gedistribueerde database architectuur

Gedistribueerde databases kunnen homogeen of heterogeen zijn.

De homogene database

Homogene gedistribueerde databasesystemen lijken voor de gebruiker als een enkel systeem en zijn veel eenvoudiger te ontwerpen en te beheren. Om een ​​gedistribueerd databasesysteem homogeen te laten zijn, moeten de datastructuren op elke locatie echter wel identiek of compatibel zijn. De database-applicatie die we op elke locatie gebruiken, moet ook identiek of compatibel zijn. In een homogene database slaan alle verschillende sites de data op identieke wijze op. Het besturingssysteem, DBMS en de gebruikte datastructuren zijn ook allemaal hetzelfde op alle sites. Daardoor zijn ze eenvoudig te beheren.

De heterogene database

In een heterogene gedistribueerde database kunnen de hardware, besturingssystemen of database-applicaties op iedere locatie anders zijn. Verschillende sites kunnen namelijk verschillende datamodellen en software gebruiken. Een verschil in datamodel kan verwerking van echter query’s bemoeilijken. Dit kan leiden tot problemen bij de verwerking van transacties. De site kan ook niet compatibel zijn of volledig onbekend zijn met de andere sites. Gebruikers op één locatie kunnen mogelijk data lezen op een andere locatie, maar deze niet uploaden of wijzigen. Om deze problemen op te lossen zijn bij een heterogene database voor verschillende sites vertalingen vereist om te kunnen communiceren. Heterogene gedistribueerde databases zijn vaak moeilijk te gebruiken, waardoor ze voor veel bedrijven economisch onhaalbaar zijn.

Gedistribueerde gegevensopslag

Er zijn twee manieren waarop data op de verschillende sites kunnen worden opgeslagen. Dit zijn:

Replicatie

Database-replicatie zorgt ervoor dat de data in gedistribueerde databases up-to-date blijft.
Bij replicatie wordt namelijk alle data redundant opgeslagen op 2 of meer sites. Als de volledige database op alle sites wordt opgeslagen spreken we van een volledig redundante database. Bij replicatie houden de systemen feitelijk kopieën van de data bij.

Gerepliceerde data kunnen we in twee categorieën verdelen: alleen-lezen en schrijfbare data. Alleen-lezen versies van gerepliceerde data staat ​​herzieningen alleen toe op de eerst aangewezen site-server. Op de andere daaropvolgende servers wordt de data vervolgens aangepast. Schrijfbare data is te wijzigen, maar de eerste site-server wijzigt direct. Een Content Delivery Network (CDN) voor websites is bijvoorbeeld gebaseerd op dit principe.
Het grote voordeel hiervan is dat de beschikbaarheid van data op de verschillende locaties groot is. Queries kunnen we op die manier parallel verwerken.
Er zijn echter ook nadelen. De data moet voortdurend worden bijgewerkt. Iedere wijziging die op een site wordt aangebracht, moet worden over gebracht naar iedere andere site, anders leidt dit tot inconsistenties. Dit geeft een zware belasting op de systemen en het netwerk. Bovendien wordt de concurrency-controle veel complexer omdat het locken van records bij gelijktijdige toegang op alle sites moet worden uitgevoerd.

Fragmentatie

In deze benadering is de data gefragmenteerd, dat wil zeggen verdeeld in kleinere delen. De fragmenten worden verdeeld en opgeslagen op de verschillende sites waar ze nodig zijn. De verdeling van de fragmenten vindt op een intelligente wijze plaats waardoor ze te gebruiken zijn om de originele data te reconstrueren als een van de sites uitvalt. Er is dan dus geen verlies van data. 
Het voordeel van fragmentatie is dat we geen kopieën van de data hoeven te maken terwijl de database consistent blijft. 

In sommige gevallen gebruikt men daarom een hybride aanpak van fragmentatie en replicatie.

Distributed Database Management System (DDBMS)

Een gecentraliseerd Distributed Database Management System integreert de data op een logische manier. Zodanig dat de gebruiker het gevoel heeft dat alle data op dezelfde site (bij hem) is opgeslagen. Het DDBMS is een DBMS dat alle data direct of periodiek synchroniseert en zorgt dat alle invoer, updates en verwijderingen die op een site worden uitgevoerd automatisch worden uitgevoerd op de data die elders zijn opgeslagen.

Een gecentraliseerde database kent echter slechts een enkel databasebestand dat zich op één site bevindt en via een enkel netwerk wordt ontsloten.

Kenmerken van gedistribueerde databases

  • Als een verzameling gedistribueerde databases logisch met elkaar zijn verweven, vormen ze virtueel een enkele logische database.
  • De servers op iedere site zijn verbonden via een netwerk maar hebben geen multiprocessing functies.
  • De werking is hardware onafhankelijk.
  • Een gedistribueerde database slaat data fysiek op meerdere sites op en beheert deze onafhankelijk.
  • De werking is besturingssysteem onafhankelijk.
  • De werking is netwerk onafhankelijk.
  • Tenslotte is de werking DBMS onafhankelijk.

Over het algemeen omvatten gedistribueerde databases de volgende functies:

  • Mogelijkheden om locatie onafhankelijk te werken.
  • Gedistribueerde queryverwerking.
  • Gedistribueerde transactieverwerking.
  • Transactie transparantie.

Voordelen van een gedistribueerde database

Het gebruik van een gedistribueerde database biedt veel voordelen.

  • Als er storingen zijn in een gecentraliseerde database, komt het systeem volledig tot stilstand. Als er echter een component faalt in een gedistribueerd databasesysteem, blijft het systeem werken met verminderde prestaties totdat de fout is opgelost.
  • Door gedistribueerde databasesystemen kunnen we lagere verbindingskosten realiseren door de data het dichts bij de site te zetten die deze meest gebruikt. Dit is niet mogelijk in een gecentraliseerd systeem.
  • Gedistribueerde databases kunnen we modulair ontwikkelen. Dit betekent dat we systemen kunnen uitbreiden door nieuwe servers en lokale data aan een nieuwe site toe te voegen en met het gedistribueerde systeem te verbinden.

Software en database vormen samen het systeem

Een veel voorkomende misvatting is dat een gedistribueerde database een gekoppeld opzichzelfstaand bestandssysteem is. In feite is het veel ingewikkelder dan dat. Gedistribueerde databases zijn vaak onderdeel van een complex transactieverwerkend systeem, maar zijn niet het synoniem voor transactieverwerkingssystemen.

LinkedIn GroupDiscussieer mee op LinkedIn.
Samenvatting
Gedistribueerde database, wat is dat?
Artikel
Gedistribueerde database, wat is dat?
Beschrijving
Gedistribueerde database staat voor een database die niet beperkt is tot één systeem, maar is verspreid over verschillende sites, dat wil zeggen op meerdere servers of via een netwerk van servers op meerdere locaties.
Auteur
Publisher Naam
ITpedia
Publisher Logo
Sidebar