SlideShare une entreprise Scribd logo
1  sur  29
#JSS2015
Les journées
SQL Server 2015
Un événement organisé par GUSS
@GUSS_FRANCE
#JSS2015
Les journées
SQL Server 2015
Un événement organisé par GUSS
DocumentDB & NoSQL
Jean-Luc Boucho
Architecte, Infosys
MVP Azure @JeanLucBoucho
Benjamin Talmard
Technical Evangelist Azure, Microsoft
@Benjiiim
#JSS2015
Merci à nos sponsors
#JSS2015
La communauté Data & BI Microsoft
Webcasts, Conférences, Afterworks
http://GUSS.pro
Session donnée pour
@GUSS_FRANCE
/GUSS
/GUSS.FR
#JSS2015
Les journées
SQL Server 2015
#JSS2015
AZUGFR
Azure User Group France, Communauté
Microsoft Azure francophone.
Echange de conseils techniques, et de retour
d'expériences autour de la plateforme de cloud
computing de Microsoft.
16 Avril
#JSS2015
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
#JSS2015
Les familles de bases de données noSQL
• Key/value database
#JSS2015
Les familles de bases de données noSQL
• Column Family Stores
Column Family
Row 1
Row Key
Column1
Name1: Value1
ColumnN
NameN: ValueN
Row N
Row Key
Column2
Name2: Value2
ColumnN
NameN: ValueN
#JSS2015
Les familles de bases de données noSQL
• Document database
Document
Articles
Title Comment
CommentURL
Title CommentAuthor
URL Author
Author
#JSS2015
Les familles de bases de données noSQL
• Graph Databases
John
Eddie
Karl
manages
manages
reports_for_project
#JSS2015
Azure DocumentDB
« Azure DocumentDB is a NoSQL document
database managed service designed for high
performance, scalability and flexibility. »
#JSS2015
Azure DocumentDB customers
#JSS2015
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
#JSS2015
Le requêtage
#JSS2015
La hiérarchie
#JSS2015
Azure DocumentDB
Démo
#JSS2015
• "DocumentDB Data Migration Tool"
Migration & Backup
#JSS2015
• 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 !)
Objets avancés
x-ms-documentdb-pre-trigger-include
x-ms-documentdb-post-trigger-include
#JSS2015
Syntaxe
Requêtes
SQL…
#JSS2015
Syntaxe
Requêtes
SQL
#JSS2015
• 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
#JSS2015
• 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
#JSS2015
Coût RU des opérations
#JSS2015
• 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é
#JSS2015
• Intégration
– PowerBI
– Hadoop
– Azure Stream Analytics
– Azure Search
– Azure Data Factory
• Futur
– http://aka.ms/documentdb-uservoice
• Ressources
– Découverte - http://aka.ms/docdbplayground
– MVA - https://mva.microsoft.com/en-US/training-courses/developing-solutions-
with-azure-documentdb-10554
Pour finir
#JSS2015
Azure DocumentDB
Questions ?
#JSS2015#JSS2015
Les évaluations des sessions,
c’est important !!
http://GUSS.Pro/jss
#JSS2015
Merci à nos volontaires…
#JSS2015#JSS2015

Contenu connexe

Tendances

JSS2014 – Industrialisation de l’audit MSSQL
JSS2014 – Industrialisation de l’audit MSSQLJSS2014 – Industrialisation de l’audit MSSQL
JSS2014 – Industrialisation de l’audit MSSQLGUSS
 
Comment intégrer une application ASP.NET dans Windows Azure
Comment intégrer une application ASP.NET dans Windows AzureComment intégrer une application ASP.NET dans Windows Azure
Comment intégrer une application ASP.NET dans Windows AzureMicrosoft Technet France
 
GAB 2015 - Nouveautes sur le stockage de donnees dans Azure
GAB 2015  - Nouveautes sur le stockage de donnees dans AzureGAB 2015  - Nouveautes sur le stockage de donnees dans Azure
GAB 2015 - Nouveautes sur le stockage de donnees dans AzureJean-Luc Boucho
 
Windows Azure Active Directory, SSO étendu et services d’annuaire pour les ap...
Windows Azure Active Directory, SSO étendu et services d’annuaire pour les ap...Windows Azure Active Directory, SSO étendu et services d’annuaire pour les ap...
Windows Azure Active Directory, SSO étendu et services d’annuaire pour les ap...Microsoft Technet France
 
myLittleAdmin and myLittleBackup Presentation
myLittleAdmin and myLittleBackup PresentationmyLittleAdmin and myLittleBackup Presentation
myLittleAdmin and myLittleBackup PresentationElian Chrebor
 
Sql Server Reporting Services
Sql Server Reporting ServicesSql Server Reporting Services
Sql Server Reporting ServicesBrahim Belghmi
 
Haute disponibilité et Reprise sur Incident en SharePoint 2013 Journées SQL S...
Haute disponibilité et Reprise sur Incident en SharePoint 2013 Journées SQL S...Haute disponibilité et Reprise sur Incident en SharePoint 2013 Journées SQL S...
Haute disponibilité et Reprise sur Incident en SharePoint 2013 Journées SQL S...serge luca
 
