mongoDB unter Debian Lenny mit PHP 5.2 und Anbindung an Monit-Monitoring
Inspiriert durch den Vortrag von Nate Abele (CakePHP, Lithium) “Going NoSQL with MongoDB” auf der IPC Spring 2010 haben wir uns dazu entschieden zunächst ein Produkt aus der NoSQL-Reihe näher anzuschauen: mongoDB (von “humongous”)
Anders als zum Beispiel CouchDB wird mongoDB initial von der Firma 10gen aus NYC entwickelt jedoch opensource unter der GNU AGPL v3.0 Lizenz.
Wie viele andere Projekte aus der NoSQL-Ecke verspricht auch mongoDB horizontale Skalierbarkeit (u.a durch Auto-Sharding das jedoch erst in der im Juli erscheinenden Version 1.6 final sein wird) und einigen weiteren Key Features, die auf der mongodb.org eingesehen werden können.
mongoDB wird mittlerweile von einer Reihe von Projekten eingesetzt so auch beim Large Hadron Collider.
Installation des Deamons
mongoDB kann bereits vorkompiliert (MacOS X, Linux, Win, Solaris) bezogen werden und ist daher sofort einsatzbereit. Wer keine Lust hat ein eigenes init.d-Startscript zu schreiben kann, wie wir, das von Ubuntu mitgelieferte Script verwenden. Vorzugsweise nach /etc/init.d/mongodb
mongoDB speichert per default alle collections-relevanten Daten in /data/db (WTF?) um konsequest zu bleiben biegen wir das, wie im verlinkten Startscript auch vorgesehen, nach /var/lib/mongodb um.
Anschließend noch kurz in die Runlevel-Verzeichnisse verlinken wegen Autostart- und Kill:
Anschließend sollte ein kleines HTTP-Interface aufrufbar sein (Standard-Port: 28017) somit ist mongoDB einsatzbereit.
Installtion des PHP-Moduls
Die Installation des mongoDB PHP-Moduls aus dem PECL-Repository ist ziemlich leicht:
Soweit ist das Setup nun komplett und kann eingesetzt werden. Achtung: wir setzen dieses Setup nur in unserer Testumgebung ein. Eventuelle Sicherheitsmaßnahmen die für aus dem Internet erreichbare Systeme eingeleitet werden sollte, sind hier nicht behandelt worden.
mongoDB ins Monitoring einbinden
Wir setzen in unserer Testumgebung Monit zur Prozessüberwachung ein. Eine Monit-Sequenz könnte wie folgt aussehen:
Das war schon alles was man braucht um seine lang angesammelte SQL-Erfahrung beiseite legen zu können

0 Kommentare