© Liashko/Shutterstock.com
Entwickler Magazin
Erfolgreiche Einführung eines dokumentenorientierten Datenbanksystems

Dokumentensammlungen statt Tabellen

Immer wieder wird von nichtrelationalen Datenbankmanagementsystemen wie MongoDB als Ergänzung und nicht als Ersatz relationaler Datenbanken gesprochen. Die neuen Systeme bieten aber neben einem anderen Datenmodell weitere Eigenschaften, die den Einsatz auch im traditionellen Umfeld attraktiv machen. Der Artikel beschreibt Erfahrungen mit der Einführung einer Plattform, die von einem relationalen Datenbankmanagementsystem auf MongoDB umgestellt wurde. Kritisch wird betrachtet, wie sich die Eigenschaften von MongoDB im konkreten Einsatz bewähren. Darüber hinaus werden ausgewählte Stolperfallen und Lösungsansätze erläutert und diskutiert.

Stefan Freischlad


Stellen nichtrelationale Datenbankmanagementsysteme (DBMS) eine Alternative zu relationalen DBMS dar, oder sind sie eine Ergänzung? Spichale und Wolff [1] sehen diese vor allem als Ersatz für Einsatzszenarien, in denen relationale DBMS bisher lediglich deshalb eingesetzt wurden, weil es keine Alternativen gab. Dennoch unterstützt eine Reihe von nichtrelationalen DBMS weitere Eigenschaften wie einfache Skalierbarkeit, die auch an anderer Stelle den Einsatz rechtfertigen könnten. Für Einsatzszenarien, in denen zwar strukturierte Daten vorliegen, aber auch die Unterstützung der anderen Eigenschaften nichtrelationaler DBMS von Belang sind, ist dann eine wohlüberlegte Abwägung zwischen sehr unterschiedlichen DBMS erforderlich. Die Entscheidung für eine weniger erprobte Technologie kann dabei mit beträchtlichen Risiken verbunden sein. Im Folgenden sollen daher einige Erfahrungen mit MongoDB in einem Projekt dargestellt werden, in dem das zugrunde liegende DBMS MySQL ersetzt wurde. Zu den wichtigsten Eigenschaften, die für einen Einsatz von MongoDB sprechen, gehören [2]:

Performanz: Vom Ansatz her haben dokumentenorientierte DBMS hier einen Vorteil, weil die Daten nicht erst aus mehreren Tabellen zusammengeführt werden.Skalierbarkeit: Mit transparentem Sharding – einem Verfahren zur horizontalen Skalierung – kann die Infrastruktur vergleichsweise einfach wachsenden Anforderungen angepasst werden.Verfügbarkeit: Auch bei Ausfall einer Datenbankinstanz soll die Applikation weiterhin verfügbar bleiben, d. h. nahtlos – ohne manuellen Eingriff – müssen redundante Instanzen bei einem Ausfall einspringen.

Natürlich sind diese drei Eigenschaften nicht unabhängig voneinander. So kann beispielsweise die Performanz von der Möglichkeit der horizontalen Skalierbarkeit profitieren, und aus der Skalierbarkeit resultieren neue Herausforderungen für die Verfügbarkeit. Zudem ist zu bemerken, dass Erweiterungen von MySQL diese Eigenschaften prinzipiell auch bereitstellen. Für MongoDB spricht, dass sie integraler Bestandteil einer durchdachten Gesamtarchitektur sind.

Was ist dokumentenorientiert?Dokumente sind in diesem Kontext Objekte mit Attributen, die in einer Sammlung (Collection) verwaltet werden. Eine Sammlung entspricht in etwa einer Tabelle in relationalen Datenbanken. Die Objekte einer Sammlung müssen hier aber nicht zwingend strukturell gleich sein. Die Verwendung eines dokumentenorientierten DBMS setzt überhaupt kein zuvor beschriebenes Datenschema voraus. Sie eignen sich...

