Ein verteiltes Datenbankmanagementsystem ist eine Art von Datenbankmanagementsystem (DBMS), das sich durch unterschiedliche Grade an Autonomie, Heterogenität und Verteilung (Mehrrechner-Datenbanksystem) auszeichnet. Je nach Ausprägung dieser drei Kriterien lassen sich verschiedene verteilte DBMS unterscheiden.
Beispiele für verteilte DBMS sind Master-Slave-Systeme, Client-Server-Systeme (gering verteilt) und Peer-to-Peer Systeme (stark verteilt).
Die Autonomie eines (verteilten) Datenbankmanagementsystems bezeichnet den Grad, zu dem verschiedene miteinander verbundene DBMS unabhängig voneinander operieren können. Dabei können unabhängige Entscheidungen hinsichtlich des Designs, der Kommunikation und der Ausführung getroffen werden. Ein hoher Grad an Autonomie führt durch unterschiedliche Entscheidungen in der Regel auch zu einer wachsenden Heterogenität.
Man unterscheidet dabei folgende Autonomien:
Bei einem hohen Grad von Autonomie spricht man auch von einem föderierten DBMS bzw. einer „Föderierten Datenbank“ im Gegensatz zu einer integrierten Datenbank. Die Bezeichnung „föderiert“ statt „verteilt“ betont, dass die Systeme unabhängig voneinander entstanden sind, während ein stark verteiltes System auch aus autonomen Komponenten entworfen worden sein kann.
Bei einem hohen Grad von Homogenität spricht man von einem homogenen DBMS, d. h. die verwendeten Systeme sind sich im Wesentlichen ähnlich, bzw. gleich. Ein triviales Beispiel dafür ist ein asymmetrisches verteiltes System (Client-Server System) bestehend aus Personal Computern, auf denen jeweils dasselbe Betriebssystem betrieben wird und die ausnahmslos die gleichen DB-Anwendung betreiben.
Im Gegensatz dazu existieren auch heterogene DBMS. Diese verwenden entsprechend unterschiedliche Systeme und Anwendungen. Ein Beispiel hierfür sind Krankenhausinformationssysteme, denn in Abhängigkeit von den jeweiligen Abteilungen (Labor, Patientenverwaltung, Buchhaltung, Dienstplanung) entstehen sehr vielfältige Daten (Bild, Ton, Text etc.). Die verwendeten Programme – insbesondere in Unikliniken – sind meist spezielle Entwicklungen, die über den definierten Aufgabenbereich hinaus keine Anwendung finden (jede Abteilung nutzt ihre eigene Software). Aus diesem Grund werden in größeren Kliniken Informatiker mit der Planung, Entwicklung und Wartung solcher Systeme beauftragt.
In den 1980er Jahren gab es bereits Prototypen funktionsfähiger verteilter Datenbanken, jedoch war zu dieser Zeit das Problem vorhanden, dass Netzwerkprotokolle selten standardisiert waren, sodass die Implementierungen nur unter sehr spezifischen Umgebungen lauffähig waren.
Einige Entwicklungen, die zumindest zum Teil Funktionen von verteilten Datenbanksystemen enthalten, sind: