Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

125 views

Published on

Slides from my session about Azure Cosmos DB at the BASTA! Spring 2018 conference in Frankfurt. It gives a brief introduction into Cosmos DB. In the live demo, I showed Azure Cosmos DB in action.

Published in: Software
  • Be the first to comment

  • Be the first to like this

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

  1. 1. Robin Sedlaczek | CTO Fairmas GmbH | .NET User Group Berlin RobinSedlaczek Robin.Sedlaczek@live.de RobinSedlaczek.com
  2. 2. 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
  3. 3. 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
  4. 4. 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
  5. 5. RobinSedlaczek RobinSedlaczek.com Robin.Sedlaczek@live.de AZURE COSMOS DB
  6. 6. RobinSedlaczek RobinSedlaczek.com Robin.Sedlaczek@live.de CAP-Theorem Robin Sedlaczek | Chief Technical Officer at Fairmas GmbH
  7. 7. RobinSedlaczek RobinSedlaczek.com Robin.Sedlaczek@live.de CAP-THEOREM
  8. 8. 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
  9. 9. 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/
  10. 10. RobinSedlaczek RobinSedlaczek.com Robin.Sedlaczek@live.de Multi-Modell, Multi-API Robin Sedlaczek | Chief Technical Officer at Fairmas GmbH
  11. 11. 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
  12. 12. 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
  13. 13. RobinSedlaczek RobinSedlaczek.com Robin.Sedlaczek@live.de MULTI-MODELL, MULTI-API Ressourcenmodell  Container & Items als spezifische Ressource projeziert  basierend auf API- Selektion
  14. 14. RobinSedlaczek RobinSedlaczek.com Robin.Sedlaczek@live.de Partitionierung, Distribution & Latenz Robin Sedlaczek | Chief Technical Officer at Fairmas GmbH
  15. 15. 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
  16. 16. 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.
  17. 17. 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
  18. 18. 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/
  19. 19. RobinSedlaczek RobinSedlaczek.com Robin.Sedlaczek@live.de Konsistenzmodelle Robin Sedlaczek | Chief Technical Officer at Fairmas GmbH
  20. 20. 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/
  21. 21. 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
  22. 22. 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
  23. 23. 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
  24. 24. 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.
  25. 25. 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
  26. 26. RobinSedlaczek RobinSedlaczek.com Robin.Sedlaczek@live.de Legen wir endlich los: Demo Robin Sedlaczek | Chief Technical Officer at Fairmas GmbH
  27. 27. 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
  28. 28. RobinSedlaczek Robin.Sedlaczek@live.de RobinSedlaczek.com

×