jean-luc boucho - azure documentdb - global azure bootcamp 2016 paris
TRANSCRIPT
![Page 1: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris](https://reader031.vdocuments.net/reader031/viewer/2022030402/586fb54f1a28abe57d8b7557/html5/thumbnails/1.jpg)
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE1
Azure DocumentDB
Jean-Luc BOUCHOArchitecte, Manager @JeanLucBoucho
![Page 2: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris](https://reader031.vdocuments.net/reader031/viewer/2022030402/586fb54f1a28abe57d8b7557/html5/thumbnails/2.jpg)
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
ORGANISATION GAB 2016
SPONSORS LOCAUX
2
![Page 3: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris](https://reader031.vdocuments.net/reader031/viewer/2022030402/586fb54f1a28abe57d8b7557/html5/thumbnails/3.jpg)
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
• NoSQL
• DocumentDB– Introduction
– Fonctions avancées
– Performance
– Sécurité
SOMMAIRE
3
![Page 4: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris](https://reader031.vdocuments.net/reader031/viewer/2022030402/586fb54f1a28abe57d8b7557/html5/thumbnails/4.jpg)
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
La base du noSQL
Shard 1 Shard 2 Shard 3
Sharded Database
Adam
Andrew
Anusha
Bertrand
Bill
Carl
Catherine
Cynthia
Relational Database
Adam Andrew
Anusha Bertrand
Bill
Carl
Catherine
Cynthia
Une transaction ne peut s’étendre
que dans un seul shard
![Page 5: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris](https://reader031.vdocuments.net/reader031/viewer/2022030402/586fb54f1a28abe57d8b7557/html5/thumbnails/5.jpg)
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
• Key/value database
Les familles de bases de données noSQL
![Page 6: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris](https://reader031.vdocuments.net/reader031/viewer/2022030402/586fb54f1a28abe57d8b7557/html5/thumbnails/6.jpg)
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
• Column Family Stores
Les familles de bases de données noSQL
Column Family
Row 1
Row KeyColumn1
Name1: Value1
ColumnN
NameN: ValueN
Row N
Row KeyColumn2
Name2: Value2
ColumnN
NameN: ValueN
![Page 7: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris](https://reader031.vdocuments.net/reader031/viewer/2022030402/586fb54f1a28abe57d8b7557/html5/thumbnails/7.jpg)
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
• Document database
Les familles de bases de données noSQL
Document
Articles
Title Comment
CommentURL
Title CommentAuthor
URL Author
Author
![Page 8: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris](https://reader031.vdocuments.net/reader031/viewer/2022030402/586fb54f1a28abe57d8b7557/html5/thumbnails/8.jpg)
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
• Graph database
Les familles de bases de données noSQL
John
Eddie
Karlmanages
manages
reports_for_project
![Page 9: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris](https://reader031.vdocuments.net/reader031/viewer/2022030402/586fb54f1a28abe57d8b7557/html5/thumbnails/9.jpg)
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
« Azure DocumentDB is a NoSQL document
database managed service designed for high
performance, scalability and flexibility. »
Azure DocumentDB
![Page 10: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris](https://reader031.vdocuments.net/reader031/viewer/2022030402/586fb54f1a28abe57d8b7557/html5/thumbnails/10.jpg)
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
Document database
• JSON- Un format standard cross plateforme
• Valeurs JSON- « Self-describing », « self-contained »
- Pas de comportement, d’héritage, de
règles…
- Sérialisable facilement
• Schéma- Pas de schéma mais requêtable
{“locations”:[
{“country”: “Germany”, “city”: “Berlin”},{“country”: “France”, “city”: “Paris”},
],“headquarter”: “Belgium”,“exports”:[{“city”; “Moscow”},{“city: ”Athens”}]
};
JSON document as tree
Locations Headquarter
Belgium
Country City Country City
Germany Berlin France Paris
Exports
CityCity
Moscow Athens
0 10 1
![Page 11: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris](https://reader031.vdocuments.net/reader031/viewer/2022030402/586fb54f1a28abe57d8b7557/html5/thumbnails/11.jpg)
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
Hiérarchie
![Page 12: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris](https://reader031.vdocuments.net/reader031/viewer/2022030402/586fb54f1a28abe57d8b7557/html5/thumbnails/12.jpg)
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
Requêtage
![Page 13: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris](https://reader031.vdocuments.net/reader031/viewer/2022030402/586fb54f1a28abe57d8b7557/html5/thumbnails/13.jpg)
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
• Pièces jointes– Propriétés : id, contentType, media (url)
– Contenu stocké par DocumentDB ou non (OneDrive, Dropbox...)
• Code serveur (JavaScript)– Procédures Stockées
– Fonctions Utilisateurs (UDFs)
– Déclencheurs (non automatiques !)
Fonctions avancées
x-ms-documentdb-pre-trigger-include
x-ms-documentdb-post-trigger-include
![Page 14: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris](https://reader031.vdocuments.net/reader031/viewer/2022030402/586fb54f1a28abe57d8b7557/html5/thumbnails/14.jpg)
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
• Pricing
– Séparation throughput et volume
de stockage
– Incréments plus fins
• Collection partitionnée
• Global databases (geo-
réplication) (preview)
• Support MongoDB API (preview)
//BUILD 2016
14
![Page 15: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris](https://reader031.vdocuments.net/reader031/viewer/2022030402/586fb54f1a28abe57d8b7557/html5/thumbnails/15.jpg)
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
Tarification
15
![Page 16: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris](https://reader031.vdocuments.net/reader031/viewer/2022030402/586fb54f1a28abe57d8b7557/html5/thumbnails/16.jpg)
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE16
![Page 17: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris](https://reader031.vdocuments.net/reader031/viewer/2022030402/586fb54f1a28abe57d8b7557/html5/thumbnails/17.jpg)
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
Syntaxe
Requêtes
SQL…
![Page 18: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris](https://reader031.vdocuments.net/reader031/viewer/2022030402/586fb54f1a28abe57d8b7557/html5/thumbnails/18.jpg)
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
Syntaxe
Requêtes
SQL
![Page 19: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris](https://reader031.vdocuments.net/reader031/viewer/2022030402/586fb54f1a28abe57d8b7557/html5/thumbnails/19.jpg)
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
• Cohérence– Base / collection / requête
– Niveaux
1. Forte
2. Obsolescence limitée
3. Session (par défaut)
4. Eventuelle
• Transaction multi-documents– Via le code serveur
– L’instruction throw annule la transaction
Cohérence & Transaction
Writes Reads
Strong Sync quorum writes Quorum reads
Bounded Async replication Quorum reads
Session Async replication Session bound replica
Eventual Async replication Any replica
x-ms-consistency-level
![Page 20: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris](https://reader031.vdocuments.net/reader031/viewer/2022030402/586fb54f1a28abe57d8b7557/html5/thumbnails/20.jpg)
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
• Modélisation– Documents : normalisé / dénormalisé, taille…
– Partitionnement multi-collections: cf SDK (PartitionResolvers Hash/Range/Lookup)
• Index– Automatic ou Manuel
– Consistent (sync) ou Lazy (async -> pour les Batchs, impacte la cohérence)
– Include/Exclude Path : Hash, Range, Geospatial
• Request Units (RUs)– Effort pour traiter une requête (mixe CPU, IO & RAM)
– Niveaux de Perfs : S1 (250 RUs/sec), S2 (1000 RUs/sec), S3 (2500 RUs/sec)
• Surveillance– Métriques & alertes
Performance
x-ms-request-charge
![Page 21: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris](https://reader031.vdocuments.net/reader031/viewer/2022030402/586fb54f1a28abe57d8b7557/html5/thumbnails/21.jpg)
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
Coût RU des opérations
![Page 22: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris](https://reader031.vdocuments.net/reader031/viewer/2022030402/586fb54f1a28abe57d8b7557/html5/thumbnails/22.jpg)
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
• Clés d’accès (256-bit)– Clés maîtres : primaire, secondaire
– Deux jeux de clés : accès total, lecture seule
• Utilisateurs & Permissions– Utilisateurs : définis au niveau base
– Droits (Mode) : All, Read
– Permission unique: Utilisateur – Droit – Collection/doc (_rid)
Sécurité
![Page 23: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris](https://reader031.vdocuments.net/reader031/viewer/2022030402/586fb54f1a28abe57d8b7557/html5/thumbnails/23.jpg)
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
• "DocumentDB Data Migration Tool"
Migration & Backup
![Page 24: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris](https://reader031.vdocuments.net/reader031/viewer/2022030402/586fb54f1a28abe57d8b7557/html5/thumbnails/24.jpg)
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
• Intégration– PowerBI
– Hadoop
– Azure Stream Analytics
– Azure Search
– Azure Data Factory
• Liens– Feedback : http://aka.ms/documentdb-uservoice
– Découverte : http://aka.ms/docdbplayground
– MVA : https://mva.microsoft.com/en-US/training-courses/developing-solutions-with-
azure-documentdb-10554
Pour finir
![Page 25: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris](https://reader031.vdocuments.net/reader031/viewer/2022030402/586fb54f1a28abe57d8b7557/html5/thumbnails/25.jpg)
Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE
ORGANISATION GAB 2016
SPONSORS LOCAUX
25