MongoDB: Herausforderungen im produktiven Betrieb

Die Nachfrage nach NoSQL-Datenbanken, wie zum Beispiel MongoDB ist in den letzten Jahren gestiegen. Dies ist möglicherwiese in den Vorteilen die einem diese Technologie liefert zu begründen. Daten werden nicht mehr in strukturierten Tabellen gespeichert, sondern in schemalosen Dokumenten, die aus Key-Value paaren bestehen, auch BSON (binary JSON) genannt. Dieses Datenaustauschformat ermöglicht eine reibungslose objektorientierte Entwicklung und vereinfacht erheblich den Entwicklungsprozess.

Wir können damit nun große Volumina an strukturierten, semi-strukturierten und unstrukturierten Daten handhaben. Die MongoDB lässt sich darüber hinaus auch mittels sharding leicht skalieren. Das klingt erstmal alles sehr Vorteilhaft, aber wo ist der Hacken?

Why ist the RAM always gone?

Eine MongoDB zu installieren ist einfach. Doch nach der anfänglichen Euphorie kommt oftmals die bittere Ernüchterung. Wo ist der ganze RAM hin? Dies ist dem nicht vorhandenen Memory Management zu verdanken. Diese Aufgabe überlässt MongoDB dem Operating System (OS). Was passiert, wenn mehr Arbeitsspeicher allokiert werden muss als das OS zur Verfügung stellen kann?

R.I.P. High-Performance Database

Niemand möchte das seine produktive Datenbank mitten im Betrieb plötzlich von einem SIGTERM gekillt wird. An dieser Stelle stellt sich allerdings leider nicht die Frage, ob es passieren wird, sondern wann es passieren wird? Ursache dafür ist das großzügige Caching der MongoDB. Caching also deaktivieren? Bloß nicht! Dies würde unweigerlich dazu führen, dass wir das High-Performance aus dem Titel streichen müssten. Also was nun? Lieber doch auf Vorteile einer MongoDB verzichten und wieder auf relationale Datenbanken zurückgreifen?

Ein Herz für MongoDB

Nein, bitte nicht! Wir möchten nicht mehr auf die NoSQL-Technologie verzichten müssen. Grade in Bezug auf große unstrukturierte Daten, sowie zur Anbindung von externen Applikationen eignet sich die MongoDB besser als traditionelle relationale Datenbanken. Die Datenbank eignet sich hervorragend als Backend-Technologie für zum Beispiel eine Web Applikationen, die ein Dashboard mit aktuellen Reports darstellt. Aus diesem Grund haben wir uns in einem Big Data Lab intensiv mit dem Memory Management auseinandergesetzt und haben individuelle Lösungen kreiert, um diesem Problem vorzubeugen. Dazu gehört beispielsweise die working set analysis, memory analysis, index optimization, Entwicklung von custom API’s und ein intelligentes Schema Design.

Autor: David Schenk

Für schnelles Feedback.

Der Big Data Express.

Treiben Sie einige Prozesse in den Wahnsinn, statt voran? Manchmal ist es nur ein kleiner Schritt, der Ihnen weiterhelfen kann. Gehen Sie diesen am besten in unsere Richtung.

 Kontakt

Ulrike Pick

Leiterin Business Analytics

Fon +49 (228) 97125 – 20
Fax +49 (228) 97125 – 720
Mob +49 (172) 34 38 060

ulrike.pick@actgruppe.de

jan Dombrowicz Big Data Lab

Jan Dombrowicz

Consultant Business Analytics

Fon +49 (228) 97125 – 0
Fax +49 (228) 97125 – 40
Mob +49 (172) 34 27 710

jan.dombrowicz@actgruppe.de

0

Tragen Sie Ihren Suchbegriff unten ein und drücken die Enter-Taste