Premiers pas avec Microsoft Azure Search
Premiers pas avec Microsoft Azure SearchPremiers pas avec Microsoft Azure Search
Premiers pas avec Microsoft Azure SearchMCKLMT
 
Tp Sql Server Integration Services 2008
Tp  Sql Server Integration Services  2008Tp  Sql Server Integration Services  2008
Tp Sql Server Integration Services 2008Abdelouahed Abdou
 
Mise en place d'une usine logicielle avec TFS et Test Manager 2010
Mise en place d'une usine logicielle avec TFS et Test Manager 2010Mise en place d'une usine logicielle avec TFS et Test Manager 2010
Mise en place d'une usine logicielle avec TFS et Test Manager 2010Microsoft Technet France
 
Panorama des offres NoSQL disponibles dans Azure
Panorama des offres NoSQL disponibles dans AzurePanorama des offres NoSQL disponibles dans Azure
Panorama des offres NoSQL disponibles dans AzureMicrosoft Décideurs IT
 
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
[JSS2015] Azure SQL Data Warehouse - Azure Data LakeGUSS
 
Guss sql IaaS PaaS 20131202
Guss sql IaaS PaaS 20131202Guss sql IaaS PaaS 20131202
Guss sql IaaS PaaS 20131202Julien Plée
 
Hi-Media Couchbase meetup Paris Nb #1
Hi-Media Couchbase meetup Paris Nb #1Hi-Media Couchbase meetup Paris Nb #1
Hi-Media Couchbase meetup Paris Nb #1Mickaël Le Baillif
 
SQL Azure, la base de données dans le cloud
SQL Azure, la base de données dans le cloudSQL Azure, la base de données dans le cloud
SQL Azure, la base de données dans le cloudMicrosoft Technet France
 
[DevTestday] Continuous Delivery d'une Infra Dev/Test Azure - Olivier Delmotte
[DevTestday] Continuous Delivery d'une Infra Dev/Test Azure - Olivier Delmotte[DevTestday] Continuous Delivery d'une Infra Dev/Test Azure - Olivier Delmotte
[DevTestday] Continuous Delivery d'une Infra Dev/Test Azure - Olivier DelmotteCellenza
 
Cloud et BI, quelle architecture pour 2014 ?
Cloud et BI, quelle architecture pour 2014 ?Cloud et BI, quelle architecture pour 2014 ?
Cloud et BI, quelle architecture pour 2014 ?Jean-Pierre Riehl
 

Tendances (20)

JSS2014 – Industrialisation de l’audit MSSQL
JSS2014 – Industrialisation de l’audit MSSQLJSS2014 – Industrialisation de l’audit MSSQL
JSS2014 – Industrialisation de l’audit MSSQL
 
Comment intégrer une application ASP.NET dans Windows Azure
Comment intégrer une application ASP.NET dans Windows AzureComment intégrer une application ASP.NET dans Windows Azure
Comment intégrer une application ASP.NET dans Windows Azure
 
GAB 2015 - Nouveautes sur le stockage de donnees dans Azure
GAB 2015  - Nouveautes sur le stockage de donnees dans AzureGAB 2015  - Nouveautes sur le stockage de donnees dans Azure
GAB 2015 - Nouveautes sur le stockage de donnees dans Azure
 
Windows Azure Active Directory, SSO étendu et services d’annuaire pour les ap...
Windows Azure Active Directory, SSO étendu et services d’annuaire pour les ap...Windows Azure Active Directory, SSO étendu et services d’annuaire pour les ap...
Windows Azure Active Directory, SSO étendu et services d’annuaire pour les ap...
 
myLittleAdmin and myLittleBackup Presentation
myLittleAdmin and myLittleBackup PresentationmyLittleAdmin and myLittleBackup Presentation
myLittleAdmin and myLittleBackup Presentation
 
Sql Server Reporting Services
Sql Server Reporting ServicesSql Server Reporting Services
Sql Server Reporting Services
 
Haute disponibilité et Reprise sur Incident en SharePoint 2013 Journées SQL S...
Haute disponibilité et Reprise sur Incident en SharePoint 2013 Journées SQL S...Haute disponibilité et Reprise sur Incident en SharePoint 2013 Journées SQL S...
Haute disponibilité et Reprise sur Incident en SharePoint 2013 Journées SQL S...
 
SQL in the Azure World
SQL in the Azure WorldSQL in the Azure World
SQL in the Azure World
 
Premiers pas avec Microsoft Azure Search
Premiers pas avec Microsoft Azure SearchPremiers pas avec Microsoft Azure Search
Premiers pas avec Microsoft Azure Search
 
Tp Sql Server Integration Services 2008
Tp  Sql Server Integration Services  2008Tp  Sql Server Integration Services  2008
Tp Sql Server Integration Services 2008
 
