jean-luc boucho - azure documentdb - global azure bootcamp 2016 paris

25
Global Azure Bootcamp #GlobalAzure @AZUGFR PARIS - FRANCE 1 Azure DocumentDB Jean-Luc BOUCHO Architecte, Manager @JeanLucBoucho

Upload: azug-fr

Post on 24-Jan-2018

153 views

Category:

Leadership & Management


1 download

TRANSCRIPT

Page 1: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris

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

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

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

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

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

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

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

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

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

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

Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE

Hiérarchie

Page 12: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris

Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE

Requêtage

Page 13: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris

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

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

Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE

Tarification

15

Page 16: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris

Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE16

Page 17: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris

Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE

Syntaxe

Requêtes

SQL…

Page 18: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris

Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE

Syntaxe

Requêtes

SQL

Page 19: Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris

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

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

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

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

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

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

Global Azure Bootcamp#GlobalAzure @AZUGFR PARIS - FRANCE

ORGANISATION GAB 2016

SPONSORS LOCAUX

25