MongoDB-Gründer Dwight Merriman über dynamische Schemata und Caching als Hürde

MongoDB-Gründer Dwight Merriman spricht im Interview über die Wurzeln der NoSQL-Datenbank MongoDB und wie es mit dem Datenbanksystem weitergeht.

In nur wenigen Jahren hat die NoSQL-Datenbank MongoDB eine wichtige Rolle im Big Data Umfeld übernommen. Ein Grund ist, dass es nach Co-Gründer und Unternehmensvorstand Dwight Merriman in erster Linie für horizontale Skalierung (Scale Out) und Parallelität konstruiert wurde. 

Die Einsicht, dass Parallelität notwendig ist, verdankt Merriman seinem früheren Job beim Online-Werbeunternehmen Doubleclick, das er mitbegründet hat. In diesem Beitrag spricht er über die Wurzeln von MongoDB  - und wie es mit dem Datenbank-System weitergeht.

Als MongoDB im Jahr 2007 auf den Markt kam und Web-Anwendungen voll in die Gänge kamen, begann auch der Vormarsch der Agilen Softwareentwicklung. Das brachte mehr dynamische Datenschemata. Sehen Sie das auch so?

Dwight Merriman,
Co-Gründer, MongoDB

Dwight Merriman: Wenn Sie sich ansehen, wie wir heute Code schreiben, sprechen wir nicht mehr über sogenanntes Waterfall Lifecycle Management (Wasserfallmodell) - wir entwickeln Software nach der agilen Methode. Dabei reden wir über viele Iterationen und eine Menge wirklich kleiner Releases. Wir produzieren jeden Tag ein Release, dann ändern wir es. Anschließend sagt der Produktmanager: „Nein, das ist nicht das, was ich wollte” - und wir ändern das Release noch einmal.

Diese Idee vieler Iterationen hat interessante Konsequenzen für die Datenbanken und die Datenschichten. Wenn Sie jeden Tag eine neue Schema-Migration hätten, wäre das recht schmerzhaft. Aber wenn wir irgendwie fließender werden bei dem, was gespeichert wird, dann passt das wirklich gut zum Begriff der Iteration. Für uns war die dynamische Form von Schemata in MongoDB von großem Vorteil.

Stimmt es, dass die etablierten Datenbanken im Web nicht effektiv skalierten? War Skalierbarkeit das große Design-Kriterium bei der Entwicklung der MongoDB-Datenbank?

Merriman: Ich denke an MongoDB als operative Datenbank. Oft schreibt jemand eine Anwendung und es steckt nur Backing Store dahinter. Es ist wie OLTP (Online-Transaktionsverarbeitung) mit einem kleinen  „T” . Damit meine ich, wir haben keine großen Transaktionen.

In MongoDB haben Sie keine komplexe Transaktionssemantik. Aber Sie können winzig kleine Transaktionen im Rahmen eines einzigen Dokuments ausführen. Es gibt in MongoDB einige starke Konsistenzen. Und das war gewollt.  Aber wir haben es so gemacht, wie wir es eben gemacht haben, denn wir wollten stärker horizontal auf kleineren Maschinen skalieren - nicht vertikal mit immer größeren Rechnern.

Als Sie MongoDB zusammen mit Ihren Kollegen entwickelt haben, verbreitete sich Caching im Web immer stärker. Haben Sie versucht, irgendetwas in diese Richtung in die Datenbank einzubringen?

Merriman: In der Zeit, als wir begannen, gab es die immer gleichen Probleme mit horizonaler Skalierung. Computer-Architekturen änderten sich. Aber die Taktraten stiegen nicht. Die Art, wie wir heute skalieren ist ganz anders – das wird mehr durch Parallelität gemacht.

Caching ist zwar manchmal ganz in Ordnung. Aber es wurde zu einer Hürde. Die Datenbank wurde zu langsam. Für uns war das ein Zeichen. Die Leute hatten 30 Cache-Server, jeder mit einem Haufen RAM. Wir fragten uns: Warum nicht 30 Datenbank-Server mit so viel Arbeitsspeicher?

Aber hochkomplexe Cluster Software ist immer noch nicht einfach zu konfigurieren. Die Leute möchten es Google nachmachen, aber das kann schwierig werden, wenn der Maschinenpark wächst.

Merriman: Die große Priorität bei unserem R & D sind jetzt Zwischenlösungen – sie machen diesen IT-Bereich für DevOps, Datenbank- und Systemadministratoren einfacher. Man braucht Automatisierung, denn es gibt einfach so viele Maschinen. Deshalb entwickeln wir gerade die MongoDB Suite, die Überwachungsfunktionen, Backup Software und Automatisierungssoftware integriert.

Folgen Sie SearchEnterpriseSoftware.de auch auf Facebook, Twitter und Google+!

Artikel wurde zuletzt im Oktober 2014 aktualisiert

Erfahren Sie mehr über Big Data

- GOOGLE-ANZEIGEN

ComputerWeekly.de

Close