Mise en place d'une usine logicielle avec TFS et Test Manager 2010
Mise en place d'une usine logicielle avec TFS et Test Manager 2010Mise en place d'une usine logicielle avec TFS et Test Manager 2010
Mise en place d'une usine logicielle avec TFS et Test Manager 2010
 
Panorama des offres NoSQL disponibles dans Azure
Panorama des offres NoSQL disponibles dans AzurePanorama des offres NoSQL disponibles dans Azure
Panorama des offres NoSQL disponibles dans Azure
 
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
[JSS2015] Azure SQL Data Warehouse - Azure Data Lake
 
Guss sql IaaS PaaS 20131202
Guss sql IaaS PaaS 20131202Guss sql IaaS PaaS 20131202
Guss sql IaaS PaaS 20131202
 
Hi-Media Couchbase meetup Paris Nb #1
Hi-Media Couchbase meetup Paris Nb #1Hi-Media Couchbase meetup Paris Nb #1
Hi-Media Couchbase meetup Paris Nb #1
 
Optimisation de MySQL
Optimisation de MySQLOptimisation de MySQL
Optimisation de MySQL
 
SQL Azure, la base de données dans le cloud
SQL Azure, la base de données dans le cloudSQL Azure, la base de données dans le cloud
SQL Azure, la base de données dans le cloud
 
Universitélang scala tools
Universitélang scala toolsUniversitélang scala tools
Universitélang scala tools
 
[DevTestday] Continuous Delivery d'une Infra Dev/Test Azure - Olivier Delmotte
[DevTestday] Continuous Delivery d'une Infra Dev/Test Azure - Olivier Delmotte[DevTestday] Continuous Delivery d'une Infra Dev/Test Azure - Olivier Delmotte
[DevTestday] Continuous Delivery d'une Infra Dev/Test Azure - Olivier Delmotte
 
Cloud et BI, quelle architecture pour 2014 ?
Cloud et BI, quelle architecture pour 2014 ?Cloud et BI, quelle architecture pour 2014 ?
Cloud et BI, quelle architecture pour 2014 ?
 

En vedette

Introduction aux Triggers avec MySQL
Introduction aux Triggers avec MySQLIntroduction aux Triggers avec MySQL
Introduction aux Triggers avec MySQLRouff Joseph
 
Les bases fondamentales du langage transact sql
Les bases fondamentales du langage transact sqlLes bases fondamentales du langage transact sql
Les bases fondamentales du langage transact sqlZineb Meryem
 
Bases de données réparties par la pratique
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratiqueAbdelouahed Abdou
 
Webinar Smile et Talend : Faites communiquer vos applications en temps réel
Webinar Smile et Talend  : Faites communiquer vos applications en temps réelWebinar Smile et Talend  : Faites communiquer vos applications en temps réel
Webinar Smile et Talend : Faites communiquer vos applications en temps réelSmile I.T is open
 
Alphorm.com Formation PL/SQL
Alphorm.com Formation PL/SQLAlphorm.com Formation PL/SQL
Alphorm.com Formation PL/SQLAlphorm
 
Alphorm.com Formation Microsoft SQL Server 2016 Business Intelligence (SSIS)
Alphorm.com Formation Microsoft SQL Server 2016 Business Intelligence (SSIS)Alphorm.com Formation Microsoft SQL Server 2016 Business Intelligence (SSIS)
Alphorm.com Formation Microsoft SQL Server 2016 Business Intelligence (SSIS)Alphorm
 
Alphorm.com Formation MySQL Administration(1Z0-883)
Alphorm.com   Formation MySQL Administration(1Z0-883)Alphorm.com   Formation MySQL Administration(1Z0-883)
Alphorm.com Formation MySQL Administration(1Z0-883)Alphorm
 
Alphorm.com Formation PostgreSQL, la Haute Disponibilité
Alphorm.com Formation PostgreSQL, la Haute DisponibilitéAlphorm.com Formation PostgreSQL, la Haute Disponibilité
Alphorm.com Formation PostgreSQL, la Haute DisponibilitéAlphorm
 
Alphorm.com Formation ETL Talend Open Studio (1/2) - Les fondamentaux
Alphorm.com Formation ETL Talend Open Studio (1/2) - Les fondamentauxAlphorm.com Formation ETL Talend Open Studio (1/2) - Les fondamentaux
Alphorm.com Formation ETL Talend Open Studio (1/2) - Les fondamentauxAlphorm
 

En vedette (12)

Introduction aux Triggers avec MySQL
Introduction aux Triggers avec MySQLIntroduction aux Triggers avec MySQL
Introduction aux Triggers avec MySQL
 
Les bases fondamentales du langage transact sql
Les bases fondamentales du langage transact sqlLes bases fondamentales du langage transact sql
Les bases fondamentales du langage transact sql
 
Bases de données réparties par la pratique
Bases de données réparties par la pratiqueBases de données réparties par la pratique
Bases de données réparties par la pratique
 
Triggers ppt
Triggers pptTriggers ppt
Triggers ppt
 
TRIGGERS
TRIGGERSTRIGGERS
TRIGGERS
 
