MySQL Galera Cluster

Galera Cluster für MySQL bietet eine unkomplizierte Lösung für die Hochverfügbarkeitsanforderungen und das Skalieren von MySQL Anfragen.
Er ist ein synchroner Replikationscluster basierend auf der InnoDB-Storage-Engine, wodurch die Slaves nicht hinterherhinken und keine Transaktionen verloren gehen können.
Galera verwendet eine echte Aktiv/Aktiv-Multi-Master-Topologie. Das bedeutet, dass der Cluster gleichzeitig von allen Knoten lesen und auf alle Knoten schreiben kann. Sobald ein Knoten aus dem Cluster fällt, merken dies die anderen Knoten automatisch. Kommt ein neuer Knoten zum Cluster hinzu, wird er automatisch in den Cluster aufgenommen und synchronisiert sich.
Im Gegensatz zur Master-/Slave-Replikation und darauf aufbauenden Lösungen kann der Galera Cluster parallel auf Zeilenebene replizieren. Damit erzielt er ein mehrfaches an Durchsatz, verglichen mit der MySQL-Master-/Slave-Replikation. Der Schreibdurchsatz skaliert in einem gewissen Rahmen, die Lese-Zugriffe beliebig mit der Anzahl der Cluster-Knoten.
Bei SCHub wird die Variante von Percona eingesetzt, die auch gleichzeitig eine bewährte Backup-Lösung mitbringt und stellt Datenspeicherdienste für fast alle anderen Komponenten bereit.

neo4j

Neo4j

Neo4j ist die weltweit führende Open Source Graphdatenbank. Sie wurde von Grund auf für die extrem schnelle Beantwortung von verbundenen Abfragen entwickelt und ist dabei um Größenordnungen schneller als SQL. Damit gehören langsame Anwendungen aufgrund komplexer SQL Joins der Vergangenheit an, auch wenn die Datenmenge wächst. Bei Neo4j bleiben die Antwortzeiten nahezu konstant und komplexe hierarchische Datenstrukturen können problemlos verarbeiten werden.
Neo4j wurde auf Anhieb im Gartner Magic Quadrant for Operational Database Management Systems gelistet, nachdem dieser für Graphdatenbanken geöffnet wurde.
Für SCHub wird Neo4j als Backend für Apache Shindig verwendet, da sich eine Graphdatenbank für die stark verbundenen Daten in sozialen Netzwerken geradezu aufdrängt.

dovecot

Dovecot und Postfix

Der vergleichsweise junge IMAP-Server Dovecot (zu Deutsch “Taubenschlag”) wird von Timo Sirainen seit 2002 als moderne Alternative zu Courier-IMAP mit besonderem Fokus auf Sicherheit entwickelt. Seit der Version 1.0 aus dem Jahr 2007 hat Dovecot den Ruf als derzeit bester und vor allem sicherster IMAP-Server. Dies macht sich auch in einem immer noch steigenden Marktanteil von über 50% bezahlt.

Dovecot ist funktional voll kompatibel zu Courier IMAP, unterstützt ebenfalls die Mailbox-Formate Mbox und Maildir, ist aber unter anderem dank einer Eigenentwicklung für transaktionsorientierte Indizes deutlich ressourcenschonender als Courier. Damit spielt Dovecot in Sachen Performance mindestens in der gleichen Liga wie Cyrus und unterstützt wie dieser ebenfalls einen Proxy-Modus, mit dessen Hilfe er Last auf andere Server verteilen kann. Außerdem kann Dovecot seinen Mail-Store auch auf einem NFS-Share oder neuerdings in einem Amazon S3-kompatiblen Objectstore ablegen.

Während Dovecot IMAP und POP3 Funktionalität bereitstellt fungiert Postfix als MTA und SMTP-Server. Postfix wurde von Wietse Venema entwickelt und erblickte im Rahmen eines Projekts von IBM Research als Alternative zu dem verbreiteten Sendmail das Licht der Welt. Postfix will schnell, einfach zu verwalten und sicher sein. Nach außen ist er sehr ähnlich zu Sendmail, ist aber intern komplett anders aufgebaut. Die Kombination Postfix und Dovecot bewährt sich seit einigen Jahren als sichere und schnelle Basis für einen zeitgemäßen Mailserver und wird bei SCHub als Backend für OX eingesetzt.

OpenLDAP

OpenLDAP

Das OpenLDAP Projekt ist eine gemeinsame Bemühung eine robuste, für gewerblichen Einsatz geeignete mit allen relevanten Funktionen ausgestattete Open Source LDAP Suite zu entwickeln. Das Projekt wird von einer weltweiten Community von Freiwilligen getragen und stellt die Referenzimplementierung des Lightweight Directory Access Protocol (LDAP) dar.
Aufgrund seiner weiten Verbreitung und Stabilität (die aktuelle Version 2.4 gibt es schon seit 2008, sie liegt allerdings mittlerweile in Version 2.4.40 vor) und seiner guten Integration in den ebenfalls verwendeten Univention Corporate Server verwenden wir OpenLDAP im Projekt SCHub, obwohl es eine der wenigen Komponenten ist, die nicht in Java geschrieben wurde und mit ApacheDS eine funktional gleichwertige oder sogar überlegene Java-basierte Lösung verfügbar ist. Gemäß dem polyglotten Prinzip der Microservices haben wir uns jedoch nicht einem übertriebenen Vereinheitlichungsfimmel hingegeben und gegen ApacheDS entschieden, da wir keine LDAP Erweiterungen programmieren müssen und die verwendete Programmiersprache daher eine untergeordnete Rolle spielt.