SlideShare ist ein Scribd-Unternehmen logo
1 von 30
Robin Sedlaczek | CTO Fairmas GmbH | .NET User Group Berlin
RobinSedlaczek Robin.Sedlaczek@live.de RobinSedlaczek.com
RobinSedlaczek
RobinSedlaczek.com
robin.sedlaczek@live.de
 Community Leader
 CTO der GmbH Berlin
 Sprecher | Autor | Blogger
[ Entwickler.de, Heise, DotNetPro, Informatik aktuell, BASTA!, .NET Summit,
ParallelCon, ADC, GUI & DESIGN, DevSpace, Spartakiade...]
 Open Source-Entwickler
[ SharpGL, Roslyn, FxCopAnalyzers, Force Feedback Programming ]
.NET User Group Berlin-Brandenburg
Fragen?
Jederzeit, immer gerne & kostenlos.
Und wahrscheinlich nicht umsonst!
Robin Sedlaczek
RobinSedlaczek
RobinSedlaczek.com
Robin.Sedlaczek@live.de
AZURE COSMOS DB
Dr. Leslie Lamport
 renomierter Wissenschaftler
 Preisträger des Turing Awards
 hatte Einfluß auf viele große
verteilte Systeme
 maßgeblich an Entwicklung
von Cosmos DB beteiligt
RobinSedlaczek
RobinSedlaczek.com
Robin.Sedlaczek@live.de
AZURE COSMOS DB
 global verteiltes Datenbanksystem
 Multi-Modell, Multi-API
 Horizontal partitioniert
 Durchsatz & Speicher über
geographische Regionen elastisch
skalierbarer
 dabei garantierte
Verfügbarkeit
 5 Konsistenzmodelle verfügbar
 vollständig automatische
Indizierung
Infoworld:
Technology of the Year Award 2017
RobinSedlaczek
RobinSedlaczek.com
Robin.Sedlaczek@live.de
AZURE COSMOS DB
RobinSedlaczek
RobinSedlaczek.com
Robin.Sedlaczek@live.de
CAP-Theorem
Robin Sedlaczek | Chief Technical Officer at Fairmas GmbH
RobinSedlaczek
RobinSedlaczek.com
Robin.Sedlaczek@live.de
CAP-THEOREM
RobinSedlaczek
RobinSedlaczek.com
Robin.Sedlaczek@live.de
CAP-THEOREM
Consistency
PartitioningAvailability
Immer erreichbar,
auch bei Netzwerkpartitionierung.
Eventuell inkonsistent.
 aka Brewer‘s Theorem
 für verteiltes DBS max. 2
Garantien gleichzeitig möglich
RobinSedlaczek
RobinSedlaczek.com
Robin.Sedlaczek@live.de
CAP-THEOREM
 Durchsatz: Konfiguration innerhalb von 5s verfügbar
 Latenz: garantiert niedrig (<10ms) in 99% aller Fälle
 Verfügbarkeit: garantiert hoch, bei 99,99%
 Konsistenz: 5 wohl-definierte Level wählbar
 SLAs für alle 4 Dimensionen1
Microsoft’s Antwort:
1 https://azure.microsoft.com/de-de/support/legal/sla/cosmos-db/v1_1/
RobinSedlaczek
RobinSedlaczek.com
Robin.Sedlaczek@live.de
Multi-Modell, Multi-API
Robin Sedlaczek | Chief Technical Officer at Fairmas GmbH
RobinSedlaczek
RobinSedlaczek.com
Robin.Sedlaczek@live.de
MULTI-MODELL, MULTI-API
Atom: basiert auf wenigen primitiven Typen:
string, bool, number...
Record: Struktur bestehend aus Atomen
Sequence: Array bestehend aus Atomen,
Records, Sequenzen
Atom-Record-Sequence (ARS)
Wie funktioniert der
Cosmos DB-Kern eigentlich?
 Kern-Datenmodel basiert auf ARS
 Daten kommen nativ in JSON
 DB-Engine kann andere
Datenmodelle effektiv auf ARS
projezieren  Multi-Modell
 auf Kern-Datenmodell kann nativ
zugegriffen werden
 durch nativen Zugriff können
andere APIs für Access & Query
implementiert werden  Multi-API
RobinSedlaczek
RobinSedlaczek.com
Robin.Sedlaczek@live.de
MULTI-MODELL, MULTI-API
API-Projektionen
 5 DBMS-APIs zur Auswahl beim Erzeugen eines Cosmos DB Accounts
 Datenmodell/APIs nach Außen, Projektion auf ARS nach Innen
DB der vielen Gesichter
 SQL
 DocumentDB
 MongoDB
 Azure Table Storage
 Gremlin Graph Query API
