In kaum einem anderen Bereich gab es in den letzten Jahren eine derartig rege Neu- und Weiterentwicklung wie bei Datenbanken. Hatte man vor einigen Jahren oft noch "seine" Datenbank, die bei jedem Projekt zum Einsatz kam, ist man heute mit einer Vielzahl an Ansätzen und Implementierungen konfrontiert.
Wir starten mit einem kurzen Blick auf den theoretischen Hintergrund von verteilten Systemen und Datenbanken im Speziellen. Anhand dessen wird dann die Unterteilung in traditionelle, relationale Datenbanken wie PostgreSQL und MySQL auf der einen, beziehungsweise den neueren NoSQL Systemen wie MongoDB, Redis, Cassandra oder ElasticSearch auf der anderen Seite klar.
Danach diskutieren wir mögliche Einsatzszenarien sowie Vor- und Nachteile einiger Datenbanken:
* Wieso SQL (wieder) in Mode ist
* Warum MongoDB's Dokumenten-Struktur so gut zur objektorientierten Programmierung passt
* Wie man mit Redis effizient Zugriffe erfassen kann
* Wieso Cassandra so skalierbar und ausfallssicher ist
* Wie Volltextsuche mit ElasticSearch funktioniert
Die richtige Wahl der Datenbank(en) wurde durch die Vielzahl an Möglichkeiten sicherlich nicht einfacher, aber dafür um so interessanter!