Webinar Smile et Talend : Faites communiquer vos applications en temps réel
Webinar Smile et Talend  : Faites communiquer vos applications en temps réelWebinar Smile et Talend  : Faites communiquer vos applications en temps réel
Webinar Smile et Talend : Faites communiquer vos applications en temps réel
 
Trigger
TriggerTrigger
Trigger
 
Alphorm.com Formation PL/SQL
Alphorm.com Formation PL/SQLAlphorm.com Formation PL/SQL
Alphorm.com Formation PL/SQL
 
Alphorm.com Formation Microsoft SQL Server 2016 Business Intelligence (SSIS)
Alphorm.com Formation Microsoft SQL Server 2016 Business Intelligence (SSIS)Alphorm.com Formation Microsoft SQL Server 2016 Business Intelligence (SSIS)
Alphorm.com Formation Microsoft SQL Server 2016 Business Intelligence (SSIS)
 
Alphorm.com Formation MySQL Administration(1Z0-883)
Alphorm.com   Formation MySQL Administration(1Z0-883)Alphorm.com   Formation MySQL Administration(1Z0-883)
Alphorm.com Formation MySQL Administration(1Z0-883)
 
Alphorm.com Formation PostgreSQL, la Haute Disponibilité
Alphorm.com Formation PostgreSQL, la Haute DisponibilitéAlphorm.com Formation PostgreSQL, la Haute Disponibilité
Alphorm.com Formation PostgreSQL, la Haute Disponibilité
 
Alphorm.com Formation ETL Talend Open Studio (1/2) - Les fondamentaux
Alphorm.com Formation ETL Talend Open Studio (1/2) - Les fondamentauxAlphorm.com Formation ETL Talend Open Studio (1/2) - Les fondamentaux
Alphorm.com Formation ETL Talend Open Studio (1/2) - Les fondamentaux
 

Similaire à [JSS2015] - Document db et nosql

Big Data & Real Time #JSS2014
Big Data & Real Time #JSS2014Big Data & Real Time #JSS2014
Big Data & Real Time #JSS2014Romain Casteres
 
JSS2014 - Big Data et Real Time
JSS2014 - Big Data et Real TimeJSS2014 - Big Data et Real Time
JSS2014 - Big Data et Real TimeGUSS
 
Cloud et BI, quelle architecture pour 2014 ?
Cloud et BI, quelle architecture pour 2014 ?Cloud et BI, quelle architecture pour 2014 ?
Cloud et BI, quelle architecture pour 2014 ?Jean-Pierre Riehl
 
JSS2014 – Cloud et BI, quelle architecture pour 2014 ?
JSS2014 – Cloud et BI, quelle architecture pour 2014 ?JSS2014 – Cloud et BI, quelle architecture pour 2014 ?
JSS2014 – Cloud et BI, quelle architecture pour 2014 ?GUSS
 
[GAB2016] Azure DocumentDB - Jean-Luc Boucho
[GAB2016] Azure DocumentDB - Jean-Luc Boucho[GAB2016] Azure DocumentDB - Jean-Luc Boucho
[GAB2016] Azure DocumentDB - Jean-Luc BouchoCellenza
 
Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris
Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris
Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris AZUG FR
 
2014 applications web sur Azure
2014 applications web sur Azure2014 applications web sur Azure
2014 applications web sur AzureJulien Plée
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent Biret
 
Azure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteAzure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteMicrosoft
 
Microsoft experiences azure et asp.net core
Microsoft experiences   azure et asp.net coreMicrosoft experiences   azure et asp.net core
Microsoft experiences azure et asp.net coreSébastien Ollivier
 
Journées SQL Server - Optimisation SQL Server pour SharePoint
Journées SQL Server - Optimisation SQL Server pour SharePointJournées SQL Server - Optimisation SQL Server pour SharePoint
Journées SQL Server - Optimisation SQL Server pour SharePointBenoit Jester
 
JSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big DataJSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big DataGUSS
 
Datit207 scénarios hybrides entre sql server et windows azure
Datit207   scénarios hybrides entre sql server et windows azureDatit207   scénarios hybrides entre sql server et windows azure
Datit207 scénarios hybrides entre sql server et windows azureChristophe Laporte
 
SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...
SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...
SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...GUSS
 
JSS2014 - StreamInsight
JSS2014 - StreamInsightJSS2014 - StreamInsight
JSS2014 - StreamInsightGUSS
 
Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent biret azure functions et flow #AosCanadianTour (quebec)Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent biret azure functions et flow #AosCanadianTour (quebec)Vincent Biret
 
JSS2013 : Haute disponibilité
JSS2013 : Haute disponibilitéJSS2013 : Haute disponibilité
JSS2013 : Haute disponibilitéChristophe Laporte
 
[JSS2015] Infra bi#4 - le scale out
[JSS2015] Infra bi#4 - le scale out[JSS2015] Infra bi#4 - le scale out
[JSS2015] Infra bi#4 - le scale outGUSS
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement MicrosoftChristophe HERAL
 