RobinSedlaczek
RobinSedlaczek.com
Robin.Sedlaczek@live.de
MULTI-MODELL, MULTI-API
Ressourcenmodell
 Container & Items als
spezifische Ressource
projeziert
 basierend auf API-
Selektion
RobinSedlaczek
RobinSedlaczek.com
Robin.Sedlaczek@live.de
Partitionierung, Distribution & Latenz
Robin Sedlaczek | Chief Technical Officer at Fairmas GmbH
RobinSedlaczek
RobinSedlaczek.com
Robin.Sedlaczek@live.de
PARTITIONIERUNG
 Automatische Partitionierung
der Daten basierend auf
benutzerdefinierten Key
 Partition ist kleinste Einheit als
Grundlage für Skalierung
RobinSedlaczek
RobinSedlaczek.com
Robin.Sedlaczek@live.de
PARTITIONIERUNG & REPLIKATION
 Lokale Distribution durch
Partitionierung
 Globale Distribution durch
Replikation der Partitionen in
andere Regionen (Knoten)
 Skaliert Nutzer Durchsatz und
Speicher, beginnt transparentes
Partitionsmanagement
Resource Partition Management ist vollständig
automatisiert und wurde jahrelang hoch
optimiert durch Microsoft in Cosmos DB.
RobinSedlaczek
RobinSedlaczek.com
Robin.Sedlaczek@live.de
GLOBALE DISTRIBUTION
 Cosmos DB in allen Azure-Regionen
verfügbar (30+)
 Distribution in weitere Regionen
 per Mausklick in Azure Protal
 oder programmatisch via API
 Unterscheidung Read-/Write-Regionen
 vollständig automatisiert
 jederzeit änderbar
 garantierte Betriebsaufnahme in <60 min.
 Failover-Priorisierung der Regionen
konfigurierbar
RobinSedlaczek
RobinSedlaczek.com
Robin.Sedlaczek@live.de
LATENZEN
 Latenz-Garantie für 99% aller Fälle
 per Service Level Agreements (SLAs1)
 End-to-End
 1 KB, gleiche Region  read <10ms, indexed write <15ms
 Verfügbarkeit immer von langsamer Datenbankoperation unterscheidbar
 definierte obere Grenze
 Timeout-Error wenn Operation länger dauert als Grenze
 Timeouts werden gegen Verfügbarkeits-SLA gezählt
1 https://azure.microsoft.com/de-de/support/legal/sla/cosmos-db/v1_1/
RobinSedlaczek
RobinSedlaczek.com
Robin.Sedlaczek@live.de
Konsistenzmodelle
Robin Sedlaczek | Chief Technical Officer at Fairmas GmbH
RobinSedlaczek
RobinSedlaczek.com
Robin.Sedlaczek@live.de
KONSISTENZMODELLE
 5 Konsistenzmodelle - von stark bis eventuell konsistent
 Konsistenzmodell auswählbar pro Cosmos DB Account
 kann programmatisch für Lesezugriffe überschrieben werden
 Per Service Level Agreements (SLAs1) garantiert
1 https://azure.microsoft.com/de-de/support/legal/sla/cosmos-db/v1_1/
RobinSedlaczek
RobinSedlaczek.com
Robin.Sedlaczek@live.de
KONSISTENZMODELLE
Strong
 Nur für Cosmos DB Account mit einer Region
 linearisierbare1 Garantie
 Reads sehen immer neuesten Write
 nur bestätigte und vollständige Writes
 Kosten für Read
 höher als für Session und Eventual Consistency
 gleich wie für Bounded Staleness
1 https://aphyr.com/posts/313-strong-consistency-models
RobinSedlaczek
RobinSedlaczek.com
Robin.Sedlaczek@live.de
KONSISTENZMODELLE
Bounded-staleness
 Reads max. k Versionen oder t Zeitintervalle hinter Write
 k und t konfigurierbar
 empfohlen in globalen Szenarien
 für starke Konsistenz
 99,99% Verfügbarkeit
 niedirge Latenzen
 Kosten für Read
 höher als für Session und Eventual Consistency
 gleich wie für Strong
RobinSedlaczek
RobinSedlaczek.com
Robin.Sedlaczek@live.de
KONSISTENZMODELLE
Session
 Konsistenz beschränkt auf Client-Session
 ideal für Benutzer- und Gerätesessions
 RYW  Read your own Writes
 monotonische Reads und Writes
 vorhersagbare Konsistenz pro Session bei niedriger Latenz für
Writes und Reads
 Kosten für Read
 höher als für Eventual Consistency
 niedriger als für Strong und Bounded-staleness
RobinSedlaczek
RobinSedlaczek.com
Robin.Sedlaczek@live.de
KONSISTENZMODELLE
Consistent Prefix
 Replikas in einer Gruppe konvergieren eventuell, wenn kein
weiterer Write
 Garantie
 Reads sehen Writes immer in richtiger Reihenfolge
 A, AB, ABC, niemals CBA etc.
RobinSedlaczek
RobinSedlaczek.com
Robin.Sedlaczek@live.de
KONSISTENZMODELLE
Eventual
 Replikas in einer Gruppe konvergieren eventuell, wenn kein
weiterer Write
 gelieferte Werte können älter sein, als die zuvor
 niedrigste Latenz für Reads und Writes
 Kosten für Read
 niedrigste für alle Konsistenzlevel
RobinSedlaczek
RobinSedlaczek.com
Robin.Sedlaczek@live.de
Legen wir endlich los:
Demo
Robin Sedlaczek | Chief Technical Officer at Fairmas GmbH
RobinSedlaczek
RobinSedlaczek.com
Robin.Sedlaczek@live.de
DEMO
 Azure Portal (Cosmos DB verwalten)
 Demo Table Storage
 Demo Gremlin Graph
 Visual Studio
 Demo native APIs
 Demo APIs aus SDKs/NuGets (CRUD)
 Demo Data Migration Tool (Data Load & Migration)
 Demo Offline-Entwicklung mit Emulator
 Serverless mit Functions
 Demo Performance-Messung
 Auswertung Metriken Azure Portal
RobinSedlaczek Robin.Sedlaczek@live.de RobinSedlaczek.com

Weitere ähnliche Inhalte

Ähnlich wie Alleskönner: Azure Cosmos DB - Was kann der neue Datenbank-Service von Microsoft?

Ähnlich wie Alleskönner: Azure Cosmos DB - Was kann der neue Datenbank-Service von Microsoft? (20)

Architekturen für .NET Core-Anwendungen
Architekturen für .NET Core-AnwendungenArchitekturen für .NET Core-Anwendungen
Architekturen für .NET Core-Anwendungen
 
#ADC 2016 - Roslyn & Visual Studio Extensions
#ADC 2016 - Roslyn & Visual Studio Extensions#ADC 2016 - Roslyn & Visual Studio Extensions
#ADC 2016 - Roslyn & Visual Studio Extensions
 
SQL oder NoSQL - Die Auswahl der richtigen Datenbankplattform für die Cloud
SQL oder NoSQL - Die Auswahl der richtigen Datenbankplattform für die CloudSQL oder NoSQL - Die Auswahl der richtigen Datenbankplattform für die Cloud
SQL oder NoSQL - Die Auswahl der richtigen Datenbankplattform für die Cloud
 
.NET Core Architecture (UI)
.NET Core Architecture (UI).NET Core Architecture (UI)
.NET Core Architecture (UI)
 
Dream-Team: Roslyn & Visual Studio Extensions
Dream-Team: Roslyn & Visual Studio ExtensionsDream-Team: Roslyn & Visual Studio Extensions
Dream-Team: Roslyn & Visual Studio Extensions
 
DNUGBB 2017 - .Net, .Net Core, .Net Standard
DNUGBB 2017 - .Net, .Net Core, .Net StandardDNUGBB 2017 - .Net, .Net Core, .Net Standard
DNUGBB 2017 - .Net, .Net Core, .Net Standard
 
Magdeburger Developer Days 2018 - Warum warten auf die IDE?
Magdeburger Developer Days 2018 - Warum warten auf die IDE?Magdeburger Developer Days 2018 - Warum warten auf die IDE?
Magdeburger Developer Days 2018 - Warum warten auf die IDE?
 
Erweitern sie ihr Data Center mit Cloud Services
Erweitern sie ihr Data Center mit Cloud ServicesErweitern sie ihr Data Center mit Cloud Services
Erweitern sie ihr Data Center mit Cloud Services
 
BASTA! 2017 Jubiläumskonferenz - CUIs & The Microsoft Bot Framework
BASTA! 2017 Jubiläumskonferenz - CUIs & The Microsoft Bot FrameworkBASTA! 2017 Jubiläumskonferenz - CUIs & The Microsoft Bot Framework
BASTA! 2017 Jubiläumskonferenz - CUIs & The Microsoft Bot Framework
 
BASTA! Spring: Roslyn - Refactorings, Analyzer und Code Fixes selbst gebaut
BASTA! Spring: Roslyn - Refactorings, Analyzer und Code Fixes selbst gebautBASTA! Spring: Roslyn - Refactorings, Analyzer und Code Fixes selbst gebaut
BASTA! Spring: Roslyn - Refactorings, Analyzer und Code Fixes selbst gebaut
 
Developer Week 2019: Architekturen für .NET Core-Anwendungen
Developer Week 2019: Architekturen für .NET Core-AnwendungenDeveloper Week 2019: Architekturen für .NET Core-Anwendungen
Developer Week 2019: Architekturen für .NET Core-Anwendungen
 
mongoDB im Einsatz - Grundlagen
mongoDB im Einsatz - GrundlagenmongoDB im Einsatz - Grundlagen
mongoDB im Einsatz - Grundlagen
 
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
 
Cloud Architekturen - von "less Server" zu Serverless
Cloud Architekturen - von "less Server" zu ServerlessCloud Architekturen - von "less Server" zu Serverless
Cloud Architekturen - von "less Server" zu Serverless
 
Agile Softwareentwicklung mit Rails
Agile Softwareentwicklung mit RailsAgile Softwareentwicklung mit Rails
Agile Softwareentwicklung mit Rails
 
Amazon Redshift
Amazon RedshiftAmazon Redshift
Amazon Redshift
 
BASTA! Spring 2017 - C# Script in Action
BASTA! Spring 2017 - C# Script in ActionBASTA! Spring 2017 - C# Script in Action
BASTA! Spring 2017 - C# Script in Action
 
Daos
DaosDaos
Daos
 
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die CloudFrom Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
From Zero to still Zero: Die schönsten Fehler auf dem Weg in die Cloud
 
Developer Week 2019: .NET, .NET Core und .NET Standard - Ein Richtungskompass
Developer Week 2019: .NET, .NET Core und .NET Standard - Ein RichtungskompassDeveloper Week 2019: .NET, .NET Core und .NET Standard - Ein Richtungskompass
Developer Week 2019: .NET, .NET Core und .NET Standard - Ein Richtungskompass
 

Mehr von Robin Sedlaczek

Mehr von Robin Sedlaczek (11)

Magdeburger Developer Days 2018 - Das perfekte Anwendungsmodell
Magdeburger Developer Days 2018 - Das perfekte AnwendungsmodellMagdeburger Developer Days 2018 - Das perfekte Anwendungsmodell
Magdeburger Developer Days 2018 - Das perfekte Anwendungsmodell
 
GUI & DESIGN 2017 - Das perfekte Anwendungsmodell. UIs für jedes Device!
GUI & DESIGN 2017 - Das perfekte Anwendungsmodell. UIs für jedes Device!GUI & DESIGN 2017 - Das perfekte Anwendungsmodell. UIs für jedes Device!
GUI & DESIGN 2017 - Das perfekte Anwendungsmodell. UIs für jedes Device!
 
BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?
BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?
BASTA! 2017 Jubiläumskonferenz - Warum warten auf die IDE!?
 
ADC Core 2017 - Warum warten auf die IDE?
ADC Core 2017 - Warum warten auf die IDE?ADC Core 2017 - Warum warten auf die IDE?
ADC Core 2017 - Warum warten auf die IDE?
 
.NET Summit 2017 - .NET, .NET Core, .NET Standard
.NET Summit 2017 - .NET, .NET Core, .NET Standard.NET Summit 2017 - .NET, .NET Core, .NET Standard
.NET Summit 2017 - .NET, .NET Core, .NET Standard
 
#DNUG Berlin-Brandenburg - Conversational User Interfaces (CUIs) und das Micr...
#DNUG Berlin-Brandenburg - Conversational User Interfaces (CUIs) und das Micr...#DNUG Berlin-Brandenburg - Conversational User Interfaces (CUIs) und das Micr...
#DNUG Berlin-Brandenburg - Conversational User Interfaces (CUIs) und das Micr...
 
#ADC 2016 - C# Script in Action
#ADC 2016 - C# Script in Action#ADC 2016 - C# Script in Action
#ADC 2016 - C# Script in Action
 
#ADC 2016 - Conversational User Interfaces
#ADC 2016 - Conversational User Interfaces#ADC 2016 - Conversational User Interfaces
#ADC 2016 - Conversational User Interfaces
 
Roslyn - Ein offener Compiler. Ja, und nun?
Roslyn - Ein offener Compiler. Ja, und nun?Roslyn - Ein offener Compiler. Ja, und nun?
Roslyn - Ein offener Compiler. Ja, und nun?
 
#SpeakRoslyn - Die Microsoft .NET Compiler Plattform
#SpeakRoslyn - Die Microsoft .NET Compiler Plattform#SpeakRoslyn - Die Microsoft .NET Compiler Plattform
#SpeakRoslyn - Die Microsoft .NET Compiler Plattform
 
Code Reviews - Best Practices
Code Reviews - Best PracticesCode Reviews - Best Practices
Code Reviews - Best Practices
 

Alleskönner: Azure Cosmos DB - Was kann der neue Datenbank-Service von Microsoft?

Hinweis der Redaktion

  1. 1
  2. 7
  3. Durchsatz: auf eine Region bezogen Latenz: <10ms, 1 KB, Read, same Region. Indexed Write <15ms. Average <5ms.
  4. 11
  5. 15
  6. 20
  7. 27
  8. 30