/ Internet / Microsoft Azure: Sieben Jahre bis zur CosmosDB

Microsoft Azure: Sieben Jahre bis zur CosmosDB

127783-139693-i_rc.jpg
Heinrich Voigts on May 12, 2017 - 8:03 pm in Internet

Die neue Azure CosmosDB hat einen langen Entwicklungsweg hinter sich. Schon 2010 wurde das Project Florence gestartet, an der auch Microsoft Research beteiligt war. Ziel war eine Datenbank, die in der Theorie überall eingesetzt werden kann und Probleme mit der weltweiten Verteilung und den damit verbundenen Latenzen abschaffen sollte. Während CosmosDB erst zur Build 2017 offiziell als Produkt angekündigt wurde, lief das Datenbankkonzept allerdings schon seit Jahren bei Microsoft intern. Und gerade bei Azure-Produkten gilt die Devise: Was Microsoft braucht, brauchen auch die Kunden des Unternehmens.

2014 wurde immerhin ein Subset von CosmosDB in Form der Azure DocumentDB gestartet, während intern die richtige Cosmos-Datenbank weiter einem Stresstest unterzogen wurde. Im Laufe der Jahre hat Microsoft CosmosDB auch bei ausgewählten Partnern eingesetzt, die selbst den Bedarf nach einer weltweiten Datenbank hatten. Diese haben ohne Öffentlichkeit wie etwa Jet.com ihre Systeme auf die neue Datenbank umgestellt. Microsoft nutzt CosmosDB längst intern für die Xbox oder Office365. Battle Testing nennt Microsoft dies.

Auch wenn die Zahlen Gutes verheißen, ganz so einfach ist es mit der CosmosDB nicht. Denn garantiert wird nur die Latenz direkt zu Datenbank. Endanwender haben mit der Anwendungs-Latenz weiter zu kämpfen, was allerdings durch ein nahes Azure-Rechenzentrum natürlich erleichtert wird, wenn sowohl Anwendung als auch CosmosDB dort verwendet werden. Als Foundation Level Dienst ist CosmosDB zudem bei jeder Neueröffnung eines Rechenzentrums automatisch dabei. Anders als es aber beispielsweise das CosmosDB-Video weismachen will, finden sich Azure Regionen bei weitem nicht überall, wie der Regionskarte zu entnehmen ist.

Ein essentieller Abgleich kann Minuten dauern

Bleiben noch physikalische Grenzen. 5 bis 15 Millisekunden für den Datenzugriff? Das funktioniert weltweit nicht, was Microsoft so auch zugab. Die Datenbanken müssen untereinander abgeglichen werden, um konsistente Daten anbieten zu können. Während Entwickler CosmosDB laut Microsoft in Bezug auf Geographie und Anzahl der Datenbankkopien eigentlich nicht besonders betrachten müssen, muss aber immerhin das Konsistenzlevel festgelegt werden. In fünf Stufen lässt sich dieses Level auswählen.

Angefangen vom besonders leistungsfähigen Level, das im Prinzip garantiert, dass die Regionsdatenbank konsistent ist, aber die Konsistenz zu anderen erst später nachgereicht wird, bis hin zum konsistenzstarken Level, das natürlich Leistung kostet, weil darauf geachtet wird, dass die Datenbanken zueinander passen. Die Synchronisation kann dabei durchaus einige wenige Minuten dauern, hängt aber von der Menge der Daten ab, so Microsoft. Das Unternehmen empfiehlt zudem die drei mittleren Konsistenzstufen. Die Außenstufen sind aber für einige Kunden mit besonderen Wünschen trotzdem vorhanden.

Wie stark die Auswirkungen von noch nicht erfolgtem Abgleich von Teilen der Daten sind, hängt auch von der Anwendung ab, die CosmosDB nutzt. Es dürfte schon helfen, dass die Datenbank grundsätzlich vor Ort schnell erreichbar ist. Zudem lassen sich Azure Regions schnell hinzuschalten. Laut Microsoft dauert es etwa eine halbe Stunde, bis eine neue Region im Betrieb ist. Zusätzlich sorgen neue Regionen für mehr Ausfallsicherheit. Die Datenbank ist mit dem Hintergedanken konzipiert worden, dass eine andere Region bei Bedarf übernehmen kann.

Einige Kunden haben den Gedanken sogar schon weiter getrieben und betreiben aktives Load Balancing. Gibt es zuviele Besucher, werden diese auf eine andere Azure-Region weitergeschickt. Laut Microsoft war das kein Designziel, funktioniert aber trotzdem.

Microsoft empfiehlt natürlich Azure-Entwicklern bei Neuentwicklungen gleich CosmosDB zu nutzen, eben nur für eine Region, die sich dann auch mit einem Klick erweitern lässt. Nur bei Problemen sollen die Entwickler dann wechseln. Davon geht Microsoft aber offensichtlich nicht aus. Die Zielgruppe sind vor allem IoT-Anwendungen, Bots und grundsätzlich alles, was global erreicht werden soll. Wobei auch schon die Zusammenfassung kleinerer Regionen als Möglichkeit besteht. Gerade in Europa und in den USA stehen zahlreiche Azure-Regionen. Dort ist allerdings die Dichte der Internetnutzer und IoT-Geräte auch sehr hoch.

Read more on: Source

Comments are disabled