Entwickler Magazin
Erfolgreiche Einführung eines dokumentenorientierten Datenbanksystems

Dokumentensammlungen statt Tabellen

Immer wieder wird von nichtrelationalen Datenbankmanagementsystemen wie MongoDB als Ergänzung und nicht als Ersatz relationaler Datenbanken gesprochen. Die neuen Systeme bieten aber neben einem anderen Datenmodell weitere Eigenschaften, die den Einsatz auch im traditionellen Umfeld attraktiv machen. Der Artikel beschreibt Erfahrungen mit der Einführung einer Plattform, die von einem relationalen Datenbankmanagementsystem auf MongoDB umgestellt wurde. Kritisch wird betrachtet, wie sich die Eigenschaften von MongoDB im konkreten Einsatz bewähren. Darüber hinaus werden ausgewählte Stolperfallen und Lösungsansätze erläutert und diskutiert.

Stefan Freischlad


Stellen nichtrelationale Datenbankmanagementsysteme (DBMS) eine Alternative zu relationalen DBMS dar, oder sind sie eine Ergänzung? Spichale und Wolff [1] sehen diese vor allem als Ersatz für Einsatzszenarien, in denen relationale DBMS bisher lediglich deshalb eingesetzt wurden, weil es keine Alternativen gab. Dennoch unterstützt eine Reihe von nichtrelationalen DBMS weitere Eigenschaften wie einfache Skalierbarkeit, die auch an anderer Stelle den Einsatz rechtfertigen könnten. Für Einsatzszenarien, in denen zwar strukturierte Daten vorliegen, aber auch die Unterstützung der anderen Eigenschaften nichtrelationaler DBMS von Belang sind, ist dann eine wohlüberlegte Abwägung zwischen sehr unterschiedlichen DBMS erforderlich. Die Entscheidung für eine weniger erprobte Technologie kann dabei mit beträchtlichen Risiken verbunden sein. Im Folgenden sollen daher einige Erfahrungen mit MongoDB in einem Projekt dargestellt werden, in dem das zugrunde liegende DBMS MySQL ersetzt wurde. Zu den wichtigsten Eigenschaften, die für einen Einsatz von MongoDB sprechen, gehören [2]:

Performanz: Vom Ansatz her haben dokumentenorientierte DBMS hier einen Vorteil, weil die Daten nicht erst aus mehreren Tabellen zusammengeführt werden.Skalierbarkeit: Mit transparentem Sharding – einem Verfahren zur horizontalen Skalierung – kann die Infrastruktur vergleichsweise einfach wachsenden Anforderungen angepasst werden.Verfügbarkeit: Auch bei Ausfall einer Datenbankinstanz soll die Applikation weiterhin verfügbar bleiben, d. h. nahtlos – ohne manuellen Eingriff – müssen redundante Instanzen bei einem Ausfall einspringen.

Natürlich sind diese drei Eigenschaften nicht unabhängig voneinander. So kann beispielsweise die Performanz von der Möglichkeit der horizontalen Skalierbarkeit profitieren, und aus der Skalierbarkeit resultieren neue Herausforderungen für die Verfügbarkeit. Zudem ist zu bemerken, dass Erweiterungen von MySQL diese Eigenschaften prinzipiell auch bereitstellen. Für MongoDB spricht, dass sie integraler Bestandteil einer durchdachten Gesamtarchitektur sind.

Was ist dokumentenorientiert?Dokumente sind in diesem Kontext Objekte mit Attributen, die in einer Sammlung (Collection) verwaltet werden. Eine Sammlung entspricht in etwa einer Tabelle in relationalen Datenbanken. Die Objekte einer Sammlung müssen hier aber nicht zwingend strukturell gleich sein. Die Verwendung eines dokumentenorientierten DBMS setzt überhaupt kein zuvor beschriebenes Datenschema voraus. Sie eignen sich...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang