High Performance Content Management System mit NoSql/MongoDB

Vor einiger Zeit haben wir in unserem Blog-Artikel „Das passende Content Management System finden“ einige Tipps zusammengestellt, um Sie bei der Wahl eines passenden Content Management Systems zu unterstützen. Wenn es um die Umsetzung komplexer Websites geht, sollte die mit dem CMS erzielbare Performance ein ausschlaggebendes Auswahlkriterium sein. Grundsätzlich ist es durch den Einsatz einer Server-Infrastruktur mit leistungsstarken Servern möglich, hohe Nutzungslasten abzufangen, um einem unerwarteten Ausfall bei Spitzenauslastungen entgegenzuwirken – das ist jedoch mit erhöhten laufenden Kosten verbunden, die sich durch die Wahl einer optimierten Software minimieren lassen.

NoSql = Performance-Steigerung

Für die Umsetzung komplexer Websites auf Basis eines Content Management Systems ist der Einsatz einer Datenbanklösung unabdingbar. Der allgemein bekannte Begriff „Relationale Datenbank“ bezeichnet Datenbanksysteme, deren Einträge untereinander und über Tabellen hinweg miteinander verknüpft sind – das ist beispielsweise erforderlich, um komplexe Strukturen abzubilden. Durch die Verknüfungen geht jedoch bei jeder Absfrage und Speicherung bestehender beziehungsweise Abfrage neuer Datensätze Performance verloren, da alle Verknüpfungen überprüft werden müssen. Dafür ist Rechenleistung und somit Zeit erforderlich – dieser Bedarf steigt, je mehr Daten in der Datenbank gespeichert werden.

Die Lösung: NoSql-Datenbanken wie MongoDB verzichten auf die Verknüpfung von Datensätzen untereinander (es ist zwar möglich, Verknüpfungen zu erstellen, aber nicht ratsam). Auch durch die Speicherung der Daten als Array (mehrdimensionale Datenfelder) ist eine dynamische Struktur der Datenbank möglich. Beides erhöht die Performance erheblich.

Verknüpfungen zwischen Datensätzen, wie sie bei relationalen Datenbanken wie MySql eingesetzt werden, sind grundsätzlich nicht erforderlich, um komplexe Datenbankmodelle umzusetzen beziehungsweise in komplexen Software-Projekten einzusetzen. Bei Nutzung einer NoSql-Datenbank ist jedoch der Entwicklungsaufwand ein wenig höher, da quellcodeseitig mehr Überprüfungsmechanismen implementiert werden müssen. Der zusätzliche Aufwand lässt sich allerdings durch den Einsatz eines Object Document Mappers auf ein Minimum verringern. Nutzt man für die Entwicklung einer Webanwendung oder eines Content Management Systems zum Beispiel den „Doctrine MongoDB Object Mapper„, ist im Prinzip nur eine gewisse Umorientierung des Entwicklers erforderlich (und ein Verständnis des Prinzips von NoSql-Datenbanken), um zeit- und kosteneffizient komplexe NoSql-Projekte umzusetzen. Das dadurch erzielte Kostenersparnis kann sich lohnen.

NoSql Content Management System in Entwicklung

Vor einiger Zeit haben wir von webworks nürnberg mit der Entwicklung eines High Performance Content Management Systems auf Basis des Symfony-Frameworks in Version 3, PHP 7 und der NoSql-Datenbank MongoDB begonnen. Derzeit sind wir noch aktiv am Entwickeln, rechnen jedoch innerhalb der nächsten 3 Monate mit der Fertigstellung einer ersten Beta-Version, die wir zum Testen kostenlos zur Verfügung stellen werden. Über den Entwicklungsfortschritt werden wir Sie regelmäßig auf dem Laufenden halten und freuen uns darüber, wenn Sie Interesse an der Beta-Version zeigen.

Schreibe einen Kommentar