Rendez vos objets connectés intelligents avec la "Lambda architecture"
Rendez vos objets connectés intelligents avec la "Lambda architecture"Rendez vos objets connectés intelligents avec la "Lambda architecture"
Rendez vos objets connectés intelligents avec la "Lambda architecture"Microsoft Décideurs IT
 

Similaire à [JSS2015] - Document db et nosql (20)

Big Data & Real Time #JSS2014
Big Data & Real Time #JSS2014Big Data & Real Time #JSS2014
Big Data & Real Time #JSS2014
 
JSS2014 - Big Data et Real Time
JSS2014 - Big Data et Real TimeJSS2014 - Big Data et Real Time
JSS2014 - Big Data et Real Time
 
Cloud et BI, quelle architecture pour 2014 ?
Cloud et BI, quelle architecture pour 2014 ?Cloud et BI, quelle architecture pour 2014 ?
Cloud et BI, quelle architecture pour 2014 ?
 
JSS2014 – Cloud et BI, quelle architecture pour 2014 ?
JSS2014 – Cloud et BI, quelle architecture pour 2014 ?JSS2014 – Cloud et BI, quelle architecture pour 2014 ?
JSS2014 – Cloud et BI, quelle architecture pour 2014 ?
 
[GAB2016] Azure DocumentDB - Jean-Luc Boucho
[GAB2016] Azure DocumentDB - Jean-Luc Boucho[GAB2016] Azure DocumentDB - Jean-Luc Boucho
[GAB2016] Azure DocumentDB - Jean-Luc Boucho
 
Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris
Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris
Jean-Luc Boucho - Azure DocumentDB - Global Azure Bootcamp 2016 Paris
 
2014 applications web sur Azure
2014 applications web sur Azure2014 applications web sur Azure
2014 applications web sur Azure
 
Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)
 
Azure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides KeynoteAzure Camp 9 Décembre 2014 - slides Keynote
Azure Camp 9 Décembre 2014 - slides Keynote
 
Microsoft experiences azure et asp.net core
Microsoft experiences   azure et asp.net coreMicrosoft experiences   azure et asp.net core
Microsoft experiences azure et asp.net core
 
Journées SQL Server - Optimisation SQL Server pour SharePoint
Journées SQL Server - Optimisation SQL Server pour SharePointJournées SQL Server - Optimisation SQL Server pour SharePoint
Journées SQL Server - Optimisation SQL Server pour SharePoint
 
JSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big DataJSS2014 – Hive ou la convergence entre datawarehouse et Big Data
JSS2014 – Hive ou la convergence entre datawarehouse et Big Data
 
Datit207 scénarios hybrides entre sql server et windows azure
Datit207   scénarios hybrides entre sql server et windows azureDatit207   scénarios hybrides entre sql server et windows azure
Datit207 scénarios hybrides entre sql server et windows azure
 
SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...
SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...
SQLSaturday Paris 2014 - Ce que tout DBA doit savoir sur la configuration et ...
 
JSS2014 - StreamInsight
JSS2014 - StreamInsightJSS2014 - StreamInsight
JSS2014 - StreamInsight
 
Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent biret azure functions et flow #AosCanadianTour (quebec)Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent biret azure functions et flow #AosCanadianTour (quebec)
 
JSS2013 : Haute disponibilité
JSS2013 : Haute disponibilitéJSS2013 : Haute disponibilité
JSS2013 : Haute disponibilité
 
[JSS2015] Infra bi#4 - le scale out
[JSS2015] Infra bi#4 - le scale out[JSS2015] Infra bi#4 - le scale out
[JSS2015] Infra bi#4 - le scale out
 
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
[Scrum Day 2011] Outillage Agile dans un environnement Microsoft
 
Rendez vos objets connectés intelligents avec la "Lambda architecture"
Rendez vos objets connectés intelligents avec la "Lambda architecture"Rendez vos objets connectés intelligents avec la "Lambda architecture"
Rendez vos objets connectés intelligents avec la "Lambda architecture"
 

Plus de GUSS

GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
GUSS - Les IO dans SQL Server (en partenariat avec DataCore)GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
GUSS - Les IO dans SQL Server (en partenariat avec DataCore)GUSS
 
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)GUSS
 
JSS2015 - Machine Learning like a boss
JSS2015 - Machine Learning like a bossJSS2015 - Machine Learning like a boss
JSS2015 - Machine Learning like a bossGUSS
 
JSS2015 - Keynote jour 2
JSS2015 - Keynote jour 2JSS2015 - Keynote jour 2
JSS2015 - Keynote jour 2GUSS
 
[JSS2015] Power BI Dev
[JSS2015] Power BI Dev[JSS2015] Power BI Dev
[JSS2015] Power BI DevGUSS
 
