Filed under NoSQL

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.

Munich MongoDB User Group: First Meetup

You are invited to the First Meetup Munich MongoDB User Group!

Date: 6/28/2011
Time: Starting 7pm
Who: Brendan McAdams, 10gen Corp.
Subject: „A MongoDB Tour for the Experienced and Newbie Alike“
Location: Münchner Technologiezentrum, comSysto GmbH, Agnes-Pockels-Bogen 1, D – 80992 Munich
http://www.comsysto.com/
http://twitter.com/#!/comsysto

A Few Facts on MongoDB:
„MongoDB is an open source, document-oriented database designed with both scalability and developer agility in mind. Instead of storing your data in tables and rows as you would with a relational database, in MongoDB you store JSON-like documents with dynamic schemas. The goal of MongoDB is to bridge the gap between key-value stores (which are fast and scalable) and relational databases (which have rich functionality).
Using BSON (binary JSON), developers can easily map to modern object-oriented languages without a complicated ORM layer. This new data model simplifies coding significantly, and also improves performance by grouping relevant data together internally.
MongoDB was created by former DoubleClick Founder and CTO Dwight Merriman and former DoubleClick engineer and ShopWiki Founder and CTO Eliot Horowitz. They drew upon their experiences building large scale, high availability, robust systems to create a new kind of database. MongoDB maintains many of the great features of a relational database — like indexes and dynamic queries. But by changing the data model from relational to document-oriented, you gain many advantages, including greater agility through flexible schemas and easier horizontal scalability.“

Do you want to learn more about MongoDB? Then please register via
http://www.meetup.com/Munchen-MongoDB-User-Group/
or
https://www.xing.com/events/munich-mongodb-user-group-meetup-781984
and give us a visit! The number of participants is unfortunately limited to 50.

For any further information please contact Matija Gasparevic/office@comsysto.com/

Follow

Get every new post delivered to your Inbox.