comSysto wird MongoDB Spezialist

Um das exzellente Fachwissen der comSysto-Mitarbeiter im Bezug auf NoSQL-Datenbanken zu vervollständigen, fand am 28. und 29. Juni eine MongoDB-Schulung statt. Wie bereits schon bei der Wicket-Schuleung durch jWeekend hat comSysto auch dieses mal weder Kosten noch Mühen gescheut um einen ausgezeichneten Experten im Bezug auf MongoDB nach München zu holen. Sein Name ist Brandan McAdams, er arbeitet für 10gen, die Firma hinter MongoDB. Brandan ist nicht nur Entwickler von MongoDB (v.a. Treiber), sondern hat auch viel praktische Erfahrung aus dem Consulting-Bereich. Außerdem merkt man ihm an, dass ihm das Schulungen halten wohl sehr Spass macht. Weiterhin hat Brandan einen Sinn für gutes Bier, so dass er sich in München richtig wohl gefühlt hat (Augustiner Dunkel, excellent choice).

NoSQL-Datenbanken erfreuen sich seit einiger Zeit immer mehr Beliebtheit und es sind in den letzten Jahren einige sehr interessante Produkte wie MongoDB, CouchDB, Cassandra und viele mehr entstanden. Nicht zu vernachlässigen sind die Entwicklungen von Google (BigTable) und Amazon (SimpleDB). Neu ist diese Form der Datenbanken allerdings nicht, denn schon die BerkeleyDB, die z.B. von Subversion eingesetzt wird, zählt zu diese Form von Datenbanken. Bisher wurden Datenbanken dieser Art in eher technischen Anwendungsbereichen eingesetzt, wie z.B. memcached zum Clustern von Sitzungen verschiedener Applikationsserver.

Nicht jede NoSQL-Datenbank kann für jeden Zweck gebraucht werden und NoSQL-Datenbanken sind bestimmt nicht das Allheilmittel für alle Problemstellungen. Man muss sich also vor der Entscheidung, welche Datenbank man einsetzt, genau mit den Anforderungen auseinander setzen. Um einen ersten Anhaltspunkt zu bekommen, kann man NoSQL-Datenbanken in verschiedene Kategorien einteilen. Die geläufigsten sind:

  • Key-Value-Store (memcached)
  • Dokumentenorientiert (CouchDB, MongoDB)
  • Tabellenorientiert (BigTable)

Der Einsatz von NoSQL-Datenbanken findet oft dort statt, wo auf eine sehr große Anzahl von komplex strukturierten Daten zugegriffen werden muss und Eigenschaften wie Performance, Verteilbarkeit und Ausfallsicherheit wichtiger sind als Datenkonsistenz. Nach dem CAP-Theorem1 kann ein System nicht gleichzeitig diese drei Eigenschaften erfüllen:

  • Konsistenz
  • Verfügbarkeit
  • Partitionstoleranz

Dem entsprechend gibt es in MongoDB keine Transaktionen, also auch kein ACID-Prinzip. Es können jedoch bestimmte Anpassungen gemacht werden, damit Daten zu einer bestimmten Anzahl von Knoten geschrieben werden müssen um sichtbar zu sein.

Obwohl die Schulung zwar nur zwei Tage dauerte, schaffte es Brandan die comSysto-Mitarbeiter in die meisten Facetten der MongoDB einzuweihen. Unter anderem wurde behandelt:

  • Installation
  • CRUD
  • Suchen
  • Gruppieren, MapReduce
  • Indizierung, Performanzmessung und Optimierung
  • Schemadesign
  • Anbindung von Anwendungsprogrammen in Java Javascript und PHP an die MongoDB
  • Betrieb, Replikation, Sharding, Backups

ComSysto freut sich, MongoDB als sehr vielversprechende Technologie in sein Portfolio mit aufzunehmen und die Expertise der Mitarbeiter ständig zu verbessern. Dies wird u.a. auch dadurch gewährleistet, dass comSysto die neue MongoDB User Group ins Leben gerufen hat. Die Mitarbeiter freuen sich, viele interessante Vorträge über MongoDB und verwandte Themen zu hören und zu halten. Nähere Infos zur MongoDB User Group finden sich hier.

Aus unserer Sicht war die Schulung ein voller Erfolg und wir sind guter Dinge, MongoDB in unseren Projekten noch besser einzusetzen um den maximalen Benefit für unsere Kunden zu gewährleisten.

Advertisements

One thought on “comSysto wird MongoDB Spezialist

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s