[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables
[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables
[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch TablesGUSS
 
[JSS2015] Query Store
[JSS2015] Query Store[JSS2015] Query Store
[JSS2015] Query StoreGUSS
 
[JSS2015] Power BI: Nouveautés archi et hybrides
[JSS2015] Power BI: Nouveautés archi et hybrides[JSS2015] Power BI: Nouveautés archi et hybrides
[JSS2015] Power BI: Nouveautés archi et hybridesGUSS
 
[JSS2015] In memory and operational analytics
[JSS2015] In memory and operational analytics[JSS2015] In memory and operational analytics
[JSS2015] In memory and operational analyticsGUSS
 
[JSS2015] Eradiction des deadlocks
[JSS2015] Eradiction des deadlocks[JSS2015] Eradiction des deadlocks
[JSS2015] Eradiction des deadlocksGUSS
 
[JSS2015] Architectures Lambda avec Azure Stream Analytics
[JSS2015] Architectures Lambda avec Azure Stream Analytics [JSS2015] Architectures Lambda avec Azure Stream Analytics
[JSS2015] Architectures Lambda avec Azure Stream Analytics GUSS
 
[JSS2015] - Azure automation
[JSS2015] - Azure automation[JSS2015] - Azure automation
[JSS2015] - Azure automationGUSS
 
[JSS2015] AlwaysOn 2016
[JSS2015] AlwaysOn 2016[JSS2015] AlwaysOn 2016
[JSS2015] AlwaysOn 2016GUSS
 
[JSS2015] x events
[JSS2015] x events[JSS2015] x events
[JSS2015] x eventsGUSS
 
JSS2014 – Infrastructure et Always-On
JSS2014 – Infrastructure et Always-OnJSS2014 – Infrastructure et Always-On
JSS2014 – Infrastructure et Always-OnGUSS
 
JSS2014 – Comment réaliser et administrer un portail BI avec SharePoint, SQL ...
JSS2014 – Comment réaliser et administrer un portail BI avec SharePoint, SQL ...JSS2014 – Comment réaliser et administrer un portail BI avec SharePoint, SQL ...
JSS2014 – Comment réaliser et administrer un portail BI avec SharePoint, SQL ...GUSS
 
Journées SQL Server 2014 - Keynote Jour 1
Journées SQL Server 2014 - Keynote Jour 1Journées SQL Server 2014 - Keynote Jour 1
Journées SQL Server 2014 - Keynote Jour 1GUSS
 
JSS2014 – Le grand tour de Power BI
JSS2014 – Le grand tour de Power BIJSS2014 – Le grand tour de Power BI
JSS2014 – Le grand tour de Power BIGUSS
 
JSS2014 – Azure SQL Database : 1 an après
JSS2014 – Azure SQL Database : 1 an aprèsJSS2014 – Azure SQL Database : 1 an après
JSS2014 – Azure SQL Database : 1 an aprèsGUSS
 
JSS2014 – Haute disponibilité dans Azure
JSS2014 – Haute disponibilité dans AzureJSS2014 – Haute disponibilité dans Azure
JSS2014 – Haute disponibilité dans AzureGUSS
 

Plus de GUSS (20)

GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
GUSS - Les IO dans SQL Server (en partenariat avec DataCore)GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
GUSS - Les IO dans SQL Server (en partenariat avec DataCore)
 
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
Bots & Cognitive Intelligence (Meetup GUSS & AZUG FR)
 
JSS2015 - Machine Learning like a boss
JSS2015 - Machine Learning like a bossJSS2015 - Machine Learning like a boss
JSS2015 - Machine Learning like a boss
 
JSS2015 - Keynote jour 2
JSS2015 - Keynote jour 2JSS2015 - Keynote jour 2
JSS2015 - Keynote jour 2
 
[JSS2015] Power BI Dev
[JSS2015] Power BI Dev[JSS2015] Power BI Dev
[JSS2015] Power BI Dev
 
[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables
[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables
[JSS2015] Nouveautés SQL Server 2016:Sécurité,Temporal & Stretch Tables
 
[JSS2015] Query Store
[JSS2015] Query Store[JSS2015] Query Store
[JSS2015] Query Store
 
[JSS2015] Power BI: Nouveautés archi et hybrides
[JSS2015] Power BI: Nouveautés archi et hybrides[JSS2015] Power BI: Nouveautés archi et hybrides
[JSS2015] Power BI: Nouveautés archi et hybrides
 
[JSS2015] In memory and operational analytics
[JSS2015] In memory and operational analytics[JSS2015] In memory and operational analytics
[JSS2015] In memory and operational analytics
 
[JSS2015] Eradiction des deadlocks
[JSS2015] Eradiction des deadlocks[JSS2015] Eradiction des deadlocks
[JSS2015] Eradiction des deadlocks
 
[JSS2015] Architectures Lambda avec Azure Stream Analytics
[JSS2015] Architectures Lambda avec Azure Stream Analytics [JSS2015] Architectures Lambda avec Azure Stream Analytics
[JSS2015] Architectures Lambda avec Azure Stream Analytics
 
[JSS2015] - Azure automation
[JSS2015] - Azure automation[JSS2015] - Azure automation
[JSS2015] - Azure automation
 
[JSS2015] AlwaysOn 2016
[JSS2015] AlwaysOn 2016[JSS2015] AlwaysOn 2016
[JSS2015] AlwaysOn 2016
 
[JSS2015] x events
[JSS2015] x events[JSS2015] x events
[JSS2015] x events
 
JSS2014 – Infrastructure et Always-On
JSS2014 – Infrastructure et Always-OnJSS2014 – Infrastructure et Always-On
JSS2014 – Infrastructure et Always-On
 
JSS2014 – Comment réaliser et administrer un portail BI avec SharePoint, SQL ...
JSS2014 – Comment réaliser et administrer un portail BI avec SharePoint, SQL ...JSS2014 – Comment réaliser et administrer un portail BI avec SharePoint, SQL ...
JSS2014 – Comment réaliser et administrer un portail BI avec SharePoint, SQL ...
 
Journées SQL Server 2014 - Keynote Jour 1
Journées SQL Server 2014 - Keynote Jour 1Journées SQL Server 2014 - Keynote Jour 1
Journées SQL Server 2014 - Keynote Jour 1
 
JSS2014 – Le grand tour de Power BI
JSS2014 – Le grand tour de Power BIJSS2014 – Le grand tour de Power BI
JSS2014 – Le grand tour de Power BI
 
JSS2014 – Azure SQL Database : 1 an après
JSS2014 – Azure SQL Database : 1 an aprèsJSS2014 – Azure SQL Database : 1 an après
JSS2014 – Azure SQL Database : 1 an après
 
JSS2014 – Haute disponibilité dans Azure
JSS2014 – Haute disponibilité dans AzureJSS2014 – Haute disponibilité dans Azure
JSS2014 – Haute disponibilité dans Azure
 

[JSS2015] - Document db et nosql

  • 1. #JSS2015 Les journées SQL Server 2015 Un événement organisé par GUSS @GUSS_FRANCE
  • 2. #JSS2015 Les journées SQL Server 2015 Un événement organisé par GUSS DocumentDB & NoSQL Jean-Luc Boucho Architecte, Infosys MVP Azure @JeanLucBoucho Benjamin Talmard Technical Evangelist Azure, Microsoft @Benjiiim
  • 4. #JSS2015 La communauté Data & BI Microsoft Webcasts, Conférences, Afterworks http://GUSS.pro Session donnée pour @GUSS_FRANCE /GUSS /GUSS.FR #JSS2015 Les journées SQL Server 2015
  • 5. #JSS2015 AZUGFR Azure User Group France, Communauté Microsoft Azure francophone. Echange de conseils techniques, et de retour d'expériences autour de la plateforme de cloud computing de Microsoft. 16 Avril
  • 6. #JSS2015 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
  • 7. #JSS2015 Les familles de bases de données noSQL • Key/value database
  • 8. #JSS2015 Les familles de bases de données noSQL • Column Family Stores Column Family Row 1 Row Key Column1 Name1: Value1 ColumnN NameN: ValueN Row N Row Key Column2 Name2: Value2 ColumnN NameN: ValueN
  • 9. #JSS2015 Les familles de bases de données noSQL • Document database Document Articles Title Comment CommentURL Title CommentAuthor URL Author Author
  • 10. #JSS2015 Les familles de bases de données noSQL • Graph Databases John Eddie Karl manages manages reports_for_project
  • 11. #JSS2015 Azure DocumentDB « Azure DocumentDB is a NoSQL document database managed service designed for high performance, scalability and flexibility. »
  • 13. #JSS2015 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
  • 17. #JSS2015 • "DocumentDB Data Migration Tool" Migration & Backup
  • 18. #JSS2015 • 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 !) Objets avancés x-ms-documentdb-pre-trigger-include x-ms-documentdb-post-trigger-include
  • 21. #JSS2015 • 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
  • 22. #JSS2015 • 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
  • 23. #JSS2015 Coût RU des opérations
  • 24. #JSS2015 • 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é
  • 25. #JSS2015 • Intégration – PowerBI – Hadoop – Azure Stream Analytics – Azure Search – Azure Data Factory • Futur – http://aka.ms/documentdb-uservoice • Ressources – Découverte - http://aka.ms/docdbplayground – MVA - https://mva.microsoft.com/en-US/training-courses/developing-solutions- with-azure-documentdb-10554 Pour finir
  • 27. #JSS2015#JSS2015 Les évaluations des sessions, c’est important !! http://GUSS.Pro/jss
  • 28. #JSS2015 Merci à nos volontaires…

Notes de l'éditeur

  1. Simple, rapide, flexible Limité dans les possibilités de requêtage, d’aggrégation, …
  2. Schéma complexe, requêtage avancé Pas de support de transactions entre documents
  3. MSN : 425 million d’utilisateurs uniques globalement. Plus de 40 applications avec des besoins en lecture et écriture exigeants. News Republic Agrégation des news provenant de multiples sources. Stockent énormément de données, ont des exigences en terme de performances et de flexibilité. Real Madrid Capturent chacune des interactions entre la marque et ses 450 millions de fans (interaction sur les réseaux sociaux, achat de produits dérivés, modification du profil sur le site du club, …) et stocke tout cela dans DocumentDB
  4. Accès en REST via HTTP, connexion directe en TCP, SDKs .NET, Node.js, Python, Javascript, Java, … Toutes les informations dont on a besoin sont dans le document, pour ne pas avoir à parcourir plusieurs emplacements de la base de données à la recherche des bonnes relations. C’est notamment grâce à cela qu’on a de telles performances. Pas de schéma à priori. On stocke ce que l’on souhaite de la manière dont on le souhaite. Cela permet d’être très agile et de rajouter des informations à la volée. Ex : une application qui stocke des posts Facebook et Twitter peut utiliser le même store. Self describing car on a le nom des propriétés directement dans le document, Source: http://azure.microsoft.com/en-us/documentation/articles/documentdb-resources/#documents You can insert, replace, delete, read, enumerate and query arbitrary JSON documents in a collection. DocumentDB does not mandate any schema and does not require secondary indexes in order to support querying over documents in a collection. Being a truly open database service, DocumentDB does not invent any specialized data types (e.g. date time) or specific encodings for JSON documents. Note that DocumentDB does not require any special JSON conventions to codify the relationships among various documents; the SQL query language of DocumentDB provides very powerful hierarchical and relational query operators to query and project documents without any special annotations or need to codify relationships among documents using distinguished properties. As with all other resources, documents can be created, replaced, deleted, read, enumerated and queried easily using either REST APIs or any of the client SDKs. Deleting a document instantly frees up the quota corresponding to all of the nested attachments. The read consistency level of documents follows the consistency policy on the database account. This policy can be overridden on a per-request basis depending on data consistency requirements of your application. When querying documents, the read consistency follows the indexing mode set on the collection. For “consistent”, this follows the account’s consistency policy.
  5. L’index est automatique sur l’ensemble des champs. Le niveau de cohérence peut-être défini sur la collection ou par requête pour optimiser les performances. Un langage puissant sur du non-relationnel, subset du langage SQL, avec ajouts réguliers C’est certainement l’un des plus grands avantages de DocumentDB !
  6. 1 base = infinité de collections. Porte les éléments liés à la sécurité 1 collection = 1 shard mais pas une table (ne pas tomber dans le piège). Pas de requêtes multi-collection. Porte des éléments d’extension, comme les procédures stockées, les triggers ou les user-defined functions, développé en JavaScript, ce qui est le plus logique pour du json. 1 fichier joint = stocké dans Azure Storage, en dehors de la collection mais avec un lien
  7. Migration avec Data sample: https://azure.microsoft.com/fr-fr/blog/import-sample-data-to-azure-documentdb/ https://azure.microsoft.com/fr-fr/blog/easily-transform-data-when-importing-to-azure-documentdb-2/ https://azure.microsoft.com/fr-fr/blog/load-data-into-azure-search-with-zero-code-required/ https://azure.microsoft.com/fr-fr/blog/import-geospatial-data-into-documentdb/ !! Download sqlsysclrtypes.msi (Microsoft.SqlServer.Types, Version=11.0.0.0) at http://www.microsoft.com/en-us/download/details.aspx?id=35580
  8. Server Code: https://azure.microsoft.com/fr-fr/documentation/articles/documentdb-programming/ Self-Links: https://azure.microsoft.com/fr-fr/blog/azure-documentdb-bids-fond-farewell-to-self-links/ Search: https://azure.microsoft.com/fr-fr/blog/searching-for-text-with-documentdb/
  9. https://azure.microsoft.com/en-us/documentation/articles/documentdb-sql-query-cheat-sheet/ https://azure.microsoft.com/fr-fr/blog/new-documentdb-sql-keywords-operators-and-functions/ https://azure.microsoft.com/fr-fr/documentation/articles/documentdb-sql-query/
  10. RUs: https://azure.microsoft.com/fr-fr/blog/performance-tips-for-azure-documentdb-part-2/ Index: https://azure.microsoft.com/en-us/documentation/articles/documentdb-indexing-policies/
  11. Clés: https://msdn.microsoft.com/en-us/library/azure/dn783368.aspx Utilisateurs: https://msdn.microsoft.com/en-us/library/azure/dn782193.aspx Permissions: https://msdn.microsoft.com/en-us/library/azure/dn782246.aspx
  12. Integration: https://azure.microsoft.com/fr-fr/blog/unleashing-insights-from-data-in-documentdb-with-power-bi/ Ressources: Blog - http://aka.ms/documentdb-blog Partitioning - http://aka.ms/documentdb-partitioning Forums - http://aka.ms/documentdb-msdn Product Page – http://aka.ms/documentdb Docs & Tutorials - http://aka.ms/documentdb-docs Samples - http://aka.ms/documentdb-samples Migration - http://aka.ms/docdbimport Performance - http://aka.ms/docdbperf
  13. On parlait des speakers, il y a une chose qui leur tient à cœur !