Hinweis: Die aktuelle OOP-Konferenz finden Sie hier!
SIGS DATACOM Fachinformationen für IT-Professionals

COMPLEXITY:
Managing Today's Challenges

München, 03. - 07. Februar 2014

Konferenz

Jenseits von ACID - Überleben in hochskalierbaren Systemen

Datum:05.02.2014
Uhrzeit:14:30 - 15:30
Vortrag: Mi 1.3
cart
Sprecher:

Scale out, NoSQL, Cloud, BigData und Co. führen dazu, dass man immer häufiger nicht mehr mit ACID-Transaktionen, sondern mit sogenannten BASE-Transaktionen arbeiten muss. Klingt erst einmal nicht dramatisch - ist es aber! Software-Entwicklung in BASE-Systemen ist fundamental anders als in ACID-Systemen. Ignoriert man das, sind Programmabstürze und Datenfehler vorprogrammiert. In dieser Session lernen Sie anhand konkreter Beispiele, wie man in einer solchen Umgebung überlebt und mit welchen Mustern man die typischen Fallen umgeht.

Zielpublikum: Architekten, Entwickler
Voraussetzungen
: Datenbankkonzepte, ACID, BASE
Schwierigkeitsgrad: Fortgeschritten

Sie lernen:
- Herausforderungen mit BASE-Transaktionen verstehen
- Muster zum Umgang mit BASE-Systemen lernen

Ausführliche Beschreibung:
Scale-Out-Systeme sieht man immer häufiger, sei es im Kontext von Cloud, BigData und Co. oder weil sie schlicht einen vielfach besseren Business-Case als vergleichbare Scale-Up-Systeme haben. Damit verbunden sind häufig NoSQL-Datenbanken und BASE-Transaktionen. Viele Entwickler zucken da erst einmal nur mit den Schulter und denken sich "Okay, kein SQL mehr, aber sonst ändert sich nicht viel" - ein fundamentaler Fehlschluss!
BASE-Transaktionen sind "eventually consistent", also schlussendlich konsistent. Das bedeutet aber auch, dass man keine Garantie mehr hat, zu jedem Zeitpunkt eine konsistente Datensicht anzutreffen. Designed und entwickelt man seine Anwendung weiterhin, als hätte man ACID-Transaktionen, ignoriert man diesen Sachverhalten, was zwangsläufig zu Programmabstürzen und fehlerhaften Daten führen wird.
Stattdessen muss man beim Anwendungsdesign und der Entwicklung explizit vorsehen, dass Daten inkonsistent sein können und man muss dafür sorgen, dass die Anwendung ohne Fehler oder Abstürze damit umgehen kann. Das führt zu radikalen Änderungen sowohl im Datendesign als auch der Anwendungsimplementierung.
Diese Session führt kurz in die Herausforderungen von BASE-basierten Systemen ein und zeigt dann ausgehend von einer ACID-basierten Anwendung anhand von konkreten Code-Beispielen, wie man eine BASE-tolerante Anwendung designen und implementieren kann. Zusätzlich extrahieren wir auf dem Weg von der ACID- zur Base-Anwendung noch eine Reihe konkreter Muster, um die Ideen möglichst gut zu konservieren. So sollte der nächsten BASE-Anwendung nichts mehr im Wege stehen!