Vous êtes sur la page 1sur 306

RÉSERVÉ À UNE UTILISATION FORMATEUR.

UTILISATION ÉTUDIANT INTERDITE


Microsoft
Official
Course

DP-900T00FR
Principes fondamentaux
des données Microsoft
Azure
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
Principes fondamentaux des
données Microsoft Azure
DP-900T00FR
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
II  Disclaimer

 
Les informations contenues dans le présent document, y compris l’URL et les autres références à des sites
Web Internet, peuvent être modifiées sans préavis. Sauf mention contraire, les sociétés, organisations,
produits, noms de domaine, adresses e-mail, logos, personnes, lieux et événements mentionnés ici à titre
d’exemple sont purement fictifs, et aucune association à tout(e) société, organisation, produit, nom de
domaine, adresse e-mail, logo, personne, lieu ou événement réel n’est intentionnelle ou volontaire. Il
appartient à l’utilisateur de veiller au respect de toutes les dispositions légales applicables en matière de
copyright. En vertu des droits d’auteur, aucune partie de ce document ne peut être reproduite, stockée
ou introduite dans un système de recherche automatique, ni transmise sous quelque forme ou par
quelque moyen que ce soit (électronique, mécanique, photocopie, enregistrement ou autre), ou dans
n’importe quel but, sans l’autorisation écrite de Microsoft Corporation.
 
Selon les cas, Microsoft détient des brevets (ou a déposé des demandes de brevets), ainsi que des
marques, des copyrights ou autres droits de propriété intellectuelle sur les questions évoquées dans ce
document. Sauf disposition contraire expressément stipulée dans un accord de licence écrit concédé par
Microsoft, la communication de ce document ne confère au destinataire aucun droit sur les brevets,
marques, copyrights et autres droits de propriété intellectuelle.
 
Les noms des fabricants, produits ou URL sont fournis à titre d’information uniquement et Microsoft ne
fait aucune déclaration ni n’offre aucune garantie, qu’elle soit expresse, implicite ou légale, quant à ces
fabricants ou à l’utilisation des produits avec des technologies Microsoft. L’inclusion d'un fabricant ou
d'un produit n’implique pas que Microsoft cautionne le fabricant ou le produit. Des liens vers des sites
tiers peuvent éventuellement être fournis. De tels sites ne sont pas sous le contrôle de Microsoft et
Microsoft n’est nullement responsable du contenu des sites ainsi liés ou des liens inclus dans les sites
ainsi liés, ou encore des changements ou des mises à jour qui peuvent y être apportés. Microsoft décline
toute responsabilité quant à la diffusion web ou toute autre forme de transmission reçue d’un site lié.
Microsoft ne vous fournit ces liens que par commodité, et l’inclusion de liens n'implique nullement que
Microsoft cautionne le site ou les produits qu’il contient.
 
© 2019 Microsoft Corporation. Tous droits réservés.
 
Microsoft et les marques de commerce mentionnées dans http://www.microsoft.com/trademarks 1
sont des marques de commerce du groupe de sociétés Microsoft. Toutes les autres marques de com-
merce appartiennent à leurs propriétaires respectifs.
 
 

1 http://www.microsoft.com/trademarks
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
EULA  III

TERMES DU CONTRAT DE LICENCE MICROSOFT


COURSEWARE MICROSOFT DISPENSÉ PAR UN INSTRUCTEUR
Les présents termes du contrat de licence constituent un contrat entre Microsoft Corporation (ou en
fonction du lieu où vous vivez, l’un de ses affiliés) et vous. Lisez-les attentivement. Ils portent sur votre
utilisation du contenu accompagnant ce contrat, y compris le support sur lequel vous l'avez reçu, le cas
échéant. Les termes de ce contrat de licence portent également sur le Contenu Formateur et l'ensemble
des mises à jour et des suppléments du Contenu Sous Licence, à moins que d’autres termes n’accom-
pagnent ces produits, auquel cas ces derniers prévalent.
EN ACCÉDANT, TÉLÉCHARGEANT OU UTILISANT LE CONTENU SOUS LICENCE, VOUS ACCEPTEZ LES
TERMES DE CE CONTRAT. SI VOUS NE LES ACCEPTEZ PAS, VOUS NE POUVEZ PAS ACCÉDER,
TÉLÉCHARGER OU UTILISER LE CONTENU SOUS LICENCE.
Si vous vous conformez aux termes du présent contrat, vous disposez des droits ci-dessous pour
chaque licence dont vous faites l'acquisition.
1. DÉFINITIONS.
1. « Centre de Formation Agréé » désigne un Membre du Programme Microsoft Imagine Academy
(MSIA), un Membre Microsoft Learning Competency, ou une autre entité de ce type que Microsoft
peut désigner occasionnellement.
2. « Session de Formation Agréée » désigne le cours de formation dispensé par un instructeur
utilisant le Courseware Microsoft dispensé par un instructeur et animé par un Formateur dans ou
par l'intermédiaire d'un Centre de Formation Agréé.
3. « Appareil de Salle de Classe » désigne un (1) ordinateur sécurisé dédié qu'un Centre de Formation
Agréé possède ou contrôle dans l'un des établissements de formation du Centre de Formation
Agréé, conforme aux exigences matérielles minimum requises pour le Courseware Microsoft
dispensé par un instructeur spécifique.
4. « Utilisateur Final » désigne un individu qui (i) s'est dûment inscrit et qui participe à une Session de
Formation Agréée ou à une Session de Formation Privée, (ii) un employé d'un Membre MPN, (iii)
un employé à temps plein de Microsoft, un Membre du Programme Microsoft Imagine Academy
(MSIA) ou un Microsoft Learn for Educators – Validated Educator.
5. « Contenu Sous Licence » désigne le contenu accompagnant le présent contrat et pouvant inclure
le Courseware Microsoft dispensé par un instructeur ou le Contenu Formateur.
6. « Microsoft Certified Trainer » ou « MCT » désigne un individu qui (i) est engagé pour animer une
session de formation destinée à des Utilisateurs Finaux pour le compte d'un Centre de Formation
Agréé ou un Membre MPN, et (ii) est actuellement certifié en tant que Microsoft Certified Trainer
conformément au Programme de Certification Microsoft.
7. « Courseware Microsoft dispensé par un instructeur » désigne le cours de formation dispensé sous
la marque Microsoft par un instructeur, qui forme des professionnels de l'informatique, des
développeurs, des étudiants d'une institution académique et autres apprenants à des technologies
Microsoft. Un titre de Courseware Microsoft dispensé par un instructeur peut être appelé forma-
tion MOC, Microsoft Dynamics ou formation Microsoft Business Group.
8. « Membre du Programme Microsoft Imagine Academy (MSIA) » désigne un membre actif du
Programme Microsoft Imagine Academy.
9. « Microsoft Learn for Educators – Validated Educator » désigne un éducateur qui a été validé en
tant qu'éducateur actif via le programme Microsoft Learn for Educators au lycée, dans une univer-
sité, un collège, un institut technologique ou un établissement d'éducation primaire ou secondaire.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
IV  EULA

10. « Membre Microsoft Learning Competency » désigne un membre actif du programme Microsoft
Partner Network, en règle et jouissant actuellement du statut de Compétence pédagogique.
11. « MOC » désigne la formation dispensée par un instructeur d'un « Official Microsoft Learning
Product » qui forme des professionnels de l'informatique, des développeurs, des étudiants d'une
institution académique et autres apprenants, à des technologies Microsoft.
12. « Membre MPN » désigne un membre du programme Microsoft Partner Network actif et en règle.
13. « Appareil Personnel » désigne un (1) ordinateur personnel, un appareil, une station de travail ou
autre appareil électronique numérique que vous possédez ou contrôlez personnellement et qui est
au minimum conforme aux exigences matérielles requises pour le Courseware Microsoft dispensé
par un instructeur spécifique.
14. « Session de Formation Privée » désigne les cours de formation dispensés par un instructeur
fournis par des Membres MPN à des clients d'entreprise pour remplir un objectif d'apprentissage
prédéfini fondé sur un Courseware Microsoft dispensé par un instructeur. Ces formations ne font
pas l'objet d'annonces ou de promotions à l'attention du public général et la participation à ces
classes est limitée aux individus employés par le client d'entreprise ou un de ses sous-traitants.
15. « Formateur » désigne (i) un instructeur certifié engagé par un Membre du Programme Microsoft
Imagine Academy pour animer une Session de Formation Agréée, (ii) un instructeur certifié en tant
que Microsoft Learn for Educators – Validated Educator, et/ou (iii) un MCT.
16. « Contenu Formateur » désigne la version Formateur du Courseware Microsoft dispensé par un
instructeur ainsi que le contenu supplémentaire conçu exclusivement pour que les formateurs
puissent animer une session de formation basée sur le Courseware Microsoft dispensé par un
instructeur. Le Contenu Formateur peut inclure des présentations Microsoft PowerPoint, un guide
de préparation du formateur, des supports formateur, des packs Microsoft One, un guide d'instal-
lation de la salle de classe et un formulaire de commentaires sur la formation en Pré-distribution.
Pour clarifier, le Contenu Formateur n'inclut pas de logiciels, de disques durs virtuels ni de ma-
chines virtuelles.
2. DROITS D'UTILISATION.Le Contenu Sous Licence n'est pas vendu, mais concédé sous licence. Le
Contenu Sous Licence est concédé sous licence sur la base d'une copie par utilisateur. Vous devez
donc acquérir une licence pour chaque individu ayant accès au Contenu Sous Licence ou l'utilisant.

●● 2.1 Les cinq ensembles distincts de droits d'utilisation sont décrits ci-dessous. Un seul
ensemble de droits s'applique à vous.
1. Si vous êtes Membre du Programme Microsoft Imagine Academy (MSIA) :
1. Chaque licence acquise pour votre propre compte ne peut être utilisée que pour l'examen
d'une (1) copie du Courseware Microsoft dispensé par un instructeur sous la forme sous
laquelle il vous a été remis. Si le Courseware Microsoft dispensé par un instructeur est au
format numérique, vous pouvez installer une (1) copie sur trois (3) Appareils Personnels au
maximum. Vous ne pouvez pas installer le Courseware Microsoft dispensé par un instruc-
teur sur un appareil que vous ne possédez pas ou ne contrôlez pas.
2. Pour chaque licence que vous acquérez pour le compte d'un Utilisateur Final ou d'un
Formateur, vous pouvez :

1. distribuer une (1) version papier du Courseware Microsoft dispensé par un instructeur à
un (1) Utilisateur Final inscrit à la Session de Formation Agréée, et uniquement immédi-
atement avant le début de la Session de Formation Agréée faisant l'objet du Courseware
Microsoft dispensé par un instructeur fourni, ou
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
EULA  V

2. fournir à un (1) Utilisateur Final le code d'échange unique et les instructions d'accès à
une (1) version numérique du Courseware Microsoft dispensé par un instructeur, ou
3. fournir à un (1) Formateur le code d'échange unique et les instructions d'accès à un (1)
Contenu Formateur,
à condition que vous vous conformiez aux exigences suivantes :
3. vous ne fournirez un accès au Contenu Sous Licence qu'aux seuls individus ayant acquis une
licence valide pour le Contenu Sous Licence,
4. vous veillerez à ce que chaque Utilisateur Final participant à une Session de Formation
Agréée possède sa propre copie sous licence valide du Courseware Microsoft dispensé par
un instructeur faisant l'objet de la Session de Formation Agréée,
5. vous veillerez à ce que chaque Utilisateur Final ayant reçu la version papier du Courseware
Microsoft dispensé par un instructeur reçoive une copie du présent contrat, et à ce que
chaque Utilisateur Final accepte que son utilisation du Courseware Microsoft dispensé par
un instructeur soit soumise aux termes de ce contrat avant toute remise du Courseware
Microsoft dispensé par un instructeur. Chaque individu devra signaler son acceptation du
présent contrat d'une manière conforme à la législation locale avant de pouvoir accéder au
Courseware Microsoft dispensé par un instructeur,
6. vous veillerez à ce que chaque Formateur animant une Session de Formation Agréée
possède sa propre copie sous licence valide du Contenu Formateur faisant l'objet de la
Session de Formation Agréée,
7. vous ne ferez appel qu'à des Formateurs qualifiés qui disposent d'une connaissance et
d'une expérience approfondies de la technologie Microsoft faisant l'objet du Courseware
Microsoft dispensé par un instructeur enseigné pour toutes vos Sessions de Formation
Agréées,
8. vous ne fournirez que 15 heures de formation hebdomadaire au maximum pour chaque
Session de Formation Agréée utilisant un titre de MOC, et
9. vous reconnaissez que les Formateurs qui ne sont pas des MCT n'auront pas accès à toutes
les ressources de formation pour le Courseware Microsoft dispensé par un instructeur.
2. Si vous êtes un Membre de Microsoft Learning Competency :
1. Chaque licence acquise pour votre propre compte ne peut être utilisée que pour l'examen
d'une (1) copie du Courseware Microsoft dispensé par un instructeur sous la forme sous
laquelle il vous a été remis. Si le Courseware Microsoft dispensé par un instructeur est au
format numérique, vous pouvez installer une (1) copie sur trois (3) Appareils Personnels au
maximum. Vous ne pouvez pas installer le Courseware Microsoft dispensé par un instruc-
teur sur un appareil que vous ne possédez pas ou ne contrôlez pas.
2. Pour chaque licence que vous acquérez pour le compte d'un Utilisateur Final ou d'un MCT,
vous pouvez :

1. distribuer une (1) version papier du Courseware Microsoft dispensé par un instructeur à
un (1) Utilisateur Final participant à la Session de Formation Agréée, et uniquement
immédiatement avant le début de la Session de Formation Agréée faisant l'objet du
Courseware Microsoft dispensé par un instructeur fourni, ou
2. fournir à un (1) Utilisateur Final participant à la Session de Formation Agréée le code
d'échange unique et les instructions d'accès à une (1) version numérique du Courseware
Microsoft dispensé par un instructeur, ou
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
VI  EULA

3. fournir à un (1) MCT le code d'échange unique et les instructions d'accès à un (1)
Contenu Formateur,
à condition que vous vous conformiez aux exigences suivantes :
3. vous ne fournirez un accès au Contenu sous licence qu'aux seuls individus ayant acquis une
licence valide pour le Contenu sous licence,
4. vous veillerez à ce que chaque Utilisateur Final participant à une Session de Formation
Agréée possède sa propre copie sous licence valide du Courseware Microsoft dispensé par
un instructeur faisant l'objet de la Session de Formation Agréée,
5. vous veillerez à ce que chaque Utilisateur Final ayant reçu une version papier du Course-
ware Microsoft dispensé par un instructeur reçoive un exemplaire du présent contrat, et à
ce que chaque Utilisateur Final accepte que son utilisation du Courseware Microsoft
dispensé par un instructeur soit soumise aux termes de ce contrat avant toute remise du
Courseware Microsoft dispensé par un instructeur. Chaque individu devra signaler son
acceptation du présent contrat d'une manière conforme à la législation locale avant de
pouvoir accéder au Courseware Microsoft dispensé par un instructeur,
6. vous veillerez à ce que chaque MCT animant une Session de Formation Agréée possède sa
propre copie sous licence valide du Contenu Formateur faisant l'objet de la Session de
Formation Agréée,
7. vous ne ferez appel qu'à des MCT qualifiés qui possèdent également l'accréditation de
Certification Microsoft applicable faisant l'objet du titre du MOC enseigné pour toutes vos
Sessions de Formation Agréées avec MOC,
8. vous ne fournirez un accès au Courseware Microsoft dispensé par un instructeur qu'aux
Utilisateurs Finaux, et
9. vous ne fournirez un accès au Contenu Formateur qu'aux MCT.
3. Si vous êtes un Membre MPN :
1. Chaque licence acquise pour votre propre compte ne peut être utilisée que pour l'examen
d'une (1) copie du Courseware Microsoft dispensé par un instructeur sous la forme sous
laquelle il vous a été remis. Si le Courseware Microsoft dispensé par un instructeur est au
format numérique, vous pouvez installer une (1) copie sur trois (3) Appareils Personnels au
maximum. Vous ne pouvez pas installer le Courseware Microsoft dispensé par un instruc-
teur sur un appareil que vous ne possédez pas ou ne contrôlez pas.
2. Pour chaque licence que vous acquérez pour le compte d'un Utilisateur Final ou d'un
Formateur, vous pouvez :

1. distribuer une (1) version papier du Courseware Microsoft dispensé par un instructeur à
un (1) Utilisateur Final participant à la Session de Formation Privée, et uniquement
immédiatement avant le début de la Session de Formation Privée faisant l'objet du
Courseware Microsoft dispensé par un instructeur fourni, ou
2. fournir à un (1) Utilisateur Final participant à la Session de Formation Privée le code
d'échange unique et les instructions d'accès à une (1) version numérique du Courseware
Microsoft dispensé par un instructeur, ou
3. fournir à un (1) Formateur animant la Session de Formation Privée le code d'échange
unique et les instructions d'accès à un (1) Contenu Formateur,
à condition que vous vous conformiez aux exigences suivantes :
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
EULA  VII

3. vous ne fournirez un accès au Contenu Sous Licence qu'aux seuls individus ayant acquis une
licence valide pour le Contenu Sous Licence,
4. vous veillerez à ce que chaque Utilisateur Final participant à une Session de Formation
Privée possède sa propre copie sous licence valide du Courseware Microsoft dispensé par
un instructeur faisant l'objet de la Session de Formation Privée,
5. vous veillerez à ce que chaque Utilisateur Final ayant reçu une version papier du Course-
ware Microsoft dispensé par un instructeur reçoive un exemplaire du présent contrat, et que
chaque Utilisateur Final accepte que son utilisation du Courseware Microsoft dispensé par
un instructeur soit soumise aux termes de ce contrat avant que le Courseware Microsoft
dispensé par un instructeur lui soit remis. Chaque individu devra signaler son acceptation
du présent contrat d'une manière conforme à la législation locale avant de pouvoir accéder
au Courseware Microsoft dispensé par un instructeur,
6. vous veillerez à ce que chaque Formateur animant une Session de Formation Privée pos-
sède sa propre copie sous licence valide du Contenu Formateur faisant l'objet de la Session
de Formation Privée,
7. vous ne ferez appel qu'à des Formateurs qualifiés qui possèdent l'accréditation de Certifica-
tion Microsoft applicable faisant l'objet du titre du Courseware Microsoft dispensé par un
instructeur enseigné pour toutes vos Sessions de Formation Privées,
8. vous ne ferez appel qu'à des MCT qualifiés qui possèdent l'accréditation de Certification
Microsoft applicable faisant l'objet du titre du MOC enseigné pour toutes vos Sessions de
Formation Privées avec MOC,
9. vous ne fournirez un accès au Courseware Microsoft dispensé par un instructeur qu'aux
Utilisateurs Finaux, et
10. vous ne fournirez un accès au Contenu Formateur qu'aux Formateurs.
4. Si vous êtes un Utilisateur Final :
Pour chaque licence que vous acquérez, vous pouvez utiliser le Courseware Microsoft dispensé
par un instructeur à des fins de formation personnelle uniquement. Si le Courseware Microsoft
dispensé par un instructeur est au format numérique, vous pouvez accéder au Courseware
Microsoft dispensé par un instructeur en ligne en utilisant le code d'échange unique qui vous a
été remis par le fournisseur de la formation, et installer et utiliser une (1) copie du Courseware
Microsoft dispensé par un instructeur sur trois (3) Appareils Personnels au maximum. Vous
pouvez également imprimer une (1) copie du Courseware Microsoft dispensé par un instruc-
teur. Vous ne pouvez pas installer le Courseware Microsoft dispensé par un instructeur sur un
appareil que vous ne possédez pas ou ne contrôlez pas.
5. Si vous êtes un Formateur.
1. Pour chaque licence que vous acquérez, vous pouvez installer et utiliser une (1) copie du
Contenu Formateur sous le format qui vous a été remis sur un (1) Appareil Personnel dans
le seul but de préparer et de fournir une Session de Formation Agréée ou une Session de
Formation Privée, et installer une (1) copie supplémentaire sur un autre Appareil Personnel
en tant que copie de sauvegarde, ne pouvant être utilisée que pour réinstaller le Contenu
Formateur. Vous ne pouvez pas installer ou utiliser une copie du Contenu Formateur sur un
appareil que vous ne possédez pas ou ne contrôlez pas. Vous pouvez également imprimer
une (1) copie du Contenu Formateur à des seules fins de préparation et de prestation d'une
Session de Formation Agréée ou d'une Session de Formation Privée.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
VIII  EULA

2. Si vous êtes un MCT, vous pouvez personnaliser les sections écrites du Contenu Formateur
qui sont logiquement associées avec les instructions d'une session de formation conformé-
ment à la version la plus récente du contrat MCT.
3. Si vous choisissez d'exercer les droits précédents, vous acceptez de vous conformer aux
exigences suivantes : (i) les personnalisations peuvent uniquement être utilisées pour
animer des Sessions de Formation Agréée et des Sessions de Formation Privée, et (ii) toutes
les personnalisations doivent être conformes au présent contrat. Pour clarifier, toute
utilisation de « personnalisation » désigne uniquement une opération consistant à changer
l'ordre des diapos et du contenu, et/ou à ne pas utiliser toutes les diapos ou tout le con-
tenu. Elle ne signifie pas la modification de diapos ou de contenu.
●● 2.2 Séparation des composants. Le Contenu Sous Licence est fourni en tant qu'unité
unique et vous ne pouvez pas séparer ses composants et les installer sur différents appareils.
●● 2.3 Redistribution du Contenu Sous Licence. Sauf disposition express énoncée dans les
droits d'utilisation ci-dessus, vous ne pouvez pas distribuer le Contenu Sous Licence ou toute
section de ce contenu (y compris les modifications autorisées) à des tiers sans l'autorisation écrite
express de Microsoft.
●● 2.4 Avis relatifs aux Tiers. Le Contenu Sous Licence peut contenir du code de tiers que
Microsoft, et non le tiers, vous concède sous licence aux termes du présent contrat. Les mentions
éventuelles relatives au code de tiers sont incluses pour votre information uniquement.
●● 2.5 Termes de contrat supplémentaires. Certains Contenus Sous Licence peuvent contenir
des composants associés à des termes de contrat, des conditions et des licences supplémentaires
relatifs à leur utilisation. Tout terme n'entrant pas en conflit avec ces conditions et licences s'ap-
plique également à votre utilisation de ce composant respectif et complète les termes décrits dans
ce contrat.
3. CONTENU SOUS LICENCE BASÉ SUR UNE TECHNOLOGIE EN PRÉ-DISTRIBUTION.Si l'objet du
Contenu Sous Licence est basé sur une version en pré-distribution de technologie Microsoft («
Pré-distribution»), outre les autres dispositions du présent contrat, les termes suivants s'appliquent
également :

1. Contenu sous Licence en Pré-distribution. L'objet du Contenu Sous Licence concerne la version
en Pré-distribution de la technologie Microsoft. La technologie peut ne pas fonctionner à la
manière d'une version finale de la technologie et il est possible que nous apportions des modifica-
tions à la technologie pour la version finale. Il peut également arriver que nous ne distribuions pas
de version finale. Le Contenu Sous Licence basé sur la version finale de la technologie peut ne pas
contenir les mêmes informations que le Contenu Sous Licence basé sur la version en Pré-distribu-
tion. Microsoft n'est pas tenu de vous fournir des contenus supplémentaires, y compris un
Contenu Sous Licence basé sur la version finale de la technologie.
2. Commentaires. Si vous acceptez de faire part à Microsoft de vos commentaires sur le Contenu
Sous Licence, soit directement, soit via un tiers désigné, vous accordez à Microsoft, à titre gratuit,
le droit d'utiliser, de partager et de commercialiser vos commentaires de quelque manière et dans
quelque objectif que ce soit. Vous accordez également à des tiers, à titre gratuit, tous les droits de
brevet dont ils ont besoin pour que leurs produits, technologies et de services puissent utiliser ou
s'interfacer avec des composants spécifiques d'une technologie Microsoft, d'un produit Microsoft
ou d'un service incluant les commentaires. Vous ne ferez pas part de commentaires qui sont
soumis à une licence exigeant que Microsoft concède sous licence sa technologie, ses technolo-
gies ou ses produits à des tiers parce que nous incluons vos commentaires dans ces derniers. Ces
droits survivent à ce contrat.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
EULA  IX

3. Terme de Pré-distribution. Si vous êtes un Membre du Programme Microsoft Imagine Academy,


un Membre Microsoft Learning Competency, un Membre MPN, un Microsoft Learn for Educators
– Validated Educator ou un Formateur, vous cesserez d'utiliser toutes les copies du Contenu Sous
Licence sur la technologie en Pré-distribution à (i) la date à laquelle Microsoft vous informe qu'il
s'agit de la date de fin d'utilisation du Contenu Sous Licence sur la technologie en Pré-distribution,
ou (ii) soixante (60) jours après l la mise sur le marché de la technologie faisant l'objet du Contenu
Sous Licence, selon la date la plus précoce (« Terme de Pré-distribution »). À l'expiration ou à la
résiliation du terme de Pré-distribution, vous supprimerez définitivement toutes les copies du
Contenu Sous Licence en votre possession ou sous votre contrôle.
4. PORTÉE DE LA LICENCE. Le Contenu Sous Licence n'est pas vendu, mais concédé sous licence. Le
présent contrat vous concède uniquement certains droits d'utilisation du Contenu Sous Licence.
Microsoft se réserve tous les autres droits. Sauf si la loi en vigueur vous confère d’autres droits,
nonobstant la présente limitation, vous n’êtes autorisé à utiliser le Contenu Sous Licence qu’en
conformité avec les termes du présent contrat. À cette fin, vous devez vous conformer aux restrictions
techniques contenues dans le Contenu Sous Licence qui vous permet de l'utiliser d'une certaine façon.
Sauf autorisation expresse accordée aux termes de ce contrat, vous n'êtes pas autorisé à :

●● accéder ou autoriser un individu à accéder au Contenu Sous Licence s'il n'a pas acquis une licence
valide pour le Contenu Sous Licence,
●● modifier, supprimer ou obscurcir les mentions de droit d'auteur ou autres mentions protectrices (y
compris les filigranes), marques ou identifications contenues dans le Contenu Sous Licence,
●● modifier ou créer un ouvrage dérivé du Contenu Sous Licence,
●● afficher publiquement le Contenu Sous Licence ou le mettre à disposition d'autres personnes pour
accès ou utilisation,
●● copier, imprimer, installer, vendre, publier, transmettre, prêter, adapter, réutiliser, fournir un lien
vers ou publier, rendre disponible ou distribuer le Contenu Sous Licence à des tiers,
●● contourner les restrictions techniques du Contenu Sous Licence, ou
●● reconstituer la logique, décompiler, supprimer, démanteler les protections ou désassembler le
Contenu Sous Licence, sauf dans la mesure où ces opérations seraient expressément permises par
la réglementation applicable nonobstant la présente limitation.
5. RÉSERVATION DE DROITS ET PROPRIÉTÉ. Microsoft se réserve tout droit qui ne vous est pas
expressément concédé dans ce Contrat. Le Contenu Sous Licence est protégé par les lois sur le droit
d'auteur et autres lois et traités sur la propriété intellectuelle. Microsoft ou ses fournisseurs sont les
propriétaires du titre, du droit d'auteur et des autres droits de propriété intellectuelle relatifs au
Contenu Sous Licence.
6. RESTRICTIONS À L'EXPORTATION. Le Contenu Sous Licence est soumis aux lois et réglementations
américaines en matière d’exportation. Vous devez vous conformer à toutes les réglementations
nationales et internationales en matière d’exportation concernant le Contenu Sous Licence. Ces
réglementations comprennent des restrictions sur les pays destinataires, les utilisateurs finaux et les
utilisations finales. Des informations supplémentaires sont disponibles sur le site www.microsoft.com/
exporting (en anglais).
7. SERVICES D'ASSISTANCE TECHNIQUE. Le Contenu Sous Licence étant fourni « en l'état », nous ne
fournissons pas nécessairement de services d'assistance technique.
8. RÉSILIATION. Sans préjudice de tout autre droit, Microsoft peut résilier le présent contrat si vous ne
vous conformez pas aux conditions générales de ce contrat. À la résiliation de ce contrat pour
quelque raison que ce soit, vous cesserez immédiatement toute utilisation du Contenu Sous Licence,
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
X  EULA

et vous supprimerez et détruirez définitivement toutes les copies du Contenu Sous Licence en votre
possession ou sous votre contrôle.
9. LIENS VERS DES SITES TIERS. Il se peut que vous utilisiez des liens vers des sites tiers suite à l'utilisa-
tion du Contenu Sous Licence. Les sites tiers ne sont pas sous le contrôle de Microsoft, et Microsoft
décline toute responsabilité quant au contenu des sites tiers, aux liens contenus sur les sites tiers et
aux modifications ou mises à jour apportées aux sites tiers. Microsoft n'est pas responsable de la
diffusion sur le Web ou toute autre forme de transmission reçues de sites tiers. Microsoft fournit ces
liens à des sites tiers uniquement pour vous aider, et l'inclusion d'un lien ne signifie en aucun cas que
Microsoft endosse le site tiers.
10. INTÉGRALITÉ DES ACCORDS. Le présent contrat ainsi que les termes concernant le Contenu Forma-
teur, les mises à jour et les suppléments constituent l’intégralité des accords en ce qui concerne le
Contenu Sous Licence, les mises à jour et les suppléments.
11. LOI APPLICABLE.
1. États-Unis. Si vous avez acquis le Contenu Sous Licence aux États-Unis, la loi de l’État de Washing-
ton régit l’interprétation de ce contrat et s’appliquent en cas de réclamation pour rupture dudit
contrat, sans donner d’effet aux dispositions régissant les conflits de lois. Les lois de l'État dans
lequel vous vivez régissent toutes les autres réclamations, notamment les réclamations fondées sur
les lois fédérales en matière de protection des consommateurs, de concurrence déloyale et de
délits.
2. En dehors des États-Unis. Si vous avez acquis le Contenu Sous Licence dans un autre pays, les lois
de ce pays s'appliquent.
12. EFFET JURIDIQUE. Le présent contrat décrit certains droits légaux. Vous pouvez bénéficier d’autres
droits prévus par les lois de votre pays. Vous pouvez également bénéficier de certains droits à l’égard
de la partie auprès de laquelle vous avez acquis le Contenu Sous Licence. Le présent contrat ne
modifie pas les droits que vous confèrent les lois de votre pays si celles-ci ne le permettent pas.
13. EXCLUSIONS DE GARANTIE. LE CONTENU SOUS LICENCE EST CONCÉDÉ SOUS LICENCE « EN
L'ÉTAT » ET « TEL QUE DISPONIBLE ». VOUS ASSUMEZ TOUS LES RISQUES LIÉS À SON UTILISA-
TION. MICROSOFT ET SES AFFILIÉS RESPECTIFS N'ACCORDENT AUCUNE GARANTIE OU CONDI-
TION EXPRESSE. VOUS POUVEZ BÉNÉFICIER DE DROITS SUPPLÉMENTAIRES RELATIFS AUX
CONSOMMATEURS EN VERTU DU DROIT DE VOTRE PAYS QUE CE CONTRAT NE PEUT MODIFIER.
LORSQUE CELA EST AUTORISÉ PAR LE DROIT LOCAL, MICROSOFT ET SES AFFILIÉS EXCLUENT
LES GARANTIES IMPLICITES DE QUALITÉ MARCHANDE, D’ADÉQUATION À UN USAGE PARTICU-
LIER ET D’ABSENCE DE CONTREFAÇON.
14. LIMITATION ET EXCLUSION DE RECOURS ET DE DOMMAGES. VOUS POUVEZ OBTENIR DE
MICROSOFT, DE SES AFFILIÉS RESPECTIFS ET DE SES FOURNISSEURS UNE INDEMNISATION EN
CAS DE DOMMAGES DIRECTS UNIQUEMENT DANS LA LIMITE DE 5,00 $ US. VOUS NE POUVEZ
PRÉTENDRE À AUCUNE INDEMNISATION POUR LES AUTRES DOMMAGES, Y COMPRIS LES
DOMMAGES SPÉCIAUX, INDIRECTS, INCIDENTS OU ACCESSOIRES ET LES PERTES DE BÉNÉFICES.
Cette limitation concerne

●● toute affaire relative au Contenu Sous Licence, aux services, au contenu (y compris le code)
figurant sur des sites Internet tiers ou dans des programmes tiers ; et
●● les réclamations pour rupture de contrat ou violation de garantie ou condition, les réclamations en
cas de responsabilité sans faute, de négligence ou autre délit dans la limite autorisée par la loi en
vigueur.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
EULA  XI

Elle s'applique également même si Microsoft connaissait ou aurait dû connaître l’éventualité d’un tel
dommage. La limitation ou l’exclusion ci-dessus peut également ne pas vous être applicable si votre
pays n’autorise pas l’exclusion ou la limitation de responsabilité pour les dommages incidents,
indirects ou de quelque nature que ce soit.
Veuillez noter : ce Contenu Sous Licence étant distribué au Québec, Canada, certaines des clauses
de ce contrat sont fournies ci-dessous en français.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
Contents

■■ Module 0 Introduction  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1
Bienvenue sur le cours  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1
■■ Module 1 Explorer les principaux concepts relatifs aux données  . . . . . . . . . . . . . . . . . . . . . . . . .  3
Explorer les principaux concepts relatifs aux données  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  3
Explorer les rôles et les responsabilités dans le monde des données  . . . . . . . . . . . . . . . . . . . . . . . . . . .  17
Décrire les concepts de données relationnelles  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  27
Explorer les concepts de données non relationnelles  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  38
Explorer les concepts d’analyse des données  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  51
■■ Module 2 Explorer les données relationnelles dans Azure  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  69
Explorer les offres de données relationnelles dans Azure  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  69
Explorer la mise en service et le déploiement des offres de bases de données relationnelles dans
Azure  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  86
Interroger les données relationnelles dans Azure  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  105
■■ Module 3 Explorer les données non relationnelles dans Azure  . . . . . . . . . . . . . . . . . . . . . . . . . . .  133
Explorer les offres de données non relationnelles dans Azure  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  133
Explorer la mise en service et le déploiement des services de données non relationnelles dans Azure 
 165
Gérer les magasins de données non relationnelles dans Azure  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  194
■■ Module 4 Explorer l’analyse des entrepôts de données modernes dans Azure  . . . . . . . . . . . . .  231
Examiner les composants d'un entrepôt de données moderne  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  231
Explorer l’ingestion des données dans Azure  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  243
Explorer le stockage et le traitement des données dans Azure  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  254
Commencer à créer avec Power BI  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  272
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
Module 0 Introduction

Bienvenue sur le cours


À propos de ce cours
Bienvenue dans ce cours sur les Notions fondamentales d’Azure Data !
Ce cours est conçu pour tous ceux qui souhaitent apprendre les notions fondamentales des concepts de
base de données dans un environnement cloud, acquérir des compétences élémentaires dans les services
de données cloud et développer leurs connaissances de base sur les services de données cloud dans
Microsoft Azure. Le cours propose une approche pratique qui vous donne un chance de voir les données
en action et de tester les services de données Azure par vous-même.
Le contenu de ce classeur est conçu pour être utilisé avec des modules en ligne dans Microsoft Learn1.
Tout au long du cours, vous trouverez des références à des modules Learn spécifiques que vous devrez
utiliser pour acquérir une bonne expérience pratique.

Objectifs d’apprentissage
Au terme de cette formation, vous serez en mesure de :
●● Décrivez les principaux concepts de données dans Azure.
●● Expliquez les concepts des données relationnelles dans Azure.
●● Expliquez les concepts de données non relationnelles dans Azure.
●● Identifiez les composants d’un entrepôt de données moderne dans Azure.

Programme du cours
Ce cours comprend les modules suivants :

1 https://docs.microsoft.com/learn
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
2     

Module 1 : Explorer les principaux concepts relatifs aux


données
Dans ce module, vous allez découvrir les offres de données relationnelles, la configuration et le déploie-
ment de bases de données relationnelles, et l’interrogation de données relationnelles via des solutions de
données cloud utilisées avec Microsoft Azure.

Module 2 : Explorer les données relationnelles dans Azure


Dans ce module, vous allez découvrir les offres de données relationnelles, la configuration et le déploie-
ment de bases de données relationnelles, mais aussi l’interrogation de données relationnelles via des
solutions de données cloud utilisées avec Azure.

Module 3 : Explorer les données non relationnelles dans


Azure
Dans ce module, vous allez découvrir les offres de données non relationnelles, la configuration et le
déploiement de bases de données non relationnelles, ainsi que les magasins de données non relation-
nelles utilisés avec Microsoft Azure.

Module 4 : Explorer l’analyse des entrepôts de données


modernes dans Azure
Dans ce module, vous allez découvrir les options de traitement disponibles pour créer des solutions
d’analytique données dans Azure. Vous allez découvrir Azure Synapse Analytics, Azure Databricks et
Azure HDInsight. Vous allez découvrir en quoi consiste Power BI, y compris ses éléments constitutifs et la
manière dont ils fonctionnent ensemble.

Préparation des ateliers


Le contenu de ce classeur est conçu pour être utilisé avec des modules en ligne dans Microsoft Learn2.
Tout au long du cours, vous trouverez des références à des modules Learn spécifiques, contenant des
labos à utiliser pour acquérir une expérience pratique.

2 https://docs.microsoft.com/learn
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
Module 1 Explorer les principaux concepts
relatifs aux données

Explorer les principaux concepts relatifs aux


données
Introduction
Au cours des dernières décennies, la quantité de données générées par les systèmes, les applications et
les appareils a considérablement augmenté. Les données sont partout. Les données sont disponibles
dans différentes structures et différents formats. Comprendre les données et les explorer révèle des faits
intéressants et vous aide à obtenir des informations significatives.
Dans cette leçon, vous apprendrez comment organiser et traiter les données. Vous en apprendrez
davantage sur les bases de données relationnelles et non relationnelles, mais aussi sur la manière dont
les données sont gérées par le biais du traitement transactionnel, du traitement par lots et du traitement
des données en flux continu.
Imaginez que vous êtes un analyste de données pour une grande organisation de consommateurs.
L’organisation souhaite comprendre les habitudes d’achat des clients dans les supermarchés. L’organisa-
tion dispose de plusieurs jeux de données provenant de différentes sources, telles que des informations
sur les caisses (point de vente), des données météorologiques et des données sur les vacances. L’organi-
sation souhaite utiliser les technologies Azure pour comprendre et analyser ces jeux de données.

Objectifs d’apprentissage
Dans cette leçon, vous allez :
●● Identifier comment les données sont définies et stockées
●● Identifier les caractéristiques des données relationnelles et non relationnelles
●● Décrire et différencier les charges de travail de données
●● Décrire et différencier les données par lots et en flux continu
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
4     

Identifier les besoins pour les solutions de don-


nées
Les données sont désormais plus faciles à collecter et moins coûteuses à héberger, ce qui les rend
accessibles à toutes les entreprises ou presque. Les solutions de données comprennent des technologies
et des plateformes logicielles qui peuvent faciliter la collecte, l’analyse et le stockage d’informations
précieuses. Toute entreprise aimerait augmenter son chiffre d’affaires et générer des bénéfices plus
importants. Sur ce marché compétitif, les données sont un atout précieux. Une fois analysées correcte-
ment, les données fournissent une multitude d’informations utiles qui viennent nourrir les décisions
métier critiques.

Que sont les données ?


Les données sont un ensemble de faits comme des chiffres, des descriptions et des observations utilisés
dans la prise de décision. Vous pouvez classer les données en données structurées, semi-structurées ou
non structurées. Les données structurées sont généralement des données tabulaires qui sont
représentées par des lignes et des colonnes dans une base de données. Les bases de données qui
contiennent des tables sous cette forme sont appelées bases de données relationnelles (le terme
mathématique relation fait référence à un ensemble organisé de données sous forme de table). Toutes les
lignes d’une table ont le même ensemble de colonnes. L’image ci-dessous illustre un exemple montrant
deux tables dans une base de données de commerce électronique. La première table contient les détails
des clients d’une organisation, tandis que la seconde contient des informations sur les produits que vend
l’organisation.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    5

Les données semi-structurées sont des informations qui ne résident pas dans une base de données
relationnelle, mais qui possèdent quand même une certaine structure. Par exemple, des documents au
format JavaScript Object Notation (JSON). L’exemple ci-dessous montre une paire de documents
représentant des informations sur les clients. Dans les deux cas, chaque document comprend des docu-
ments enfants contenant le nom et l’adresse, mais les champs dans ces documents enfants varient d’un
client à l’autre.
## Document 1 ##
{
"customerID": "103248",
"name":
{
"first": "AAA",
"last": "BBB"
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
6     

},
"address":
{
"street": "Main Street",
"number": "101",
"city": "Acity",
"state": "NY"
},
"ccOnFile": "yes",
"firstOrder": "02/28/2003"
}

## Document 2 ##
{
"customerID": "103249",
"name":
{
"title": "Mr",
"forename": "AAA",
"lastname": "BBB"
},
"address":
{
"street": "Another Street",
"number": "202",
"city": "Bcity",
"county": "Gloucestershire",
"country-region": "UK"
},
"ccOnFile": "yes"
}

Il existe aussi d’autres types de données semi-structurées. Les exemples comprennent les magasins de
paires clé-valeur et les bases de données de graphiques.
Une base de données clé-valeur stocke des tableaux associatifs. Dans ces tableaux, une clé sert d’identifi-
ant unique afin de récupérer une valeur particulière. Ces valeurs sont quelconques : un numéro, une
chaîne ou encore un objet complexe tel qu’un fichier JSON.
Une base de données clé-valeur stocke des données en tant que collection unique, sans structure ni
relation. Cela la distingue d’une base de données relationnelle, dans laquelle les tableaux sont formés de
lignes et de colonnes comportant des types de données prédéfinis.
Vous pouvez utiliser une base de données de graphes pour stocker et interroger des informations sur des
relations complexes. Un graphe contient des nœuds (informations sur les objets) et des arêtes (informa-
tions sur les relations entre les objets). L’image ci-dessous montre un exemple de la façon dont vous
pouvez structurer les données dans une base de données de graphes.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    7

Les données ne sont pas toutes structurées ou même semi-structurées. Par exemple, les fichiers audio et
vidéo, tout comme les fichiers de données binaires, peuvent ne pas avoir une structure spécifique. On les
appelle des données non structurées.

Comment les données sont définies et stockées dans le


cloud computing ?
Selon le type de données, structuré, semi-structuré ou non structuré, les données sont stockées différem-
ment. Les données structurées sont généralement stockées dans une base de données relationnelle telle
que SQL Server ou Azure SQL Database. Azure SQL Database est un service qui s’exécute dans le cloud.
Vous pouvez l’utiliser pour créer et accéder à des tables relationnelles. Le service est managé et exécuté
par Azure, vous spécifiez juste que vous voulez créer un serveur de base de données. L’acte de configura-
tion du serveur de base de données est appelé approvisionnement.
Vous pouvez également provisionner d’autres services dans Azure. Par exemple, si vous souhaitez stocker
des données non structurées telles que des fichiers vidéo ou audio, vous pouvez utiliser le stockage Blob
Azure (Blob est un acronyme pour Binary Large Object). Si vous voulez stocker des données semi-struc-
turées telles que des documents, vous pouvez utiliser un service comme Azure Cosmos DB.
Une fois votre service provisionné, il doit être configuré pour permettre aux utilisateurs d’accéder aux
données. En général, vous pouvez définir plusieurs niveaux d’accès.
●● L’accès en lecture seule signifie que les utilisateurs peuvent lire les données, mais ne peuvent ni
modifier les données existantes, ni en créer de nouvelles.
●● L’accès en lecture/écriture donne aux utilisateurs la possibilité d’afficher et de modifier les données
existantes.
●● Le privilège Propriétaire donne un accès complet aux données, y compris la gestion de la sécurité,
comme l’ajout de nouveaux utilisateurs et la suppression de l’accès aux utilisateurs existants.
Vous pouvez également définir quels utilisateurs doivent être autorisés à accéder aux données en
premier. Si les données sont sensibles (ou secrètes), vous souhaiterez peut-être restreindre l’accès à
quelques utilisateurs sélectionnés.

Décrire les solutions de traitement des données


Les solutions de traitement des données sont souvent classées dans l’une des deux grandes catégories :
les systèmes analytiques et les systèmes de traitement transactionnel.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
8     

Qu’est-ce qu’un système transactionnel ?


Un système transactionnel est souvent ce que la plupart des gens considèrent comme la principale
fonction de l’informatique d’entreprise. Un système transactionnel enregistre les transactions. Une
transaction peut être financière, comme un virement d’un compte à un autre dans un système bancaire,
ou peut faire partie d’un système commercial comme le suivi des paiements de biens et de services par
les clients. Pensez à une transaction comme une petite et discrète unité de travail.
Les systèmes transactionnels traitent souvent de gros volumes et peuvent parfois gérer plusieurs millions
de transactions en une seule journée. Les données en cours de traitement doivent être accessibles très
rapidement. Le travail effectué par les systèmes transactionnels est souvent appelé traitement transac-
tionnel en ligne (OLTP, Online Transactional Processing).
Pour prendre en charge un traitement rapide, les données d’un système transactionnel sont souvent
divisées en petites parties. Par exemple, si vous utilisez un système relationnel, chaque table impliquée
dans une transaction contient uniquement les colonnes nécessaires à l’exécution de la tâche transaction-
nelle. Dans l’exemple d’un virement bancaire, le tableau contenant les informations sur les fonds du
compte ne contiendra probablement que le numéro de compte et le solde actuel. Les autres tables non
impliquées dans l’opération de virement contiendront des informations comme le nom et l’adresse du
client, ainsi que l’historique du compte. Une division normalisée est la division des tables en groupes
séparés de colonnes. L’unité suivante aborde ce processus plus en détail. La normalisation peut permettre
à un système transactionnel de mettre en cache une grande partie des informations requises pour
effectuer les transactions en mémoire et d’accélérer le débit.
La normalisation permet un débit rapide pour les transactions, mais peut complexifier les requêtes. En
effet, les requêtes impliquant des tables normalisées doivent souvent re-rassembler les données qui se
trouvent dans plusieurs tables. Cela peut compliquer la tâche des utilisateurs professionnels qui peuvent
avoir besoin d’examiner les données.

Qu’est-ce qu’un système analytique ?


Contrairement aux systèmes conçus pour prendre en charge l’OLTP, un système analytique est conçu
pour prendre en charge les utilisateurs professionnels qui ont besoin d’interroger des données et
d’accéder à une vue d’ensemble des informations contenues dans une base de données.
Les systèmes analytiques s’attachent à capturer des données brutes et à les utiliser pour générer des
insights. Une organisation peut utiliser ces insights pour prendre des décisions métier. Par exemple, les
insights détaillés d’une société de fabrication peuvent indiquer des tendances permettant de déterminer
les lignes de produits sur lesquelles se concentrer à des fins de rentabilité.
La plupart des systèmes de traitement des données analytiques doivent effectuer des tâches similaires :
ingestion des données, transformation des données, interrogation des données et visualisation des
données. L’image ci-dessous montre les composants d’un système de traitement de données type.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    9

●● Ingestion des données : L’ingestion de données est le processus qui consiste à capturer les données
brutes. Ces données peuvent être extraites de capteurs mesurant les informations environnementales
comme la température et la pression, de terminaux de point de vente enregistrant les articles achetés
par un client dans un supermarché, de données financières qui enregistrent les virements entre
comptes bancaires et de données météo des stations météo. Certaines de ces données peuvent
provenir d’un système OLTP distinct. Pour traiter et analyser ces données, vous devez d’abord les
stocker dans un référentiel. Le référentiel peut être un magasin de fichiers, une base de données de
document ou même une base de données relationnelle.
●● Transformation/Traitement des données : Les données brutes risquent de ne pas être dans un
format approprié pour les interroger. Les données peuvent contenir des anomalies qui doivent être
éliminées ou peuvent demander une sorte de transformation. Par exemple, vous risquez de devoir
convertir des dates ou des adresses dans un format standard. Une fois que les données sont ingérées
dans un référentiel de données, vous voudrez peut-être effectuer des opérations de nettoyage et
supprimer toutes les données douteuses ou non valides, ou effectuer des agrégations comme le
calcul des bénéfices, de la marge et d’autres métriques de performance clés (KPI). Les indicateurs de
performance clés (KPI) servent à mesurer la croissance et les performances des entreprises.
●● Requête de données : Une fois les données ingérées et transformées, vous pouvez interroger les
données pour les analyser. Vous pouvez rechercher des tendances ou essayer de déterminer la cause
des problèmes de vos systèmes. De nombreux systèmes de gestion de base de données fournissent
des outils pour vous permettre d’effectuer des requêtes ad hoc sur vos données et de générer
régulièrement des rapports.
●● Visualisation des données : Les données représentées sous forme de tables, avec des lignes et des
colonnes, ou sous forme de documents, ne sont pas toujours intuitives. La visualisation des données
peut souvent être utile comme outil d’examen des données. Vous pouvez générer des graphiques, tels
que des graphiques à barres ou des graphiques en courbes, tracer des résultats sur des cartes géo-
graphiques ou des graphiques en secteurs, ou illustrer l’évolution des données. Microsoft propose des
outils de visualisation comme Power BI pour fournir une représentation graphique complète de vos
données.

Identifier les types de données et le stockage de


données
Vous pouvez classer les données de différentes manières, non seulement en fonction de leur structure,
mais également de la manière dont les données sont utilisées. Dans cette unité, vous découvrirez les
caractéristiques des différents types de données.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
10     

Décrire les caractéristiques des données relationnelles et


non relationnelles
Les bases de données relationnelles constituent probablement le modèle de conservation des données le
mieux compris. La structure simple des tables et des colonnes les rend faciles à utiliser au départ, mais la
structure rigide peut poser certains problèmes. Par exemple, dans une base de données contenant des
informations sur les clients, comment gérez-vous les clients qui ont plus d’une adresse ? Ajoutez-vous
des colonnes pour contenir les détails de chaque adresse ? Si oui, combien de ces colonnes devez-vous
ajouter ? Si vous autorisez trois adresses, que se passe-t-il si un client n’a qu'une seule adresse ? Que
stockez-vous dans les colonnes de rechange ? Que se passe-t-il alors si vous avez soudainement un client
avec quatre adresses ? De même, quelles informations stockez-vous dans une adresse (nom de rue,
numéro de maison, ville, code postal) ? Que se passe-t-il si une maison a un nom plutôt qu’un numéro
ou est située dans un pays qui n’utilise pas les codes postaux ?
Vous pouvez résoudre ces problèmes en utilisant un processus appelé normalisation1. En règle générale,
le résultat final du processus de normalisation est que vos données sont divisées en un grand nombre de
tables réduites et bien définies (une table réduite est une table avec peu de colonnes), avec des référenc-
es d’une table à l’autre, comme le montre l’image ci-dessous. Cependant, l’interrogation des données
nécessite souvent de réassembler les informations de plusieurs tables en réunissant les données au
moment de l’exécution (illustré par les lignes dans le diagramme). Ces types de requêtes peuvent être
coûteux.

Les bases de données non relationnelles vous permettent de stocker des données dans un format très
similaire à la structure d’origine. Par exemple, dans une base de données de documents, vous pouvez
stocker les détails de chaque client dans un seul document, comme le montre l’exemple de l’unité
précédente. Extraire les coordonnées d’un client, y compris l’adresse, signifie lire un seul document. Il y a
cependant quelques inconvénients à utiliser une base de données de documents. Si deux clients cohabi-
tent et ont la même adresse, dans une base de données relationnelle, vous n’avez besoin de stocker les
informations d’adresse qu’une seule fois. Dans le diagramme ci-dessous, Jay et Frances Adams partagent
la même adresse.

Dans une base de données de documents, l’adresse serait dupliquée dans les documents de Jay et
Francis Adams. Cette duplication augmente non seulement le stockage requis, mais peut également
rendre la maintenance plus complexe (si l’adresse change, vous devez la modifier dans deux documents).

1 https://docs.microsoft.com/office/troubleshoot/access/database-normalization-description
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    11

## Document pour Jay Adams ##


{
"customerID": "1",
"name":
{
"firstname": "Jay",
"lastname": "Adams"
},
"address":
{
"number": "12",
"street": "Park Street",
"city": "Some City",
}
}

## Document pour Frances Adams ##


{
"customerID": "4",
"name":
{
"firstname": "Francis",
"lastname": "Adams"
},
"address":
{
"number": "12",
"street": "Park Street",
"city": "Some City",
}
}

Décrire les charges de travail transactionnelles


Les bases de données relationnelles et non relationnelles sont adaptées à différentes charges de travail.
Une des utilisations principales des bases de données relationnelles est de gérer le traitement des
transactions.
Une transaction est une séquence d'opérations atomiques. Cela signifie que toutes les opérations de la
séquence doivent être exécutées. En cas de problème, toutes les opérations exécutées jusqu’à présent
dans la séquence devront être annulées. Les virements bancaires sont un bon exemple : vous déduisez
des fonds d’un compte et créditez les fonds équivalents sur un autre compte. Si le système échoue après
avoir déduit les fonds, ceux-ci doivent être réintégrés dans le compte d’origine (ils ne doivent pas être
perdus). Vous pouvez alors tenter à nouveau d’effectuer le transfert. De même, vous ne devriez pas
pouvoir créditer deux fois un compte avec les mêmes fonds.
Chaque transaction de base de données a un point de départ défini, suivi d'étapes pour modifier les
données dans la base de données. À la fin, la base de données valide les modifications pour les rendre
permanentes, ou annule les modifications au point de départ lorsque la transaction peut être tentée à
nouveau.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
12     

Une base de données transactionnelle doit adhérer aux propriétés ACID (atomicité, cohérence, isolation,
durabilité) pour garantir que la base de données reste cohérente lors du traitement des transactions.
●● L'atomicité garantit que chaque transaction est traitée comme une seule unité, laquelle réussit
complètement ou échoue complètement. Si l’une des instructions constituant une transaction échoue,
la transaction entière échoue et la base de données reste inchangée. Un système atomique doit
garantir l’atomicité dans toute situation, y compris les pannes de courant, les erreurs et les erreurs
systèmes.
●● La cohérence garantit qu’une transaction ne peut prendre les données de la base de données que d’un
état valide à un autre. Une base de données cohérente ne devrait jamais perdre ou créer de données
d’une manière qui ne peut être prise en compte. Dans l’exemple du virement bancaire décrit
précédemment, si vous ajoutez des fonds à un compte, il doit y avoir une déduction correspondante
des fonds quelque part, ou un enregistrement qui décrit la provenance des fonds, s’ils ont été reçus
de manière externe. Vous ne pouvez pas créer (ou perdre) soudainement de l’argent.
●● L’isolement garantit que l’exécution simultanée des transactions laisse la base de données dans le
même état qui aurait été obtenu si les transactions avaient été exécutées séquentiellement. Un
processus simultané ne peut pas afficher les données dans un état incohérent (par exemple, des fonds
auraient été déduits d’un compte, mais pas encore crédités sur un autre compte.)
●● La durabilité garantit qu’une fois qu’une transaction a été validée, elle le restera, même en cas de
défaillance du système telle qu’une panne de courant ou une erreur système.
Les systèmes de base de données qui traitent les charges de travail transactionnelles sont intrinsèque-
ment complexes. Ils doivent gérer des utilisateurs simultanés qui tentent éventuellement d’accéder aux
mêmes données et de les modifier en même temps, en traitant les transactions de manière isolée, tout en
maintenant la base de données cohérente et récupérable. De nombreux systèmes implantent la
cohérence relationnelle et l’isolement en appliquant des dispositifs de verrouillage aux données lors de
leur mise à jour. Le verrouillage empêche un autre processus de lire les données jusqu’à ce que le
système de verrouillage soit débloqué. Le verrouillage n’est débloqué que lorsque la transaction est
validée ou annulée. Un dispositif de verrouillage étendu peut entraîner de mauvaises performances, par
exemple lorsque les applications attendent que les systèmes de verrouillage soient débloqués.
Les bases de données distribuées sont largement utilisées dans de nombreuses organisations. Une base
de données distribuée est une base de données dans laquelle les données sont stockées dans différents
emplacements physiques. Elle peut être conservée dans plusieurs ordinateurs situés dans le même
emplacement physique (par exemple, un centre de données), ou peut être dispersée sur un réseau
d’ordinateurs interconnectés. Comparativement aux systèmes de base de données non distribués,
l’application d’une mise à jour de données vers une base de données distribuée prendra du temps si elle
soit s’appliquer sur plusieurs sites. Si vous avez besoin d’une cohérence transactionnelle dans ce scénario,
les verrous peuvent être conservés pendant très longtemps, en particulier en cas de défaillance du réseau
entre les bases de données à un moment critique. Pour contrer ce problème, de nombreux systèmes de
gestion de bases de données distribuées assouplissent les exigences d’isolement stricts des transactions
et mettent en œuvre la « cohérence éventuelle ». Dans cette forme de cohérence, lorsqu’une application
écrit des données, chaque modification est enregistrée par un serveur, puis propagée aux autres serveurs
du système de base de données distribuée de manière asynchrone. Bien que cette stratégie contribue à
minimiser la latence, elle peut entraîner des incohérences temporaires au niveau des données. La
cohérence finale est idéale là où l’application ne nécessite aucune garantie de commande. Les exemples
incluent le nombre de partages, de mentions « J’aime » ou de commentaires non filetés dans un système
de réseaux sociaux.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    13

Décrire les charges de travail analytiques


Les charges de travail analytiques sont généralement des systèmes en lecture seule qui stockent de
vastes volumes de données historiques ou de mesures commerciales, comme les performances de vente
et les niveaux d’inventaire. Les charges de travail analytiques sont utilisées pour l’analyse des données et
la prise de décision. Les analyses sont générées en agrégeant les faits présentés par les données brutes
en résumés, en tendances et en autres types d’« informations commerciales ».
L’analyse peut être basée sur une capture instantanée des données à un moment donné ou sur une série
d’instantanés. Les personnes qui se trouvent à un niveau supérieur dans la hiérarchie de l’entreprise n’ont
généralement pas besoin de tous les détails de chaque transaction. Ils veulent bénéficier d’une vue
d’ensemble plus complète.
Un rapport sur les ventes mensuelles est un exemple d’information analytique. En tant que chef du
service commercial, vous n’aurez peut-être pas besoin de voir toutes les transactions quotidiennes
(informations transactionnelles), mais vous aimeriez certainement recevoir un rapport mensuel des ventes
pour identifier les tendances et prendre des décisions (informations analytiques).
Cependant, les informations transactionnelles font partie intégrante des informations analytiques. Si vous
ne disposez pas de bons enregistrements des ventes quotidiennes, vous ne pourrez pas compiler de
rapport utile pour identifier les tendances. C’est pourquoi une gestion efficace des informations transac-
tionnelles est très importante.

Décrivez la différence entre les données par lots


et en diffusion en continu
Le traitement des données est simplement la conversion de données brutes en informations significa-
tives, via un processus. Selon la manière dont les données sont ingérées dans votre système, vous pouvez
traiter chaque élément de données à son arrivée, ou mettre en mémoire tampon les données brutes et
les traiter en groupes. Le traitement des données à leur arrivée s’appelle diffusion en continu. La mise en
mémoire tampon et le traitement des données en groupes sont appelés traitement par lots.

Comprendre le traitement par lots


Dans le traitement par lots, les éléments de données nouvellement arrivés sont collectés dans un groupe.
L’ensemble du groupe est ensuite traité ultérieurement en tant que lot. Le moment exact où chaque
groupe est traité peut être défini de plusieurs manières. Par exemple, vous pouvez traiter les données en
fonction d’un intervalle de temps planifié (par exemple, toutes les heures), ou elles peuvent être dé-
clenchées lorsqu’une certaine quantité de données est arrivée, ou à la suite d’un autre événement.
Un exemple de traitement par lots est la façon dont les sociétés de cartes de crédit gèrent la facturation.
Le client ne reçoit pas de facture pour chaque achat séparé par carte de crédit, mais une facture mensu-
elle pour tous les achats de ce mois.
Les avantages du traitement par lots sont les suivants :
●● De grands volumes de données peuvent être traités à un moment opportun.
●● Il peut être programmé pour s’exécuter à un moment où les ordinateurs ou les systèmes sont inactifs,
par exemple pendant la nuit ou pendant les heures creuses.
Les inconvénients du traitement par lots sont les suivants :
●● Le délai entre l’ingestion des données et l’obtention des résultats.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
14     

●● Toutes les données d’entrée d’un travail par lots doivent être prêtes avant qu’un lot puisse être traité.
Cela signifie que les données doivent être soigneusement vérifiées. Les problèmes de données, les
erreurs et les pannes de programme qui se produisent pendant les travaux par lots risquent de
bloquer l’ensemble du processus. Les données d’entrée doivent être soigneusement vérifiées avant de
pouvoir relancer l’exécution du travail. Même des erreurs de données mineures, telles que des erreurs
typographiques dans les dates, peuvent empêcher l’exécution d’un travail par lots.

Comprendre la diffusion en continu et les données en


temps réel
Dans le traitement de flux, chaque nouvelle donnée est traitée à son arrivée. Par exemple, l’ingestion des
données est intrinsèquement un processus de diffusion en continu.
La diffusion en continu gère les données en temps réel. Contrairement au traitement par lots, il ne faut
pas attendre jusqu’au prochain intervalle de traitement par lots, et les données sont traitées comme des
pièces individuelles plutôt que d’être traitées un lot à la fois. Le traitement des données en diffusion
continue est bénéfique dans la plupart des scénarios où de nouvelles données dynamiques sont générées
en continu.
Voici quelques exemples de traitement des données de diffusion en continu :
●● Une institution financière suit l’évolution du marché boursier en temps réel, calcule la valeur à risque
et rééquilibre automatiquement les portefeuilles en fonction des mouvements du cours des actions.
●● Une entreprise de gaming en ligne collecte des données en temps réel sur les interactions entre les
joueurs et les jeux, puis les alimente dans sa plateforme de gaming. Elle analyse ensuite les données
en temps réel, propose des incitations et des expériences dynamiques pour engager ses joueurs.
●● Un site web immobilier qui suit un sous-ensemble de données provenant des appareils mobiles des
consommateurs et fait des recommandations en temps réel sur les propriétés à visiter en fonction de
leur géolocalisation.
Le traitement des données de diffusion en continu est idéal pour les opérations urgentes qui nécessitent
une réponse instantanée en temps réel. Par exemple, un système qui surveille la fumée et la chaleur d’un
bâtiment doit déclencher des alarmes et déverrouiller les portes pour permettre aux résidents de s’échap-
per immédiatement en cas d’incendie.

Comprendre les différences entre les données par lots et


les données de diffusion en continu
Outre la manière dont le traitement par lots et le traitement en flux continu gèrent les données, il existe
d’autres différences :
●● Étendue des données : Le traitement par lots peut traiter toutes les données du jeu de données. Le
traitement en flux continu n’a généralement accès qu’aux données les plus récentes reçues, ou dans
une fenêtre de temps glissante (les 30 dernières secondes, par exemple).
●● Taille des données : Le traitement par lots est idéal pour gérer efficacement des jeux de données
volumineux. Le traitement en flux continu est destiné aux enregistrements individuels ou micro-lots
composés de quelques enregistrements.
●● Les niveaux de performance : La latence du traitement par lots est généralement de quelques heures.
Le traitement en flux continu se produit généralement immédiatement, avec une latence de l’ordre de
quelques secondes ou millisecondes. La latence est le temps nécessaire pour que les données soient
reçues et traitées.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    15

●● Analyse : Vous utilisez généralement le traitement par lots pour effectuer des analyses complexes. Le
traitement des données en flux continu est utilisé pour des fonctions de réponse simples, des
agrégats ou des calculs tels que des moyennes mobiles.

Contrôle des connaissances


Question 1
Comment les données d’une table relationnelle sont-elles organisées ?
†† Lignes et colonnes
†† En-tête et pied de page
†† Pages et paragraphes

Question 2
Parmi les propositions suivantes, laquelle est un exemple de données non structurées ?
†† Une table Employé avec les colonnes ID d’employé, Nom d’employé et Désignation d’employé
†† Fichiers audio et vidéo
†† Une table dans la base de données SQL Server

Question 3
Parmi les propositions suivantes, laquelle est un exemple de jeu de données en flux continu ?
†† Données provenant de capteurs et d’appareils
†† Données de vente du mois dernier
†† Liste des salariés travaillant pour une entreprise

Résumé
Microsoft Azure fournit différentes technologies pour stocker des données relationnelles et non relation-
nelles. Chaque technologie a ses propres atouts et est adaptée à des scénarios spécifiques.
Au cours de cette leçon, vous apprendrez à :
●● Identifier comment les données sont définies et stockées
●● Identifier les caractéristiques des données relationnelles et non relationnelles
●● Décrire et différencier les charges de travail de données
●● Décrire et différencier les données par lots et en flux continu

En savoir plus
●● Introduction à la base de données Azure SQL2
●● Présentation du stockage Blob Azure3

2 https://docs.microsoft.com/azure/sql-database/sql-database-technical-overview
3 https://docs.microsoft.com/azure/storage/blobs/storage-blobs-introduction
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
16     

●● Introduction à Azure Cosmos DB4


●● Description des bases de la normalisation de base de données5

4 https://docs.microsoft.com/azure/cosmos-db/introduction
5 https://docs.microsoft.com/office/troubleshoot/access/database-normalization-description
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    17

Explorer les rôles et les responsabilités dans le


monde des données
Introduction
Au cours de la dernière décennie, la quantité de données générées par les systèmes et les appareils a
considérablement augmenté. En raison de cette augmentation, les nouvelles technologies, rôles et
approches pour travailler avec les données affectent les professionnels des données. Les professionnels
des données remplissent généralement différents rôles lors de la gestion, de l’utilisation et du contrôle
des données. Dans ce module, vous découvrirez les différents rôles que les organisations appliquent
souvent aux professionnels des données, ainsi que les tâches et responsabilités associées à ces rôles.

Objectifs d’apprentissage
Dans cette leçon, vous allez :
●● Examiner les rôles de travail des données
●● Examiner les tâches et les outils courants pour les rôles de travail des données

Examiner les fonctions professionnelles du


monde des données
Il existe de nombreuses fonctions professionnelles impliquées dans la gestion, le contrôle et l’utilisation
des données. Certaines fonctions sont orientées commerce, certaines impliquent davantage d’ingénierie,
d’autres se concentrent sur la recherche et d’autres encore sont des fonctions hybrides qui combinent
différents aspects de la gestion des données. Dans cette unité, vous explorerez les fonctions profession-
nelles les plus courantes du monde des données. Votre organisation peut définir les fonctions différem-
ment ou leur donner des noms différents, mais les fonctions décrites dans cette unité résument la
division la plus courante du travail et des responsabilités.

Quelles sont les rôles du monde des données ?


Il existe trois rôles professionnels clés qui traitent des données dans la plupart des organisations. Les
administrateurs de bases de données gèrent les bases de données, octroient des autorisations aux
utilisateurs, stockent des copies de sauvegarde des données et restaurent les données en cas de sinistre.
Les ingénieurs de données jouent un rôle essentiel dans le traitement des données : ils appliquent les
routines de nettoyage des données, identifient les règles métier et transforment les données en informa-
tions utiles. Les analystes de données consultent et analysent les données pour créer des visualisations et
des graphiques permettant aux organisations de prendre des décisions éclairées.

Rôle d’administrateur de base de données Azure

Un administrateur de base de données Azure est responsable de la conception, de la mise en œuvre, de


RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
18     

la maintenance et des aspects opérationnels des solutions de base de données, sur site et dans le cloud,
basées sur les services de données Azure et SQL Server. Il est responsable de la disponibilité globale et
des performances et optimisations cohérentes des solutions de base de données. Il travaille avec les
parties prenantes pour mettre en œuvre des politiques, des outils et des processus pour les plans de
sauvegarde et de récupération après une catastrophe naturelle ou une erreur d’origine humaine.

L’administrateur de base de données est également responsable de la gestion de la sécurité des données
dans la base de données, de l’octroi de privilèges sur les données et, le cas échéant, de l’octroi ou du
refus de l’accès aux utilisateurs.

Rôle d’ingénieur de données

Un ingénieur de données collabore avec les parties prenantes pour concevoir et mettre en œuvre des
actifs liés aux données qui incluent des pipelines d’ingestion de données, des activités de nettoyage et de
transformation et des banques de données pour les charges de travail analytiques. Il utilise un large
éventail de technologies de plateformes de données, y compris des bases de données relationnelles et
non relationnelles, des magasins de fichiers et des flux de données.

Il est également chargé de s’assurer que la confidentialité des données est préservée dans le cloud et
s’étend des banques de données sur site aux banques de données dans le cloud. Il est aussi responsable
de la gestion et de la surveillance des banques de données et des pipelines de données pour garantir
que les charges de données fonctionnent comme prévu.

Rôle d’analyste des données

Un analyste des données permet aux entreprises d’optimiser la valeur de leurs ressources de données. Il
est responsable de la conception et de la construction de modèles évolutifs, du nettoyage et de la
transformation des données, mais aussi de la mise en œuvre de capacités d’analyse avancées, par le biais
de rapports et de visualisations.

Un analyste des données transforme les données brutes en informations pertinentes, basées sur les
exigences métier identifiées, pour fournir des informations pertinentes.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    19

Examiner les tâches et les outils d’administration


de la base de données
Les administrateurs de bases de données sont chargés de gérer et d’organiser les bases de données. Le
travail principal d’un administrateur de base de données est de s'assurer que les données sont disponi-
bles, protégées contre la perte, la corruption ou le vol, et facilement accessibles selon les besoins.

Les tâches et les responsabilités de l’administrateur de


base de données
Certaines des fonctions et responsabilités les plus courantes d’un administrateur de base de données
sont les suivantes :
●● L’installation et la mise à niveau du serveur de base de données et des outils d’application.
●● L’allocation du stockage du système et la planification des besoins de stockage pour le système de
base de données.
●● La modification de la structure de la base de données, lorsque requise, à partir des informations
fournies par les développeurs d’applications.
●● L’inscription des utilisateurs et le maintien de la sécurité du système.
●● S’assurer de la conformité avec le contrat de licence du fournisseur de base de données.
●● Le contrôle et la surveillance de l’accès des utilisateurs à la base de données.
●● La surveillance et l’optimisation des performances de la base de données.
●● La planification de la sauvegarde et de la restauration des informations de la base de données.
●● La conservation des données archivées.
●● La sauvegarde et la restauration des bases de données.
●● Contacter le fournisseur de la base de données pour obtenir un soutien technique.
●● Générer divers rapports en interrogeant la base de données selon les besoins.
●● La gestion et la surveillance de la réplication des données.
●● Agir en tant qu’agent de liaison avec les utilisateurs.

Outils courants d’administration de base de données


La plupart des systèmes de gestion de base de données fournissent leur propre ensemble d’outils pour
aider à l’administration de la base de données. Par exemple, les administrateurs de base de données SQL
Server utilisent SQL Server Management Studio pour la plupart de leurs activités quotidiennes de mainte-
nance de base de données. D’autres systèmes ont leurs propres interfaces spécifiques à la base de
données, comme pgAdmin pour les systèmes PostgreSQL ou MySQL Workbench pour MySQL. Il existe
également un certain nombre d’outils d'administration de bases de données multiplateformes. Azure
Data Studio en est un exemple.

Qu’est-ce qu’Azure Data Studio ?


Azure Data Studio fournit une interface utilisateur graphique pour gérer de nombreux systèmes de base
de données différents. Il fournit actuellement des connexions aux bases de données de serveur SQL sur
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
20     

site, à la base de données Azure SQL, à PostgreSQL, à Azure SQL Data Warehouse et aux clusters Big Data
du serveur SQL, entre autres. Il s’agit d’un outil extensible, et vous pouvez télécharger et installer des
extensions de développeurs tiers qui se connectent à d’autres systèmes, ou fournir des assistants qui
aident à automatiser de nombreuses tâches administratives.

Qu’est-ce que SQL Server Management Studio?


SQL Server Management Studio fournit une interface graphique, qui permet d’interroger des données,
d’effectuer des tâches générales d’administration de base de données et de générer des scripts pour
automatiser les opérations de maintenance et de support de la base de données. L’exemple ci-dessous
présente l’utilisation de SQL Server Management Studio pour sauvegarder une base de données.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    21

Une fonctionnalité utile de SQL Server Management Studio est la possibilité de générer des scripts
Transact-SQL pour presque toutes les fonctionnalités fournies par SSMS. Cela donne à l’administrateur de
base de données la possibilité de planifier et d’automatiser de nombreuses tâches courantes.

REMARQUE : Transact-SQL est un ensemble d’extensions de programmation de Microsoft qui ajoute


plusieurs fonctionnalités au SQL (Structured Query Language), notamment le contrôle des transactions, la
gestion des exceptions et des erreurs, le traitement des lignes et les variables déclarées.

Utiliser le portail Azure pour gérer Azure SQL Database


La base de données Azure SQL fournit des services de base de données dans Azure. Il est similaire à SQL
Server, sauf qu’il s'exécute dans le cloud. Vous pouvez gérer Azure SQL Database à l'aide du portail
Azure6.

6 https://portal.azure.com/#home
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
22     

Les tâches de configuration typiques comme l’augmentation de la taille de la base de données, la


création d’une nouvelle base de données et la suppression d’une base de données existante sont effec-
tuées à l’aide du portail Azure.

Vous pouvez utiliser le portail Azure pour gérer et ajuster dynamiquement des ressources comme la taille
de stockage des données et le nombre de cœurs disponibles pour le traitement de la base de données.
Ces tâches nécessiteraient l’assistance d’un administrateur système si vous exécutiez la base de données
sur site.

Examiner les tâches et les outils pour l’ingénierie


des données
Les ingénieurs de données sont chargés de gérer et d’organiser les données, tout en surveillant les
tendances ou les incohérences qui auront un impact sur les objectifs de l’entreprise. C’est un poste
hautement technique, nécessitant de l’expérience et des compétences dans des domaines comme la
programmation, les mathématiques et l’informatique. Mais les ingénieurs de données ont également
besoin de compétences générales pour communiquer les tendances des données aux autres membres de
l’organisation et pour aider l’entreprise à utiliser les données qu’elle collecte.

Tâches et responsabilités de l’ingénieur de données


Certains des rôles et responsabilités les plus courants d’un ingénieur de données sont les suivants :
●● Développer, construire, tester et maintenir des bases et des structures de données.
●● Aligner l’architecture des données avec les exigences de l’entreprise.
●● Acquisition des données.
●● Développer des processus pour créer et récupérer des informations provenant d’ensembles de
données.
●● Utiliser des langages de programmation et des outils pour examiner les données.
●● Identifier les moyens d’améliorer la fiabilité, l’efficacité et la qualité des données.
●● Mener des recherches pour des questions industrielles et commerciales.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    23

●● Déployer des programmes d’analyse sophistiqués, l’apprentissage automatique et des méthodes


statistiques.
●● Préparer des données pour la modélisation prédictive et prescriptive.
●● Utiliser des données pour découvrir les tâches qui peuvent être automatisées.

Outils d’ingénierie de données courants


Pour maîtriser l’ingénierie des données, vous devez être familiarisé avec une plage d’outils qui vous
permettent de créer des bases de données bien conçues et optimisées pour les processus métier qui
seront exécutés. Vous devez avoir une connaissance approfondie de l’architecture du système de gestion
de base de données (SGBD), de la plateforme sur laquelle le système s’exécute et des exigences commer-
ciales pour les données stockées dans la base de données.
Si vous utilisez un système de gestion de base de données relationnelle, vous devez maîtriser SQL. Vous
devez pouvoir utiliser SQL pour créer des bases de données, des tables, des index, des vues et les autres
objets requis par la base de données. De nombreux systèmes de gestion de base de données fournissent
des outils qui vous permettent de créer et d’exécuter des scripts SQL. Par exemple, SQL Server Manage-
ment Studio (décrit dans l’unité précédente), vous permet de créer et d’interroger visuellement des tables,
mais vous pouvez également créer vos propres scripts SQL manuellement.
Dans certains cas, vous devrez peut-être interagir avec une base de données depuis la ligne de com-
mande. De nombreux systèmes de gestion de base de données fournissent une interface de ligne de
commande qui prend en charge ces opérations. Par exemple, vous pouvez utiliser l’utilitaire sqlcmd pour
vous connecter à Microsoft SQL Server et aux bases de données Azure SQL, puis exécuter des requêtes et
des commandes ad hoc.
En tant que professionnel de SQL Server, votre principal outil de manipulation de données peut être
Transact-SQL. En tant qu’ingénieur de données, vous pouvez utiliser des technologies supplémentaires,
telles que Azure Databricks7 et Azure HDInsight8 pour générer et tester des modèles prédictifs. Si vous
travaillez dans le domaine non relationnel, vous pouvez utiliser Azure Cosmos DB9 comme magasin de
données principal. Pour manipuler et interroger les données, vous pouvez utiliser des langages tels que
HiveQL, R ou Python.

Examiner les tâches et les outils de visualisation


des données et de création de rapports
Les analystes de données sont chargés de comprendre ce que les données signifient réellement. Un
analyste de données qualifié explorera les données et les utilisera pour déterminer les tendances et les
problèmes, mais aussi pour obtenir d’autres informations qui pourraient être utiles à l’entreprise.
Une grande partie du rôle d’analyste de données concerne la communication et la visualisation. La
visualisation des données est essentielle pour présenter de grandes quantités d’informations de manière
universellement compréhensible ou facile à interpréter et pour repérer les modèles, les tendances et les
corrélations. Ces représentations comprennent des tableaux, des graphiques, des infographies et d’autres
diagrammes illustrés. Les analystes de visualisation de données utilisent des outils et des logiciels de
visualisation pour communiquer des informations de cette manière, pour les clients ou pour leur propre
entreprise. Un bon analyste de données doit avoir de l’expérience et des compétences dans les outils de
création de rapports tels que Microsoft Power BI et SQL Server Reporting Services.

7 https://docs.microsoft.com/azure/azure-databricks/what-is-azure-databricks
8 https://docs.microsoft.com/azure/hdinsight/hdinsight-overview
9 https://docs.microsoft.com/azure/cosmos-db/introduction
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
24     

Tâches et responsabilités de l’analyste de données


Les principales fonctions d’un analyste de données comprennent généralement les éléments suivants :
●● Rendre les données volumineuses ou complexes plus accessibles, plus compréhensibles et plus
utilisables.
●● Créer des graphiques et des diagrammes, des histogrammes, des cartes géographiques et d’autres
modèles visuels qui permettent d’expliquer la signification de grands volumes de données et à isoler
les zones d’intérêt.
●● Transformer, améliorer et intégrer des données provenant de nombreuses sources, en fonction des
besoins de l’entreprise.
●● Combiner les ensembles de résultats de données sur plusieurs sources. Par exemple, la combinaison
des données de vente et des données météorologiques donne un aperçu utile de la façon dont le
temps a influencé les ventes de certains produits tels que les crèmes glacées.
●● Trouver des modèles cachés à l’aide de données.
●● Fournir des informations d’une manière utile et attrayante aux utilisateurs, en créant des tableaux de
bord et des rapports graphiques enrichis.

Outils de visualisation de données courants


Auparavant, de nombreux analystes de données utilisaient des applications Microsoft Office telles que
Microsoft Excel pour créer des rapports visuels enrichis. De nombreux analystes utilisent désormais
Microsoft Power BI, une puissante plateforme de visualisation, pour créer des tableaux de bord et des
rapports riches et graphiques sur des données qui peuvent varier de manière dynamique.
Power BI est une collection de services logiciels, d’applications et de connecteurs qui fonctionnent
conjointement pour transformer des sources de données disparates en informations cohérentes, visuelle-
ment immersives et interactives. Vos données peuvent être conservées dans un endroit local, comme un
tableur Excel, ou dans une collection de bases de données informatiques et sur site, ou dans un autre
ensemble de sources de données. Power BI vous permet de vous connecter facilement à vos sources de
données, de découvrir ce qui est important dans ces données et de partager vos observations avec
d’autres membres de l’organisation.
L’image ci-dessous montre un exemple de tableau de bord créé à l’aide de Power BI. Dans cet exemple,
l’analyste utilise Power BI pour examiner les données de vente au détail d’articles vendus dans plusieurs
magasins et districts. Les mesures comparent le niveau de performance de cette année à celui de l’année
dernière pour les ventes, les unités, la marge brute et la variance, ainsi que l’analyse des nouveaux
magasins.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    25

Contrôle des connaissances


Question 1
Laquelle des tâches suivantes est un rôle d’administrateur de base de données ?
†† Sauvegarde et restauration des bases de données
†† Création de tableaux de bord et de rapports
†† Identification des problèmes de qualité des données

Question 2
Lequel des outils suivants est un outil de visualisation et de rapport ?
†† SQL Server Management Studio
†† Power BI
†† SQL
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
26     

Question 3
Lequel des rôles suivants n’est pas un rôle de tâche de données ?
†† Administrateur système
†† Analyste de données
†† Administrateur de base de données

Résumé
La gestion et l’utilisation des données constituent une compétence spécialisée. La plupart des organisa-
tions définissent des rôles pour les différentes tâches responsables de la gestion des données.
Dans cette leçon, vous avez acquis des notions sur :
●● Certains des rôles de travail courants pour la gestion des données
●● Les tâches généralement effectuées par ces rôles et les types d’outils qu’ils utilisent

En savoir plus
●● Aperçu d’Azure Databricks10
●● Aperçu d’Azure HDInsight11
●● Présentation d’Azure Cosmos DB12
●● Aperçu de Power BI13
●● Documentation technique de SQL Server14
●● Introduction à Azure Data Factory15

10 https://docs.microsoft.com/azure/azure-databricks/what-is-azure-databricks
11 https://docs.microsoft.com/azure/hdinsight/hdinsight-overview
12 https://docs.microsoft.com/azure/cosmos-db/introduction
13 https://docs.microsoft.com/power-bi/fundamentals/power-bi-overview
14 https://docs.microsoft.com/sql/sql-server/?view=sql-server-ver15
15 https://docs.microsoft.com/azure/data-factory/introduction
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    27

Décrire les concepts de données relationnelles


Introduction
Dans les premières années des bases de données, chaque application stockait des données dans sa
propre structure unique. Lorsque les développeurs voulaient créer des applications pour utiliser ces
données, ils devaient en savoir beaucoup sur la structure de données particulière pour trouver les
données dont ils avaient besoin. Ces structures de données étaient inefficaces, difficiles à maintenir et à
optimiser pour offrir de bonnes performances d’application. Le modèle de base de données relationnelle
a été conçu pour résoudre le problème des multiples structures de données arbitraires. Le modèle
relationnel offrait un moyen standard de représenter et d’interroger des données pouvant être utilisées
par n’importe quelle application. Dès le début, les développeurs ont reconnu que la principale force du
modèle de base de données relationnelle réside dans son utilisation de tables, qui constitue un moyen
intuitif, efficace et flexible de stocker et d’accéder à des informations structurées.
Le modèle relationnel simple mais puissant est utilisé par des organisations de tous types et de toutes
tailles pour une grande variété de besoins de gestion de l’information. Les bases de données relation-
nelles sont utilisées pour suivre les inventaires, traiter les transactions de commerce électronique, gérer
d’énormes quantités d’informations clients critiques, et bien plus encore. Une base de données relation-
nelle est utile pour stocker les informations contenant des éléments de données connexes qui doivent
être organisés de manière cohérente et basés sur des règles.
Dans cette leçon, vous découvrirez les principales caractéristiques des données relationnelles et vous
découvrirez les structures de données relationnelles.

Objectifs d’apprentissage
Dans cette leçon, vous allez :
●● Découvrez les caractéristiques des données relationnelles
●● Définir des tables, des index et des vues
●● Découvrir les offres de charge de travail de données relationnelles dans Azure

Découvrir les caractéristiques des données rela-


tionnelles
L’un des principaux avantages des bases de données informatiques est qu’elles facilitent le stockage des
informations et permettent de les rechercher rapidement et facilement. Par exemple, un système de
commerce électronique peut utiliser une base de données pour enregistrer des informations sur les
produits vendus par une organisation, des données sur les clients, ainsi que les commandes que ces
derniers ont passées. Une base de données relationnelle fournit un modèle de stockage des données,
ainsi qu’une fonctionnalité de requête vous permettant d’extraire rapidement des données.
Dans cette unité, vous allez découvrir plus en détail les caractéristiques des données relationnelles, ainsi
que la façon dont vous pouvez stocker ces informations et les extraire à l’aide de requêtes dans une base
de données relationnelle.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
28     

Comprendre les caractéristiques des données relation-


nelles
Dans une base de données relationnelle, vous modélisez des collections d’entités issues du monde réel
sous forme de tables. Une entité est décrite comme un élément sur lequel des informations doivent être
connues ou conservées. Dans l’exemple du commerce électronique, vous pouvez créer des tables pour les
clients, les produits et les commandes. Une table contient des lignes et chaque ligne représente une
instance individuelle d’une entité. Dans le scénario du commerce électronique, chaque ligne de la table
des clients contient les données d’un client individuel, chaque ligne de la table des produits définit un
produit individuel et chaque ligne de la table des commandes représente une commande effectuée par
un client.
Les lignes d’une table ont une ou plusieurs colonnes qui définissent les propriétés de l’entité, telles que le
nom du client ou l’ID du produit. Toutes les lignes d’une même table ont les mêmes colonnes. Certaines
colonnes sont utilisées pour entretenir des relations entre les tables. Dans l’image ci-dessous, la table
Orders (table des commandes) contient une colonne Customer ID (ID de client) et une colonne Product
ID (ID de produit). L’ID de client se rapporte à la table Customers (table des clients) pour identifier le
client qui a passé la commande et l’ID de produit se rapporte à la table Products (table des produits)
pour indiquer le produit acheté.

Vous concevez une base de données relationnelle en créant un modèle de données. Le modèle ci-des-
sous montre la structure des entités de l’exemple précédent. Dans ce diagramme, les colonnes marquées
PK sont la Clé primaire de la table. La clé primaire indique la colonne (ou la combinaison de colonnes) qui
identifie de manière unique chaque ligne. Chaque table doit avoir une clé primaire.
Le diagramme montre également les relations entre les tables. Les lignes qui relient les tables indiquent
le type de relation. Dans ce cas, la relation des clients aux commandes est 1 à plusieurs (un client peut
passer plusieurs commandes, mais chaque commande ne concerne qu’un seul client). De même, la
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    29

relation entre les commandes et les produits est plusieurs à 1 (plusieurs commandes peuvent concerner
le même produit).
Les colonnes marquées FK sont des colonnes Clé étrangère. Elles font référence, ou sont liées, à la clé
primaire d’une autre table et sont utilisées pour entretenir des relations entre les tables. Une clé
étrangère aide également à identifier et à empêcher des anomalies, telles que des commandes pour des
clients qui n’existent pas dans la table Customers. Dans le modèle ci-dessous, les colonnes Customer ID
et Product ID de la table Orders sont liées au client qui a passé la commande et au produit commandé :

Les principales caractéristiques d’une base de données relationnelle sont les suivantes :
●● Toutes les données sont tabulaires. Les entités sont modélisées sous forme de tables, chaque instance
d’une entité est une ligne de la table et chaque propriété est définie en tant que colonne.
●● Toutes les lignes d’une même table ont le même ensemble de colonnes.
●● Une table peut contenir un nombre quelconque de lignes.
●● Une clé primaire identifie de manière unique chaque ligne d’une table. Deux lignes ne peuvent pas
partager la même clé primaire.
●● Une clé étrangère référence des lignes d’une autre table associée. Pour chaque valeur de la colonne
de clé étrangère, il doit exister une ligne dotée de la même valeur dans la colonne de clé primaire
correspondante dans l’autre table.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
30     

REMARQUE : La création d’un modèle de base de données relationnelle pour une grande organisation
n’est pas une tâche facile. Plusieurs itérations peuvent s’avérer nécessaires pour définir des tables
correspondant aux caractéristiques décrites ci-dessus. Il est parfois nécessaire de fractionner une entité
en plusieurs tables. Ce processus s’appelle normalisation16.
La plupart des bases de données relationnelles prennent en charge le langage SQL (Structured Query
Language). Vous utilisez le langage SQL pour créer des tables, pour insérer, mettre à jour et supprimer
des lignes dans ces tables, ainsi que pour interroger les données. Vous utilisez la commande CREATE
TABLE pour créer une table, l’instruction INSERT pour stocker des données dans une table, l’instruction
UPDATE pour modifier les données d’une table et l’instruction DELETE pour supprimer des lignes d’une
table. L’instruction SELECT récupère les données d’une table. L’exemple de requête ci-dessous recherche
les informations de chaque client de l’exemple de base de données illustré ci-dessus.
SELECT CustomerID, CustomerName, CustomerAddress
FROM Customers

Plutôt que de récupérer chaque ligne, vous pouvez filtrer les données en utilisant une clause WHERE. La
requête suivante extrait l’ID de commande et l’ID de produit pour toutes les commandes passées par le
client 1.
SELECT OrderID, ProductID
FROM Orders
WHERE CustomerID = 'C1'

Vous pouvez combiner les données de plusieurs tables dans une requête à l’aide d’une opération de
jointure. Une opération de jointure suit les relations entre les tables et vous permet ainsi de récupérer les
données de plusieurs tables à la fois. La requête suivante récupère le nom de chaque client, ainsi que le
nom et la quantité du produit pour chaque commande qu’il a passée. Notez que chaque colonne est
qualifiée par la table à laquelle elle appartient :
SELECT Customers.CustomerName, Orders.QuantityOrdered, Products.ProductName
FROM Customers JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
JOIN Products
ON Orders.ProductID = Products.ProductID

Vous pouvez trouver tous les détails sur SQL sur le site web de Microsoft, à la page Structured Query
Language (SQL)17.

Découvrir les cas d’utilisation d’une base de données rela-


tionnelle
Vous pouvez utiliser une base de données relationnelle chaque fois que vous pouvez modéliser aisément
vos données sous la forme d’une collection de tables avec un ensemble fixe de colonnes. En théorie, vous
pouvez modéliser presque n’importe quel jeu de données de cette façon, mais certains scénarios se
prêtent mieux que d’autres à l’utilisation du modèle relationnel.
Par exemple, si vous disposez d’une collection de fichiers de musique, de fichiers vidéo ou d’autres
fichiers multimédias, il peut être difficile d’incorporer de force ces données dans le modèle relationnel. Il
peut être préférable d’utiliser un stockage non structuré, tel que celui disponible dans le stockage Blob

16 https://docs.microsoft.com/office/troubleshoot/access/database-normalization-description
17 https://docs.microsoft.com/sql/odbc/reference/structured-query-language-sql
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    31

Azure. De même, les sites de réseaux sociaux utilisent des bases de données pour stocker des données
sur des millions d’utilisateurs, chacun pouvant être lié à une infinité d’utilisateurs en un tissu très com-
plexe de relations. Ce type de données se prête davantage à l’utilisation d’une structure de base de
données de graphe plutôt qu’à celle d’une collection de tables relationnelles.
Les bases de données relationnelles sont couramment utilisées dans les systèmes de commerce électron-
ique, mais l’un de leurs principaux cas d’utilisation est le traitement transactionnel en ligne (OLTP). Les
applications OLTP se concentrent sur des tâches orientées transaction qui traitent un très grand nombre
de transactions par minute. Les bases de données relationnelles conviennent parfaitement aux applica-
tions OLTP, car elles prennent naturellement en charge les opérations d’insertion, de mise à jour et de
suppression. Une base de données relationnelle peut souvent être paramétrée pour permettre l’exécution
rapide de ces opérations. En outre, la nature du langage SQL permet aux utilisateurs d’effectuer aisément
des requêtes ad hoc sur les données.
Les solutions bancaires, les applications de vente en ligne, les systèmes de réservation de vols et de
nombreuses applications d’achat en ligne sont des exemples d’applications OLTP tirant parti des bases de
données relationnelles.

Découvrir les structures de données relation-


nelles
Une base de données relationnelle comprend un ensemble de tables. Une table peut avoir zéro (si la
table est vide) ou plusieurs lignes. Chaque table possède un ensemble fixe de colonnes. Vous pouvez
définir des relations entre les tables avec des clés primaires et étrangères, et vous pouvez accéder aux
données des tables à l’aide du langage SQL.
En plus des tables, une base de données relationnelle classique contient d’autres structures favorisant
l’optimisation de l’organisation des données et l’augmentation de la vitesse d’accès. Dans cette unité,
vous allez examiner plus en détail deux de ces structures : les index et les vues.

Qu’est-ce qu’un index ?


Un index aide à rechercher des données dans une table. Pensez à l’index d’une table comme à un index
dans les dernières pages d’un livre. L’index d’un livre contient un ensemble trié de références, avec les
pages où chaque référence apparaît. Pour trouver une référence à un élément dans le livre, vous re-
cherchez l’élément dans l’index. Vous pouvez utiliser les numéros de page dans l’index pour accéder
directement aux pages appropriées dans le livre. Sans index, vous devriez éventuellement parcourir le
livre entier pour trouver les références que vous recherchez.
Lorsque vous créez un index dans une base de données, vous spécifiez une colonne de la table et l’index
contient une copie de ces données dans un ordre trié, avec des pointeurs vers les lignes correspondantes
dans la table. Lorsque l’utilisateur exécute une requête qui spécifie cette colonne dans la clause OU, le
système de gestion de base de données (SGBD) peut utiliser cet index pour extraire les données plus
rapidement que s’il devait parcourir toute la table ligne par ligne. Dans l’exemple ci-dessous, la requête
récupère toutes les commandes du client C1. La table Orders possède un index sur la colonne Customer
ID. Le système de gestion de base de données peut consulter cet index pour trouver rapidement toutes
les lignes correspondantes dans la table Orders.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
32     

Vous pouvez créer de nombreux index sur une table. Ainsi, pour rechercher également toutes les com-
mandes d’un produit spécifique, il serait utile de créer un autre index sur la colonne Product ID de la
table Orders. Toutefois, les index ont un coût. Un index peut consommer de l’espace de stockage supplé-
mentaire et, chaque fois que vous insérez, mettez à jour ou supprimez des données dans une table, les
index de cette table doivent faire l’objet d’une maintenance. Ce travail supplémentaire peut ralentir les
opérations d’insertion, de mise à jour et de suppression, et générer des frais de traitement supplémen-
taires. Par conséquent, lorsque vous choisissez les index à créer, vous devez trouver un juste équilibre
entre des index susceptibles d’accélérer vos requêtes et le coût de l’exécution d’autres opérations. Dans
une table en lecture seule ou contenant des données rarement modifiées, un plus grand nombre d’index
améliore les performances des requêtes. Si une table est rarement interrogée, mais soumise à un grand
nombre d’insertions, de mises à jour et de suppressions (par exemple, une table utilisée en traitement
transactionnel en ligne), la création d’index sur cette table peut ralentir votre système.
Certains systèmes de gestion de bases de données relationnelles prennent également en charge des
index cluster. Un index cluster réorganise physiquement une table par la clé d’index. Cette organisation
peut encore améliorer les performances des requêtes, car le système de gestion de base de données rela-
tionnelle n’est pas tenu de suivre les références de l’index pour trouver les données correspondantes
dans la table sous-jacente. L’image ci-dessous montre la table Orders avec un index cluster sur la colonne
Customer ID.

Dans les systèmes de gestion de base de données qui les prennent en charge, une table peut avoir un
seul index cluster.

Qu’est-ce qu’une vue ?


Une vue est une table virtuelle basée sur le jeu de résultats d’une requête. Dans le cas le plus simple, vous
pouvez considérer une vue comme une fenêtre sur les lignes spécifiées dans une table sous-jacente. Par
exemple, vous pouvez créer une vue sur la table Commandes qui répertorie les commandes pour un
produit spécifique (dans ce cas, produit P1), comme ceci :
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    33

CREATE VIEW P1Orders AS


SELECT CustomerID, OrderID, Quantity
FROM Orders
WHERE ProductID = "P1"

Vous pouvez interroger la vue et filtrer les données quasiment de la même façon qu’une table. La requête
suivante recherche les commandes du client C1 à l’aide de cette vue. Cette requête retourne uniquement
les commandes du produit P1 passées par ce client :
SELECT CustomerID, OrderID, Quantity
FROM P1Orders
WHERE CustomerID = "C1"

Une vue peut également joindre des tables. Si vous recherchez souvent les détails des clients et les
produits qu’ils ont commandés, vous pouvez créer une vue basée sur la requête de jointure indiquée
dans l’unité précédente :
CREATE VIEW CustomersProducts AS
SELECT Customers.CustomerName, Orders.QuantityOrdered, Products.ProductName
FROM Customers JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
JOIN Products
ON Orders.ProductID = Products.ProductID

La requête suivante recherche le nom du client et les noms des produits pour toutes les commandes
passées par le client C2, à l’aide de cette vue :
SELECT CustomerName, ProductName
FROM CustomersProducts
WHERE CustomerID = "C2"

Choisir la bonne plateforme pour une charge de


travail relationnelle
Le cloud computing a gagné en popularité, promettant plus de flexibilité pour les entreprises, des
opportunités pour économiser temps et argent, ainsi que l’amélioration de l’agilité et de la scalabilité. De
l’autre côté, les logiciels locaux, installés sur les serveurs personnels de l’entreprise et derrière son
pare-feu, gardent leur attrait. Les applications locales sont fiables, sécurisées et permettent aux entrepris-
es de conserver un contrôle étroit des données.
Les systèmes de gestion de base de données relationnelle sont un exemple de l’opportunité que le cloud
offre aux organisations de tirer parti d’une meilleure scalabilité. Toutefois, cette scalabilité doit être
équilibrée face à la nécessité d’un contrôle étroit des données. Les données sont sans doute l’une des
ressources les plus précieuses d’une organisation, et certaines entreprises ne souhaitent pas ou ne
peuvent pas céder la responsabilité de la protection de ces données à une entreprise tierce.
Dans cette unité, vous allez examiner certains des avantages et des inconvénients liés à l’exécution d’un
système de gestion de base de données dans le cloud.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
34     

Comparer l’hébergement local et le cloud


Qu’une entreprise place sa charge de travail relationnelle dans le cloud ou qu’elle décide de la conserver
localement, la sécurité des données n’en reste pas moins primordiale. Toutefois, dans des secteurs
hautement réglementés, la décision peut avoir déjà été prise et les entreprises peuvent être tenues
d’héberger localement leurs applications. Savoir que vos données se trouvent sur vos serveurs internes et
dans votre infrastructure informatique peut également vous fournir une plus grande tranquillité d’esprit.
L’hébergement local d’une base de données relationnelle exige d’une entreprise qu’elle achète le logiciel
de base de données et qu’elle gère également le matériel nécessaire à l’exécution de la base de données.
L’organisation est responsable de la maintenance du matériel et des logiciels, de l’application de correc-
tifs, de la sauvegarde des bases de données, de leur restauration le cas échéant et de l’exécution générale
de toutes les opérations de gestion quotidiennes requises pour maintenir opérationnelle la plateforme.
La scalabilité est également un problème. Si vous devez mettre à l’échelle votre système, vous devez
mettre à niveau vos serveurs ou ajouter des serveurs. Vous devez alors étendre votre base de données sur
ces serveurs. Il peut s’agir d’une tâche imposante qui vous oblige à mettre hors connexion une base de
données pendant l’exécution de l’opération. Dans le cloud, un grand nombre de ces opérations peuvent
être gérées pour vous par le personnel du centre de données, souvent sans temps d’arrêt (ou avec un
temps d’arrêt minimal). Vous êtes libre de vous concentrer sur les données elles-mêmes et de laisser à
d’autres les problèmes de gestion (après tout, c’est la raison pour laquelle vous payez des frais Azure).
Une approche basée sur le cloud utilise la technologie virtuelle pour héberger hors site les applications
d’une entreprise. Il n’y a pas de dépenses d’investissement, les données peuvent être sauvegardées
régulièrement et les entreprises doivent uniquement payer pour les ressources qu’elles utilisent. Pour les
organisations qui planifient une expansion agressive à l’échelle mondiale, le cloud s’avère encore plus
attrayant, car il vous permet de vous connecter avec des clients, des partenaires et d’autres entreprises,
partout, avec un effort minimal. En outre, le cloud computing vous offre un provisionnement quasi
instantané, car tout est déjà configuré. Ainsi, tout nouveau logiciel intégré à votre environnement est prêt
à être utilisé dès que l’entreprise s’abonne. Avec le provisionnement instantané, les délais d’installation et
de configuration sont éliminés et les utilisateurs peuvent accéder immédiatement à l’application.

Comprendre les modèles IaaS et PaaS


Vous disposez généralement de deux options lorsque vous déplacez vos opérations et bases de données
vers le cloud. Vous pouvez sélectionner une approche IaaS ou PaaS.
IaaS est l’acronyme de Infrastructure as a Service. Azure vous permet de créer une infrastructure virtuelle
dans le cloud qui reflète la façon dont un centre de données local peut fonctionner. Vous pouvez créer un
ensemble de machines virtuelles, les connecter entre elles via un réseau virtuel et ajouter tout un éventail
d’appareils virtuels. À bien des égards, cette approche est similaire à la façon dont vous exécutez vos
systèmes au sein d’une organisation, à ceci près que vous n’avez pas à vous soucier de l’achat ni de la
maintenance du matériel. Toutefois, vous êtes toujours responsable d’un grand nombre d’opérations
quotidiennes, telles que l’installation et la configuration des logiciels, la mise à jour corrective, l’exécution
de sauvegardes et la restauration des données le cas échéant. Vous pouvez considérer l’IaaS comme une
transition vers des opérations entièrement managées dans le cloud. Vous n’avez plus à vous soucier du
matériel, en revanche l’exécution et la gestion des logiciels relèvent toujours largement de votre re-
sponsabilité.
Avec cette approche, vous pouvez exécuter tous les logiciels pour lesquels vous disposez des licences
appropriées. Vous n’êtes pas limité à un système de gestion de base de données spécifique.
L’approche IaaS est idéale pour les migrations et les applications nécessitant un accès au niveau du
système d’exploitation. Les machines virtuelles SQL sont lift-and-shift. Autrement dit, vous pouvez copier
votre solution locale directement sur une machine virtuelle dans le cloud. Le système doit fonctionner
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    35

plus ou moins exactement comme auparavant dans son nouvel emplacement, à l’exception de quelques
changements mineurs de configuration (par exemple, de changements des adresses réseau) pour tenir
compte du changement d’environnement.
PaaS signifie Platform as a Service. Au lieu de créer une infrastructure virtuelle et d’installer et gérer
vous-même le logiciel de base de données, une solution PaaS le fait à votre place. Vous spécifiez les
ressources nécessaires (en fonction de la taille prévue de vos bases de données, du nombre d’utilisateurs
et des performances dont vous pensez avoir besoin) et Azure crée automatiquement les machines
virtuelles, les réseaux et les autres appareils nécessaires à votre place. En règle générale, vous pouvez
rapidement effectuer un scale-up ou un scale-down (augmenter ou diminuer la taille et le nombre de
ressources) au fur et à mesure que le volume des données et la quantité de travail effectuée varient.
Azure gère cette mise à l’échelle à votre place et vous n’avez pas à ajouter ni à supprimer manuellement
de machines virtuelles, ni à effectuer d’autre forme de configuration.
Azure offre plusieurs solutions PaaS pour les bases de données relationnelles, notamment Azure SQL
Database, Azure Database pour PostgreSQL, Azure Database pour MySQL et Azure Database for MariaDB.
Ces services exécutent des versions managées des systèmes de gestion de base de données en votre
nom. Il vous suffit de vous y connecter, de créer vos bases de données et d’y télécharger vos données.
Toutefois, vous constaterez peut-être que certaines restrictions fonctionnelles sont en place et que toutes
les fonctionnalités de votre système de gestion de base de données sélectionné ne sont pas disponibles.
Ces restrictions sont souvent dues à des problèmes de sécurité. Par exemple, ils peuvent exposer le
système d’exploitation et le matériel sous-jacents à vos applications. Dans ce cas, vous devrez peut-être
repenser vos applications pour supprimer toutes les dépendances de ces fonctionnalités.
L’image ci-dessous illustre les avantages et les inconvénients liés à l’exécution d’un système de gestion
de base de données (dans ce cas, SQL Server) localement, à l’aide de machines virtuelles dans Azure
(IaaS) ou d’Azure SQL Database (PaaS). Les mêmes considérations générales valent pour d’autres sys-
tèmes de gestion de base de données.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
36     

Contrôle des connaissances


Question 1
Laquelle des affirmations suivantes est une caractéristique d’une base de données relationnelle ?
†† Toutes les données doivent être stockées sous forme de chaînes de caractères.
†† Une ligne dans une table représente une seule entité.
†† Différentes lignes dans la même table peuvent contenir différentes colonnes.

Question 2
Qu’est-ce qu’un index ?
†† Une structure qui vous permet de localiser rapidement des lignes dans une table, en utilisant une
valeur indexée.
†† Une table virtuelle basée sur le jeu de résultats d’une requête.
†† Une structure comprenant des lignes et des colonnes que vous utilisez pour stocker des données.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    37

Résumé
Les bases de données relationnelles sont largement utilisées pour créer des applications du monde réel. Il
est important de comprendre les caractéristiques des données relationnelles. Une base de données
relationnelle repose sur des tables, Vous pouvez exécuter de nombreux systèmes de gestion de base de
données sur site et dans le cloud.
Dans cette leçon, vous avez acquis des notions sur :
●● Caractéristiques des données relationnelles
●● Que sont les tables, les index et les vues
●● Les différentes offres de charge de travail de données relationnelles disponibles dans Azure.

En savoir plus
●● Description des bases de la normalisation de base de données18
●● Structured Query Language (SQL)19
●● Présentation technique de SQL Database20
●● Documentation technique de SQL Server21
●● Offres de base de données PaaS et IaaS22

18 https://docs.microsoft.com/office/troubleshoot/access/database-normalization-description
19 https://docs.microsoft.com/sql/odbc/reference/structured-query-language-sql
20 https://docs.microsoft.com/azure/sql-database/sql-database-technical-overview
21 https://docs.microsoft.com/sql/sql-server/?view=sql-server-ver15
22 https://docs.microsoft.com/azure/sql-database/sql-database-paas-vs-sql-server-iaas
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
38     

Explorer les concepts de données non relation-


nelles
Introduction
Les données sont de toutes formes et de toutes tailles et peuvent être utilisées à de nombreuses fins. De
nombreuses organisations utilisent des bases de données relationnelles pour stocker ces données.
Cependant, le modèle relationnel n’est peut-être pas le schéma le plus approprié. La structure des
données peut être trop variée pour être facilement modélisée sous la forme d’un ensemble de tableaux
relationnels. Par exemple, les données peuvent contenir des éléments tels que : vidéo, audio, images,
informations temporelles, grands volumes de texte libre ou autres types de données qui ne sont pas
fondamentalement relationnelles. En outre, les exigences en matière de traitement de données peuvent
ne pas être les mieux adaptées en tentant de convertir ces données au format relationnel. Dans ces
situations, il peut être préférable d’utiliser des référentiels non relationnels qui peuvent stocker les
données dans leur format d’origine, mais qui permettent un stockage et un accès rapides à ces données.
Supposons que vous êtes un ingénieur de données travaillant chez Contoso, une organisation avec une
grande opération de fabrication. L’organisation doit collecter et stocker des informations à partir de
diverses sources, telles que des données en temps réel surveillant l’état des machines de la ligne de
production, des données de contrôle de la qualité des produits, des journaux d’activité de production his-
toriques, des volumes de produits en stock et des données du stock des matières premières. Ces infor-
mations sont critiques au fonctionnement de l’organisation. On vous a demandé de déterminer la
meilleure façon de stocker ces informations, afin qu’elles puissent être stockées rapidement et inter-
rogées facilement.

Objectifs d’apprentissage
Dans cette leçon, vous allez :
●● Découvrir les caractéristiques des données non relationnelles
●● Définir des types de données non relationnelles
●● Décrire NoSQL et les types de bases de données non relationnelles

Explorer les caractéristiques des données non


relationnelles
Les bases de données relationnelles sont un excellent outil pour stocker et récupérer des données qui ont
une structure bien connue, contenant des champs que vous pouvez définir à l'avance. Dans certaines
situations, il est possible que vous n’ayez pas les connaissances requises concernant la structure de vos
données, avant leur arrivée dans votre base de données, pour les enregistrer sous la forme d’un ensem-
ble soigné de lignes et de colonnes dans un format tabulaire. Il s’agit d'un scénario courant dans les
systèmes qui consomment des données provenant d’une grande variété de sources, comme les pipelines
d’ingestion de données. Dans ces situations, une base de données non relationnelle peut s’avérer
extrêmement utile.
Dans cette unité, vous étudierez plus en détail les caractéristiques communes des bases de données non
relationnelles. Vous apprendrez comment elles permettent de capturer des données rapidement et de
modéliser des données dont la structure peut varier.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    39

Quelles sont les caractéristiques des données non relation-


nelles ?
Vous utilisez une base de données pour modéliser certains aspects du monde réel. Les entités du monde
réel ont souvent des structures très variables. Par exemple, dans une base de données de commerce
électronique qui stocke des informations sur les clients, combien de numéros de téléphone un client
possède-t-il ? Un client peut avoir une ligne fixe et un numéro de téléphone mobile, mais certains clients
peuvent avoir un numéro d’entreprise, un numéro de domicile supplémentaire et, dans certains cas,
plusieurs numéros de téléphone mobile. De même, il se peut que les adresses des clients ne suivent pas
toujours le même format. En effet, les adresses des clients de différents États et régions peuvent contenir
différents éléments, comme des codes ZIP ou des codes postaux.
Dans un autre scénario, si vous ingérez des données rapidement, vous souhaiterez capturer les données
et les enregistrer très rapidement. Le traitement des données et leur manipulation en un ensemble de
lignes dans différentes tables d’une base de données relationnelle peuvent ne pas être appropriés à ce
stade. Vous pouvez effectuer ces tâches à une date ultérieure. Au moment de l’ingestion, il vous suffit de
stocker les données dans leur état et leur format d’origine.
Un aspect clé des bases de données non relationnelles est qu’elles permettent de stocker des données de
manière très flexible. Les bases de données non relationnelles n’imposent pas de schéma aux données.
Au lieu de cela, elles se concentrent sur les données elles-mêmes plutôt que sur la façon de les structurer.
Cette approche signifie que vous pouvez stocker des informations dans un format naturel, qui reflète la
manière dont vous pourriez les consommer, les interroger et les utiliser.
Dans un système non relationnel, vous stockez les informations des entités dans des collections ou des
conteneurs plutôt que dans des tables relationnelles. Deux entités de la même collection peuvent avoir
un ensemble de champs différent plutôt qu’un ensemble régulier de colonnes comme on en trouve dans
une table relationnelle. L’absence de schéma fixe signifie que chaque entité doit être auto-descriptive.
Ceci est souvent réalisé en étiquetant chaque champ avec le nom des données qu’il représente. Par
exemple, une collection non relationnelle d’entités client pourrait ressembler à ceci :
## Client 1
ID : 1
Nom : Mark Hanson
Téléphone : [ Domicile : 1-999-9999999, Professionnel : 1-888-8888888,
Téléphone mobile : 1-777-7777777 ]
Adresse : [ Domicile : 121 Main Street, Some City, NY, 10110,
Entreprise 87 Big Building, Some City, NY, 10111 ]

## Client 2
ID : 2
Title: Monsieur
Nom : Jeff Hay
Téléphone : [ Domicile : 0044-1999-333333 - Téléphone mobile : 0044-17545-
444444 ]
Adresse : [ Royaume-Uni : 86 High Street, Some Town, A County, GL8888, UK,
USA : 777 7th Street, Another City, CA, 90111 ]

Dans cet exemple, les champs sont précédés d'un nom. Les champs peuvent également avoir plusieurs
sous-champs, comportant également des noms. Dans cet exemple, les nombreux sous-champs sont
identifiés en étant placés entre crochets.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
40     

Ajouter un nouveau client consiste à insérer une entité avec ses champs étiquetés de manière significa-
tive. Une application qui interroge ces données doit être prête à analyser les informations de l’entité
qu’elle récupère.
Les capacités de récupération de données d’une base de données non relationnelle peuvent varier.
Chaque entité doit avoir une valeur de clé unique. Les entités d’un ensemble sont généralement stockées
dans l’ordre clé-valeur. Dans l’exemple ci-dessus, la clé unique est le champ ID. Le type le plus simple de
base de données non relationnelle permet à une application de spécifier la clé unique ou une plage de
clés comme critère de requête. Dans l’exemple des clients, la base de données permettrait à une applica-
tion d’effectuer des requêtes concernant les clients seulement par leur ID. Le filtrage des données dans
d’autres champs nécessiterait d’analyser l’ensemble de toutes les entités, puis d’analyser chaque entité et,
enfin, d’appliquer tous les critères de requête à chaque entité pour trouver des correspondances. Dans
l’exemple ci-dessous, une requête qui récupère les détails d’un client par ID peut rapidement identifier
l’entité à extraire. Une requête qui tente de trouver tous les clients avec une adresse au Royaume-Uni
devrait parcourir chaque entité et, pour chaque entité, analyser ensuite chaque champ. Si la base de
données contient plusieurs millions d’entités, l’exécution de cette requête risque de prendre un temps
considérable.

Des systèmes non relationnels plus avancés prennent l’indexation en charge, de la même manière qu’un
index dans une base de données relationnelle. Les requêtes peuvent ensuite utiliser l’index pour identifier
et extraire des données basées sur des champs non clés. Les systèmes non relationnels comme Azure
Cosmos DB (un système de gestion de base de données non relationnelle disponible dans Azure)
prennent l’indexation en charge, même lorsque la structure des données indexées peut varier d’un
enregistrement à l’autre. Pour plus d’informations, consultez l’article Vue d’ensemble de l’indexation
dans Azure Cosmos DB23.
Lorsque vous concevez une base de données non relationnelle, il est important de comprendre les
capacités du système de gestion de base de données et les types de requêtes qu’il devra prendre en
charge.
REMARQUE : Les bases de données non relationnelles fournissent souvent leur propre langage pro-
priétaire pour gérer et interroger les données. Ce langage peut être procédural ou similaire à SQL. Cela
dépend de la manière dont la base de données est mise en œuvre par le système de gestion de base de
données (SGBD).

23 https://docs.microsoft.com/azure/cosmos-db/index-overview
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    41

Identifier les cas d’utilisation de bases de données non


relationnelles
Les bases de données non relationnelles sont parfaitement adaptées aux scénarios suivants :
●● IoT et télématique. Ces systèmes ingèrent généralement de grandes quantités de données lors de pics
subits d’activité. Les bases de données non relationnelles peuvent stocker ces informations très
rapidement. Les données peuvent ensuite être utilisées par des services d'analyse comme Azure
Machine Learning, Azure HDInsight et le Power BI de Microsoft. En outre, vous pouvez traiter les
données en temps réel à l’aide des fonctions Azure qui sont déclenchées lorsque les données arrivent
dans la base de données.
●● Vente au détail et marketing. Microsoft utilise CosmosDB pour ses propres plateformes de commerce
électronique qui s'exécutent dans le cadre de Windows Store et de Xbox Live. Il est également utilisé
dans le secteur de la vente au détail pour stocker des données de catalogue et pour l’approvisionne-
ment d’événements dans les pipelines de traitement des commandes.
●● Gaming. Le niveau base de données est un élément crucial des applications de jeu. Les jeux modernes
effectuent un traitement graphique sur les clients mobiles et consoles, mais ils s’appuient sur le cloud
pour fournir un contenu personnalisé comme les statistiques de jeu, l’intégration aux médias sociaux
et les classements de haut niveau. Les jeux ont généralement besoin de latences inférieures à une
milliseconde en lecture et écriture afin de fournir une expérience de jeu engageante. Une base de
données de jeux doit être rapide et être capable de gérer des pics massifs de demandes lors des
lancements de nouveaux jeux et des mises à jour de fonctionnalités.
●● Applications web et mobiles. Une base de données non relationnelle telle qu’Azure Cosmos DB est
couramment utilisée dans les applications web et mobiles et convient parfaitement à la modélisation
des interactions sociales, à l'intégration avec des services tiers et à la création d'expériences person-
nalisées enrichies. Les kits de développement logiciel (SDK) Cosmos DB peuvent être utilisés pour
créer des applications iOS et Android enrichies, à l’aide du cadre populaire Xamarin.

Décrire les types de données non relationnelles


Les données non relationnelles se divisent généralement en deux catégories : semi-structurées et non
structurées. Dans cette unité, vous allez découvrir ce que signifient ces termes, puis voir quelques
exemples.

Qu’est-ce que les données semi-structurées ?


Les données semi-structurées sont des données contenant des champs. Les champs ne doivent pas
nécessairement être les mêmes dans chaque entité. Vous ne définissez que les champs dont vous avez
besoin pour chaque entité. Les entités Client présentées dans l’unité précédente sont des exemples de
données semi-structurées. Les données doivent être formatées de manière à ce qu’une application puisse
les analyser et les traiter. Une manière courante de procéder consiste à stocker les données de chaque
entité sous forme de document JSON. Le terme JSON signifie JavaScript Objet Notation (Notation des
objets JavaScript). Il s’agit du format utilisé par les applications JavaScript pour stocker des données en
mémoire, qui peut également être utilisé pour lire et écrire des documents vers et depuis des fichiers.
Un document JSON est placé entre accolades ({ et }). Chaque champ a un nom (une étiquette), suivi de
deux points, puis de la valeur du champ. Les champs peuvent contenir des valeurs simples ou des
sous-documents (chacun commençant et se terminant par des accolades). Les champs peuvent égale-
ment contenir plusieurs valeurs, conservées sous forme de tableaux et entourées de crochets ([ et ]). Les
littéraux d’un champ sont placés entre guillemets et les champs sont séparés par des virgules.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
42     

L’exemple ci-dessous présente les clients de l’unité précédente, formatés en tant que documents JSON :
{
"ID": "1",
"Name": "Mark Hanson",
"Telephone": [
{ "Home": "1-999-9999999" },
{ "Business": "1-888-8888888" },
{ "Cell": "1-777-7777777" }
],
"Address": [
{ "Home": [
{ "StreetAddress": "121 Main Street" },
{ "City": "Some City" },
{ "State": "NY" },
{ "Zip": "10110" }
] },
{ "Business": [
{ "StreetAddress": "87 Big Building" },
{ "City": "Some City" },
{ "State": "NY" },
{ "Zip": "10111" }
] }
]
}

{
"ID": "2",
"Title": "Mr",
"Name": "Jeff Hay",
"Telephone": [
{ "Home": "0044-1999-333333" },
{ "Mobile": "0044-17545-444444" }
],
"Address": [
{ "UK": [
{ "StreetAddress": "86 High Street" },
{ "Town": "Some Town" },
{ "County": "A County" },
{ "Postcode": "GL8888" },
{ "Region": "UK" }
] },
{ "US": [
{ "StreetAddress": "777 7th Street" },
{ "City": "Another City" },
{ "State": "CA" },
{ "Zip": "90111" }
] }
]
}
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    43

Vous êtes libre de définir les champs que vous souhaitez. Le point important est que les données suivent
la syntaxe JSON. Lorsqu’une application lit un document, elle peut utiliser un analyseur JSON pour
décomposer le document en ses champs de composant et extraire les données individuelles.
D’autres formats que vous pouvez voir incluent Avro, ORC et Parquet :
●● Avro est un format basé sur les lignes. Il a été créé par Apache. Chaque enregistrement contient un
en-tête qui décrit la structure des données de l’enregistrement. Cet en-tête est stocké au format
JSON. Les données sont stockées sous forme d’informations binaires. Une application utilise les
informations de l’en-tête pour analyser les données binaires et extraire les champs qu’elle contient.
Avro est un format idéal pour compresser les données et minimiser les besoins de stockage et de
bande passante réseau.
●● ORC (format Optimized Row Columnar) organise les données en colonnes plutôt qu’en lignes. Il a été
développé par HortonWorks pour optimiser les opérations de lecture et d’écriture dans Apache Hive.
Hive est un système d’entrepôt de données qui prend en charge la synthèse et l’interrogation rapides
des données sur de très grands ensembles de données. Hive prend en charge les requêtes de type
SQL sur des données non structurées. Un fichier ORC contient des bandes de données. Chaque bande
contient les données d’une colonne ou d’un ensemble de colonnes. Une bande contient un index
dans les lignes de la bande, les données de chaque ligne et un pied de page contenant des informa-
tions statistiques (nombre, somme, maximum, minimum, etc.) pour chaque colonne.
●● Parquet est un autre format de données en colonnes. Il a été créé par Cloudera et Twitter. Un fichier
Parquet contient des groupes de lignes. Les données de chaque colonne sont stockées ensemble dans
le même groupe de lignes. Chaque groupe de lignes contient un ou plusieurs blocs de données. Un
fichier Parquet comprend des métadonnées qui décrivent l’ensemble des lignes trouvées dans chaque
bloc. Une application peut utiliser ces métadonnées pour localiser rapidement le bloc correct pour un
ensemble donné de lignes et récupérer les données dans les colonnes spécifiées pour ces lignes.
Parquet est spécialisé dans le stockage et le traitement efficaces des types de données imbriqués. Il
prend en charge des schémas de compression et de codage très efficaces.

Qu’entend-on par « données non structurées » ?


Les données non structurées sont des données qui ne contiennent naturellement pas de champs. Il s’agit
par exemple de flux vidéo, audio et autres flux multimédia. Chaque élément est un blob amorphe de
données binaires. Vous ne pouvez pas rechercher des éléments spécifiques dans ces données.
Vous pouvez choisir de stocker de telles données dans un système de stockage spécialement conçu à cet
effet. Dans Azure, vous devez probablement stocker des données vidéo et audio sous forme d’objets
blob de blocs dans un compte de stockage Azure. (Le terme blob signifie Binary Large OBject*, qui
signifie « Grand objet binaire »). Un objet blob de blocs ne prend en charge que les opérations de lecture
et d’écriture de base et n’a pas de capacité de recherche interne.
Vous pouvez également considérer les fichiers comme une forme de données non structurées, bien que
dans certains cas, un fichier puisse inclure des métadonnées indiquant de quel type de fichier il s’agit
(photographie, document Word, feuille de calcul Excel, etc.), le propriétaire et d’autres éléments qui
pourraient être stockés sous forme de champs. Cependant, le contenu principal du fichier est non
structuré.

Décrire les types de bases de données non rela-


tionnelles et NoSQL
« Données non relationnelles » est un terme global qui signifie tout ce qui n’est pas structuré comme un
ensemble de tables. Il existe de nombreux types de données non structurées, et les informations sont
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
44     

utilisées pour une grande variété d’objectifs. Par conséquent, il existe un certain nombre de types
différents de systèmes de gestion de bases de données non relationnelles, chacun orienté vers un ensem-
ble spécifique de scénarios.
Dans cette unité, vous allez découvrir certains des types de bases de données non relationnelles les plus
courants.

Qu’est-ce que NoSQL ?


Vous pourriez voir le terme NoSQL lors de la lecture de documents concernant les bases de données non
relationnelles. NoSQL est un terme assez générique qui signifie simplement « non relationnel ». Il y a un
débat sur la question de savoir si cela signifie Pas SQL ou Pas seulement SQL. Certaines bases de données
non relationnelles prennent en charge une version de SQL adaptée aux documents plutôt qu’aux tables
(les exemples incluent Azure Cosmos DB).
Les bases de données NoSQL (non relationnelles) se divisent en général en quatre catégories : les
magasins de paires clé-valeur, les bases de données de documents, les bases de données de familles de
colonnes et les bases de données de graphes. Les sections suivantes décrivent ces types de bases de
données NoSQL.

Qu’est-ce qu’un magasin de paires clé-valeur ?


Un magasin de paires clé-valeur est le type de base de données NoSQL le plus simple (et souvent le plus
rapide) pour l’insertion et l’interrogation des données. Chaque élément de données dans un magasin de
paires clé-valeur a deux éléments, une clé et une valeur. La clé identifie l’élément de façon univoque et la
valeur contient les données de l’élément. La valeur est opaque au système de gestion de base de données
(SGBD). Les éléments sont stockés dans l’ordre des clés.
REMARQUE : Le terme opaque signifie que le système de gestion de base de données (SGBD) voit
simplement la valeur comme un bloc non structuré. Seule l’application comprend comment les données
de la valeur sont structurées et quels champs elles contiennent. L’opposé du terme opaque est transpar-
ent. Si les données sont transparentes, le système de gestion de base de données comprend comment les
champs dans les données sont organisés. Une table relationnelle est un exemple de structure transpar-
ente.

Une requête spécifie les clés pour identifier les éléments à récupérer. Vous ne pouvez pas effectuer de
recherche sur des valeurs. Une application qui récupère des données à partir d’un magasin de paires
clé-valeur est responsable de l’analyse du contenu des valeurs retournées.
Les opérations d’écriture sont limitées à des insertions et à des suppressions. Si vous devez mettre à jour
un élément, vous devez récupérer cet élément, le modifier en mémoire (dans l’application), puis le
réécrire dans la base de données, en remplaçant l’original (donc une suppression et une insertion).
L’objectif principal d’un magasin de paires clé-valeur est la possibilité de lire et d’écrire des données très
rapidement. Les capacités de recherche sont secondaires. Un magasin de paires clé-valeur est un excel-
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    45

lent choix pour l’ingestion de données, quand un volume important de données arrive sous la forme d’un
flux continu et qu’il doit être stocké immédiatement.
Stockage Table Azure est un exemple de magasin de paires clé-valeur. Cosmos DB implémente égale-
ment un magasin clé-valeur à l’aide de l’API Table24.

Qu’est-ce qu’une base de données de documents ?


Une base de données de documents représente l’exact opposé d’un magasin de paires clé-valeur dans le
spectre de NoSQL. Dans une base de données de documents, chaque document a un ID unique, mais les
champs dans les documents sont transparents au système de gestion de base de données. Les bases de
données de documents stockent généralement les données au format JSON, comme décrit dans l’unité
précédente, ou elles peuvent être encodées avec d’autres formats, comme XML, YAML, JSON ou BSON.
Les documents peuvent même être stockés en tant que texte brut. Les champs dans les documents sont
exposés au système de gestion du stockage, ce qui permet à une application d’interroger et de filtrer les
données en utilisant les valeurs de ces champs.
En règle générale, un document contient la totalité des données pour une entité. Les éléments constitu-
ant une entité sont spécifiques à l’application. Par exemple, une entité peut contenir les détails d’un
client, d’une commande ou une combinaison des deux. Un même document peut contenir des informa-
tions qui, dans un système de gestion de base de données relationnelle (RDBMS), seraient réparties entre
plusieurs tables relationnelles.
Un magasin de documents ne demande pas que tous les documents possèdent la même structure. Cette
approche de forme libre offre une grande flexibilité. Les applications peuvent stocker des données
différentes dans des documents selon les changements d’exigence pour l’entreprise.

Une application peut récupérer des documents en utilisant la clé du document. La clé est un identifica-
teur unique pour le document. Certaines bases de données de documents créent automatiquement la clé
de document. D’autres permettent de spécifier un attribut du document pour l’utiliser comme clé.
L’application peut également interroger des documents en fonction de la valeur d’un ou plusieurs
champs. Certaines bases de données de documents prennent en charge l’indexation pour faciliter la
recherche rapide de documents basée sur un ou plusieurs champs indexés.

24 https://docs.microsoft.com/azure/cosmos-db/table-introduction
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
46     

Certains systèmes de gestion de base de données de documents prennent en charge les mises à jour sur
place, ce qui permet à une application de modifier les valeurs de champs spécifiques dans un document
sans réécrire la totalité du document. D’autres systèmes de gestion de base de données de documents
(comme Cosmos DB) peuvent seulement lire et écrire des documents entiers. Dans ce cas, une mise à jour
remplace l’intégralité du document par une nouvelle version. Cette approche permet de réduire la
fragmentation dans la base de données, ce qui peut à son tour améliorer les performances.
La plupart des bases de données de documents ingèrent de grands volumes de données plus rapidement
qu’une base de données relationnelle, mais elles ne sont pas aussi performantes qu’un magasin de paires
clé-valeur pour ce type de traitement. L’atout majeur d’une base de données de documents est sa
capacité en matière de requête.
Azure Cosmos DB implémente une approche de base de données de documents dans son API (SQL)
Core.

Qu’est-ce qu’une base de données de famille de colonnes ?


Une base de données de famille de colonnes organise les données en lignes et en colonnes. Les fichiers
ORC et Parquet décrits dans l’unité précédente sont des exemples de cette structure.
Dans sa forme la plus simple, une base de données de famille de colonnes peut paraître très similaire à
une base de données relationnelle, au moins sur le plan conceptuel. La véritable puissance d’une base de
données de famille de colonnes réside dans son approche dénormalisée de la structuration des données
éparses.
Par exemple, si vous avez besoin de stocker des informations sur des clients et leurs adresses dans une
base de données relationnelle (en ignorant la nécessité de conserver les données d’historique comme
décrit dans la section précédente), vous pouvez concevoir un schéma similaire à celui ci-dessous. Ce
diagramme montre également des exemples de données. Dans cet exemple, le client 1 et le client 3
partagent la même adresse, et le schéma garantit que ces informations d’adresse ne sont pas dupliquées.
Ceci est une méthode standard pour implémenter une relation un-à-plusieurs.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    47

Le modèle relationnel prend en charge une approche très généralisée de l’implémentation de ce type de
relation, mais pour rechercher l’adresse d’un client donné, une application doit exécuter une requête qui
joint deux tables. S’il s’agit de la requête la plus courante effectuée par l’application, la surcharge associée
à l’exécution de cette opération de jointure peut rapidement devenir importante s’il y a un grand nombre
de requêtes et que les tables elles-mêmes sont volumineuses.
L’objectif d’une base de données de famille de colonnes est de gérer efficacement des situations telles
que celle-ci. Vous pouvez considérer qu’une base de données de famille de colonnes contient des
données tabulaires comprenant des lignes et des colonnes, mais que vous pouvez diviser les colonnes en
groupes qui sont appelés « familles de colonnes ». Chaque famille de colonnes contient un ensemble de
colonnes logiquement liées entre elles. L’image ci-dessous montre une façon de structurer les mêmes
informations que celles de l’image précédente en utilisant une base de données de famille de colonnes
pour regrouper les données en deux familles de colonnes contenant les informations de nom et
d’adresse des clients. D’autres façons d’organiser les colonnes sont possibles, mais vous devez implé-
menter vos familles de colonnes de façon à optimiser les requêtes les plus courantes effectuées par votre
application. Dans ce cas, les requêtes qui récupèrent les adresses des clients peuvent extraire les données
avec moins de lectures que ce qui serait requis dans la base de données relationnelle correspondante.
Ces requêtes peuvent extraire les données directement depuis la famille de colonnes AdresseInfo.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
48     

L’illustration ci-dessus est conceptuelle et non pas physique : elle est destinée à montrer la structure
logique des données et non pas la façon dont elles peuvent être organisées physiquement. Chaque ligne
d’une base de données de famille de colonnes contient une clé, et vous pouvez extraire les données
d’une ligne en utilisant cette clé.
Dans la plupart des bases de données de familles de colonnes, les familles de colonnes sont stockées
séparément. Dans l’exemple précédent, la famille de colonnes CustomerInfo peut être conservée dans
une zone de stockage physique et la famille de colonnes AddressInfo dans une autre, selon une forme
simple de partitionnement vertical. Vous devez vraiment considérer la structure en termes de familles de
colonnes et non pas en termes de lignes. Les données d’une même entité qui s’étend sur plusieurs
familles de colonnes ont la même clé de ligne dans chaque famille de colonnes. Comme alternative à la
disposition conceptuelle montrée précédemment, vous pouvez visualiser les données présentées comme
la paire de structures physiques suivante.

Apache Cassandra est le système de gestion de base de données de famille de colonnes le plus large-
ment utilisé. Azure Cosmos DB prend en charge l’approche de la famille de colonnes via l’API Cassandra.

Qu’est-ce qu’une base de données de graphiques ?


Les bases de données de graphiques vous permettent de stocker des entités, mais l’accent est mis sur les
relations que ces entités ont les unes avec les autres. Une base de données de graphiques stocke deux
types d’informations : les nœuds, que vous pouvez considérer comme des instances d’entités, et les
arêtes, qui spécifient les relations entre les nœuds. Les nœuds et les arêtes peuvent avoir des propriétés
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    49

qui fournissent des informations sur ce nœud ou cette arête (comme les colonnes dans une table). De
plus, les arêtes peuvent avoir une direction indiquant la nature de la relation.
L’objectif d’une base de données de graphiques est de permettre à une application d’effectuer efficace-
ment des requêtes qui traversent le réseau de nœuds et d’arêtes, et d’analyser les relations entre les
entités. L’image ci-dessous montre la base de données du personnel d’une organisation structurée sous
forme de graphique. Les entités sont les employés et les services de l’organisation, et les arêtes indiquent
les lignes de dépendance hiérarchique et le service où les employés travaillent. Dans ce graphique, les
flèches sur les arêtes montrent la direction des relations.

Une structure telle que celle-ci permet d’effectuer directement des recherches comme « Trouver tous les
employés qui travaillent directement ou indirectement pour Sarah » ou « Qui travaille dans le même
service que John ? ». Pour les graphes étendus avec un grand nombre d’entités et de relations, vous
pouvez effectuer des analyses très complexes très rapidement, et de nombreuses bases de données de
graphes fournissent un langage de requête que vous pouvez utiliser pour parcourir efficacement un
réseau de relations. Vous pouvez souvent stocker les mêmes informations dans une base de données
relationnelle, mais le SQL nécessaire pour interroger ces informations peut nécessiter un grand nombre
d’opérations de jointure récursives et de sous-requêtes imbriquées.
Azure Cosmos DB prend en charge les bases de données de graphiques à l’aide de l’API Gremlin25. L’API
Gremlin est un langage standard pour la création et l’interrogation de graphes.

Contrôle des connaissances


Question 1
Lequel des services suivants doit-on utiliser pour implémenter une base de données non relationnelle ?
†† Azure Cosmos DB
†† Base de données SQL Azure
†† The Gremlin API

25 https://docs.microsoft.com/azure/cosmos-db/graph-introduction
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
50     

Question 2
Laquelle des caractéristiques suivantes s’applique aux bases de données non relationnelles ?
†† Les bases de données non relationnelles contiennent des tables avec des enregistrements plats à
colonnes fixes
†† Les bases de données non relationnelles vous obligent à utiliser des techniques de normalisation des
données pour réduire la duplication des données
†† Les bases de données non relationnelles sont soit sans schéma, soit avec des schémas assouplis

Question 3
Vous construisez un système qui contrôle la température dans un ensemble d’immeubles de bureaux et
règle la climatisation dans chaque pièce de chaque bloc pour maintenir une température ambiante agréa-
ble. Votre système doit gérer la climatisation dans plusieurs milliers de bâtiments répartis à travers le pays
ou la région, et chaque bâtiment contient généralement au moins 100 pièces climatisées. Quel est le type de
stockage de données NoSQL le plus approprié pour capturer les données de température afin de permettre
leur traitement rapide ?
†† Un magasin clé-valeur
†† Une base de données de familles de colonnes
†† Écrire les températures dans un objet blob dans le stockage Blob Azure

Résumé
Microsoft Azure fournit une variété de technologies pour stocker des données non relationnelles. Chaque
technologie a ses propres atouts et est adaptée à des scénarios spécifiques.
Vous avez abordé les éléments suivants :
●● Les caractéristiques des données non relationnelles
●● Les différents types de données non relationnelles
●● NoSQL et les types de bases de données non relationnelles

En savoir plus
●● Choisissez le bon magasin de données26
●● Bienvenue dans Azure Cosmos DB27
●● Indexation dans Azure Cosmos DB - Vue d’ensemble28
●● Introduction à Azure Cosmos DB : API Table29
●● Introduction à Azure Cosmos DB : API Gremlin30
●● Présentation du stockage Blob Azure31

26 https://docs.microsoft.com/azure/architecture/guide/technology-choices/data-store-overview
27 https://docs.microsoft.com/azure/cosmos-db/introduction
28 https://docs.microsoft.com/azure/cosmos-db/index-overview
29 https://docs.microsoft.com/azure/cosmos-db/table-introduction
30 https://docs.microsoft.com/azure/cosmos-db/graph-introduction
31 https://docs.microsoft.com/azure/storage/blobs/storage-blobs-introduction
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    51

Explorer les concepts d’analyse des données


Introduction
Les entreprises prospères prennent des décisions éclairées pour trouver de nouvelles opportunités,
identifier les faiblesses, augmenter l’efficacité et améliorer la satisfaction client. L’analyse des données est
le processus qui consiste à examiner des données brutes pour découvrir les tendances et trouver les
informations utilisées pour poser et répondre aux questions liées à la performance organisationnelle.
Par exemple, les centres de villégiature et les casinos peuvent combiner les données des précédentes
visites de clients afin de définir le meilleur moment pour organiser des activités et des jeux spécifiques.
Un analyste de données peut examiner des données telles que les dépenses des clients et rechercher des
corrélations avec d’autres facteurs tels que la météo, les événements régionaux ou même la présence (ou
l’absence) d’incitations telles que la nourriture et la boisson.
Le secteur de la santé est un autre exemple. Il existe de nombreuses données dans le secteur de la santé,
y compris les dossiers des patients et les informations des compagnies d’assurance. Cette énorme
quantité de données peut être difficile à gérer. L’analyse des données permet un examen approfondi des
données et peut conduire à un diagnostic ou un plan de traitement plus rapide.
Dans cette leçon, vous explorerez les éléments clés impliqués dans l’analyse des données. Vous exami-
nerez la collecte de données, le traitement des données pour générer des informations et la visualisation
des résultats pour repérer les tendances.

Objectifs d’apprentissage
Dans cette leçon, vous allez :
●● En savoir plus sur l’ingestion et le traitement des données
●● Découvrir la visualisation des données
●● Découvrir l’analyse des données

Décrire l’ingestion et le traitement des données


L’Analytique données s’attache à prendre les données produites par votre organisation et à les utiliser
pour établir une image du fonctionnement de votre organisation et ce que vous pouvez faire pour
maintenir les performances de l’entreprise. L’Analytique données permet d’identifier les forces et les
faiblesses de votre organisation afin de vous permettre de prendre les décisions commerciales appro-
priées.
Les données utilisées par une entreprise peuvent provenir de nombreuses sources. Il peut y avoir une
masse de données historiques à parcourir et des données nouvelles qui continuent d’arriver en perma-
nence. Ces données peuvent être le résultat d’achats des clients, de transactions bancaires, de mouve-
ments des cours boursiers, de données météorologiques en temps réel, d’appareils de surveillance ou
même de caméras. Dans une solution d’Analytique données, vous combinez ces données et vous con-
struisez un entrepôt de données que vous pouvez utiliser pour poser des questions (et y répondre) sur le
fonctionnement de votre entreprise. La création d’un entrepôt de données requiert de capturer les
données dont vous avez besoin et de les rassembler au format approprié. Vous pouvez ensuite utiliser les
outils d’analyse et les visualisations pour examiner les informations, et pour identifier les tendances et
leurs causes.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
52     

REMARQUE : Wrangling est le processus par lequel vous transformez et mappez les données brutes dans
un format plus approprié à l’analyse. Il peut impliquer l’écriture de code pour capturer, filtrer, nettoyer,
combiner et agréger des données provenant d’un grand nombre de sources.
Dans cette unité, vous allez découvrir deux étapes importantes de l’Analytique données : l’ingestion des
données et le traitement des données. Le diagramme ci-dessous montre comment ces étapes s’articulent.

Qu’est-ce que l’ingestion de données ?


L’ingestion de données est le processus qui consiste à obtenir et à importer des données pour les utiliser
tout de suite ou les stocker dans une base de données. Les données peuvent arriver sous la forme d’un
flux continu ou par lots, selon la source. L’objectif du processus d’ingestion est de capturer ces données
et de les stocker. Ces données brutes peuvent être stockées dans un référentiel, comme un système de
gestion de base de données, un ensemble de fichiers ou tout autre type de stockage rapide et facilement
accessible.
Le processus d’ingestion peut également effectuer un filtrage. Par exemple, l’ingestion peut rejeter des
données suspectes, endommagées ou dupliquées. Les données suspectes peuvent être des données
provenant d’une source inattendue. Les données endommagées ou dupliquées peuvent être dues à une
erreur d’un appareil, à un échec de la transmission ou à une falsification.
Il peut également être possible d’effectuer des transformations à ce stade, en convertissant les données
dans un format standard en vue d’un traitement ultérieur. Par exemple, vous pouvez reformater toutes les
données de date et d’heure pour utiliser les mêmes représentations de ces types de données, et convertir
toutes les données de mesures pour utiliser les mêmes unités. Ces transformations doivent cependant
être rapides à effectuer. N’essayez pas d’effectuer des calculs complexes ou des agrégations sur les
données à ce stade.

Qu’est-ce que le traitement des données ?


L’étape de traitement des données se produit une fois que les données ont été ingérées et collectées.
Le traitement des données prend les données dans leur forme brute, les nettoie et les convertit dans un
format qui a davantage de signification (tables, graphes, documents, etc.). Le résultat est une base de
données contenant des données que vous pouvez utiliser pour exécuter des requêtes et générer des
visualisations, en lui donnant la forme et le contexte nécessaires pour être interprétées par des ordina-
teurs et utilisés par des employés dans toute l’organisation.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    53

REMARQUE : Le nettoyage des données est un terme générique qui englobe une série d’actions, comme
la suppression des anomalies, et l’application de filtres et de transformations dont l’exécution serait trop
longue lors l’étape d’ingestion.
L’objectif du traitement des données est de convertir les données brutes en un ou plusieurs modèles
d’entreprise. Un modèle d’entreprise décrit les données en termes d’entités métier significatives, et peut
agréger des éléments et synthétiser les informations. L’étape de traitement des données peut également
générer des modèles prédictifs ou d’autres modèles d’analytique à partir des données. Le traitement des
données peut être complexe, et impliquer des scripts automatisés et des outils comme Azure Databricks,
Azure Functions et Azure Cognitive Services pour examiner et remettre en forme les données, et générer
des modèles. Un analyste de données peut utiliser le machine learning pour déterminer des tendances
futures en fonction de ces modèles.

Qu’est-ce que l’ELT et l’ETL ?


Le mécanisme de traitement des données peut utiliser deux approches différentes pour récupérer les
données ingérées, en traitant ces données pour les transformer et générer des modèles, puis en enregis-
trant les données transformées et les modèles. Ces approches sont appelées ETL et ELT.
ETL signifie Extraire, transformer et charger (Extract, Transform, Load). Les données brutes sont récupérées
et transformées avant d’être enregistrées. Les étapes d’extraction, de transformation et de chargement
peuvent être effectuées sous la forme d’un pipeline continu d’opérations. Il convient aux systèmes qui
nécessitent seulement des modèles simples, avec peu de dépendances entre les éléments. Par exemple,
ce type de processus est souvent utilisé pour les tâches de nettoyage de données de base, la déduplica-
tion des données et la remise en forme du contenu de champs individuels.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
54     

Une approche alternative est ELT. ELT est l’abréviation de Extraire, charger et transformer (Extract, Load,
Transform). Le processus diffère de l’ETL en cela que les données sont stockées avant d’être transformées.
Le moteur de traitement des données peut mettre en œuvre une approche itérative, en récupérant et en
traitant les données à partir du stockage, avant de réécrire les données transformées et les modèles dans
le stockage. L’ELT est plus adapté à la construction de modèles complexes qui dépendent de plusieurs
éléments dans la base de données, en utilisant souvent un traitement par lots régulier.

L’ELT est une approche scalable adaptée au cloud, car elle peut utiliser la grande puissance de traitement
disponible. L’approche plus orientée flux de l’ETL met davantage l’accent sur le débit. L’ELT peut cepend-
ant filtrer les données avant qu’elles ne soient stockées. De cette façon, l’ETL peut contribuer à la confi-
dentialité et à la conformité des données, en supprimant les données sensibles avant leur arrivée dans
vos modèles de données analytiques.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    55

Azure propose plusieurs options que vous pouvez utiliser pour implémenter les approches ELT et ETL. Par
exemple, si vous stockez des données dans Azure SQL Database, vous pouvez utiliser SQL Server Integra-
tion Services. Integration Services peut extraire et transformer des données à partir d’une grande variété
de sources, par exemple des fichiers de données XML, des fichiers plats et des sources de données
relationnelles, puis charger les données dans une ou plusieurs destinations.
Une autre approche plus généralisée consiste à utiliser Azure Data Factory. Azure Data Factory est un
service d’intégration de données cloud qui vous permet de créer des workflows basés sur les données,
pour orchestrer le déplacement des données et transformer des données à grande échelle. Azure Data
Factory vous permet de créer et de planifier des workflows basés sur les données (appelés pipelines) qui
peuvent ingérer des données provenant de différents magasins de données. Vous pouvez créer des
processus ETL complexes qui transforment visuellement les données avec des flux de données ou à l’aide
de Compute Services tels que Azure HDInsight Hadoop, Azure Databricks et Azure SQL Database.

Découvrir la visualisation des données


Un modèle d’entreprise peut contenir une énorme quantité d’informations. Le but de la production d’un
modèle comme celui-ci est de vous aider à raisonner sur les informations qu’il contient, à poser des ques-
tions et, espérons-le, à obtenir des réponses qui vous aideront à faire progresser votre entreprise.
Cette unité présente certaines des techniques qui permettent d’analyser et de comprendre les informa-
tions contenues dans vos modèles.

Qu’est-ce que la génération de rapports ?


La génération de rapports est le processus d’organisation des données en résumés informatifs pour
surveiller les performances des différents domaines d’une organisation. La génération de rapports aide
les entreprises à surveiller leurs activités en ligne et à savoir quand les données se situent en dehors des
plages attendues. Une bonne génération de rapports devrait soulever des questions sur l’entreprise de la
part de ses utilisateurs finaux. La génération de rapports vous montre ce qui s’est passé, tandis que
l’analyse se concentre sur l’explication des raisons pour lesquelles cela s’est produit et ce que vous
pouvez faire pour y remédier.

Qu’est-ce que l’informatique décisionnelle ?


Le terme Informatique décisionnelle (BI) fait référence aux technologies, applications et pratiques de
collecte, d’intégration, d’analyse et de présentation d’informations commerciales. Le but de l’informatique
décisionnelle est de soutenir une meilleure prise de décision.
Les systèmes d’informatique décisionnelle fournissent des vues historiques, actuelles et prédictives des
opérations commerciales, le plus souvent à l’aide de données qui ont été rassemblées dans un entrepôt
de données, parfois même à partir de données opérationnelles en direct. Les éléments logiciels prennent
en charge la génération de rapports, l’analyse « découpée et triée » de tableaux croisés dynamiques, la
visualisation et l’examen de données statistiques. Les applications abordent les ventes, la production, les
services financiers et de nombreuses autres sources de données commerciales à des fins qui incluent la
gestion des performances commerciales. À des fins de comparaison, des informations sont souvent
recueillies sur d’autres entreprises du même secteur. Ce processus est connu sous le nom de benchmark-
ing.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
56     

Qu’est-ce que la visualisation des données ?


La visualisation des données est la représentation graphique d’informations et de données. En utilisant
des éléments visuels tels que des schémas, des graphiques et des cartes, les outils de visualisation de
données offrent un moyen accessible de repérer et de comprendre les tendances, les valeurs aberrantes
et les modèles dans les données. Si vous utilisez Azure, l’outil de visualisation de données le plus popu-
laire est Power BI.
À l’aide de Power BI, vous pouvez vous connecter à plusieurs sources de données différentes et les
combiner dans un modèle de données. Ce modèle de données vous permet de créer des visuels et des
collections de visuels que vous pouvez partager, sous forme de rapports, avec d’autres personnes au sein
de votre organisation.

Examiner les options de visualisation pour représenter les


données
La visualisation des données permet de se concentrer sur la signification des données, plutôt que sur les
données elles-mêmes. Une bonne visualisation des données permet de repérer rapidement les tend-
ances, les anomalies et les problèmes potentiels. Les formes les plus courantes de visualisations sont les
suivantes :
●● Diagrammes en barres et diagrammes en colonnes : Les diagrammes en barres et les diagrammes en
colonnes permettent de voir comment un ensemble de variables change dans différentes catégories.
Par exemple, le premier diagramme ci-dessous démontre comment les ventes de plusieurs détaillants
fictifs varient d’un site à l’autre.

Ce diagramme présente l’évolution des ventes d’un mois à l’autre.


RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    57

●● Diagrammes linéaires : Les diagrammes linéaires mettent l’accent sur la forme générale d’une série
entière de valeurs, généralement au fil du temps.

●● Matrice : Un visuel de matrice est une structure tabulaire qui résume les données. Souvent, les con-
cepteurs de rapports incluent des matrices dans les rapports et les tableaux de bord pour permettre
aux utilisateurs de sélectionner un ou plusieurs éléments (lignes, colonnes, cellules) dans la matrice
pour mettre en évidence d’autres éléments visuels sur une page de rapport.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
58     

●● Influenceurs clés : Un graphique d’influenceurs clés affiche les principaux contributeurs à un résultat
ou à une valeur sélectionnée. Les influenceurs clés sont un excellent choix pour vous aider à compren-
dre les facteurs qui influencent une métrique clé. Par exemple, ce qui pousse les clients à passer une
deuxième commande ou pourquoi les ventes ont été si élevées en juin dernier.

●● Carte proportionnelle : Les cartes proportionnelles sont des graphiques de rectangles colorés, avec
une taille représentant la valeur relative de chaque élément. Ils peuvent être hiérarchiques et contenir
des rectangles imbriqués dans les rectangles principaux.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    59

●● Nuage de points : Un nuage de points présente la relation entre deux valeurs numériques. Un dia-
gramme à bulles est un diagramme à nuage de points qui remplace les points de données par des
bulles, la taille de la bulle représentant une troisième dimension de données supplémentaire.

Un diagramme en pointillés est similaire à un diagramme à bulles et à un diagramme en nuage de


points, mais il peut tracer des données catégorielles le long de l’axe des X.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
60     

●● Carte choroplèthe. Si vous disposez de données géographiques, vous pouvez utiliser une carte
choroplèthe pour afficher en quoi une valeur diffère proportionnellement dans une zone géo-
graphique ou une région. Vous pouvez voir des différences relatives avec des ombres allant de la
lumière (moins fréquente / plus faible) à l’obscurité (plus fréquente / plus intensive).

Découvrir l’analyse des données


L’analytique données porte sur l’analyse, la transformation et l’organisation des données pour pouvoir les
étudier et en retirer des informations utiles. L’analytique données est une discipline englobant toutes les
tâches de gestion de données. Ces tâches incluent non seulement l’analyse, mais également la collecte,
l’organisation et le stockage de données, ainsi que tous les outils et techniques utilisés.
Le terme analytique données est un terme global qui englobe un ensemble d’activités, chacune ayant des
objectifs propres. Vous pouvez classer ces activités dans les catégories d’analyse descriptive, d’analyse
diagnostique, d’analyse prédictive, d’analyse prescriptive et d’analyse cognitve.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    61

Dans ce module, vous allez étudier ces catégories d’analytiques données.

Analyse descriptive
L’analyse descriptive permet de répondre aux questions sur une situation qui s’est produite, à partir de
données historiques. Les techniques d’analyse descriptive permettent de résumer les jeux de données
importants afin de décrire les résultats pour les parties prenantes.
En développant des indicateurs de performances clés, ces stratégies permettent de suivre la réussite ou
l’échec des objectifs clés. Certaines mesures, comme le retour sur investissement (ROI), sont utilisées dans
de nombreux secteurs d’activité. Des mesures spécifiques sont créées pour suivre le niveau de perfor-
mance dans certains secteurs d’activité.
Des exemples d’analyses descriptives incluent la génération de rapports pour fournir un aperçu des
données commerciales et financières d’une organisation.

Analyse diagnostique
L’analyse diagnostique permet de répondre aux questions sur les raisons expliquant une situation qui
s’est produite. Les techniques d’analyse diagnostique viennent compléter les analyses descriptives plus
simples. Elles utilisent les résultats provenant des analyses descriptives et approfondissent l’étude de la
cause. Les indicateurs de performance font l’objet d’une étude plus poussée pour savoir pourquoi ils se
sont améliorés ou dégradés. Cette étude comprend généralement trois étapes :
1. Identifier les anomalies présentes dans les données. Il peut s’agir de variations inattendues d’un
indicateur sur un marché donné.
2. Collecter les données liées à ces anomalies.
3. Utilisez les techniques statistiques nécessaires pour déterminer les liens et les tendances expliquant
ces anomalies.

Analyse prédictive
L’analyse prédictive permet de répondre aux questions sur une situation qui va se produire dans le futur.
Les techniques d’analyse prédictive utilisent des données historiques pour déterminer les tendances et
savoir si elles peuvent se reproduire. Les outils d’analyse prédictive fournissent des informations impor-
tantes sur une situation qui va se produire dans le futur. Les techniques incluent diverses méthodes
d’apprentissage statistique et d’apprentissage automatique, comme les réseaux neuronaux, les arbres de
décision et la régression.

Analyse prescriptive
L’analyse prescriptive permet de répondre aux questions sur les actions à entreprendre pour atteindre un
objectif. Il est possible de prendre des décisions axées sur les données en utilisant les informations issues
de l’analyse prédictive. Cette technique permet aux entreprises de prendre des décisions éclairées dans
un contexte d’incertitude. Les techniques d’analyse prescriptive reposent sur des stratégies d’apprentis-
sage automatique visant à identifier des tendances dans des jeux de données importants. Il est possible
d’estimer la probabilité d’obtenir des résultats différents en analysant les décisions et les événements
passés.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
62     

Analyse cognitive
L'analyse cognitive tente d’établir des inférences à partir de données et de modèles existants, de tirer des
conclusions basées sur des bases de connaissances existantes, puis de réintégrer ces résultats dans la
base de connaissances pour des inférences futures et constituer une boucle de rétroaction d'auto-ap-
prentissage. L'analyse cognitive permet de comprendre ce qui pourrait se passer si les circonstances
changent, et comment vous pouvez gérer ces situations.
Les inférences ne sont pas des requêtes structurées basées sur une base de données de règles, mais
plutôt des hypothèses non structurées collectées à partir d'un certain nombre de sources, exprimées
avec divers degrés de confiance. Une analyse cognitive efficace dépend des algorithmes d’apprentissage
automatique. Elle utilise plusieurs concepts de traitement automatique du language (NLP) pour donner
un sens à des sources de données auparavant inexploitées, comme les journaux de conversation du
centre d’appels et les critiques de produits.
Théoriquement, en tirant parti des avantages de l’informatique parallèle et/ou distribuée massive et de la
baisse des coûts du stockage des données et de la puissance de calcul, il n'y a pas de limite au dévelop-
pement cognitif que ces systèmes peuvent réaliser.

Contrôle des connaissances


Question 1
Qu’est-ce que l’ingestion de données ?
†† Le processus de transformation des données brutes en modèles contenant des informations significa-
tives.
†† Analyser des données pour les anomalies,
†† Capturer des données brutes en diffusion en continu à partir de diverses sources et les stocker

Question 2
Lequel des visuels suivants affiche les principaux contributeurs à un résultat ou à une valeur sélectionnée ?
†† Influenceurs clés
†† Colonne et graphique à barres
†† Graphique matriciel

Question 3
Quel type d’analyse permet de répondre aux questions sur ce qui a eu lieu dans le passé ?
†† Analyse descriptive
†† Analyse prescriptive
†† Analyse prédictive

Résumé
Les organisations ont d’énormes quantités de données. L’objectif de l’analyse des données est de
découvrir des insights importants qui peuvent vous aider à faire progresser votre entreprise.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    63

Vous avez découvert :


●● L’ingestion et le traitement des données
●● La visualisation des données
●● L’analytique données

En savoir plus
●● Créer des rapports et des tableaux de bord dans Power BI - Documentation32
●● Azure Databricks33
●● Azure Cognitive Services34
●● Extraire, transformer et charger (ETL)35

32 https://docs.microsoft.com/power-bi/create-reports/
33 https://azure.microsoft.com/services/databricks/
34 https://docs.microsoft.com/azure/cognitive-services/what-are-cognitive-services
35 https://docs.microsoft.com/azure/architecture/data-guide/relational-data/etl
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
64     

Answers
Question 1
Comment les données d’une table relationnelle sont-elles organisées ?
■■ Lignes et colonnes
†† En-tête et pied de page
†† Pages et paragraphes
Explanation
Réponse correcte. Les données structurées sont généralement des données tabulaires qui sont représentées
par des lignes et des colonnes dans une table de base de données.
Question 2
Parmi les propositions suivantes, laquelle est un exemple de données non structurées ?
†† Une table Employé avec les colonnes ID d’employé, Nom d’employé et Désignation d’employé
■■ Fichiers audio et vidéo
†† Une table dans la base de données SQL Server
Explanation
Réponse correcte. Les fichiers audio et vidéo sont des données non structurées.
Question 3
Parmi les propositions suivantes, laquelle est un exemple de jeu de données en flux continu ?
■■ Données provenant de capteurs et d’appareils
†† Données de vente du mois dernier
†† Liste des salariés travaillant pour une entreprise
Explanation
Réponse correcte. Les flux de capteurs et d’appareils sont des exemples de jeu de données en flux continu,
car ils sont diffusés en continu.
Question 1
Laquelle des tâches suivantes est un rôle d’administrateur de base de données ?
■■ Sauvegarde et restauration des bases de données
†† Création de tableaux de bord et de rapports
†† Identification des problèmes de qualité des données
Explanation
Réponse correcte. Les administrateurs de base de données sauvegarderont la base de données et restaurer-
ont la base de données en cas de perte ou d’endommagement des données.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    65

Question 2
Lequel des outils suivants est un outil de visualisation et de rapport ?
†† SQL Server Management Studio
■■ Power BI
†† SQL
Explanation
Réponse correcte. Power BI est un outil standard permettant de créer des tableaux de bord et des rapports
graphiques riches.
Question 3
Lequel des rôles suivants n’est pas un rôle de tâche de données ?
■■ Administrateur système
†† Analyste de données
†† Administrateur de base de données
Explanation
Réponse correcte. Les administrateurs système gèrent les composants d’infrastructure tels que les réseaux,
machines virtuelles et autres appareils physiques dans un centre de données
Question 1
Laquelle des affirmations suivantes est une caractéristique d’une base de données relationnelle ?
†† Toutes les données doivent être stockées sous forme de chaînes de caractères.
■■ Une ligne dans une table représente une seule entité.
†† Différentes lignes dans la même table peuvent contenir différentes colonnes.
Explanation
Réponse correcte. Chaque ligne d’une table contient les données d’une seule entité de cette table.
Question 2
Qu’est-ce qu’un index ?
■■ Une structure qui vous permet de localiser rapidement des lignes dans une table, en utilisant une
valeur indexée.
†† Une table virtuelle basée sur le jeu de résultats d’une requête.
†† Une structure comprenant des lignes et des colonnes que vous utilisez pour stocker des données.
Explanation
Réponse correcte. Vous créez des index pour aider à accélérer les requêtes.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
66     

Question 1
Lequel des services suivants doit-on utiliser pour implémenter une base de données non relationnelle ?
■■ Azure Cosmos DB
†† Base de données SQL Azure
†† The Gremlin API
Explanation
Réponse correcte. Cosmos DB prend en charge plusieurs modèles courants de bases de données non
relationnelles pf, notamment des magasins de données clé-valeur, des bases de données de graphiques, des
bases de données de documents et des magasins de familles de colonnes.
Question 2
Laquelle des caractéristiques suivantes s’applique aux bases de données non relationnelles ?
†† Les bases de données non relationnelles contiennent des tables avec des enregistrements plats à
colonnes fixes
†† Les bases de données non relationnelles vous obligent à utiliser des techniques de normalisation des
données pour réduire la duplication des données
■■ Les bases de données non relationnelles sont soit sans schéma, soit avec des schémas assouplis
Explanation
Réponse correcte. Chaque entité dans une base de données non relationnelle n’a que les champs dont elle a
besoin, et ces champs peuvent varier entre différentes entités.
Question 3
Vous construisez un système qui contrôle la température dans un ensemble d’immeubles de bureaux et
règle la climatisation dans chaque pièce de chaque bloc pour maintenir une température ambiante
agréable. Votre système doit gérer la climatisation dans plusieurs milliers de bâtiments répartis à travers
le pays ou la région, et chaque bâtiment contient généralement au moins 100 pièces climatisées. Quel est
le type de stockage de données NoSQL le plus approprié pour capturer les données de température afin
de permettre leur traitement rapide ?
■■ Un magasin clé-valeur
†† Une base de données de familles de colonnes
†† Écrire les températures dans un objet blob dans le stockage Blob Azure
Explanation
Réponse correcte. Un magasin clé-valeur peut ingérer rapidement de gros volumes de données. Un ther-
momètre dans chaque pièce peut envoyer les données à la base de données.
Question 1
Qu’est-ce que l’ingestion de données ?
†† Le processus de transformation des données brutes en modèles contenant des informations significa-
tives.
†† Analyser des données pour les anomalies,
■■ Capturer des données brutes en diffusion en continu à partir de diverses sources et les stocker
Explanation
Réponse correcte. Le but de l’ingestion de données est de recevoir des données brutes et de les enregistrer le
plus rapidement possible. Les données peuvent ensuite être traitées et analysées.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    67

Question 2
Lequel des visuels suivants affiche les principaux contributeurs à un résultat ou à une valeur sélectionnée
?
■■ Influenceurs clés
†† Colonne et graphique à barres
†† Graphique matriciel
Explanation
Réponse correcte. Un graphique d’influenceurs clés affiche les principaux contributeurs à un résultat ou à
une valeur sélectionnée. Les influenceurs clés sont un excellent choix pour vous aider à comprendre les
facteurs qui influencent une métrique clé.
Question 3
Quel type d’analyse permet de répondre aux questions sur ce qui a eu lieu dans le passé ?
■■ Analyse descriptive
†† Analyse prescriptive
†† Analyse prédictive
Explanation
Réponse correcte. L’analyse descriptive permet de répondre aux questions concernant ce qui s’est passé.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
Module 2 Explorer les données relationnelles
dans Azure

Explorer les offres de données relationnelles


dans Azure
Introduction
Une base de données est une collection de données. Une base de données peut être aussi simple qu’une
feuille de calcul de bureau ou aussi complexe qu’un système global contenant des pétaoctets d’informa-
tions hautement structurées. Les données peuvent être structurées de différentes manières. Une ap-
proche courante consiste à stocker les données dans un format tabulaire, avec des lignes et des colonnes.
Vous pouvez définir des relations entre les tables. Ces bases de données sont appelées bases de données
relationnelles.
Les bases de données peuvent également être semi-structurées ou non structurées, comprenant une
masse de données brutes non traitées. Ces bases de données sont généralement appelées non relation-
nelles. Les bases de données sont gérées à l’aide d’un système de gestion de base de données (SGBD). Le
SGBD gère les aspects physiques d’une base de données, par exemple où et comment elle est stockée,
qui peut y accéder et comment s’assurer de sa disponibilité lorsque cela est nécessaire.
De nombreuses organisations dépendent des informations stockées dans leurs bases de données pour
prendre des décisions commerciales critiques. Auparavant, ces organisations exécutaient leurs SGBD sur
site. Cependant, cette approche obligeait l’organisation à maintenir sa propre infrastructure matérielle.
Par conséquent, un nombre croissant d’entreprises migrent leurs bases de données vers le cloud, où les
coûts de configuration et de maintenance de l’infrastructure sont considérablement réduits.
Supposons que vous soyez administrateur de bases de données chez Wide World Importers. Vous êtes
responsable de la conception et de la maintenance de la base de données, ainsi que de la fourniture
d’informations pour la direction, mais aussi de la création de listes de clients pour le service marketing.
Vous disposez d’une base de données SQL Server existante qui repose fortement sur des procédures
stockées et d’autres fonctionnalités de base de données avancées telles que les serveurs liés. La base de
données est située sur votre réseau interne. Il vous a été demandé de la rendre disponible à vos parte-
naires du monde entier.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
70     

REMARQUE : Une procédure stockée est un bloc de code qui s’exécute dans votre base de données. Les
applications utilisent souvent des procédures stockées car elles sont optimisées pour s’exécuter dans
l’environnement de base de données et peuvent accéder aux données très rapidement. Un serveur lié est
une connexion entre deux serveurs de base de données. SQL Server peut utiliser des serveurs liés pour
exécuter des requêtes sur un serveur pouvant inclure des données récupérées à partir d’autres serveurs.
Ces requêtes sont appelées requêtes distribuées.
Dans cette leçon, vous découvrirez les options disponibles lors du choix d’une plateforme de données
relationnelles pour l’hébergement d’une base de données dans Azure.

Objectifs d’apprentissage
Dans cette leçon, vous allez :
●● Identifier les services de données relationnels Azure
●● Explorer les considérations lors du choix d’un service de données relationnelles

Explorer les services de données relationnelles


Azure
Azure propose toute une gamme d’options permettant d’exécuter un système de gestion de base de
données dans le cloud. Par exemple, vous pouvez migrer vos systèmes locaux vers une collection de
machines virtuelles Azure. Cette approche nécessite toujours de votre part une gestion rigoureuse du
SGBD. Vous pouvez également bénéficier des différents services de données relationnelles Azure disponi-
bles. Ces services de données gèrent le SGBD à votre place, ce qui vous permet de vous concentrer sur
les données qu’il contient et les applications qui l’utilise.

Comprendre les modèles IaaS, PaaS et SaaS


Avant de vous plonger dans Azure Data Services, vous devez comprendre certains termes courants
utilisés pour décrire les différentes façons dont vous pouvez héberger une base de données dans Azure.
IaaS est l’acronyme de Infrastructure as a Service. Azure vous permet de créer une infrastructure virtuelle
dans le cloud qui reflète la façon dont un centre de données local peut fonctionner. Vous pouvez créer un
ensemble de machines virtuelles, les connecter entre elles via un réseau virtuel et ajouter tout un éventail
d’appareils virtuels. Vous êtes responsable de l’installation et de la configuration des logiciels, notamment
le SGBD, sur ces machines virtuelles. À bien des égards, cette approche est similaire à la façon dont vous
exécutez vos systèmes au sein d’une organisation, à ceci près que vous n’avez pas à vous soucier de
l’achat ni de la maintenance du matériel.
REMARQUE : Un réseau virtuel Azure est une représentation de votre propre réseau dans le cloud. Un
réseau virtuel vous permet de connecter des machines virtuelles et des services Azure entre eux, comme
vous pourriez le faire avec un réseau physique local. Azure garantit que chaque réseau virtuel est isolé
d’Internet et des réseaux virtuels créés par d’autres utilisateurs. Azure vous permet de spécifier les
machines (réelles et virtuelles) et les services autorisés à accéder aux ressources sur le réseau virtuel ainsi
que les ports qu’elles peuvent utiliser.
PaaS signifie Platform as a Service. Au lieu de créer une infrastructure virtuelle et d’installer et gérer
vous-même le logiciel de base de données, une solution PaaS le fait à votre place. Vous spécifiez les
ressources nécessaires (en fonction de la taille prévue de vos bases de données, du nombre d’utilisateurs
et des performances dont vous pensez avoir besoin) et Azure crée automatiquement les machines
virtuelles, les réseaux et les autres appareils nécessaires à votre place. En règle générale, vous pouvez
rapidement effectuer un scale-up ou un scale-down (augmenter ou diminuer la taille et le nombre de
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    71

ressources) au fur et à mesure que le volume des données et la quantité de travail effectuée varient.
Azure gère cette mise à l’échelle à votre place et vous n’avez pas à ajouter ni à supprimer manuellement
de machines virtuelles, ni à effectuer d’autre forme de configuration.
SaaS est l’abréviation de Software as a Service (Logiciel en tant que service). Les offres SaaS sont
généralement des packages logiciels spécifiques installés et exécutés sur du matériel virtuel dans le
cloud. Les packages SaaS sont généralement des applications hébergées plutôt que des logiciels plus
généralistes tels qu’un SGBD. Les packages SaaS courants disponibles sur Azure incluent Microsoft 365
(anciennement Office 365).

Qu’est-ce qu’Azure Data Services ?


Azure Data Services appartient à la catégorie PaaS. Il s’agit d’une série de SGBD managés par Microsoft
dans le cloud. Chaque service de données s’occupe de la configuration, de la gestion quotidienne, des
mises à jour de logiciels et de la sécurité des bases de données qu’il héberge. Il vous suffit de créer vos
bases de données sous le contrôle du service de données.
Azure Data Services est disponible pour plusieurs systèmes de gestion de base de données relationnelle
courants. Le service le plus connu est Azure SQL Database. Les autres services disponibles sont ceux des
serveurs Azure Database pour MySQL, Azure Database for MariaDB et Azure Database pour PostgreSQL.
Les autres unités de ce module décrivent les fonctionnalités fournies par ces services.

REMARQUE : Microsoft fournit également des services de données pour les systèmes de gestion de base
de données non relationnelle, par exemple Cosmos DB.
L’utilisation d’Azure Data Services réduit le temps que vous devez consacrer à l’administration d’un SGBD.
Toutefois, ces services peuvent également limiter la plage de tâches d’administration personnalisées que
vous pouvez effectuer, car l’exécution manuelle de certaines tâches peut risquer de compromettre la
manière dont le service s’exécute. Par exemple, certains SGBD vous permettent d’installer des logiciels
personnalisés dans une base de données ou d’exécuter des scripts dans le cadre d’une opération de base
de données. Ces logiciels risquent de ne pas être pris en charge par le service de données. Or, si une
application est autorisée à exécuter un script à partir d’une base de données, cela peut affecter la sécurité
du service. Vous devez tenir compte de ces restrictions dans votre travail.
En plus de réduire la charge de travail administrative, Azure Data Services veille à ce que vos bases de
données soient disponibles au moins 99,99 % du temps.
Des coûts sont associés à l’exécution d’une base de données dans Azure Data Services. Le prix de base de
chaque service couvre l’infrastructure et les licences sous-jacentes ainsi que les frais d’administration. De
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
72     

plus, ces services sont conçus pour être toujours actifs. Cela signifie que vous ne pouvez pas arrêter une
base de données et la redémarrer plus tard.
Toutes les fonctionnalités d’un système de gestion de base de données ne sont pas disponibles dans
Azure Data Services. En effet, Azure Data Services se charge de gérer le système et de le maintenir
opérationnel sur le matériel situé dans un centre de données Azure. L’exposition de certaines fonctions
d’administration peut rendre la plateforme sous-jacente vulnérable à une utilisation abusive, et même
soulever des problèmes de sécurité. C’est la raison pour laquelle vous n’avez aucun contrôle direct sur la
plateforme sur laquelle les services s’exécutent. Si vous avez besoin de plus de contrôle que ne le permet
Azure Data Services, vous pouvez installer votre système de gestion de base de données sur une machine
virtuelle qui s’exécute dans Azure. L’unité suivante décrit cette approche plus en détail pour SQL Server.
Toutefois, les mêmes problèmes s’appliquent aux autres systèmes de gestion de base de données pris en
charge par Azure Data Services.
L’image ci-dessous montre les différentes façons dont vous pouvez exécuter un SGBD tel que SQL Server,
en commençant par un système local dans l’angle supérieur droit, jusqu’à PaaS dans l’angle inférieur
gauche. Le diagramme illustre les avantages du passage à l’approche PaaS.

SQL Server sur les machines virtuelles Azure


Microsoft SQL Server est un SGBD relationnel courant. Il a une longue histoire et possède des fonction-
nalités qui fournissent la gestion de base de données aux organisations de toutes tailles. Par le passé, les
organisations exécutaient SQL Server sur site. Cependant, de nombreuses organisations cherchent
maintenant à déplacer leurs opérations en ligne pour tirer parti des services disponibles dans le cloud.
SQL Server propose plusieurs façons d’exécuter une base de données dans Azure. Dans cette unité, vous
allez étudier le déplacement de SQL Server vers une machine virtuelle Azure.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    73

Présentation de SQL Server sur les machines virtuelles Az-


ure
SQL Server sur les machines virtuelles vous permet d’utiliser des versions complètes de SQL Server dans
le cloud sans avoir à gérer de matériel sur site. Voici un exemple d’approche IaaS.
SQL Server exécuté sur une machine virtuelle Azure réplique efficacement la base de données s’exécutant
sur du matériel réel sur site. La migration du système s’exécutant sur site vers une machine virtuelle Azure
n’est pas différente du déplacement des bases de données d’un serveur local vers un autre.
Dans l’exemple de scénario décrit dans l’introduction, la base de données exécute des procédures
stockées et des scripts dans le cadre de la charge de travail de la base de données. Si ces procédures
stockées et ces scripts dépendent de fonctionnalités restreintes en suivant une approche PaaS, exécuter
SQL Server sur vos propres machines virtuelles peut être une bonne option. Cependant, vous restez
responsable de la maintenance du logiciel SQL Server et de l’exécution des diverses tâches administra-
tives pour assurer le bon fonctionnement de la base de données au jour le jour.
Cette approche convient aux migrations et aux applications nécessitant un accès aux fonctionnalités du
système d’exploitation qui peuvent ne pas être prises en charge au niveau PaaS. Les machines virtuelles
SQL sont immédiatement prêtes, en mode lift-and-shift, pour les applications existantes qui nécessitent
une migration rapide vers le cloud avec des modifications minimes.

REMARQUE : Le terme « lift-and-shift » qualifie la manière dont vous pouvez déplacer une base de
données directement d’un serveur local vers une machine virtuelle Azure sans que vous ayez à y apporter
des modifications. Les applications qui se sont déjà connectées à la base de données sur site peuvent
être rapidement reconfigurées pour se connecter à la base de données exécutée sur la machine virtuelle,
mais elles resteront inchangées.

Cas d’utilisation
Cette approche est optimisée pour la migration des applications existantes vers Azure ou pour l’extension
des applications locales existantes vers le cloud lors de déploiements hybrides.
REMARQUE : Un déploiement hybride est un système qui fonctionne en partie sur site et en partie dans le
cloud. Votre base de données peut faire partie d’un système plus vaste qui s’exécute sur site, bien que les
éléments de base de données puissent être hébergés dans le cloud.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
74     

Vous pouvez utiliser SQL Server dans une machine virtuelle pour développer et tester des applications
SQL Server traditionnelles. Avec une machine virtuelle, vous disposez de tous les droits d’administration
sur le SGBD et le système d’exploitation. C’est un choix parfait lorsqu’une organisation dispose déjà de
ressources informatiques pour maintenir les machines virtuelles.
Ces fonctionnalités vous permettent de :
●● Créer des scénarios de développement et de test rapides lorsque vous ne souhaitez pas acheter de
matériel SQL Server local non destiné à la production.
●● Se tenir prêt pour les applications existantes qui nécessitent une migration rapide vers le cloud avec
des changements minimes ou sans changement.
●● Effectuer un scale-up de la plateforme sur laquelle SQL Server s’exécute en allouant plus de mémoire,
de puissance de processeur et d’espace disque à la machine virtuelle. Vous pouvez rapidement
redimensionner une machine virtuelle Azure sans avoir à réinstaller le logiciel qui s’y exécute.

Avantages de productivité
L’exécution de SQL Server sur des machines virtuelles permet de répondre à des besoins de productivité
uniques et diversifiés, grâce à une combinaison de déploiements sur site et hébergés dans le cloud, tout
en utilisant le même ensemble de produits serveur, d’outils de développement et d’expertise dans ces
environnements.
Il n’est pas toujours facile pour les entreprises de transformer leur SGBD en un service entièrement géré.
Il peut y avoir des exigences spécifiques qui doivent être satisfaites pour migrer vers un service géré et
qui nécessitent d’apporter des modifications à la base de données et aux applications qui l’utilisent. C’est
pour cette raison que l’utilisation de machines virtuelles peut constituer une solution, mais leur utilisation
n’élimine pas la nécessité d’administrer votre SGBD aussi soigneusement que vous le feriez sur site.

Azure SQL Database


Si vous ne souhaitez pas entraîner la surcharge de gestion associée à l’exécution de SQL Server sur une
machine virtuelle, vous pouvez utiliser Azure SQL Database.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    75

Qu’est-ce que Azure SQL Database ?


Azure SQL Database est une offre PaaS de Microsoft. Vous créez un serveur de base de données géré
dans le cloud, puis vous déployez vos bases de données sur ce serveur.
REMARQUE : Un serveur SQL Database est une construction logique qui agit comme un point adminis-
tratif central pour de multiples bases de données simples ou groupées, connexions, règles de pare-feu,
règles d’audit, stratégies de détection des menaces et groupes de basculement.
Azure SQL Database est disponible avec plusieurs options : Base de données unique, Pool élastique et
Managed Instance. Les sections suivantes décrivent une instance unique et un pool élastique. Managed
Instance est le sujet de l’unité suivante.

Base de données unique


Cette option permet de configurer et d’exécuter rapidement une seule base de données SQL Server. Vous
créez et exécutez un serveur de base de données dans le cloud, puis vous accédez à votre base de
données via ce serveur. Microsoft gérant le serveur, il vous suffit donc de configurer la base de données,
de créer vos tables et de les remplir avec vos données. Vous pouvez mettre à l’échelle la base de données
si vous avez besoin d’espace de stockage, de mémoire ou de puissance de traitement supplémentaires.
Par défaut, les ressources sont pré-allouées et vous êtes facturé à l’heure pour les ressources que vous
avez demandées. Vous pouvez également spécifier une configuration sans serveur. Dans cette configura-
tion, Microsoft crée son propre serveur, qui peut être partagé par un certain nombre de bases de don-
nées appartenant à d’autres abonnés Azure. Microsoft garantit la confidentialité de votre base de
données. Votre base de données est automatiquement mise à l’échelle et les ressources sont allouées ou
désallouées selon les besoins. Pour plus d’informations, consultez l’article Qu’est-ce qu’une base de
données unique dans Azure SQL Database1.

1 https://docs.microsoft.com/azure/sql-database/sql-database-single-database
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
76     

Pool élastique
Cette option est similaire à la base de données unique, sauf que, par défaut, plusieurs bases de données
peuvent partager les mêmes ressources, telles que la mémoire, l’espace de stockage de données et la
puissance de traitement. Les ressources sont désignées sous le nom de pool. Vous créez le pool et seules
vos bases de données peuvent l’utiliser. Ce modèle est utile si vous disposez de bases de données dont
les besoins en ressources varient dans le temps. Il permet aussi de réduire les coûts. Par exemple, à la fin
du mois, votre base de données de paie peut nécessiter une puissance de traitement importante de la
part du processeur, lorsque vous gérez le traitement de la paie, mais à d’autres moments, la base de
données peut devenir beaucoup moins active. Vous pouvez utiliser une autre base de données pour
exécuter des rapports. Cette base de données peut devenir active pendant plusieurs jours au milieu du
mois, à mesure que les rapports de gestion sont générés, mais avec une charge plus légère à d’autres
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    77

moments. Le pool élastique vous permet d’utiliser les ressources disponibles dans le pool, puis de libérer
les ressources une fois le traitement terminé.

Cas d’utilisation
Azure SQL Database vous offre la meilleure option pour un faible coût, avec une administration minimale.
Il n’est pas entièrement compatible avec les installations SQL Server locales. Il est souvent utilisé dans les
nouveaux projets cloud, où la conception de l’application peut s’adapter à toutes les modifications
requises de vos applications.
REMARQUE : Vous pouvez utiliser l’Assistant Migration de données pour détecter les problèmes de
compatibilité avec vos bases de données, qui peuvent avoir un impact sur les fonctionnalités de base de
données dans Azure SQL Database. Pour plus d’informations, consultez l’article Vue d’ensemble de
l’Assistant Migration de données2.

2 https://docs.microsoft.com/sql/dma/dma-overview
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
78     

Azure SQL Database est souvent utilisé pour :


●● Les applications cloud modernes qui doivent utiliser les dernières fonctionnalités stables de SQL
Server.
●● Les applications qui nécessitent une haute disponibilité.
●● Les systèmes avec une charge variable, qui ont besoin du serveur de base de données pour monter et
descendre rapidement en puissance.

Avantages de productivité
Azure SQL Database met à jour et corrige automatiquement le logiciel SQL Server pour garantir que vous
exécutez toujours la version la plus récente et la plus sécurisée du service.
Les fonctionnalités de scalabilité d’Azure SQL Database garantissent que vous pouvez augmenter les
ressources disponibles pour stocker et traiter les données, sans avoir à effectuer une mise à niveau
manuelle coûteuse.
Le service offre des garanties de haute disponibilité, pour garantir que vos bases de données sont
disponibles au moins 99,99 % du temps. Azure SQL Database prend en charge la restauration à un
moment donné, ce qui vous permet de restaurer une base de données dans l’état dans lequel elle se
trouvait à un moment spécifique. Les bases de données peuvent être répliquées dans différentes régions
pour fournir une assurance supplémentaire et une récupération d’urgence.
La protection avancée contre les menaces fournit des fonctionnalités de sécurité avancées, telles que des
évaluations de vulnérabilité, pour permettre de détecter et de résoudre les problèmes de sécurité
potentiels liés à vos bases de données. La protection contre les menaces détecte également les activités
anormales qui indiquent des tentatives inhabituelles et potentiellement nuisibles d’accéder à votre base
de données ou de l’exploiter. Il surveille en permanence votre base de données pour détecter les activités
suspectes et fournit des alertes de sécurité immédiates sur les vulnérabilités potentielles, les attaques par
injection SQL et les modèles d’accès anormaux aux bases de données. Les alertes de détection des
menaces fournissent des détails sur l’activité suspecte et recommandent des actions pour enquêter et
pour atténuer la menace.
L’audit suit les événements de base de données et les consigne dans un journal d’audit dans votre
compte de stockage Azure. L’audit peut vous aider à maintenir la conformité réglementaire, à retracer
l’activité de la base de données et à mieux comprendre les écarts et les anomalies qui pourraient indiquer
des préoccupations commerciales ou des violations présumées de la sécurité.
SQL Database permet de sécuriser vos données grâce au chiffrement. Pour les données en mouvement, il
utilise la sécurité de la couche de transport. Pour les données au repos, il utilise Transparent Data Encryp-
tion (chiffrement transparent des données). Pour les données en cours d’utilisation, il utilise toujours le
chiffrement.
Dans le scénario Wide World Importers, les serveurs liés sont utilisés pour effectuer des requêtes dis-
tribuées. Toutefois, ni la base de données unique ni le pool élastique ne prennent en charge les serveurs
liés. Si vous souhaitez utiliser une base de données unique ou un pool élastique, vous devrez peut-être
modifier les requêtes qui utilisent des serveurs liés et retravailler les opérations qui dépendent de ces
fonctionnalités.

Azure SQL Database Managed Instance


Une entreprise peut souhaiter éviter autant que possible les frais de gestion liés à l’administration des
serveurs et des bases de données, mais les options Base de données unique et Pool élastique ont leurs
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    79

limites et, de ce fait, peuvent ne pas convenir. Dans ces cas-là, Azure SQL Database Managed Instance
peut être une excellente solution à retenir.

Qu’est-ce qu’Azure SQL Database Managed Instance ?


Les options Base de données unique et Pool élastique limitent l’utilisation des fonctionnalités d’adminis-
tration disponibles pour SQL Server. Managed Instance exécute efficacement une instance entièrement
contrôlable de SQL Server dans le cloud. Vous pouvez installer plusieurs bases de données sur la même
instance. Vous disposez d’un contrôle total sur cette instance, comme pour un serveur local. Le service
Managed Instance automatise les sauvegardes, les correctifs logiciels, la surveillance des bases de
données et autres tâches générales, mais vous disposez d’un contrôle total sur la sécurité et l’allocation
des ressources pour vos bases de données. Pour plus d’informations, consultez l’article Qu’est-ce qu’Az-
ure SQL Database Managed Instance ?3.
Les instances gérées dépendent des autres services Azure utilisés, tels que le stockage Azure pour les
sauvegardes, Azure Event Hubs pour la télémétrie, Azure Active Directory pour TDE (Transparent Data
Encryption) et plusieurs services de plateforme fournissant des fonctionnalités de sécurité et de prise en
charge. Les instances gérées permettent de se connecter à ces services.
Toutes les communications sont cryptées et signées à l’aide de certificats. Pour vérifier la fiabilité des
parties qui communiquent, les instances gérées vérifient toujours ces certificats via des listes de révoca-
tions de certificats. Si les certificats sont révoqués, l’instance gérée met fin aux connexions pour protéger
les données.
L'illustration suivante résume les différences entre SQL Database Managed Instance, Base de données
unique et Pool élastique

3 https://docs.microsoft.com/azure/sql-database/sql-database-managed-instance
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
80     

Cas d’utilisation
Utilisez Azure SQL Database Managed Instance si vous souhaitez effectuer une migration lift-and-shift
d’une instance SQL Server locale et de toutes les bases de données correspondantes vers le cloud, sans
créer de surcharge de gestion liée à l’exécution de SQL Server sur une machine virtuelle.
Azure SQL Database Managed Instance fournit des fonctionnalités non disponibles avec les options Base
de données unique ou Pool élastique. Servez-vous de Managed Instance si votre système utilise des fonc-
tionnalités comme des serveurs liés, Service Broker (un système de traitement de messages qui permet
de répartir les tâches entre les serveurs) ou Database Mail (qui permet à votre base de données d’envoyer
des courriers électroniques aux utilisateurs). Pour vérifier la compatibilité avec un système local existant,
vous pouvez installer AMD (Assistant Migration de données)4. Cet outil analyse vos bases de données
sur SQL Server et signale les problèmes risquant de bloquer la migration vers une instance gérée.

Avantages de productivité
SQL Database Managed Instance offre tous les avantages de gestion et de sécurité disponibles lors de
l’utilisation d’une base de données unique et d’un pool élastique. Le déploiement d’une instance gérée
permet à un administrateur système de gagner du temps sur les tâches administratives, car le service SQL
Database exécute automatiquement ou simplifie considérablement ces tâches. Les tâches automatiques
comprennent l’installation du système d’exploitation et du système de gestion de base de données
(SGBD), ainsi que l’application de correctifs pour ces derniers, le redimensionnement et la configuration
dynamiques d’instances, les sauvegardes, la réplication de bases de données (y compris les bases de
données système), la configuration haute disponibilité et la configuration des flux de données de surveil-
lance de l’intégrité et des performances.
Managed Instance est quasiment 100 % compatible avec SQLServer Enterprise Edition, exécuté en local.
L’option de déploiement de SQL Database Managed Instance prend en charge les connexions classiques
au moteur de base de données SQL Server et les connexions intégrées à Azure Active Directory (AD). Les
connexions au moteur de base de données SQL Server classiques requièrent un nom d’utilisateur et un
mot de passe. Vous devez saisir vos informations d’identification chaque fois que vous vous connectez au
serveur. Les connexions Azure AD utilisent les identifiants associés aux infos d’identification actives sur
votre ordinateur. Vous n’avez donc pas besoin de les indiquer chaque fois que vous vous connectez au
serveur.
Dans le scénario Wide World Importers, il convient peut-être mieux d’utiliser SQL Database Managed
Instance plutôt qu’une base de données unique ou un pool élastique. SQL Database Managed Instance
prend en charge les serveurs liés, même si une partie des autres fonctionnalités avancées requises par la
base de données risquent de ne pas être disponibles. Pour obtenir une correspondance parfaite, vous
n’aurez peut-être pour seul recours que d’exécuter SQL Server sur une machine virtuelle. Vous devrez
néanmoins trouver un juste équilibre entre les avantages d’une fonctionnalité globale et la surcharge
administrative et de maintenance requise.

PostgreSQL, MariaDB et MySQL


Outre Azure SQL Database, Azure Data Services est disponible pour d’autres solutions de base de
données SQL populaires. Actuellement, les services de données sont disponibles pour PostgreSQL,
MySQL et MariaDB. Le principal objectif de ces services est de permettre aux organisations exécutant
PostgreSQL, MySQL ou MariaDB de passer rapidement à Azure, sans apporter de modifications globales à
leurs applications.

4 https://www.microsoft.com/download/details.aspx?id=53595
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    81

Présentation de MySQL, MariaDB et PostgreSQL


PostgreSQL, MariaDB et MySQL sont des systèmes de gestion de bases de données relationnelles conçus
pour différentes spécialisations.
À l’origine, MySQL était un système de gestion de base de données open source simple à utiliser. Il s'agit
de la principale base de données relationnelle open source pour
les applications de pile Linux, Apache, MySQL et PHP
(LAMP). Il est disponible en plusieurs éditions : Community, Standard et Enterprise. L’édition Community
est disponible gratuitement et a toujours été populaire en tant que système de gestion de base de
données pour les applications web fonctionnant sous Linux. Des versions sont également disponibles
pour Windows. L’édition Standard offre des performances plus élevées et utilise une technologie dif-
férente pour stocker les données. L’édition Entreprise fournit un ensemble complet d’outils et de fonc-
tionnalités, notamment une sécurité, une disponibilité et une scalabilité améliorées. Les éditions Standard
et Enterprise sont les versions les plus fréquemment utilisées par les organisations commerciales, bien
que ces versions du logiciel ne soient pas gratuites.
MariaDB est un système de gestion de base de données plus récent, créé par les développeurs originaux
de MySQL. Le moteur de base de données a depuis été réécrit et optimisé pour améliorer les perfor-
mances. MariaDB offre une compatibilité avec Oracle Database (un autre système de gestion de base de
données commercial populaire). La prise en charge intégrée des données temporelles est une caractéris-
tique notable de MariaDB. Une table peut contenir plusieurs versions de données, ce qui permet à une
application d’interroger les données telles qu’elles sont apparues à un moment donné.
PostgreSQL est une base de données hybride d’objets relationnels. Vous pouvez stocker des données
dans des tables relationnelles, mais une base de données PostgreSQL vous permet également de stocker
des types de données personnalisés, avec leurs propres propriétés non relationnelles. Le système de
gestion de base de données est extensible. Vous pouvez ajouter des modules de code à la base de
données, qui pourront être exécutés par des requêtes. Une autre caractéristique clé est la possibilité de
stocker et de manipuler des données géométriques, telles que des lignes, des cercles et des polygones.
PostgreSQL a son propre langage de requête appelé pgsql. Ce langage est une variante du langage de
requête relationnelle standard, SQL, avec des fonctionnalités qui vous permettent d’écrire des procédures
stockées qui s’exécutent dans la base de données.

Présentation d’Azure Database pour MySQL


Azure Database pour MySQL est une implémentation PaaS de MySQL dans le cloud Azure, basée sur
MySQL Community.
Le service Azure Database pour MySQL inclut la haute disponibilité sans frais supplémentaires et la
scalabilité selon les besoins. Ne payez que ce que vous utilisez. Des sauvegardes automatiques sont
fournies, avec une restauration à un moment donné.
Le serveur fournit une sécurité de connexion pour appliquer les règles de pare-feu et, éventuellement,
nécessite des connexions SSL. De nombreux paramètres vous permettent de configurer les paramètres du
serveur tels que les modes de verrouillage, le nombre maximal de connexions et les délais d’expiration.
Azure Database pour MySQL fournit un système de base de données global qui peut évoluer jusqu’à de
grandes bases de données sans avoir à gérer le matériel, les composants réseau, les serveurs virtuels, les
correctifs logiciels et les autres composants sous-jacents.
Certaines opérations ne sont pas disponibles avec Azure Database pour MySQL. Ces fonctions concernent
principalement la sécurité et l’administration. Azure gère ces aspects du serveur de base de données
lui-même.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
82     

Avantages d’Azure Database pour MySQL


Vous bénéficiez des fonctionnalités suivantes avec Azure Database pour MySQL :
●● Fonctionnalités haute disponibilité intégrées.
●● Performances prévisibles.
●● Extensibilité facile qui répond rapidement à la demande.
●● Sécurisez vos données, au repos et en mouvement.
●● Sauvegardes automatiques et restauration à un moment donné, pour les 35 derniers jours.
●● Sécurité de niveau entreprise et conformité à la législation.
Tarification avec paiement à l’utilisation : vous ne payez que ce que vous utilisez.
Les serveurs Azure Database pour MySQL fournissent des fonctionnalités de surveillance permettant de
créer des alertes et d’afficher des mesures et des journaux d’activité.

Présentation d’Azure Database for MariaDB


Azure Database for MariaDB est une implémentation du système de gestion de base de données (SGBD)
MariaDB adapté pour s’exécuter dans Azure. Il est basé sur l’édition Community de MariaDB.
La base de données est entièrement gérée et contrôlée par Azure. Une fois que vous avez provisionné le
service et transféré vos données, le système ne nécessite pratiquement aucune administration supplé-
mentaire.

Avantages d’Azure Database for MariaDB


Azure Database for MariaDB offre :
●● une haute disponibilité intégrée, sans frais supplémentaires ;
●● des performances prévisibles, avec à un paiement à l’utilisation ;
●● une mise à l’échelle en quelques secondes, si nécessaire ;
●● une protection sécurisée des données sensibles, au repos et en mouvement ;
●● des sauvegardes automatiques et une restauration ponctuelle, jusqu’à 35 jours ;
●● une sécurité et une conformité de niveau entreprise.

Présentation d’Azure Database pour PostgreSQ


Si vous préférez PostgreSQL, vous pouvez choisir Azure Database pour PostgreSQL pour exécuter une
implémentation PaaS de PostgreSQL dans le cloud Azure. Ce service offre les mêmes avantages de
disponibilité, de performances, de mise à l’échelle, de sécurité et d’administration que le service MySQL.
Certaines fonctionnalités des bases de données PostgreSQL sur site ne sont pas disponibles dans Azure
Database pour PostgreSQL. Ces fonctionnalités concernent principalement les extensions que les utilisa-
teurs peuvent ajouter à une base de données pour effectuer des tâches spécialisées, telles que l’écriture
de procédures stockées dans divers langages de programmation (autres que pgsql, qui est disponible), et
interagir directement avec le système d’exploitation. Un ensemble de base des extensions les plus
fréquemment utilisées est pris en charge et la liste des extensions disponibles est en constante évolution.
Azure Database pour PostgreSQL propose deux options de déploiement : Serveur unique et Hyperscale.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    83

Serveur unique Azure Database pour PostgreSQL


L’option de déploiement sur un seul serveur pour PostgreSQL offre des avantages similaires à Azure
Database pour MySQL. Vous pouvez choisir parmi trois niveaux de tarification : De base, Usage général et
À mémoire optimisée. Chaque niveau prend en charge un nombre différent de processeurs, de mémoire
et de tailles de stockage. Sélectionnez un niveau en fonction de la charge que vous prévoyez de prendre
en charge.

Azure Database pour PostgreSQL Hyperscale (Citus)


Hyperscale (Citus) est une option de déploiement qui met à l’échelle les requêtes sur plusieurs nœuds de
serveur pour prendre en charge d’importantes charges de bases de données. Votre base de données est
répartie sur plusieurs nœuds. Les données sont scindées en blocs, en fonction de la valeur d’une clé de
partition ou d’une clé de sharding. Envisagez d’utiliser cette option de déploiement pour les plus grands
déploiements PostgreSQL de base de données dans le cloud Azure.

Avantages d’Azure Database pour PostgreSQL


Azure Database pour PostgreSQL est un service haute disponibilité. Il contient des mécanismes intégrés
de détection des pannes et des basculements.
Les utilisateurs de PostgreSQL reconnaitront l’outil pgAdmin, qui permet de gérer et de surveiller une
base de données PostgreSQL. Vous pouvez continuer à utiliser cet outil pour vous connecter à Azure
Database pour PostgreSQL. Cependant, certaines fonctionnalités axées sur le serveur, telles que la
sauvegarde et la restauration du serveur, ne sont pas disponibles car le serveur est géré et maintenu par
Microsoft.
Azure Database pour les serveurs PostgreSQL enregistre des informations sur les requêtes exécutées sur
les bases de données sur le serveur et les enregistre dans une base de données nommée azure_sys. Vous
interrogez la vue query_store.qs_view pour voir ces informations et les utiliser pour surveiller les requêtes
exécutées par les utilisateurs. Ces informations peuvent s’avérer inestimables si vous devez affiner les
requêtes effectuées par vos applications.

Migrer les données vers Azure


Si vous disposez de bases de données MySQL, MariaDB ou PostgreSQL existantes s’exécutant sur site et
que vous souhaitez déplacer les données vers une base de données exécutant les services de données
correspondants dans Azure, vous pouvez utiliser l’Azure Database Migration Service (DMS)5.
Le Database Migration Service vous permet de restaurer une sauvegarde de vos bases de données
locales directement sur des bases de données exécutées dans Azure Data Services. Vous pouvez égale-
ment configurer la réplication à partir d’une base de données locale, de sorte que toutes les modifica-
tions apportées aux données de cette base de données soient copiées dans la base de données exécutée
dans Azure Data Services. Cette stratégie vous permet de reconfigurer les utilisateurs et les applications
pour se connecter à la base de données dans le cloud pendant que le système local est toujours actif.
Vous n’avez pas besoin d’arrêter le système sur site pendant que vous transférez des utilisateurs vers le
cloud.

5 https://docs.microsoft.com/azure/dms/tutorial-postgresql-azure-postgresql-online
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
84     

Contrôle des connaissances


Question 1
Quel est le déploiement qui nécessite le moins de changements durant la migration d’une solution SQL
Server locale ?
†† Azure SQL Database Managed Instance
†† Un serveur SQL en cours d'exécution sur une machine virtuelle
†† Base de données unique Azure SQL Database

Question 2
Parmi les affirmations suivantes, laquelle est vraie concernant l’exécution de SQL Server sur une machine
virtuelle ?
†† Vous devez installer et maintenir vous-même le logiciel du système de gestion de base de données,
mais les sauvegardes sont automatisées.
†† L'installation et la maintenance du logiciel sont automatisées, mais vous devez effectuer vos propres
sauvegardes.
†† Vous êtes responsable de toutes les tâches d’installation et de maintenance du logiciel, mais aussi de
l’exécution des sauvegardes.

Question 3
Parmi les affirmations suivantes, laquelle est vraie concernant Azure SQL Database ?
†† Un scale-up ne prend effet que lorsque vous redémarrez la base de données.
†† Un scale-out ne prend effet que lorsque vous redémarrez la base de données.
†† Le scale-up ou le scale-out prendra effet sans redémarrage de la base de données SQL.

Question 4
Quand vous utilisez Azure SQL Database Managed Instance, quelle est la manière la plus simple d’implé-
menter des sauvegardes ?
†† Configuration manuelle du serveur SQL.
†† Créer une tâche planifiée à sauvegarder.
†† Les sauvegardes sont automatiquement gérées.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    85

Question 5
Quelle est la meilleure façon de transférer les données d’une base de données PostgreSQL s’exécutant
localement vers une base de données s’exécutant via le service Azure Database pour PostgreSQL ?
†† Exporter les données depuis la base de données locale et les importer manuellement dans la base de
données exécutée dans Azure.
†† Télécharger un fichier de sauvegarde de base de données PostgreSQL dans la base de données
exécutée dans Azure.
†† Utiliser les services de migration de base de données Azure.

Résumé
Dans cette leçon, vous avez appris les options de déploiement PaaS et IaaS pour exécuter des bases de
données dans le cloud. Vous avez vu qu’Azure Data Services fournit toute une gamme de services PaaS
pour l’exécution de bases de données relationnelles dans Azure. Vous avez vu de quelle façon les options
d’une approche PaaS prennent en charge l’automatisation des tâches de gestion et d’administration par
rapport à une approche IaaS.

Ressources complémentaires
●● Choisir l’option de déploiement appropriée6
●● Qu’est-ce qu’une base de données Azure SQL Database unique7
●● Qu’est-ce qu’Azure SQL Database Managed Instance ?8
●● Assistant Migration de données (DMA)9
●● Azure Database Migration Service (DMS)10
●● Choisir le magasin de données correct11

6 https://docs.microsoft.com/azure/sql-database/sql-database-paas-vs-sql-server-iaas
7 https://docs.microsoft.com/azure/sql-database/sql-database-single-database
8 https://docs.microsoft.com/azure/sql-database/sql-database-managed-instance
9 https://www.microsoft.com/download/details.aspx?id=53595
10 https://docs.microsoft.com/azure/dms/dms-overview
11 https://docs.microsoft.com/azure/architecture/guide/technology-choices/data-store-overview
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
86     

Explorer la mise en service et le déploiement


des offres de bases de données relationnelles
dans Azure
Introduction
Azure prend en charge plusieurs services de base de données, vous permettant d’exécuter des systèmes
de gestion de base de données populaires, tels que SQL Server, PostgreSQL et MySQL, dans le cloud.
Les services de base de données Azure sont complètement managés. Les utiliser libère un temps précieux
que vous auriez autrement consacré à la gestion de votre base de données. Des niveaux de performances
à l’échelle de l’entreprise avec une haute disponibilité intégrée signifient que vous pouvez évoluer rapide-
ment et atteindre une distribution mondiale sans vous soucier des temps morts coûteux. Les dévelop-
peurs peuvent tirer parti des innovations de pointe telles que la sécurité intégrée avec surveillance et
détection automatiques des menaces, ou le réglage automatique pour optimiser les niveaux de perfor-
mance. En plus de toutes ces fonctionnalités, vous bénéficiez d’une disponibilité garantie.
Supposons que vous soyez ingénieur de données chez Contoso et que vous soyez responsable de la
création et de la gestion des bases de données. On vous a demandé de configurer trois nouveaux
magasins de données relationnelles : Base de données Azure SQL, PostgreSQL et MySQL.
Dans cette leçon, vous découvrirez les options disponibles pour créer et configurer des Data Services
relationnels Azure.

Objectifs d’apprentissage
Dans cette leçon, vous allez :
●● Fournir des services de données relationnelles
●● Configurer les services de données relationnelles
●● Explorer les problèmes de connectivité de base
●● Découvrir la sécurité des données

Décrire l’approvisionnement de services de don-


nées relationnelles
Dans l’exemple de scénario, Contoso a décidé que l’organisation nécessitera plusieurs magasins relation-
nels différents. En tant qu’ingénieur de données, on vous a demandé de configurer des magasins de
données à l’aide de la base de données Azure SQL, PostgreSQL et MySQL.
Dans ce module, vous allez découvrir comment approvisionner votre application.

Qu’est-ce que l’approvisionnement ?


L'approvisionnement consiste à exécuter une série de tâches qu’un fournisseur de services, comme la
base de données Azure SQL, effectue pour créer et configurer un service. En coulisses, le fournisseur de
services mettra en place les différentes ressources (disques, mémoire, processeurs, réseaux, etc.) néces-
saires pour l’exécution du service. Ces ressources vous seront attribuées (et vous seront facturées) jusqu’à
ce que vous supprimiez le service.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    87

La façon dont le fournisseur de services approvisionne les ressources est opaque et vous n’avez pas à
vous soucier du fonctionnement de ce processus. Tout ce que vous avez à faire est de spécifier des
paramètres qui déterminent la taille des ressources requises (espace disque, mémoire, puissance de calcul
et bande passante du réseau). Ces paramètres sont déterminés en estimant la taille de la charge de travail
que vous prévoyez d’exécuter à l’aide du service. Dans de nombreux cas, vous pouvez modifier ces
paramètres après la création du service, en augmentant peut-être la quantité d’espace de stockage ou de
mémoire, si la charge de travail est supérieure à ce que vous aviez initialement prévu. L’action d’aug-
menter (ou de diminuer) les ressources utilisées par un service est appelée mise à l’échelle.
La vidéo suivante résume le processus qu’Azure effectue lorsque vous approvisionnez un service.

https://www.microsoft.com/videoplayer/embed/RE4zTud

Azure fournit plusieurs outils que vous pouvez utiliser pour approvisionner les services :
●● Le portail Azure. C’est le moyen le plus pratique de fournir un service à la plupart des utilisateurs. Le
portail Azure affiche une série de pages spécifiques au service, qui vous invitent à indiquer les para-
mètres requis et il valide ces paramètres avant d’approvisionner réellement le service.
●● L’interface de ligne de commande (CLI) d’Azure. L’interface de ligne de commande offre un ensemble
de commandes que vous pouvez exécuter à partir de l’invite de commande du système d’exploitation
ou du Cloud Shell dans le portail Azure. Vous pouvez utiliser ces commandes pour créer et gérer des
ressources Azure. La CLI convient si vous devez automatiser la création de services. Vous pouvez
stocker les commandes CLI dans des scripts et vous pouvez exécuter ces scripts par programme. La
CLI peut s’exécuter sur les ordinateurs Windows, macOS et Linux. Pour obtenir des informations
détaillées sur Azure CLI, consultez l’article Qu’est-ce qu’Azure CLI12.
●● Azure PowerShell. De nombreux administrateurs sont familiarisés avec l’utilisation des commandes
PowerShell pour créer des scripts et automatiser les tâches administratives. Azure offre une série de
commandlets (commandes spécifiques à Azure) que vous pouvez utiliser dans PowerShell pour créer
et gérer des ressources Azure. Vous trouverez plus d’informations sur Azure PowerShell en ligne, à
l’adresse Documentation Azure PowerShell13. Comme la CLI, PowerShell est disponible pour Win-
dows, macOS et Linux.
●● Modèles Azure Resource Manager. Un modèle Azure Resource Manager décrit le ou les services que
vous souhaitez déployer dans un fichier texte, dans un format appelé JSON (JavaScript Object Nota-
tion). L’exemple ci-dessous présente un modèle que vous pouvez utiliser pour approvisionner une
instance de la base de données Azure SQL.
"resources": [
{
"name": "sql-server-dev",
"type": "Microsoft.Sql/servers",
"apiVersion": "2014-04-01-preview",
"location": "[parameters('location')]",
"tags": {

12 https://docs.microsoft.com/cli/azure/what-is-azure-cli
13 https://docs.microsoft.com/powershell/azure
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
88     

"displayName": "SqlServer"
}
"properties": {}
}
]

Vous envoyez le modèle à Azure à l’aide de la commande az deployment group create dans
l’interface de ligne de commande Azure ou de la commande New-AzResourceGroupDeployment
dans Azure PowerShell. Pour plus d’informations sur la création et l’utilisation de modèles Azure Resource
Manager pour approvisionner des ressources Azure, consultez l’article Que sont les modèles ARM ?14

Démonstration : Approvisionnement de la base


de données SQL Azure.
L’un des déploiements les plus populaires au sein des Data Services relationnels Azure est la base de
données Azure SQL. Cette vidéo montre comment provisionner une instance SQL Database Azure pour
créer une base de données et un serveur.

https://www.microsoft.com/videoplayer/embed/RE4AkhG

Décrire l’approvisionnement de PostgreSQL et


MySQL
Les services de données relationnelles Azure vous permettent de travailler avec d’autres fournisseurs de
bases de données relationnelles de premier plan, tels que PostgreSQL et MySQL. Ces services sont
appelés Azure Database pour PostgreSQL et Azure Database pour MySQL.
Dans cette unité, vous verrez comment approvisionner ces magasins de données dans Azure.

Comment approvisionner Azure Database pour Post-


greSQL et Azure Database pour MySQL
Comme avec la base de données Azure SQL Database, vous pouvez approvisionner une base de données
PostgreSQL ou MySQL de manière interactive, à l’aide du portail Azure. Vous pouvez trouver ces deux
services dans la Place de marché Azure :

14 https://docs.microsoft.com/azure/azure-resource-manager/templates/overview
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    89

Les processus d’approvisionnement d’Azure Database pour PostgreSQL et d’Azure Database pour MySQL
sont très similaires.
REMARQUE : PostgreSQL vous offre également l’option hyperscale, qui prend en charge les charges de
travail ultra-hautes performances.

L’option de déploiement hyperscale prend en charge :


●● Mise à l’échelle horizontale sur plusieurs machines. Cette option permet au service d’ajouter et de
supprimer des ordinateurs à mesure que les charges de travail augmentent et diminuent.
●● Parallélisation des requêtes sur ces serveurs. Le service peut diviser les requêtes gourmandes en
ressources en sous-ensembles qui peuvent être exécutés en parallèle sur les différents serveurs. Les
résultats de chaque serveur sont regroupés pour produire un résultat final. Ce mécanisme peut fournir
des réponses plus rapides aux requêtes sur des jeux de données volumineux.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
90     

●● Excellente prise en charge des applications multi-locataires, des analyses opérationnelles en temps
réel et des charges de travail transactionnelles à haut débit
Les informations ci-dessous résument les champs et les paramètres requis lors de l’approvisionnement
d’un service de base de données PostgreSQL ou MySQL :

L’onglet Bases vous invite à fournir les détails suivants :


●● Abonnement. Sélectionnez votre abonnement Azure.
●● Groupe de ressources. Choisissez un groupe de ressources existant ou sélectionnez Créer un
nouveau pour en constituer un nouveau.
●● Nom du serveur. Chaque base de données MySQL ou PostgreSQL doit avoir un nom unique qui n’a
pas déjà été utilisé par quelqu’un d’autre. Le nom doit comprendre entre 3 et 31 caractères et ne peut
contenir que des lettres minuscules, des chiffres et le caractère « - ».
●● Source de données. Sélectionnez Aucun pour créer un nouveau serveur à partir de zéro. Vous
pouvez sélectionner Sauvegarde si vous créez un serveur à partir d’une sauvegarde géographique
d’un serveur Azure Database pour MySQL existant.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    91

●● Emplacement. Sélectionnez la région la plus proche de vous ou de vos utilisateurs.


●● Version. La version de MySQL ou PostgreSQL à déployer.
●● Calcul + stockage. Les configurations de calcul, de stockage et de sauvegarde de votre nouveau
serveur. Le lien Configurer le serveur permet de sélectionner les ressources requises pour prendre en
charge vos charges de travail de base de données. Ces ressources incluent la quantité de puissance de
calcul, la mémoire, les sauvegardes et les options de redondance (pour une haute disponibilité).
REMARQUE : Le terme calcul fait référence à la quantité de puissance de processeur disponible, mais en
termes de taille et de nombre de processeurs alloués au service.

Vous pouvez choisir entre trois niveaux de tarification, chacun étant conçu pour prendre en charge
différentes charges de travail :
●● De base. Ce niveau convient aux charges de travail qui nécessitent des performances de calcul et
d’E/S légères. Il s’agit par exemple des serveurs utilisés pour le développement, les tests ou les
applications à petite échelle ou rarement utilisées.
●● Usage général. Utilisez ce niveau de tarification pour les charges de travail d’entreprise qui nécessi-
tent un calcul et une mémoire équilibrés avec un débit d’E/S variable. Les exemples incluent des
serveurs pour l’hébergement d’applications web et mobiles et d’autres applications d’entreprise.
●● Mémoire optimisée Ce niveau prend en charge les charges de travail de base de données hautes
performances qui nécessitent des performances en mémoire, pour un traitement des transactions plus
rapide et une concurrence accrue. Les exemples incluent les serveurs pour le traitement des données
en temps réel et les applications transactionnelles ou analytiques hautes performances.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
92     

Vous pouvez affiner les ressources disponibles pour le niveau sélectionné. Vous pourrez augmenter ces
ressources ultérieurement, si nécessaire.
REMARQUE : La page Configurer affiche les performances fournies par les configurations à usage
général et à mémoire optimisée en termes d’IOPS. IOPS est un acronyme pour Input/Output Operations
per seconds (Opérations d’entrée/sortie par seconde). Elle constitue une mesure de la capacité de lecture et
d’écriture disponible à l’aide des ressources configurées.
●● Nom d’utilisateur administrateur. Un compte de connexion à utiliser lorsque vous vous connectez
au serveur. Le nom de connexion de l’administrateur ne peut pas être azure_superuser, admin,
administrator, root, guest ou public.
●● Mot de passe. Créez un nouveau mot de passe pour le compte administrateur du serveur. Il doit
contenir de 8 à 128 caractères. Votre mot de passe doit contenir des caractères appartenant à trois
des catégories suivantes : Lettres majuscules anglaises, lettres minuscules anglaises, chiffres (0-9) et
caractères non alphanumériques (!, $, #,%, etc.).
Après avoir spécifié les paramètres appropriés, sélectionnez Revoir + créer pour approvisionner le
serveur.

Découvrir la configuration des services de don-


nées relationnelles
Après avoir provisionné une ressource, vous devez généralement la configurer pour qu’elle réponde aux
besoins de vos applications et de votre environnement. Par exemple, il peut être nécessaire de configurer
l’accès réseau ou d’ouvrir un port de pare-feu pour permettre à vos applications de se connecter à la
ressource.
Dans cette unité, vous allez découvrir comment autoriser l’accès réseau à vos ressources et comment
empêcher l’exposition accidentelle de vos ressources à des tiers. Vous allez voir comment utiliser l’au-
thentification et le contrôle d’accès pour protéger les données gérées par vos ressources.

Configurer la connectivité et les pare-feux


Dans le cadre de la connectivité des services de données relationnelles Azure, l’accès au monde est
désactivé par défaut.

Configurer la connectivité aux réseaux virtuels et aux ordina-


teurs locaux
Pour activer la connectivité, utilisez la page Pare-feu et réseaux virtuels pour obtenir un service. Pour
activer la connectivité, choisissez Réseaux sélectionnés. Trois autres sections apparaîtront, étiquetées
Réseau virtuel, Pare-feu, et Exceptions.
REMARQUE : Un réseau virtuel Azure est une représentation de votre propre réseau dans le cloud. Un
réseau virtuel vous permet de connecter des machines virtuelles et des services Azure entre eux, comme
vous pourriez le faire avec un réseau physique local. Azure garantit que chaque réseau virtuel est isolé
d’Internet et des réseaux virtuels créés par d’autres utilisateurs. Azure vous permet de spécifier les
machines (réelles et virtuelles) et les services autorisés à accéder aux ressources sur le réseau virtuel ainsi
que les ports qu’elles peuvent utiliser.
Pour permettre l’accès aux autres services dans Azure, assurez-vous que le paramètre Autoriser les
services et les ressources Azure à accéder à ce serveur est sélectionné.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    93

Dans la section Réseaux virtuels, vous pouvez spécifier les réseaux virtuels autorisés à acheminer le trafic
vers le service. Quand vous créez des éléments comme des applications web et des machines virtuelles,
vous pouvez les ajouter à un réseau virtuel. Si ces applications et machines virtuelles nécessitent l’accès à
votre ressource, ajoutez le réseau virtuel contenant ces éléments à la liste des réseaux autorisés.
Si vous devez vous connecter au service à partir d’un ordinateur local, dans la section Pare-feu, ajoutez
l’adresse IP de l’ordinateur. Ce paramètre crée une règle de pare-feu qui permet au trafic d’atteindre le
service à partir de cette adresse.
L’image ci-dessous présente la page Pare-feu et réseaux virtuels pour une base de données Azure SQL.
Vous accéderez à une page similaire pour MySQL et PostgreSQL.

REMARQUE : Azure SQL Database communique par le biais du port 1433. Si vous essayez de vous
connecter à partir d’un réseau d’entreprise, le trafic sortant sur le port 1433 peut être bloqué par le
pare-feu de votre réseau. Dans ce cas, vous ne pouvez pas vous connecter à votre serveur Azure SQL
Database, sauf si votre service informatique ouvre le port 1433.
IMPORTANT : La règle de pare-feu 0.0.0.0 permet à tous les services Azure de franchir la règle de
pare-feu au niveau du serveur et de tenter de se connecter à une base de données unique ou mise en
pool par le biais du serveur.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
94     

Configurer la connectivité à partir de points de terminaison


privés
Point de terminaison privé Azure est une interface réseau qui vous connecte en privé et en toute
sécurité à un service optimisé par Azure Private Link. Le point de terminaison privé utilise une adresse IP
privée de votre réseau virtuel pour apporter le service à votre réseau virtuel de façon effective. Le service
peut être un service Azure comme Azure App Service ou votre propre service de liaison privée. Pour des
informations détaillées, consultez l’article Qu’est-ce qu’Azure Private Endpoint15?
La page Connexions de points de terminaison privés d’un service vous permet de spécifier les points
de terminaison privés, le cas échéant, qui sont autorisés à accéder à votre service. Vous pouvez utiliser les
paramètres de cette page, avec la page Pare-feu et réseaux virtuels, pour empêcher complètement les
utilisateurs et les applications d’accéder aux points de terminaison publics pour se connecter à votre
compte Azure SQL Database.

Configurer l’authentification
Avec l’authentification Azure AD (Active Directory), vous pouvez gérer les identités des utilisateurs de
base de données et d’autres services Microsoft de manière centralisée. La gestion centralisée des ID
fournit un emplacement unique pour gérer les utilisateurs de base de données et simplifie la gestion des
autorisations.
Vous pouvez utiliser ces identités et configurer l’accès à vos services de données relationnelles.
Pour obtenir des informations détaillées sur l’utilisation d’Azure AD avec la base de données Azure SQL,
visitez la page Qu’est-ce que l’authentification Azure Active Directory pour la base de données SQL16
sur le site web de Microsoft. Vous pouvez également authentifier les utilisateurs qui se connectent à
Azure Database pour PostgreSQL17 et Azure Database pour MySQL18 avec AD.

Configurer le contrôle d’accès


Azure AD vous permet de spécifier qui ou ce qui peut accéder à vos ressources. Le contrôle d’accès
définit ce qu’un utilisateur ou une application peut faire avec vos ressources après s’être authentifié.
La gestion des accès aux ressources cloud est une fonction critique pour toute organisation utilisant le
cloud. Le contrôle d’accès en fonction du rôle Azure (RBAC Azure) vous permet de gérer qui a accès aux
ressources Azure et ce qu’il peut faire avec ces ressources. Le contrôle d’accès en fonction du rôle vous
offre notamment les possibilités suivantes :
●● Permettre à un utilisateur de gérer les machines virtuelles d’un abonnement et à un autre de gérer les
réseaux virtuels.
●● Permettre à un groupe d’administrateurs de bases de données de gérer les bases de données SQL
d’un abonnement.
●● Permettre à un utilisateur de gérer toutes les ressources d’un groupe de ressources, comme les
machines virtuelles, les sites web et les sous-réseaux.
●● Permettre à une application d’accéder à toutes les ressources d’un groupe de ressources.

15 https://docs.microsoft.com/azure/private-link/private-endpoint-overview
16 https://docs.microsoft.com/azure/sql-database/sql-database-aad-authentication
17 https://docs.microsoft.com/azure/postgresql/concepts-aad-authentication
18 https://docs.microsoft.com/azure/mysql/concepts-azure-ad-authentication
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    95

Vous pouvez contrôler l’accès aux ressources en créant des attributions de rôle avec RBAC Azure. Une
attribution de rôle est constituée de trois éléments : un principal de sécurité, une définition de rôle et une
étendue.
●● Un principal de sécurité est un objet qui représente un utilisateur, un groupe, un principal de service
ou une identité managée qui demande l’accès aux ressources Azure.
●● Une définition de rôle, souvent abrégée en rôle, est un ensemble d’autorisations. Une définition de
rôle liste les opérations qui peuvent être effectuées, par exemple lire, écrire et supprimer. Les rôles
peuvent avoir des noms généraux (par exemple « propriétaire ») ou spécifiques (par exemple « lecteur
de machine virtuelle »). Azure met à votre disposition plusieurs rôles intégrés, notamment :
●● Propriétaire - : a un droit d’accès complet à toutes les ressources, y compris le droit de déléguer
l’accès à d’autres.
●● Contributeur - : peut créer et gérer tous les types de ressources Azure, mais ne peut pas accorder
l’accès à d’autres utilisateurs.
●● Lecteur : peut afficher les ressources Azure existantes.
●● Administrateur d’accès utilisateur - : vous permet de gérer l’accès des utilisateurs aux ressourc-
es Azure.
Vous pouvez également créer vos propres rôles personnalisés. Pour des informations détaillées, voir
Créer ou mettre à jour des rôles personnalisés Azure à l’aide du portail Azure19 sur le site web de
Microsoft.
●● Une étendue répertorie l’ensemble de ressources auxquelles s’applique l’accès. Quand vous attribuez
un rôle, vous pouvez limiter les actions autorisées de façon plus poussée en définissant une étendue.
Une étendue est utile par exemple si vous voulez attribuer le rôle Contributeur de site web à
quelqu’un, mais seulement pour un groupe de ressources.
Vous ajoutez des attributions de rôle à une ressource dans le portail Azure via la page Contrôle d’accès
(IAM). L’onglet Attributions de rôle vous permet d’associer un rôle à un principal de sécurité, en définis-
sant le niveau d’accès du rôle à la ressource. Pour plus d’informations, lisez Ajouter ou supprimer des
attributions de rôle Azure à l’aide du portail Azure20.

19 https://docs.microsoft.com/azure/role-based-access-control/custom-roles-portal
20 https://docs.microsoft.com/azure/role-based-access-control/role-assignments-portal
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
96     

Configurer la sécurité avancée des données


Au-delà de l’authentification et de l’autorisation, de nombreux services offrent une protection supplé-
mentaire par le biais de la sécurité avancée des données.
La sécurité avancée des données implémente la protection contre les menaces et l’évaluation des
menaces. Avec la protection contre les menaces, votre service bénéficie d’une veille de sécurité assurant
sa supervision et la détection de modèles d’activité inhabituels potentiellement dangereux ou pouvant
compromettre les données gérées par le service. L’évaluation identifie les vulnérabilités de sécurité
potentielles et recommande des actions permettant de les atténuer.
L’image ci-dessous montre la page Sécurité avancée des données pour la base de données SQL. Les
pages correspondantes pour MySQL et PostgreSQL sont similaires.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    97

Décrire la configuration d’une base de données


Azure SQL, d’Azure Database pour PostgreSQL
et d’Azure Database pour MySQL
Cette unité explore les options de configuration spécifiques disponibles pour chaque type de magasin de
données dans les services de données relationnelles Azure.

Configurer une base de données SQL Azure.


Le principe fondamental de la sécurité réseau de l’offre Base de données Azure SQL est d’autoriser
uniquement la connexion et la communication nécessaires pour permettre au service de fonctionner.
Tous les autres ports, protocoles et connexions sont bloqués par défaut. Les réseaux locaux virtuels
(VLAN) et les listes de contrôle d’accès (ACL) permettent de restreindre les communications par réseaux
source et de destination, protocoles et numéros de port.
REMARQUE : Une ACL contient une liste de ressources et les objets (utilisateurs, ordinateurs et applica-
tions) autorisés à accéder à ces ressources. Lorsqu’un objet tente d’utiliser une ressource protégée par
une ACL, si elle ne figure pas dans la liste, l’accès ne lui sera pas accordé.
Les routeurs et les équilibreurs de charge font partie des équipements qui implémentent les ACL basées
sur le réseau. Vous contrôlez le flux de trafic de ces équipements en définissant des règles de pare-feu.
Les étapes suivantes décrivent comment une connexion est établie à une base de données Azure SQL :
●● Les clients se connectent à une passerelle qui a une adresse IP publique et qui écoute sur le port 1433.
●● En fonction de la stratégie de connexion effective, la passerelle redirige le trafic vers le cluster de base
de données ou agit en tant que proxy pour le cluster de base de données.
REMARQUE : Azure SQL Database utilise une topologie en cluster pour fournir une haute disponibilité.
Chaque serveur et base de données est répliqué de manière transparente pour garantir qu’un serveur est
toujours accessible, même en cas de défaillance de la base de données ou du serveur.
●● Au sein du cluster de bases de données, le trafic est transféré vers la base de données Azure SQL
appropriée.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
98     

Connectivité au sein d’Azure


Si vous vous connectez à partir d’un autre service Azure, tel qu’une application web s’exécutant sous
Azure App Service, vos connexions ont une stratégie de connexion de redirection par défaut. Une
stratégie de redirection signifie qu’une fois que votre application a établi une connexion à la base de
données Azure SQL via la passerelle, toutes les demandes suivantes de votre application iront directe-
ment à la base de données plutôt que via la passerelle. Si la connectivité à la base de données échoue
par la suite, votre application devra se reconnecter via la passerelle, alors qu’elle pourrait être dirigée vers
une autre copie de la base de données s’exécutant sur un autre serveur du cluster.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    99

Connectivité en dehors d’Azure


Si vous vous connectez depuis l’extérieur d’Azure, comme une application locale, vos connexions ont une
stratégie de connexion proxy par défaut. Une politique de proxy signifie que la connexion est établie via
la passerelle et que toutes les demandes ultérieures transitent par la passerelle. Chaque requête pourrait
(potentiellement) être traitée par une base de données différente dans le cluster.

Configurer DoSGuard
Les attaques par déni de service (DoS) sont réduites par un service de passerelle SQL Database appelé
DoSGuard. DoSGuard suit activement les échecs de connexion à partir d’adresses IP. Suite à plusieurs
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
100     

échecs de connexion à partir d’une adresse IP spécifique au cours d’une période donnée, l’adresse IP est
bloquée pour accéder aux ressources du service pendant un court instant.
En outre, la passerelle de base de données Azure SQL effectue les tâches suivantes :
●● Elle valide toutes les connexions aux serveurs de base de données, et ce, afin de s’assurer qu’elles
proviennent de clients authentiques.
●● Elle chiffre toutes les communications entre un client et les serveurs de base de données.
●● Elle inspecte chaque paquet réseau envoyé via une connexion client. La passerelle valide les informa-
tions de connexion du paquet et les transmet au serveur physique approprié en fonction du nom de
la base de données spécifié dans la chaîne de connexion.

Configurer Azure Database pour PostgreSQL


Lorsque vous créez votre serveur Azure Database pour PostgreSQL, une base de données par défaut
nommée postgres est créée. Pour vous connecter à votre serveur de base de données, vous avez besoin
de votre nom de serveur complet et de vos informations d’identification d’administrateur. Vous pouvez
facilement trouver le nom du serveur et les informations d’identification dans la page Vue d’ensemble
du portail. Cette page contient le nom du serveur et le nom de connexion de l’administrateur du serveur.

REMARQUE : Les connexions à votre serveur Azure Database pour PostgreSQL communiquent via le port
5432. Lorsque vous tentez de vous connecter à partir d’un réseau d’entreprise, il se peut que le trafic
sortant sur le port 5432 ne soit pas autorisé par le pare-feu de votre réseau. Dans ce cas, vous ne pourriez
pas vous connecter à votre serveur, à moins que votre service informatique n’ouvre le port 5432.

Configurer les paramètres et extensions du serveur


Un serveur de base de données PostgreSQL possède un certain nombre de paramètres de configuration
que vous pouvez définir. Ces paramètres prennent en charge le réglage fin de la base de données et le
débogage du code dans la base de données. Vous pouvez modifier ces paramètres à l’aide de la page
Paramètres du serveur dans le portail Azure.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    101

Si vous connaissez PostgreSQL, vous constaterez que tous les paramètres ne sont pas pris en charge dans
Azure. La page Paramètres du serveur21 du site web de Microsoft décrit les paramètres PostgreSQL
disponibles.
PostgreSQL vous permet en outre d’étendre les fonctionnalités de votre base de données à l’aide d’ex-
tensions. Les extensions regroupent plusieurs objets SQL associés dans un seul package qui peut être
chargé ou supprimé de votre base de données, avec une seule commande. Après avoir été chargées dans
la base de données, les extensions fonctionnent comme des fonctionnalités intégrées. Une extension doit
être préalablement installée dans votre base de données avant de pouvoir être utilisée. Pour installer une
extension particulière, exécutez la commande CREATE EXTENSION de l’outil psql pour charger les objets
packagés dans votre base de données. Les extensions PostgreSQL ne sont pas toutes prises en charge
dans Azure. Pour une liste complète, consultez l’article Extensions PostgreSQL dans Azure Database
pour PostgreSQL22.

Configurer les réplicas en lecture


Vous pouvez répliquer les données d’un serveur Azure Database pour PostgreSQL vers un serveur en
lecture seule. Azure Database pour PostgreSQL prend en charge la réplication depuis le serveur maître
(jusqu’à cinq réplications). Les réplicas sont mis à jour de manière asynchrone avec la technologie de
réplication native du moteur PostgreSQL.

21 https://docs.microsoft.com/azure/postgresql/concepts-servers#server-parameters
22 https://docs.microsoft.com/azure/postgresql/concepts-extensions
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
102     

Les réplicas en lecture contribuent à améliorer les performances et l’étendue des charges de travail
gourmandes en lecture. Les charges de travail en lecture peuvent être isolées sur les réplicas, tandis que
les charges de travail en écriture peuvent être dirigées vers le maître.
Un scénario courant consiste à faire en sorte que les charges de travail BI et analytiques utilisent des
réplicas en lecture comme source de données pour la création de rapports.
Étant donné que les réplicas sont en lecture seule, elles ne réduisent pas directement la charge des
opérations d’écriture sur le maître. Cette fonctionnalité n’est pas destinée aux charges de travail gour-
mandes en écriture.
Les réplicas sont de nouveaux serveurs que vous gérez de la même manière que les serveurs Azure
Database pour PostgreSQL. Pour chaque réplica en lecture, vous êtes facturé pour le calcul provisionné
dans les vCores et le stockage en Go/mois.
Utilisez la page Réplication pour un serveur PostgreSQL dans le portail Azure pour ajouter des réplicas
en lecture à votre base de données :

Configurer Azure Database pour MySQL


Pour vous connecter à la base de données MySQL que vous avez provisionnée, vous devez saisir les
informations de connexion. Ces informations incluent le nom de serveur complet et les informations
d’identification de connexion. Vous pouvez trouver ces informations sur la page Vue d’ensemble de
votre serveur:

REMARQUE : Les connexions à votre serveur Azure Database pour MySQL communiquent via le port
3306. Lorsque vous tentez de vous connecter à partir d’un réseau d’entreprise, il se peut que le trafic
sortant sur le port 3306 ne soit pas autorisé par le pare-feu de votre réseau. Si tel est le cas, vous ne
pouvez pas vous connecter à votre serveur, à moins que votre service informatique n’ouvre le port 3306.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    103

IMPORTANT : Par défaut, la sécurité de la connexion SSL est requise et appliquée sur votre serveur Azure
Database pour MySQL.

Configurer les paramètres du serveur


Comme PostgreSQL, un serveur de base de données MySQL a un certain nombre de paramètres de
configuration que vous pouvez définir. Vous pouvez modifier ces paramètres à l’aide de la page Para-
mètres du serveur dans le portail Azure.

Vous trouverez plus d’informations sur les paramètres disponibles pour MySQL dans Azure sur la page
Comment configurer les paramètres serveur dans Azure Database pour MySQL à l’aide du portail
Azure23 sur le site web de Microsoft.

Configurer les réplicas en lecture


Cette fonctionnalité est similaire à celle disponible pour PostgreSQL. Vous pouvez créer jusqu’à cinq répli-
cas en lecture pour une base de données MySQL. Cette fonctionnalité vous permet de géorépliquer les
données entre les régions et de répartir la surcharge associée aux charges de travail en lecture intensive.
La réplication étant asynchrone à partir du serveur maître, il peut donc y avoir un certain décalage entre
les enregistrements écrits sur le maître et la mise à disposition sur tous les réplicas.
La réplication en lecture n’est pas destinée à prendre en charge les tâches de travail lourdes en écriture.
Utilisez la page Réplication pour un serveur MySQL dans le portail Azure pour ajouter des réplicas en
lecture à votre base de données.

23 https://docs.microsoft.com/azure/mysql/howto-server-parameters
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
104     

Labo : Provisionner des services de base de don-


nées relationnelle Azure
Dans le cadre de votre rôle d’ingénieur Données chez Contoso, vous avez pour mission de créer et
configurer des serveurs SQL Server, PostgreSQL et MySQL pour Azure. Vous pouvez choisir d’utiliser
Azure SQL Database, PostgreSQL ou MySQL.
Accédez à l’exercice : Provisionner des services de données Azure relationnels24 le module sur
Microsoft Learn et suivez les instructions.

Résumé
Dans cette leçon, vous avez appris à provisionner et à déployer des bases de données relationnelles à
l’aide de différents types de magasins de données. Vous avez appris à déployer les services de données
Azure via le portail Azure, Azure CLI et Azure PowerShell. Vous avez également appris à configurer la
connectivité à ces bases de données pour autoriser l’accès à partir d’un site local ou au sein d’un réseau
virtuel Azure. Vous avez également appris à protéger votre base de données à l’aide d’outils tels que le
pare-feu et en configurant l’authentification.

Autres ressources
●● Créer une base de données Azure Database pour PostgreSQL25
●● Créer une Azure Database pour MySQL26
●● Créer une base de données unique Azure27
●● Documentation de base de données SQL Azure28
●● Paramètres du serveur PostgreSQL29
●● Extensions PostgreSQL dans Azure Database pour PostgreSQL - Serveur unique30
●● Comment configurer les paramètres de serveur dans Azure Database pour MySQL à l’aide du
portail Azure31

24 https://docs.microsoft.com/learn/modules/explore-provision-deploy-relational-database-offerings-azure/7-exercise-provision-relational-
azure-data-services?pivots=azuresqls
25 https://docs.microsoft.com/azure/postgresql/quickstart-create-server-database-portal
26 https://docs.microsoft.com/azure/mysql/quickstart-create-mysql-server-database-using-azure-portal
27 https://docs.microsoft.com/azure/sql-database/sql-database-single-database-quickstart-guide
28 https://docs.microsoft.com/azure/sql-database
29 https://docs.microsoft.com/azure/postgresql/concepts-servers#server-parameters
30 https://docs.microsoft.com/azure/postgresql/concepts-extensions
31 https://docs.microsoft.com/azure/mysql/howto-server-parameters
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    105

Interroger les données relationnelles dans Az-


ure
Introduction
Azure vous permet de créer des bases de données relationnelles à l’aide d’un certain nombre de technol-
ogies, notamment la base de données Azure SQL, Azure Database pour PostgreSQL, Azure Database pour
MySQL et Azure Database for MariaDB.
Imaginez que vous travaillez en tant que développeur pour une grande chaîne de supermarchés appelée
Contoso. L’entreprise a créé un magasin de données qui sera utilisé pour stocker l’inventaire des produits.
L’équipe de développement a utilisé une base de données Azure SQL pour stocker ses données. Elle doit
savoir comment interroger et manipuler ces données à l’aide de SQL.
Dans cette leçon, vous apprendrez à utiliser ces services de base de données pour stocker et récupérer
des données. Vous allez examiner comment utiliser certains des outils courants disponibles pour ces
systèmes de gestion de base de données pour se connecter aux services de base de données exécutés
dans Azure.
REMARQUE : Cette leçon porte sur l’utilisation de la base de données Azure SQL, Azure Database pour
PostgreSQL et Azure Database pour MySQL. Si vous utilisez Azure Database for MariaDB, la syntaxe de
SQL est très similaire à celle utilisée par MySQL.

Objectifs d’apprentissage
Dans cette leçon, vous allez :
●● Décrire les techniques de requête pour les données à l’aide du langage SQL
●● Interroger les données relationnelles

Présentation de SQL
SQL signifie langage de requête structuré. SQL est utilisé pour communiquer avec une base de données
relationnelle. Il s’agit du langage standard pour les systèmes de gestion de bases de données relation-
nelles. Les instructions SQL sont utilisées pour effectuer des tâches telles que la mise à jour des données
dans une base de données ou la récupération des données d’une base de données. Certains systèmes de
gestion de base de données relationnelle courants qui utilisent SQL incluent Microsoft SQL Server,
MySQL, PostgreSQL, MariaDB et Oracle.
REMARQUE : SQL a été normalisé à l’origine par l’American National Standards Institute (ANSI) en 1986,
et par l’Organisation internationale de normalisation (ISO) en 1987. Depuis lors, la norme a été étendue à
plusieurs reprises car les fournisseurs de bases de données relationnelles ont ajouté de nouvelles fonc-
tionnalités à leurs systèmes. En outre, la plupart des fournisseurs de bases de données incluent leurs
propres extensions propriétaires, qui ne font pas partie de la norme, ce qui a abouti à une variété de
dialectes de SQL.
Dans cette unité, vous découvrirez SQL. Vous apprendrez comment l’utiliser pour interroger et maintenir
des données dans une base de données, ainsi que les différents dialectes disponibles.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
106     

Comprendre les dialectes SQL


Vous pouvez utiliser des instructions SQL telles que SELECT, INSERT, UPDATE, DELETE, CREATE, et
DROP pour accomplir presque tout ce dont on a besoin avec une base de données. Bien que ces instruc-
tions SQL fassent partie de la norme SQL, de nombreux systèmes de gestion de base de données ont
également leurs propres extensions propriétaires supplémentaires pour gérer les spécificités de ce
système de gestion de base de données. Ces extensions fournissent des fonctionnalités non couvertes
par la norme SQL et incluent des domaines tels que la gestion de la sécurité et la programmabilité.
Microsoft SQL Server, par exemple, utilise Transact-SQL. Cette implémentation comprend des extensions
propriétaires pour l’écriture de procédures stockées et de déclencheurs (code d’application qui peut être
stocké dans la base de données) et la gestion des comptes utilisateurs. PostgreSQL et MySQL ont
également leurs propres versions de ces fonctionnalités.
Voici quelques dialectes courants de SQL :
●● Transact-SQL (SQL). Cette version de SQL est utilisée par Microsoft SQL Server et Azure SQL Database.
●● pgSQL. C’est le dialecte, avec des extensions implémentées dans PostgreSQL.
●● PL/SQL. C’est le dialecte utilisé par Oracle. PL/SQL est l’acronyme de Procedural Language / SQL.
Les utilisateurs qui envisagent de travailler spécifiquement avec un système de base de données unique
doivent apprendre les subtilités de leur dialecte et de leur plateforme SQL préférés.

Comprendre les types d’instructions SQL


Les instructions SQL sont regroupées en deux groupes logiques principaux, qui sont :
●● Langage de manipulation de données (DML)
●● Langage de définition de données (DDL)

Utilisation d’instructions DML


Vous utilisez des instructions DML pour manipuler les lignes dans une table relationnelle. Ces instructions
permettent de récupérer (interroger) des données, d’insérer de nouvelles lignes ou de modifier des lignes
existantes. Vous pouvez également supprimer des lignes si vous n’en avez plus besoin.
Les quatre principales instructions DML sont :

Instruction Description
SELECT Sélectionner/Lire des lignes dans une table
INSERTION Insérer de nouvelles lignes dans une table
UPDATE Modifier / Mettre à jour les lignes existantes
DELETE Supprimer les lignes existantes dans une table
La forme de base d’une instruction INSERT insérera une ligne à la fois. Par défaut, les instructions
SELECT, UPDATE et DELETE sont appliquées à chaque ligne d’une table. Vous appliquez généralement
une clause WHERE avec ces instructions pour spécifier les critères. Seules les lignes qui correspondent à
ces critères seront sélectionnées, mises à jour ou supprimées.
AVERTISSEMENT : SQL ne fournit pas les invites Êtes-vous sûr ?, soyez donc prudent lorsque vous utilisez
DELETE ou UPDATE sans clause WHERE car vous pouvez perdre ou modifier beaucoup de données.
Le code suivant est un exemple d’instruction SQL qui sélectionne toutes les lignes qui correspondent à un
seul filtre d’une table. La clause FROM spécifie la table à utiliser :
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    107

SELECT *
FROM MyTable
WHERE MyColumn2 = 'contoso'

Si une requête renvoie plusieurs lignes, elles n’apparaissent pas nécessairement dans une séquence
spécifique. Si vous souhaitez trier les données, vous pouvez ajouter une clause ORDER BY. Les données
seront triées selon la colonne spécifiée :
SELECT *
FROM MyTable
ORDER BY MyColumn1

Vous pouvez également exécuter des instructions SELECT qui extraient des données de plusieurs tables à
l’aide de la clause JOIN. Les jointures indiquent comment les lignes d’une table sont connectées aux
lignes de l’autre pour déterminer les données à renvoyer. Une condition de jointure définit la manière
dont deux tables sont liées dans une requête en :
●● Spécifiant la colonne de chaque table à utiliser pour la jointure. Une condition de jointure typique
spécifie une clé étrangère d’une table et sa clé primaire associée dans l’autre table.
●● Spécification d’un opérateur logique (par exemple, = ou <>,) à utiliser pour comparer les valeurs des
colonnes.
La requête suivante présente un exemple qui joint deux tables, nommées Inventory et CustomerOrder. Il
récupère toutes les lignes où la valeur de la colonne ID dans la table Inventory correspond à la valeur
dans la colonne InventoryId dans la table Inventory qui correspond à la valeur de la colonne InventoryID
dans la table CustomerOrder.
SELECT *
FROM Inventory
JOIN CustomerOrder
WHERE Inventory.ID = CustomerOrder.InventoryID

SQL fournit des fonctions d’agrégation. Une fonction d’agrégation calcule un seul résultat sur un ensem-
ble de lignes ou sur une table entière. L’exemple ci-dessous trouve la valeur minimale dans la colonne
MyColumn1 sur toutes les lignes du tableau MyTable :
SELECT MIN(MyColumn1)
FROM MyTable

Un certain nombre d’autres fonctions d’agrégation sont disponibles, notamment MAX (qui renvoie la plus
grande valeur d’une colonne), AVG (qui renvoie la valeur moyenne, mais uniquement si la colonne
contient des données numériques) et SUM (qui renvoie la somme de tous les valeurs dans la colonne,
mais encore une fois, uniquement si la colonne est numérique).
L’exemple suivant présente la marche à suivre pour mettre à jour une ligne existante à l’aide de SQL. Il
modifie la valeur de la deuxième colonne, mais uniquement pour les lignes qui ont la valeur 3 dans
MyColumn3. Toutes les autres lignes restent inchangées :
UPDATE MyTable
SET MyColumn2 = 'contoso'
WHERE MyColumn1 = 3
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
108     

AVERTISSEMENT : Si vous omettez la clause WHERE, une instruction UPDATE va modifier chaque ligne
de la table.
Utilisez l’instruction DELETE pour supprimer des lignes. Spécifiez la table dans laquelle les lignes doivent
être supprimées, ainsi qu’une clause WHERE qui identifie les lignes à supprimer :
DELETE FROM MyTable
WHERE MyColumn2 = 'contoso'

AVERTISSEMENT : Si vous omettez la clause WHERE, une instruction DELETE supprimera chaque ligne
de la table.
L’instruction INSERT prend une forme légèrement différente. Vous spécifiez un tableau et des colonnes
dans une clause INTO, ainsi qu’une liste de valeurs à stocker dans ces colonnes. SQL standard prend
uniquement en charge l’insertion d’une ligne à la fois, comme illustré dans l’exemple suivant. Certains
dialectes vous permettent de spécifier plusieurs clauses VALUES pour ajouter plusieurs lignes à la fois :
INSERT INTO MyTable(MyColumn1, MyColumn2, MyColumn3)
VALUES (99, 'contoso', 'hello')

Utiliser des instructions DDL


Vous utilisez des instructions DDL pour créer, modifier et supprimer des tables et d’autres objets dans
une base de données (tables, procédures stockées, vues, etc.).
Les instructions DDL les plus courantes sont :

Instruction Description
CREATE Créer un nouvel objet dans la base de données, tel
qu’une table ou une vue.
ALTER Modifier la structure d’un objet. Par exemple, en
modifiant une table pour ajouter une nouvelle
colonne.
DROP Supprimer un objet de la base de données.
RENAME Renommer un objet existant.
AVERTISSEMENT : L’instruction DROP est très puissante. Lorsque vous annulez une table, toutes les
lignes de cette table sont perdues. À moins d’avoir une sauvegarde, vous ne pourrez pas récupérer ces
données.
L’exemple suivant crée une nouvelle table de base de données. Les éléments entre parenthèses spécifient
les détails de chaque colonne, y compris le nom, le type de données, si la colonne doit toujours contenir
une valeur (NON NULL) et si les données de la colonne sont utilisées pour identifier une ligne de manière
unique (CLÉ PRIMAIRE). Chaque table doit avoir une clé primaire, bien que SQL n’applique pas cette
règle.
REMARQUE : Les colonnes marquées comme NON NULL sont appelées colonnes obligatoires. Si vous
omettez la clause NON NULL, vous pouvez créer des lignes qui ne contiennent pas de valeur dans la
colonne. On dit qu’une colonne vide dans une ligne a une valeur NULL.
CREATE TABLE MyTable
(
MyColumn1 INT NOT NULL PRIMARY KEY,
MyColumn2 VARCHAR(50) NOT NULL,
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    109

MyColumn3 VARCHAR(10) NULL


);

Les types de données disponibles pour les colonnes d’une table varient selon les systèmes de gestion de
base de données. Cependant, la plupart des systèmes de gestion de base de données prennent en
charge les types numériques tels que INT et les types chaîne tels que VARCHAR (VARCHAR signifie «
variable length character data »). Pour plus d’informations, consultez la documentation du système de
gestion de base de données sélectionné (SGBD).

Interroger des données relationnelles dans Az-


ure SQL Database
Les commandes SQL sont exécutées à partir d’outils et d’utilitaires qui se connectent à la base de don-
nées appropriée. Les outils disponibles dépendent du système de gestion de base de données que vous
utilisez. Dans cette unité, vous découvrirez les outils que vous pouvez utiliser pour vous connecter à
Azure SQL Database.

Récupérer les informations de connexion pour Azure SQL


Database
Vous pouvez utiliser n’importe lequel de ces outils pour interroger les données contenues dans Azure
SQL Database :
●● L’éditeur de requêtes dans le portail Azure
●● L’utilitaire sqlcmd à partir de la ligne de commande ou d’Azure Cloud Shell
●● SQL Server Management Studio
●● Azure Data Studio
●● SQL Server Data Tools
Pour utiliser ces outils, vous devez d’abord vous connecter à la base de données. Vous aurez besoin des
détails du serveur auquel vous connecter, d’un compte Azure SQL Database (nom d’utilisateur et mot de
passe) ayant accès à ce serveur et du nom de la base de données à utiliser sur ce serveur. Vous pouvez
trouver le nom du serveur pour une base de données à l’aide du portail Azure : accédez à la page de
votre base de données et sur la page Aperçu, notez le nom complet du serveur dans le champ Nom du
serveur.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
110     

Certains outils et applications exigent une chaîne de connexion qui identifie le serveur, la base de
données, le nom du compte et le mot de passe. Vous pouvez trouver ces informations sur la page
Aperçu pour une base de données dans le portail Azure. Sélectionnez Afficher les chaînes de connex-
ion de la base de données.
REMARQUE : La chaîne de connexion à la base de données qui est indiquée sur le portail Azure n’inclut
pas le mot de passe du compte. Vous devez contacter votre administrateur de base de données pour
obtenir ces informations.

Utiliser le portail Azure pour interroger une base de don-


nées
Pour accéder à l’éditeur de requêtes dans le portail Azure, accédez à la page de votre base de données et
sélectionnez Éditeur de requête. Vous êtes invité à entrer des informations d’identification. Vous pouvez
définir le Type d’autorisation sur Authentification SQL Server et saisir le nom d’utilisateur et le mot de
passe que vous avez définis lors de la création de la base de données. Vous pouvez également sélection-
ner Authentification par mot de passe Active Directory et fournir les informations d’identification d’un
utilisateur autorisé dans Azure Active Directory. Si l’authentification unique Active Directory est activée,
vous pouvez vous connecter à l’aide de votre identité Azure.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    111

Saisissez votre requête SQL dans le volet de requête, puis cliquez sur Exécuter pour l’exécuter. Toutes les
lignes renvoyées apparaissent dans le volet Résultats. Le volet Messages affiche des informations telles
que le nombre de lignes renvoyées ou toute erreur survenue :
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
112     

Vous pouvez également entrer des instructions INSERT, UPDATE, DELETE, CREATE et DROP dans le volet
de requête.

Utiliser SQLCMD pour interroger une base de données


L’utilitaire sqlcmd s’exécute à partir de la ligne de commande et est également disponible dans le Cloud
Shell. Vous devez spécifier des paramètres qui identifient le serveur, la base de données et vos informa-
tions d’identification. Le code ci-dessous en montre un exemple. Remplacez <server> par le nom du
serveur de base de données que vous avez créé, <database> par le nom de votre base de données et
<user name> et <password> par vos informations d’identification.
REMARQUE : Pour utiliser l’utilitaire sqlcmd à partir de la ligne de commande, vous devez installer les
utilitaires de ligne de commande Microsoft sur votre ordinateur. Vous pouvez trouver des instructions de
téléchargement et plus de détails sur l’exécution de l’utilitaire sqlcmd sur la page web Utilitaire sql-
cmd32.
sqlcmd -S <server>.database.windows.net -d <database> -U <username> -P
<password>

Si la commande de connexion réussit, vous verrez une invite 1>. Vous pouvez saisir des commandes SQL,
puis saisir GO sur une ligne seule pour les exécuter.

32 https://docs.microsoft.com/sql/tools/sqlcmd-utility
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    113

Utiliser Azure Data Studio


Azure Data Studio est un utilitaire graphique qui permet de créer et d’exécuter des requêtes SQL à partir
de votre poste de travail. Pour obtenir des instructions de téléchargement et d’installation, visitez la page
Télécharger et installer Azure Data Studio33 sur le site web de Microsoft.
La première fois que vous exécutez Azure Data Studio, la page Bienvenue doit s’ouvrir. Si vous ne voyez
pas la page Bienvenue, sélectionnez Aide, puis sélectionnez Bienvenue. Sélectionnez Créer une con-
nexion pour ouvrir le volet Connexion :
1. Renseignez les champs suivants en utilisant le nom du serveur, le nom d’utilisateur et le mot de passe
de votre instance Azure SQL Server :

Paramètre Description
Nom du serveur Nom complet du serveur. Vous trouverez le nom
du serveur sur le portail Azure, comme évoqué
précédemment.
Authentification Connexion SQL ou authentification Windows. À
moins que vous n’utilisiez Azure Active Directory,
sélectionnez Connexion SQL.
Nom d’utilisateur Nom d’utilisateur du compte d’administrateur de
serveur. Spécifiez le nom d’utilisateur du compte
qui a été utilisé pour créer le serveur.
Mot de passe Mot de passe que vous avez spécifié lors du
provisionnement du serveur.
Nom de la base de données Nom de la base de données à laquelle vous
souhaitez vous connecter.
Groupe de serveurs Si vous avez de nombreux serveurs, vous pouvez
créer des groupes pour chaque catégorie. Ces
groupes ont pour but de faciliter la gestion des
serveurs dans Azure Data Studio et n’affectent pas
la base de données ni le serveur dans Azure.

33 https://docs.microsoft.com/sql/azure-data-studio/download-azure-data-studio
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
114     

2. Sélectionnez Connecter.
Si votre serveur ne dispose pas d’une règle de pare-feu autorisant Azure Data Studio à se connecter,
le formulaire « Créer une règle de pare-feu » s’ouvre. Renseignez le formulaire pour créer une nouvel-
le règle de pare-feu. Pour plus de détails, consultez l’article Créer une règle de pare-feu au niveau
du serveur à l’aide du portail Azure34.
3. Une fois la connexion réussie, votre serveur est disponible dans la barre latérale SERVEURS sur la
page Connexions. Vous pouvez maintenant utiliser la commande Nouvelle requête pour créer et
exécuter des scripts de commandes SQL.

34 https://docs.microsoft.com/azure/azure-sql/database/firewall-create-server-level-portal-quickstart
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    115

L’exemple ci-dessous utilise des commandes Transact-SQL pour créer une base de données (les com-
mandes CREATE DATABASE et ALTER DATABASE font partie du dialecte Transact-SQL, mais pas du langage
SQL standard). Le script crée ensuite une nouvelle table nommée Customers et y insère quatre lignes. Là
encore, la version de l’instruction INSERT, avec les quatre clauses VALUES, font partie du dialecte Trans-
act-SQL. Les caractères -- commencent un commentaire dans Transact-SQL. Les caractères [ and ]
entourent les identificateurs, tels que le nom d’une table, d’une base de données, d’une colonne ou d’un
type de données. Le caractère N devant une chaîne indique que la chaîne utilise le jeu de caractères
Unicode.
REMARQUE : Vous ne pouvez pas créer de bases de données SQL à partir d’une connexion dans Azure
Data Studio si vous exécutez une base de données unique SQL Database ou des pools élastiques. Vous
ne pouvez créer des bases de données de cette manière que si vous utilisez SQL Database Managed
Instance.
IF NOT EXISTS (
SELECT name
FROM sys.databases
WHERE name = N'TutorialDB'
)
CREATE DATABASE [TutorialDB];
GO

ALTER DATABASE [TutorialDB] SET QUERY_STORE=ON;


GO

-- Basculer vers la base de données TutorialDB


USE [TutorialDB]
GO
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
116     

-- Créer une nouvelle table appelée 'Customers' dans le schéma 'dbo'


-- Annuler la table si elle existe déjà.
IF OBJECT_ID('dbo.Customers', 'U') IS NOT NULL
DROP TABLE dbo.Customers;
GO

-- Créer la table dans le schéma spécifié


CREATE TABLE dbo.Customers
(
CustomerId INT NOT NULL PRIMARY KEY, -- colonne clé primaire
Name [NVARCHAR] (50) NOT NULL,
Location [NVARCHAR] (50) NOT NULL,
Email [NVARCHAR] (50) NOT NULL
);
GO

-- Insérer des lignes dans la table 'Customers'


INSERT INTO dbo.Customers
([CustomerId],[Name],[Location],[Email])
VALUES
( 1, N'Orlando', N'Australia', N''),
( 2, N'Keith', N'India', N'keith0@adventure-works.com'),
( 3, N'Donna', N'Germany', N'donna0@adventure-works.com'),
( 4, N'Janet', N'United States', N'janet1@adventure-works.com');
GO

Pour exécuter le script, sélectionnez Exécution dans la barre d’outils. Les notifications s’affichent dans le
volet Messages et indiquent la progression des requêtes.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    117

Utiliser SQL Server Management Studio


SQL Server Management Studio est un autre outil que vous pouvez télécharger et exécuter sur votre
poste de travail. Voir Télécharger SQL Server Management Studio (SSMS)35 pour plus de détails.
Pour vous connecter à un serveur et à une base de données, effectuez les opérations suivantes :
1. Ouvrez SQL Server Management Studio.
2. Quand la boîte de dialogue Connecter au serveur apparaît, entrez les informations suivantes :

Paramètre Valeur
Type de serveur Moteur de base de données
Nom du serveur Le nom complet du serveur, à partir de la page
Aperçu dans le portail Azure
Authentification Authentification SQL Server
Connexion ID d’utilisateur du compte d’administrateur de
serveur utilisé pour créer le serveur.
Mot de passe Mot de passe du compte d’administrateur de
serveur

35 https://docs.microsoft.com/sql/ssms/download-sql-server-management-studio-ssms
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
118     

3. Sélectionnez Connecter. La fenêtre Explorateur d’objets s’ouvre.


4. Pour afficher les objets de la base de données, développez Bases de données, puis développez votre
nœud de base de données.
5. Dans la barre d’outils, sélectionnez Nouvelle requête pour ouvrir une fenêtre de requête.
6. Saisissez vos instructions SQL, puis sélectionnez Exécuter pour exécuter des requêtes et extraire des
données à partir des tables de la base de données.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    119

Utiliser SQL Server Data Tools dans Visual Studio


Visual Studio est un outil de développement populaire pour la création d’applications. Il est disponible
dans plusieurs éditions. Vous pouvez télécharger l’édition communautaire gratuite à partir de la page
Téléchargements Visual Studio36 sur le site web de Microsoft.
SQL Server Data Tools est disponible à partir du menu Outils dans Visual Studio. Pour vous connecter à
une instance Azure SQL Database existante :
1. Dans Visual Studio, dans le menu Outils, sélectionnez SQL Server, puis sélectionnez Nouvelle
requête.
2. Dans la boîte de dialogue Connecter, entrez les informations suivantes, puis sélectionnez Connecter :

Paramètre Valeur
Nom du serveur Le nom complet du serveur, à partir de la page
Aperçu dans le portail Azure
Authentification Authentification SQL Server
Connexion ID d’utilisateur du compte d’administrateur de
serveur utilisé pour créer le serveur
Mot de passe Mot de passe du compte d’administrateur de
serveur

36 https://visualstudio.microsoft.com/downloads/
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
120     

Paramètre Valeur
Nom de la base de données Nom de votre base de données

3. Dans la fenêtre Requête, saisissez votre requête SQL, puis sélectionnez le bouton Exécuter dans la
barre d’outils. Les résultats apparaissent dans le volet Résultats.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    121

Interroger des données relationnelles dans Az-


ure Database pour PostgreSQL
PostgreSQL fournit de nombreux outils que vous pouvez utiliser pour vous connecter à une base de
données PostgreSQL et exécuter des requêtes. Ces outils comprennent l’interface utilisateur graphique
pgAdmin et l’utilitaire de ligne de commande psql. Vous pouvez également utiliser de nombreux
utilitaires tiers.
Dans cette unité, vous verrez comment vous connecter à une base de données PostgreSQL exécutée dans
Azure Database pour PostgreSQL à partir de la ligne de commande en utilisant psql, mais aussi depuis
Azure Data Studio.

Récupérer les informations de connexion d’Azure Data-


base pour PostgreSQL
Pour vous connecter à une base de données PostgreSQL, vous devez disposer du nom du serveur, ainsi
que des informations d’identification d’un compte disposant des droits d’accès nécessaires pour se
connecter au serveur. Vous pouvez trouver le nom du serveur et le nom du compte administrateur par
défaut dans la page Vue d’ensemble de l’instance Azure Database pour PostgreSQL dans le portail
Azure. Contactez votre administrateur pour connaître le mot de passe.

Comme pour Azure SQL Database, vous devez ouvrir le pare-feu PostgreSQL pour permettre aux applica-
tions clientes de se connecter au service. Pour des informations détaillées, consultez l’article Règles de
pare-feu dans Azure Database pour PostgreSQL - Serveur unique37.

Utiliser psql pour interroger une base de données


L’utilitaire psql est disponible dans Azure Cloud Shell. Vous pouvez également l’exécuter à partir d’une
invite de commandes sur votre poste de travail. Toutefois, vous devrez télécharger et installer le client
psql. Vous pouvez trouver le client psql sur le site Internet postgresql.org38.
Pour vous connecter à Azure Database pour PostgreSQL à l’aide de psql, effectuez les opérations suiv-
antes :
1. Exécutez la commande suivante. Veillez à remplacer le nom du serveur et le nom de l’administrateur
par les valeurs qui se trouvent sur le portail Azure.

37 https://docs.microsoft.com/azure/postgresql/concepts-firewall-rules
38 https://postgresql.org
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
122     

psql --host=<server-name>.postgres.database.azure.com --username=<admin-user>@<serv-


er-name> --dbname=postgres

Entrez votre mot de passe quand vous y êtes invité.


REMARQUE : postgres est la base de données de gestion par défaut créée avec Azure Database pour
PostgreSQL. Vous pouvez créer des bases de données supplémentaires à l’aide de la commande psql
CREATE DATABASE.
2. Si votre connexion réussit, vous verrez l’invite postgres=>.
3. Vous pouvez créer une base de données avec la commande SQL suivante :
CREATE DATABASE "Adventureworks";

REMARQUE : Vous pouvez entrer des commandes sur plusieurs lignes. Le caractère point-virgule fait
office d’indicateur de fin de commande.
4. Dans psql, vous pouvez exécuter la commande \c Adventureworks pour vous connecter à la base
de données.
5. Vous pouvez créer des tables et insérer des données à l’aide des commandes CREATE et INSERT,
comme indiqué dans les exemples suivants :
CREATE TABLE PEOPLE(NAME TEXT NOT NULL, AGE INT NOT NULL);
INSERT INTO PEOPLE(NAME, AGE) VALUES ('Bob', 35);
INSERT INTO PEOPLE(NAME, AGE) VALUES ('Sarah', 28);
CREATE TABLE LOCATIONS(CITY TEXT NOT NULL, STATE TEXT NOT NULL);
INSERT INTO LOCATIONS(CITY, STATE) VALUES ('New York', 'NY');
INSERT INTO LOCATIONS(CITY, STATE) VALUES ('Flint', 'MI');

6. Vous pouvez récupérer les données que vous avez ajoutées à l’aide des commandes SQL suivantes :
SELECT * FROM PEOPLE;
SELECT * FROM LOCATIONS;

7. Voici d’autres commandes psql :


●● \l : pour lister les bases de données.
●● \dt : pour lister les tables de la base de données active.
8. Vous pouvez utiliser la commande \q pour quitter psql.

Se connecter à une base de données PostgreSQL avec Az-


ure Data Studio
Pour vous connecter à Azure Database pour PostgreSQL à partir d’Azure Data Studio, vous devez d’abord
installer l’extension PostgreSQL.
1. Sur la page Extensions, recherchez postgresql.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    123

2. Sélectionnez l’extension PostgreSQL, puis sélectionnez Installer.


Vous pouvez ensuite utiliser l’extension pour vous connecter à PostgreSQL :
1. Dans Azure Data Studio, accédez à la barre latérale SERVEURS, puis sélectionnez Nouvelle connex-
ion.

2. Dans la boîte de dialogue Connexion, dans la zone de liste déroulante Type de connexion, sélection-
nez PostgreSQL.
3. Renseignez les champs restants en utilisant le nom du serveur, le nom d’utilisateur et le mot de passe
du serveur PostgreSQL.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
124     

Paramètre Description
Nom du serveur Nom complet du serveur qui figure sur le portail
Azure.
Nom d’utilisateur Nom de l’utilisateur avec lequel vous souhaitez
vous connecter. Vous devez utiliser le format
indiqué dans le portail Azure, <user-
name>@<hostname>.
Mot de passe Mot de passe du compte avec lequel vous vous
connectez.
Nom de la base de données Renseignez ce champ si vous souhaitez que la
connexion spécifie une base de données.
Groupe de serveurs Cette option vous permet d’attribuer cette
connexion à un groupe de serveurs spécifique que
vous créez.
Nom (facultatif) Cette option vous permet de spécifier un nom
convivial pour votre serveur.
4. Sélectionnez Connecter pour établir la connexion. Une fois connecté, votre serveur s’ouvre dans la
barre latérale SERVEURS. Vous pouvez développer le nœud Bases de données pour vous connecter
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    125

aux bases de données présentes sur le serveur et afficher leur contenu. Utilisez la commande Nouvel-
le requête dans la barre d’outils pour créer et exécuter des requêtes.

L’exemple suivant ajoute une nouvelle table à la base de données et y insère quatre lignes.
-- Créez une nouvelle table et nommez-la 'customers'
CREATE TABLE customers(
customer_id SERIAL PRIMARY KEY,
name VARCHAR (50) NOT NULL,
location VARCHAR (50) NOT NULL,
email VARCHAR (50) NOT NULL
);

-- Insérez des lignes dans la table 'customers'


INSERT INTO customers
(customer_id, name, location, email)
VALUES
( 1, 'Orlando', 'Australia', ''),
( 2, 'Keith', 'India', 'keith0@adventure-works.com'),
( 3, 'Donna', 'Germany', 'donna0@adventure-works.com'),
( 4, 'Janet', 'United States','janet1@adventure-works.com');

5. Dans la barre d’outils, sélectionnez Exécuter pour exécuter la requête. Comme avec Azure SQL, les
notifications apparaissent dans le volet MESSAGES pour afficher la progression de la requête.
6. Pour interroger les données, entrez une instruction SELECT, puis cliquez sur Exécuter :
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
126     

-- Sélectionnez des lignes dans la table 'customers'


SELECT * FROM customers;

7. Les résultats de la requête doivent s’afficher dans le volet de résultats.

Interroger des données relationnelles dans Az-


ure Database pour MySQL
Comme pour PostgreSQL, de nombreux outils peuvent se connecter à MySQL et vous permettre de créer
et d’exécuter des scripts de commandes SQL. Vous pouvez utiliser l’utilitaire de ligne de commande
mysql, qui est également disponible dans Azure Cloud Shell, ou vous pouvez utiliser des outils
graphiques à partir du bureau tels que MySQL Workbench.
Dans cette unité, vous verrez comment vous connecter à Azure Database pour MySQL à l’aide de MySQL
Workbench.
REMARQUE : Il n’existe pas d’extension permettant de se connecter à MySQL à partir d’Azure Data
Studio.

Récupérer les informations de connexion d’Azure Data-


base pour MySQL
Comme pour SQL Database et PostgreSQL, vous devez disposer du nom du serveur, ainsi que des
informations d’identification d’un compte disposant des droits d’accès nécessaires pour se connecter au
serveur. Vous pouvez trouver le nom du serveur et le nom du compte administrateur par défaut sur la
page Aperçu de l’instance Azure Database pour MySQL dans le portail Azure. Contactez votre adminis-
trateur pour connaître le mot de passe.

Vous devez également ouvrir le pare-feu MySQL pour permettre aux applications clientes de se connecter
au service. Pour des informations détaillées, consultez l’article Règles de pare-feu d’un serveur de base
de données Azure pour MySQL39.

39 https://docs.microsoft.com/azure/mysql/concepts-firewall-rules
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    127

Utiliser MySQL Workbench pour interroger une base de


données
Vous pouvez télécharger et installer MySQL Workbench à partir de la page Téléchargements de la
communauté MySQL40.
Pour vous connecter au serveur Azure MySQL à l’aide de MySQL Workbench, effectuez les étapes suiv-
antes :
1. Démarrez MySQL Workbench sur votre ordinateur.
2. Sur la page Bienvenue, sélectionnez Se connecter à la base de données.

3. Dans la boîte de dialogue Se connecter à la base de données, saisissez les informations suivantes
sous l’onglet Paramètres :

40 https://dev.mysql.com/downloads/workbench
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
128     

Paramètre Description
Connexion stockée Laisser vide
Méthode de connexion Standard (TCP/IP)
Nom d’hôte Spécifiez le nom complet du serveur qui figure sur
le portail Azure
Port 3306
Nom d’utilisateur Saisissez le nom d’utilisateur de connexion de
l’administrateur du serveur à partir du portail
Azure, au format <username><nombasededon-
nées>
Mot de passe Sélectionnez Magasin dans Coffre, et saisissez le
mot de passe administrateur spécifié lors de la
création du serveur
4. Sélectionnez OK pour créer la connexion. Si la connexion est établie, l’éditeur de requête s’ouvre.

5. Vous pouvez utiliser cet éditeur pour créer et exécuter des scripts de commandes SQL. L’exemple
suivant crée une base de données nommée quickstartdb, puis ajoute une table nommée stock. Il insère
des lignes, puis lit les lignes. Il modifie les données avec une instruction de mise à jour et lit de
nouveau les lignes. Enfin, il supprime une ligne puis lit de nouveau les lignes.
-- Create a database
-- DROP DATABASE IF EXISTS quickstartdb;
CREATE DATABASE quickstartdb;
USE quickstartdb;

-- Create a table and insert rows


DROP TABLE IF EXISTS inventory;
CREATE TABLE inventory (id serial PRIMARY KEY, name VARCHAR(50), quantity INTEGER);
INSERT INTO inventory (name, quantity) VALUES ('banana', 150);
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    129

INSERT INTO inventory (name, quantity) VALUES ('orange', 154);


INSERT INTO inventory (name, quantity) VALUES ('apple', 100);

-- Read
SELECT * FROM inventory;

-- Update
UPDATE inventory SET quantity = 200 WHERE id = 1;
SELECT * FROM inventory;

-- Delete
DELETE FROM inventory WHERE id = 2;
SELECT * FROM inventory;

6. Pour exécuter l’exemple de code SQL, sélectionnez l’icône représentant un éclair dans la barre d’outils.

Les résultats de la requête apparaissent dans la section Grille de résultats, au milieu de la page. La
liste Sortie en bas de la page affiche l’état de chaque commande au fur et à mesure de son exécution.

Labo : Utilisation de SQL pour interroger une


base de données Azure SQL
Contoso a provisionné la base de données SQL et a importé toutes les données d’inventaire dans le
magasin de données. En tant que développeur principal, vous avez été invité à exécuter des requêtes sur
les données.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
130     

Accédez au module Utiliser SQL pour interroger Azure SQL Database41 sur Microsoft Learn, puis suivez
les instructions pour interroger la base de données afin de trouver le nombre de produits dans la base de
données et le nombre d’articles en stock pour un produit particulier.

Résumé
Dans cette leçon, vous avez appris à utiliser SQL pour stocker et récupérer des données dans la base de
données Azure SQL, Azure Database pour PostgreSQL et Azure Database pour MySQL. Vous avez vu
comment vous connecter à ces systèmes de gestion de base de données à l’aide de certains outils
courants.

En savoir plus
●● Utilitaire sqlcmd42
●● Télécharger et installer Azure Data Studio43
●● Télécharger SQL Server Management Studio (SSMS)44
●● Tutoriel : Concevoir une base de données relationnelle dans une base de données unique dans
Azure SQL à l’aide de SSMS45
●● Téléchargements de la communauté MySQL46
●● Azure Database pour MySQL : Utiliser MySQL Workbench pour se connecter et interroger des
données47
●● Démarrage rapide : Utilisez l’éditeur de requêtes du portail Azure pour interroger une base de
données48
●● Requêtes DML avec SQL49
●● Jointures (SQL Server)50

41 https://docs.microsoft.com/learn/modules/query-relational-data/6-perform-query
42 https://docs.microsoft.com/sql/tools/sqlcmd-utility
43 https://docs.microsoft.com/sql/azure-data-studio/download-azure-data-studio
44 https://docs.microsoft.com/sql/ssms/download-sql-server-management-studio-ssms
45 https://docs.microsoft.com/azure/sql-database/sql-database-design-first-database
46 https://dev.mysql.com/downloads/workbench
47 https://docs.microsoft.com/azure/mysql/connect-workbench
48 https://docs.microsoft.com/azure/azure-sql/database/connect-query-portal
49 https://docs.microsoft.com/sql/t-sql/queries/queries
50 https://docs.microsoft.com/sql/relational-databases/performance/joins
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    131

Answers
Question 1
Quel est le déploiement qui nécessite le moins de changements durant la migration d’une solution SQL
Server locale ?
†† Azure SQL Database Managed Instance
■■ Un serveur SQL en cours d'exécution sur une machine virtuelle
†† Base de données unique Azure SQL Database
Explanation
C’est correct. SQL Server s’exécutant sur une machine virtuelle prend en charge les mêmes éléments qu’une
solution locale.
Question 2
Parmi les affirmations suivantes, laquelle est vraie concernant l’exécution de SQL Server sur une machine
virtuelle ?
†† Vous devez installer et maintenir vous-même le logiciel du système de gestion de base de données,
mais les sauvegardes sont automatisées.
†† L'installation et la maintenance du logiciel sont automatisées, mais vous devez effectuer vos propres
sauvegardes.
■■ Vous êtes responsable de toutes les tâches d’installation et de maintenance du logiciel, mais aussi de
l’exécution des sauvegardes.
Explanation
C’est correct. Si SQL Server s’exécute sur une machine virtuelle, vous êtes responsable des mises à jour
correctives et des sauvegardes.
Question 3
Parmi les affirmations suivantes, laquelle est vraie concernant Azure SQL Database ?
†† Un scale-up ne prend effet que lorsque vous redémarrez la base de données.
†† Un scale-out ne prend effet que lorsque vous redémarrez la base de données.
■■ Le scale-up ou le scale-out prendra effet sans redémarrage de la base de données SQL.
Explanation
C’est exact, vous pouvez effectuer un scale-up ou un scale-out sans interrompre l’utilisation de la base de
données.
Question 4
Quand vous utilisez Azure SQL Database Managed Instance, quelle est la manière la plus simple d’implé-
menter des sauvegardes ?
†† Configuration manuelle du serveur SQL.
†† Créer une tâche planifiée à sauvegarder.
■■ Les sauvegardes sont automatiquement gérées.
Explanation
C’est correct. Une instance managée permet d’effectuer des sauvegardes automatiques et des restaurations
à un instant dans le passé.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
132     

Question 5
Quelle est la meilleure façon de transférer les données d’une base de données PostgreSQL s’exécutant
localement vers une base de données s’exécutant via le service Azure Database pour PostgreSQL ?
†† Exporter les données depuis la base de données locale et les importer manuellement dans la base de
données exécutée dans Azure.
†† Télécharger un fichier de sauvegarde de base de données PostgreSQL dans la base de données
exécutée dans Azure.
■■ Utiliser les services de migration de base de données Azure.
Explanation
C’est correct. Azure Database Migration Service offre le moyen le plus sûr d’envoyer (push) votre base de
données PostgreSQL locale vers Azure.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
Module 3 Explorer les données non relation-
nelles dans Azure

Explorer les offres de données non relation-


nelles dans Azure
Introduction
Les données sont de toutes formes et tailles, et peuvent être utilisées à de nombreuses fins. De nom-
breuses organisations utilisent des bases de données relationnelles pour stocker ces données. Cepend-
ant, le modèle relationnel n’est peut-être pas le schéma le plus approprié. La structure des données peut
être trop variée pour être facilement modélisée sous la forme d’un ensemble de tableaux relationnels. Par
exemple, les données peuvent contenir des éléments tels que de la vidéo, de l’audio, des images, des
informations temporelles, de gros volumes de texte gratuit, des informations chiffrées ou d’autres types
de données qui ne sont pas intrinsèquement relationnelles. En outre, les exigences en matière de traite-
ment de données peuvent ne pas être les mieux adaptées en tentant de convertir ces données au format
relationnel. Dans ces situations, il peut être préférable d’utiliser des référentiels non relationnels qui
peuvent stocker les données dans leur format d’origine, mais qui permettent un stockage et un accès
rapides à ces données.
Supposons que vous êtes un ingénieur de données travaillant chez Contoso, une organisation avec une
importante activité de fabrication. L’organisation doit collecter et stocker des informations à partir de
diverses sources, telles que des données en temps réel surveillant l’état des machines de la ligne de
production, des données de contrôle de la qualité des produits, des journaux d’activité de production his-
toriques, des volumes de produits en stock et des données du stock des matières premières. Ces infor-
mations sont critiques au fonctionnement de l’organisation. On vous a demandé de déterminer la
meilleure façon de stocker ces informations, afin qu’elles puissent être stockées rapidement et inter-
rogées facilement.

Objectifs d’apprentissage
Dans cette leçon, vous allez :
●● Découvrez les cas d’utilisation et les avantages de gestion de l’utilisation de Stockage Table Azure
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
134     

●● Découvrez les cas d’utilisation et les avantages de gestion de l’utilisation de Stockage Blob Azure
●● Découvrez les cas d’utilisation et les avantages de gestion de l’utilisation du stockage de fichiers
Azure
●● Découvrez les cas d’utilisation et les avantages de gestion de l’utilisation d’Azure Cosmos DB

Découvrez Stockage Table Azure


Stockage Table Azure implémente le modèle de valeur clé NoSQL. Dans ce modèle, les données d’un
élément sont stockées sous la forme d’un ensemble de champs et l’élément est identifié par une clé
unique.

Qu’est-ce que le Stockage Table Azure ?


Stockage Table Azure est une base de données clé-valeur évolutive, stockée dans le cloud. Vous créez une
table en utilisant un compte de stockage Azure.
Dans une table Stockage Table Azure, les éléments sont appelés ligneset les champs sont appelés col-
onnes. Cependant, ne laissez pas cette terminologie vous déconcerter en pensant qu’une table Stockage
Table Azure est comparable à une table d’une base de données relationnelle. Une table Azure permet de
stocker des données semi-structurées. Toutes les lignes d’une table doivent avoir une clé, mais les
colonnes de chaque ligne peuvent varier. Contrairement aux bases de données relationnelles tradition-
nelles, les tables Stockage Table Azure n’ont aucun concept de relations, de procédures stockées, d’index
secondaires ou de clés étrangères. Les données seront généralement dénormalisées, chaque ligne
contenant toutes les données d’une entité logique. Par exemple, une table contenant des informations
sur le client peut stocker le prénom, le nom, un ou plusieurs numéros de téléphone et une ou plusieurs
adresses pour chaque client. Le nombre de champs dans chaque ligne peut être différent, en fonction du
nombre de numéros de téléphone et d’adresses de chaque client, et des détails enregistrés pour chaque
adresse. Dans une base de données relationnelle, ces informations seraient réparties sur plusieurs lignes
dans plusieurs tables. Dans cet exemple, l’utilisation de Stockage Table Azure fournit un accès beaucoup
plus rapide aux détails d’un client, car les données sont disponibles sur une seule ligne, sans nécessiter de
jointures entre les relations.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    135

Pour garantir un accès rapide, Stockage Table Azure divise les tables en partitions. Le partitionnement est
un mécanisme de regroupement de lignes associées, basé sur une propriété commune ou clé de parti-
tion. Les lignes qui partagent la même clé de partition seront stockées ensemble. Le partitionnement aide
non seulement à organiser les données, mais peut également améliorer l’évolutivité et les performances :
●● Les partitions sont indépendantes les unes des autres et peuvent augmenter ou diminuer à mesure
que des lignes sont ajoutées ou supprimées d’une partition. Une table peut contenir n’importe quel
nombre de partitions.
●● Lorsque vous recherchez des données, vous pouvez inclure la clé de partition dans les critères de
recherche. Cela permet de réduire le volume de données à examiner et améliore les niveaux de
performances en réduisant la quantité d'E/S (lectures et écritures) nécessaires pour localiser les
données.
Dans un Stockage Table Azure, la clé comprend deux éléments : la clé de partition, qui identifie la parti-
tion contenant la ligne (comme décrit ci-dessus) et une clé de ligne qui est unique pour chaque ligne de
la même partition. Les éléments de la même partition sont stockés dans l’ordre des clés de ligne. Si une
application ajoute une nouvelle ligne à une table, Azure s’assure que la ligne est placée à la bonne
position dans la table. Dans l’exemple ci-dessous, tiré d’un scénario IoT, la clé de ligne est une valeur de
date et d’heure.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
136     

Ce schéma permet à une application d’exécuter rapidement des requêtes ponctuelles, qui identifient une
seule ligne et des requêtes de plage, qui extraient un bloc contigu de lignes dans une partition.
Dans une requête ponctuelle, lorsqu’une application récupère une seule ligne, la clé de partition permet à
Azure de se concentrer rapidement sur la partition correcte, et la clé de ligne permet à Azure d’identifier
la ligne dans cette partition. Vous pouvez avoir des centaines de millions de lignes, mais si vous avez
défini avec soin la partition et les clés de ligne lorsque vous avez conçu votre application, l’extraction de
données peut être très rapide. La clé de partition et la clé de ligne définissent efficacement un index
clusterisé sur les données.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    137

Dans une requête de plage, l’application recherche un ensemble de lignes dans une partition, en spécifi-
ant le point de début et de fin de l’ensemble comme clés de ligne. Ce type de requête est également très
rapide, à condition que vous ayez conçu vos clés de ligne en fonction des exigences des requêtes
effectuées par votre application.

Les colonnes d’une table peuvent contenir des données numériques, de chaîne ou binaires, d’une taille
maximale de 64 Ko. Une table peut avoir jusqu’à 252 colonnes, en dehors des clés de partition et de
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
138     

ligne. La taille de ligne maximale est de 1 Mo. Pour plus d’informations, consultez l’article Comprendre le
modèle de données du service de table1.

Cas d’utilisation et avantages de gestion liés à l’utilisation


du Stockage Table Azure
Les tables Stockage Table Azure sont sans schéma. Il est facile d’adapter vos données à mesure que les
besoins de votre application évoluent. Vous pouvez utiliser des tables pour contenir des ensembles de
données flexibles tels que des données utilisateur pour des applications web, des carnets d’adresses, des
informations sur l’appareil ou d’autres types de métadonnées dont votre service a besoin. L’important est
de choisir soigneusement la partition et les clés de ligne.
Les principaux avantages de l’utilisation des tables Stockage Table Azure par rapport aux autres méthodes
de stockage des données sont les suivants :
●● Mise à l’échelle simplifiée. Même durée pour insérer des données dans une table vide que dans une
table contenant des milliards d’entrées. Un compte de stockage Azure peut contenir jusqu’à 500 To de
données.
●● Une table peut contenir des données semi-structurées.
●● Il n’est pas nécessaire de mapper et de maintenir les relations complexes généralement requises par
une base de données relationnelle normalisée.
●● Insertion de lignes rapide.
●● Extraction de données rapide, à condition de spécifier les clés de partition et de ligne comme critères
de requête.
Il y a cependant des inconvénients à stocker des données de cette façon, notamment :
●● La cohérence doit être prise en compte car les mises à jour transactionnelles entre plusieurs entités ne
sont pas garanties.
●● Il n’y a pas d’intégrité référentielle. Toute relation entre les lignes doit être maintenue à l’extérieur de
la table.
●● Il est difficile de filtrer et de trier les données non-clés. Les requêtes qui effectuent une recherche
basée sur des champs non-clés peuvent entraîner des analyses complètes de la table.
Stockage Table Azure est un mécanisme idéal pour :
●● Le stockage de téraoctets de données structurées capables de desservir des applications à l’échelle du
Web. Les exemples incluent les catalogues de produits pour les applications de commerce électron-
ique et les informations client, où les données peuvent être rapidement identifiées et classées par une
clé composite. Dans le cas d’un catalogue de produits, la clé de partition peut être la catégorie de
produit (comme les chaussures) et la clé de ligne identifie le produit spécifique dans cette catégorie
(comme les chaussures d’escalade).
●● Le stockage des ensembles de données qui ne nécessitent pas de jointures complexes, de clés
étrangères ou de procédures stockées et qui peuvent être dénormalisés pour un accès rapide. Dans
un système IoT, vous pouvez utiliser Stockage Table Azure pour capturer des données de capteur
d’appareil. Chaque appareil peut avoir sa propre partition et les données peuvent être classées en
fonction de la date et de l’heure à laquelle chaque mesure a été capturée.
●● Capture des données de journalisation des événements et de surveillance des performances. Le
journal des événements et les informations sur les performances contiennent généralement des

1 https://docs.microsoft.com/rest/api/storageservices/Understanding-the-Table-Service-Data-Model
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    139

données structurées en fonction du type d’événement ou de mesure de performance enregistré. Les


données peuvent être partitionnées par type d’événement ou de mesure du niveau de performance,
et classées par date et heure d’enregistrement. Vous pouvez également partitionner les données par
date, si vous avez besoin d’analyser une série ordonnée d’événements et de mesures de niveau de
performance par ordre chronologique. Si vous souhaitez analyser les données par type et par date/
heure, envisagez de stocker les données deux fois, partitionnées par type, puis à nouveau par date.
L’écriture des données est rapide et les données sont statiques une fois qu’elles ont été enregistrées.
Stockage Table Azure est conçu pour prendre en charge de très gros volumes de données, jusqu’à
plusieurs centaines de To. Lorsque vous ajoutez des lignes à une table, Stockage Table Azure gère
automatiquement les partitions dans une table et alloue le stockage si nécessaire. Vous n’avez pas besoin
de prendre d’autres mesures vous-même.
Stockage Table Azure fournit des garanties de haute disponibilité dans une seule région. Les données de
chaque table sont répliquées trois fois dans une région Azure. Pour une disponibilité accrue, mais à un
coût supplémentaire, vous pouvez créer des tables dans un stockage géoredondant. Dans ce cas, les
données de chaque table sont répliquées trois fois de plus dans une autre région distante de plusieurs
centaines de kilomètres. Si un réplica dans la région locale devient indisponible, Azure bascule de
manière transparente vers un réplica opérationnel pendant la récupération du réplica défaillant. Si une
région entière est touchée par une panne, vos tables sont en sécurité dans une région distante et vous
pouvez rapidement basculer votre application pour vous connecter à cette région distante.
Stockage Table Azure permet de protéger vos données. Vous pouvez configurer la sécurité et le contrôle
d’accès en fonction du rôle (RBAC) pour vous assurer que seules les contacts ou les applications qui ont
besoin de voir vos données peuvent réellement les récupérer.

Créer et afficher un tableau à l’aide du portail Azure


Le moyen le plus simple de créer une table dans Stockage Table Azure consiste à utiliser le portail Azure.
Procédez comme suit :
1. Connectez-vous au portail Azure à l’aide de votre compte Azure.
2. Sur la page d’accueil du portail Azure, sélectionnez +Créer une ressource.

3. Sur la page Nouveau, sélectionnez Compte de stockage - blob, fichier, table, file d’attente
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
140     

4. Sur la page Créer un compte de stockage, saisissez les détails suivants, puis sélectionnez Examiner
et créer.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    141

Champ Valeur
Abonnement Sélectionnez votre abonnement Azure
Groupe de ressources Sélectionnez Créer, puis spécifiez le nom d’un
nouveau groupe de ressources Azure. Utilisez un
nom de votre choix, tel que mongroupedestockage
Nom du compte de stockage Entrez un nom de votre choix pour le compte de
stockage. Le nom doit cependant être unique
Emplacement Sélectionnez votre emplacement le plus proche
Niveau de performance Standard
Type de compte StorageV2 (usage général v2)
Réplication Stockage géoredondant avec accès en lecture
(RA-GRS)
Niveau d’accès Chaud

5. Sur la page de validation, cliquez sur Créer, puis attendez que le nouveau compte de stockage soit
configuré.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
142     

6. Lorsque la page Votre déploiement est terminé apparaît, sélectionnez Accéder à la ressource.

7. Sur la page Aperçu du nouveau compte de stockage, sélectionnez Tables.

8. Sur la page Tables, sélectionnez + Table.


RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    143

9. Dans la boîte de dialogue Ajouter une table, entrez tabletest pour le nom de la table, puis sélection-
nez OK.

10. Lorsque la nouvelle table a été créée, sélectionnez Explorateur de stockage.


RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
144     

11. Sur la page Explorateur de stockage, développez Tables, puis sélectionnez tabletest. Sélectionnez
Ajouter pour insérer une nouvelle entité dans la table.
REMARQUE : Dans Explorateur de stockage, les lignes sont également appelées entités.

12. Dans la boîte de dialogue Ajouter une entité, entrez vos propres valeurs pour les propriétés Parti-
tionKey et RowKey, puis sélectionnez Ajouter une propriété. Ajoutez une propriété de type chaîne
appelée Nom et définissez la valeur à votre nom. Sélectionnez à nouveau Ajouter une propriété,
puis ajoutez une propriété Double (numérique) nommée Âge et enfin, définissez la valeur en fonction
de votre âge. Cliquez sur Insérer pour enregistrer l’entité.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    145

13. Vérifiez que le nouveau compte de stockage a bien été créé. L’entité doit contenir les valeurs que vous
avez spécifiées, ainsi qu’un horodatage contenant la date et l’heure de création de l’entité.

14. Si le temps le permet, essayez de créer des entités supplémentaires. Toutes les entités ne doivent pas
avoir les mêmes propriétés. Vous pouvez utiliser la fonction Éditer pour modifier les valeurs de l’entité
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
146     

et ajouter ou supprimer des propriétés. La fonction Requête vous permet de rechercher des entités
qui ont des propriétés avec un ensemble spécifié de valeurs.

Découvrir Stockage Blob Azure


De nombreuses applications ont besoin de stocker des objets de données binaires volumineux, tels que
des images et des flux vidéo. Les machines virtuelles Microsoft Azure utilisent le stockage d’objets blob
pour stocker des images de disque de machine virtuelle. La taille de ces objets peut atteindre plusieurs
centaines de Go.
REMARQUE : Le mot blob est l’acronyme anglais de Binary Large OBject (objet binaire volumineux).

Présentation d’Azure Blob storage


Stockage Blob Azure est un service qui permet de stocker des quantités massives de données non
structurées, ou objets blob, dans le cloud. Comme avec le stockage Table Azure, vous créez des objets
blob à l’aide d’un compte de stockage Azure.
Azure prend actuellement en charge trois types d’objets blob différents :
●● Objets blob de blocs. Un objet blob de blocs est traité comme un ensemble de blocs. Chaque bloc
peut varier en taille et peut atteindre 100 Mo. Un objet blob de blocs peut contenir jusqu’à 50 000
blocs, ce qui donne une taille maximale de plus de 4,7 To. Le bloc est la plus petite quantité de
données pouvant être lue ou écrite sous forme d’unité individuelle. Les objets blob de blocs sont
particulièrement adaptés au stockage d’objets binaires discrets et volumineux, qui changent rarement.
●● Objets blob de pages. Un objet blob de pages est organisé sous la forme d’une collection de pages de
taille fixe, de 512 octets. Un objet blob de pages est optimisé pour prendre en charge les opérations
de lecture et d’écriture aléatoires. Vous pouvez récupérer et stocker des données pour une seule page
si nécessaire. Un objet blob de pages peut contenir jusqu’à 8 To de données. Azure utilise des objets
blob de pages pour implémenter le stockage sur disque virtuel pour les machines virtuelles.
●● Objets blob d’ajouts. Un objet blob d’ajouts est un objet blob de blocs optimisé pour prendre en
charge les opérations d’ajout. Vous ne pouvez ajouter des blocs qu’à la fin d’un objet blob d’ajouts. La
mise à jour ou la suppression de blocs existants n’est pas prise en charge. Chaque bloc peut varier en
taille, jusqu’à 4 Mo. La taille maximale d’un objet blob d’ajouts est légèrement supérieure à 195 Go.
Dans un compte de stockage Azure, vous créez des objets blob au sein de conteneurs. Un conteneur offre
un moyen pratique de regrouper les objets blob associés. Vous pouvez organiser les objets blob dans
une hiérarchie de dossiers, similaire aux fichiers d’un système de fichiers sur disque. Vous contrôlez qui
peut lire et écrire des objets blob dans un conteneur, au niveau du conteneur.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    147

Le stockage Blob fournit trois niveaux d’accès, qui permettent d’équilibrer la latence d’accès et le coût de
stockage :
●● Le niveau Chaud est la valeur par défaut. Vous utilisez ce niveau pour les objets blob auxquels vous
accédez fréquemment. Les données blob sont stockées sur un support hautes performances.
●● Le niveau Froid. Ce niveau a des performances inférieures et des frais de stockage réduits par rapport
au niveau Chaud. Utilisez le niveau Froid pour les données rarement consultées. Il est courant que les
objets blob nouvellement créés soient fréquemment consultés au début, mais moins avec le temps.
Dans ces situations, vous pouvez créer l’objet blob au niveau Chaud, mais le migrer ultérieurement
vers le niveau Froid. Vous pouvez migrer un objet blob du niveau Froid vers le niveau Chaud.
●● Le niveau Archive. Ce niveau offre le coût de stockage le plus bas, mais avec une latence accrue. Le
niveau Archive est destiné aux données historiques qui ne doivent pas être perdues, mais qui sont
rarement utilisées. Les objets blob du niveau Archive sont effectivement stockés dans un état hors
ligne. La latence de lecture typique pour les niveaux Chaud et Froid est de quelques millisecondes,
mais pour le niveau Archive, cette latence peut se compter en heures. Pour récupérer un objet blob de
niveau Archive, vous devez modifier le niveau d’accès sur Chaud ou Froid. L’objet blob sera alors
réhydraté. Vous ne pourrez lire l’objet blob que lorsque le processus de réhydratation sera terminé.
Vous pouvez créer des stratégies de gestion du cycle de vie pour des objets blob dans un compte de
stockage. Une stratégie de gestion du cycle de vie peut faire passer automatiquement un objet blob du
niveau Chaud vers le niveau Froid, puis vers le niveau Archive, à mesure qu’il vieillit et est utilisé moins
fréquemment (la stratégie est basée sur le nombre de jours depuis la modification). Une stratégie de
gestion du cycle de vie peut également organiser la suppression des objets blob obsolètes.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
148     

Cas d’utilisation et avantages de gestion liés à l’utilisation


du stockage Blob Azure
Les utilisations courantes du stockage Blob Azure sont les suivantes :
●● Diffusion d’images ou de documents directement dans un navigateur, sous forme d’un site web
statique. Consultez l’article Hébergement de sites web statiques dans le service Stockage Azure2
pour des informations détaillées.
●● Stockage de fichiers pour un accès distribué
●● Diffusion vidéo et audio en flux continu
●● Stockage de données pour la sauvegarde et la restauration, la récupération d’urgence et l’archivage
●● Stockage de données pour analyse par un service local ou un service Azure hébergé
REMARQUE : Le stockage Blob Azure est également utilisé comme base pour le stockage Azure Data
Lake. Vous pouvez utiliser le stockage Azure Data Lake pour effectuer une analyse Big data. Pour plus
d’informations, consultez l’article Présentation d’Azure Data Lake Storage Gen2.3
Pour garantir la disponibilité, le stockage Blob Azure assure la redondance. Les objets blob sont toujours
répliqués trois fois dans la région dans laquelle vous avez créé votre compte, mais vous pouvez égale-
ment sélectionner la géo-redondance, qui réplique vos données dans une deuxième région (moyennant
des frais supplémentaires).
Les autres fonctionnalités disponibles avec le stockage Blob Azure sont les suivantes :
●● Contrôle des versions. Vous pouvez conserver et restaurer les versions antérieures d’un objet blob.
●● Suppression réversible. Cette fonctionnalité vous permet de récupérer un objet blob qui a été sup-
primé ou supplanté, par accident ou autrement.
●● Captures instantanées. Une capture instantanée est une version en lecture seule d’un objet blob à un
moment donné.
●● Flux de modification. Le flux de modification pour un objet blob fournit un enregistrement ordonné,
en lecture seule, des mises à jour apportées à un objet blob. Vous pouvez utiliser le flux de modifica-
tion pour surveiller ces modifications et effectuer des opérations telles que :
●● Mettre à jour un index secondaire, synchroniser avec un cache, un moteur de recherche ou tout
autre scénario de gestion de contenu.
●● Extraire des informations et des mesures d’analyse commerciale, en fonction des modifications
apportées à vos objets, soit de manière continue, soit en mode batch.
●● Stocker, auditer et analyser les modifications apportées à vos objets, sur n’importe quelle période,
à des fins de sécurité, de conformité ou d’intelligence pour la gestion des données d’entreprise.
●● Créer des solutions pour sauvegarder, mettre en miroir ou répliquer l’état des objets dans votre
compte, pour la gestion des sinistres ou la conformité.
●● Créer des pipelines d’applications connectées qui réagissent aux événements de changement ou
planifier des exécutions en fonction des objets créés ou modifiés.

2 https://docs.microsoft.com/azure/storage/blobs/storage-blob-static-website
3 https://docs.microsoft.com/azure/storage/blobs/data-lake-storage-introduction
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    149

Créer et afficher un objet blob de blocs à l’aide du portail


Azure
Vous pouvez créer des objets blob de blocs à l’aide du portail Azure. N’oubliez pas que les objets blob
sont stockés dans des conteneurs et que ces conteneurs sont créés à l’aide d’un compte de stockage. Les
étapes suivantes supposent que vous avez créé le compte de stockage décrit dans l’unité précédente.
1. Dans le portail Azure, dans le menu de navigation de gauche, sélectionnez Accueil.

2. Dans le portail Azure, sélectionnez Comptes de stockage.

3. Dans la page Comptes de stockage, sélectionnez le compte de stockage que vous avez créé dans
l’unité précédente.
4. Sur la page Aperçu de votre compte de stockage, sélectionnez Explorateur de stockage.
5. Dans la page Explorateur de stockage, cliquez avec le bouton droit sur CONTENEURS BLOB, puis
sélectionnez Créer un conteneur d’objets blob.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
150     

6. Dans la boîte de dialogue Nouveau conteneur, attribuez un nom à votre conteneur, acceptez le
niveau d’accès public par défaut, puis sélectionnez Créer.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    151

7. Dans la fenêtre Explorateur de stockage, développez CONTENEURS BLOB, puis sélectionnez votre
nouveau conteneur d’objets blob.

8. Dans la fenêtre des objets blob, sélectionnez Charger.

9. Dans la boîte de dialogue Charger un objet blob, cliquez sur le bouton Fichiers pour sélectionner un
fichier de votre choix sur votre ordinateur, puis sélectionnez Charger

10. Une fois le téléchargement terminé, fermez la boîte de dialogue Charger un objet blob. Vérifiez que
l’objet blob de blocs apparaît dans votre conteneur.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
152     

11. Si vous avez le temps, vous pouvez tester le chargement d’autres fichiers en tant qu’objets blob de
blocs. Vous pouvez également télécharger des objets blob sur votre ordinateur en cliquant sur le
bouton Télécharger.

Découvrir le stockage de fichiers Azure


De nombreux systèmes sur site comprenant un réseau d’ordinateurs internes utilisent des partages de
fichiers. Un partage de fichiers vous permet de stocker un fichier sur un ordinateur et d’accorder l’accès à
ce fichier aux utilisateurs et aux applications s’exécutant sur d’autres ordinateurs. Cette stratégie peut
fonctionner pour les ordinateurs du même réseau local, mais ne s’adapte pas correctement à mesure que
le nombre d’utilisateurs augmente, ou si les utilisateurs sont situés sur des sites différents.

Qu’est-ce que Azure File Storage ?


Azure File Storage vous permet de créer des partages de fichiers dans le cloud et d’accéder à ces partag-
es de fichiers depuis n’importe où, avec une connexion Internet. Azure File Storage expose les partages
de fichiers à l’aide du protocole Server Message Block 3.0 (SMB). Il s’agit du même protocole de partage
de fichiers utilisé par de nombreuses applications sur site existantes. Ces applications devraient continuer
à fonctionner sans modification si vous procédez à la migration de vos partages de fichiers vers le cloud.
Les applications peuvent s’exécuter sur site ou dans le cloud. Vous pouvez contrôler l’accès aux partages
dans Azure File Storage à l’aide des services d’authentification et d’autorisation disponibles via Azure
Active Directory Domain Services.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    153

Vous créez un stockage de fichiers Azure dans un compte de stockage. Azure File Storage vous permet de
partager jusqu’à 100 To de données dans un seul compte de stockage. Ces données peuvent être
réparties sur un nombre illimité de partages de fichiers dans le compte. La taille maximale d’un seul
fichier est de 1 Tio, mais vous pouvez définir des quotas pour limiter la taille de chaque partage en
dessous de ce chiffre. Actuellement, Azure File Storage prend en charge jusqu’à 2 000 connexions
simultanées par fichier partagé.
Une fois que vous avez créé un compte de stockage, vous pouvez charger des fichiers sur Azure File
Storage à l’aide du portail Azure ou d’outils tels que l’utilitaire AzCopy. Vous pouvez également utiliser le
service Azure File Sync pour synchroniser les copies mises en cache localement des fichiers partagés avec
les données dans Azure File Storage.
Azure File Storage propose deux niveaux de performances. Le niveau Standard, qui utilise du matériel
basé sur le disque dur dans un centre de données, et le niveau Premium, qui utilise des disques SSD. Le
niveau Premium offre un débit plus élevé, mais est facturé à un taux plus élevé.

Cas d’utilisation et avantages de gestion liés à l’utilisation


d’Azure File Storage
Azure File Storage est conçu pour prendre en charge de nombreux scénarios, notamment les suivants :
●● Migrer les applications existantes vers le cloud.
De nombreuses applications existantes accèdent aux données à l’aide d’API basées sur des fichiers et
sont conçues pour partager des données à l’aide de partages de fichiers SMB. Azure File Storage vous
permet de migrer vos fichiers locaux ou vos applications basées sur le partage de fichiers vers Azure,
sans avoir à approvisionner ou à gérer des machines virtuelles de serveur de fichiers hautement
disponibles.
●● Partager les données de serveur sur site et dans le cloud.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
154     

Les clients peuvent désormais stocker des données de serveur telles que des fichiers journaux, des
données d’événements et des sauvegardes dans le cloud pour tirer parti de la disponibilité, de la
durabilité, de la scalabilité et de la redondance géographique intégrées à la plateforme de stockage
Azure. Avec le chiffrement dans SMB 3.0, vous pouvez monter en toute sécurité des partages Azure
File Storage depuis n’importe où. Les applications s’exécutant dans le cloud peuvent partager des
données avec des applications sur site en utilisant les mêmes garanties de cohérence implémentées
par les serveurs SMB sur site.
●● Intégrer des applications modernes avec Azure File Storage.
En tirant parti de l’API REST moderne qu’Azure File Storage implémente en plus de SMB 3.0, vous
pouvez intégrer des applications héritées avec des applications cloud modernes ou développer de
nouvelles applications basées sur des fichiers ou des partages de fichiers.
●● Simplifier l’hébergement des données de charge de travail haute disponibilité (HA).
Azure File Storage offre une disponibilité continue, ce qui simplifie l’effort d’héberger les données de
charge de travail HA dans le cloud. Les poignées persistantes activées dans SMB 3.0 augmentent la
disponibilité du partage de fichiers, ce qui permet d’héberger des applications telles que SQL Server
et IIS dans Azure avec des données stockées dans un stockage de fichiers partagé.
REMARQUE : N’utilisez pas Azure File Storage pour les fichiers qui peuvent être écrits simultanément par
plusieurs processus concomitants. Plusieurs rédacteurs nécessitent une synchronisation minutieuse. Dans
le cas contraire, les modifications apportées par un processus risquent d’être écrasées par un autre.
L’autre solution consiste à verrouiller le fichier au fur et à mesure de son écriture, puis à libérer le verrou
une fois l’opération d’écriture terminée. Cependant, cette approche peut avoir un impact majeur sur la
concurrence et limiter le niveau de performance.
Azure Files Storage est un service entièrement géré. Vos données partagées sont répliquées localement
dans une région, mais peuvent également être géorépliquées dans une deuxième région.
Azure vise à fournir jusqu’à 300 Mo par seconde de débit pour un seul partage de fichiers Standard, mais
vous pouvez augmenter la capacité de débit en créant un partage de fichiers Premium, moyennant des
frais supplémentaires.
Toutes les données sont chiffrées au repos et vous pouvez activer le chiffrement des données en transit
entre Azure File Storage et vos applications.
Pour plus d’informations sur la gestion et la planification de l’utilisation d’Azure File Storage, consultez
l’article Planification d’un déploiement Azure Files4.

Créer un partage de fichiers de stockage Azure à l’aide du


portail Azure
Vous pouvez créer des partages de fichiers de stockage Azure à l’aide du portail Azure. Les étapes
suivantes supposent que vous avez créé le compte de stockage décrit dans l’unité 2.
1. Dans le portail Azure, dans le menu Hamburger, sélectionnez Accueil.
2. Dans le portail Azure, sélectionnez Comptes de stockage.
3. Sur la page Comptes de stockage, sélectionnez le compte de stockage que vous avez créé dans
l’unité 2.
4. Sur la page Aperçu de votre compte de stockage, sélectionnez Explorateur de stockage.

4 https://docs.microsoft.com/azure/storage/files/storage-files-planning
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    155

5. Sur la page Explorateur de stockage, cliquez avec le bouton droit sur PARTAGES DE FICHIERS, puis
sélectionnez Créer un partage de fichiers.

6. Dans la boîte de dialogue Nouveau partage de fichiers, entrez un nom pour votre partage de
fichiers, laissez Quota vide, puis sélectionnez Créer.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
156     

7. Dans la fenêtre Explorateur de stockage, développez PARTAGES DE FICHIERS, puis sélectionnez


votre nouveau partage de fichiers et, enfin, sélectionnez Charger.
Conseil : Si votre nouveau partage de fichiers n’apparaît pas, cliquez avec le bouton droit sur PART-
AGES DE FICHIERS, puis sélectionnez Actualiser.

8. Dans la boîte de dialogue Charger des fichiers, utilisez le bouton de fichiers pour sélectionner un
fichier de votre choix sur votre ordinateur, puis sélectionnez Charger
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    157

9. Une fois le chargement terminé, fermez la boîte de dialogue Charger des fichiers. Vérifiez que le
fichier apparaît dans le partage de fichiers.
Conseil : Si le fichier n’apparaît pas, cliquez avec le bouton droit sur PARTAGES DE FICHIERS, puis
sélectionnez Actualiser.

Découvrez Azure Cosmos DB


Les tables, objets blob et fichiers sont tous des types de stockage spécialisés, destinés à aider à résoudre
des problèmes spécifiques. La lecture et l’écriture d’une table sont des tâches très différentes du stockage
des données dans un objet blob ou du traitement d’un fichier. Parfois, vous avez besoin d’une solution
plus généraliste, qui vous permet de stocker et d’interroger des données plus facilement, sans avoir à
vous soucier du mécanisme exact pour effectuer ces opérations. C’est là qu’un système de gestion de
base de données (SGBD) s’avère utile.
Les bases de données relationnelles stockent les données dans des tables relationnelles, mais parfois la
structure imposée par ce modèle est trop rigide et conduit à de mauvaises performances, à moins que
vous ne passiez du temps à affiner les paramètres. D’autres modèles existent, appelés collectivement
bases de données NoSQL. Ces modèles stockent les données dans d’autres structures, telles que des
documents, des graphiques, des magasins de valeurs-clés et des magasins de familles de colonnes.

Qu’est-ce qu’Azure Cosmos DB ?


Azure Cosmos DB est un système de gestion de base de données NoSQL multimodèle. Cosmos DB gère
les données sous la forme d’un ensemble partitionné de documents. Un document est un ensemble de
champs, identifiés par une clé. Les champs de chaque document peuvent varier et un champ peut
contenir des documents enfants. De nombreuses bases de données de documents utilisent JSON (JavaS-
cript Object Notation) pour représenter la structure du document. Dans ce format, les champs d’un
document sont placés entre accolades, { et }, et chaque champ est précédé de son nom. L’exemple
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
158     

ci-dessous montre deux documents représentant des informations client. Dans les deux cas, chaque
document client comprend des documents enfants contenant le nom et l’adresse, mais les champs de ces
documents enfants varient selon les clients.
## Document 1 ##
{
"customerID": "103248",
"name":
{
"first": "AAA",
"last": "BBB"
},
"address":
{
"street": "Main Street",
"number": "101",
"city": "Acity",
"state": "NY"
},
"ccOnFile": "yes",
"firstOrder": "02/28/2003"
}

## Document 2 ##
{
"customerID": "103249",
"name":
{
"title": "Mr",
"forename": "AAA",
"lastname": "BBB"
},
"address":
{
"street": "Another Street",
"number": "202",
"city": "Bcity",
"county": "Gloucestershire",
"country-region": "UK"
},
"ccOnFile": "yes"
}

Un document peut contenir jusqu’à 2 Mo de données, y compris de petits objets binaires. Si vous devez
stocker des objets blob plus volumineux dans le cadre d’un document, utilisez le stockage Blob Azure et
ajoutez une référence à l’objet blob dans le document.
Cosmos DB dispose d’API qui vous permettent d’accéder à ces documents à l’aide d’un ensemble
d’interfaces bien connues.
REMARQUE : Une API est une interface de programmation d’applications. Les systèmes de gestion de
base de données (et autres frameworks logiciels) fournissent un ensemble d’API que les développeurs
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    159

peuvent utiliser pour écrire des programmes qui doivent accéder aux données. Les API seront souvent
différentes pour différents systèmes de gestion de base de données.
Les API actuellement prises en charge par Cosmos DB incluent :
●● API SQL. Cette interface fournit un langage de requête de type SQL sur les documents, et permet
d’identifier et de récupérer des documents en utilisant des instructions SELECT. L’exemple ci-dessous
trouve l’adresse du client 103248 dans les documents ci-dessus :
SELECT a.address
FROM customers a
WHERE a.customerID = "103248"

●● API Table. Cette interface vous permet d’utiliser l’API Stockage Table Azure pour stocker et récupérer
des documents. Le but de cette interface est de vous permettre de passer du stockage Table à
Cosmos DB sans avoir à modifier vos applications existantes.
●● API MongoDB. MongoDB est une autre base de données de documents bien connue, avec sa propre
interface de programmation. De nombreuses organisations exécutent MongoDB sur site. Vous pouvez
utiliser l’API MongoDB pour Cosmos DB afin de permettre à une application MongoDB de s’exécuter
sans modification sur une base de données Cosmos DB. Vous pouvez migrer les données de la base
de données MongoDB vers Cosmos DB s’exécutant dans le cloud, tout en continuant à exécuter vos
applications existantes pour accéder à ces données.
●● API Cassandra. Cassandra est un système de gestion de base de données à familles de colonnes. Il
s’agit d’un autre système de gestion de base de données que de nombreuses organisations exécutent
sur site. L’API Cassandra pour Cosmos DB fournit une interface de programmation de type Cassandra
pour Cosmos DB. Les demandes de l’API Cassandra sont mappées aux demandes de document de
Cosmos DB. Comme pour l’API MongoDB, l’objectif principal de l’API Cassandra est de vous permettre
de migrer rapidement les bases de données et les applications Cassandra vers Cosmos DB.
●● API Gremlin. L’API Gremlin implémente une interface de base de données graphique vers Cosmos DB.
Un graphique est une collection d’objets de données et de relations dirigées. Les données sont
toujours conservées sous la forme d’un ensemble de documents dans Cosmos DB, mais l’API Gremlin
vous permet d’effectuer des requêtes graphiques sur les données. En utilisant l’API Gremlin, vous
pouvez parcourir les objets et les relations dans le graphique pour découvrir toutes sortes de relations
complexes, telles que « Quel est le nom de l’animal de compagnie du propriétaire de Sam ? » dans le
graphique ci-dessous.

REMARQUE : L’objectif principal des API Table, MongoDB, Cassandra et Gremlin est de prendre en
charge les applications existantes. Si vous créez une nouvelle application et une nouvelle base de don-
nées, vous devez utiliser l’API SQL.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
160     

Les documents d’une base de données Cosmos DB sont organisés en conteneurs. Les documents d’un
conteneur sont regroupés en partitions. Une partition contient un ensemble de documents qui partagent
une clé de partition commune. Vous désignez l’un des champs de vos documents comme clé de partition.
Vous devez sélectionner une clé de partition qui rassemble tous les documents associés. Cette approche
permet de réduire la quantité d’E/S (lectures de disque) que les requêtes peuvent devoir effectuer lors de
la récupération d’un ensemble de documents pour une entité donnée. Par exemple, dans une base de
données de documents pour un système de commerce électronique enregistrant les détails des clients et
les commandes qu’ils ont passées, vous pouvez partitionner les données par ID client et stocker les
détails du client et de la commande pour chaque client dans la même partition. Pour trouver toutes les
informations et toutes les commandes d’un client, il vous suffit d’interroger cette seule partition :

Il existe une similitude superficielle entre un conteneur Cosmos DB et une table dans le stockage Azure
Table : dans les deux cas, les données sont partitionnées et les documents (lignes dans une table) sont
identifiés par un ID unique dans une partition. Cependant, la similitude s’arrête là. Contrairement au
stockage Azure Table, les documents d’une partition Cosmos DB ne sont pas triés par ID. Au lieu de cela,
Cosmos DB gère un index distinct. Cet index contient non seulement les ID document, mais suit égale-
ment la valeur de tous les autres champs de chaque document. Cet index est créé et maintenu automa-
tiquement. Cet index vous permet d’effectuer des requêtes qui spécifient des critères référençant tous les
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    161

champs d’un conteneur, sans qu’il soit nécessaire d’analyser toute la partition pour trouver ces données.
Pour une description détaillée du fonctionnement de l’indexation Cosmos DB, consultez l’article Vue
d’ensemble de l’indexation dans Azure Cosmos DB.5

Cas d’utilisation et avantages de gestion liés à l’utilisation


d’Azure Cosmos DB
Cosmos DB est un système de gestion de base de données hautement évolutif. Cosmos DB alloue
automatiquement de l’espace dans un conteneur pour vos partitions. Chaque partition peut atteindre 10
Go. Les index sont créés et gérés automatiquement. Il n’y a pratiquement pas de frais généraux adminis-
tratifs.
Pour garantir la disponibilité, toutes les bases de données sont répliquées dans une seule région. Cette
réplication est transparente et le basculement à partir d’un réplica défaillant est automatique. Cosmos DB
garantit une haute disponibilité de 99,99 %.
En outre, vous pouvez choisir de répliquer les données entre les régions, moyennant des frais supplé-
mentaires. Cette fonctionnalité vous permet de placer des copies de données n’importe où dans le
monde et de permettre aux applications de se connecter à la copie des données la plus proche, ce qui
réduit la latence des requêtes. Toutes les répliques sont synchronisées, bien qu’il puisse y avoir une
période courte pendant laquelle les mises à jour sont transmises et appliquées. Le protocole de réplica-
tion multimaître prend en charge cinq choix de cohérence bien définis : fort, obsolescence limitée,
session, préfixe cohérent et éventuel. Pour plus d’informations, consultez l’article Niveaux de cohérence
dans Azure Cosmos DB6.
Cosmos DB garantit des latences inférieures à 10 ms pour les lectures (indexées) et les écritures au 99e
centile, partout dans le monde. Cette capacité permet une ingestion soutenue de données et des
requêtes rapides pour des applications hautement réactives.
Cosmos DB est certifié pour un large éventail de normes de conformité. De plus, toutes les données de
Cosmos DB sont chiffrées au repos et en mouvement. Cosmos DB fournit une autorisation au niveau des
lignes et adhère à des normes de sécurité strictes.
Cosmos DB est un service fondamental d’Azure. Cosmos DB est utilisé par de nombreux produits Micro-
soft pour des applications critiques à l’échelle mondiale, notamment Skype, Xbox, Office 365, Azure et
bien d’autres. Cosmos DB est parfaitement adapté aux scénarios suivants :
●● IoT et télématique. Ces systèmes ingèrent généralement de grandes quantités de données lors de pics
subits d’activité. Cosmos DB peut accepter et stocker ces informations très rapidement. Les données
peuvent ensuite être utilisées par des services d’analyse, tels qu’Azure Machine Learning, Azure
HDInsight et Power BI. En outre, vous pouvez traiter les données en temps réel à l’aide des fonctions
Azure qui sont déclenchées lorsque les données arrivent dans la base de données.
●● Vente au détail et marketing. Microsoft utilise CosmosDB pour ses propres plateformes d’e-commerce
qui s’exécutent dans le cadre de Windows Store et Xbox Live. Il est également utilisé dans le secteur
de la vente au détail pour stocker des données de catalogue et pour l’approvisionnement d’événe-
ments dans les pipelines de traitement des commandes.
●● Gaming. Le niveau base de données est un élément crucial des applications de jeu. Les jeux modernes
effectuent un traitement graphique sur les clients mobiles et consoles, mais ils s’appuient sur le cloud
pour fournir un contenu personnalisé comme les statistiques de jeu, l’intégration aux médias sociaux
et les classements de haut niveau. Les jeux ont généralement besoin de latences inférieures à une
milliseconde en lecture et écriture afin de fournir une expérience de jeu engageante. Une base de

5 https://docs.microsoft.com/azure/cosmos-db/index-overview
6 https://docs.microsoft.com/azure/cosmos-db/consistency-levels
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
162     

données de jeux doit être rapide et être capable de gérer des pics massifs de demandes lors des
lancements de nouveaux jeux et des mises à jour de fonctionnalités.
●● Applications web et mobiles. Azure Cosmos DB est couramment utilisé dans les applications web et
mobiles et convient parfaitement à la modélisation des interactions sociales, à l’intégration à des
services tiers et à la création de riches expériences personnalisées. Les kits de développement logiciel
Cosmos DB permettent de créer de riches applications iOS et Android à l’aide de la populaire infra-
structure Xamarin.
Pour plus d’informations sur les utilisations de Cosmos DB, consultez l’article Cas d’utilisation courants
d’Azure Cosmos DB7.

Contrôle des connaissances


Question 1
Quels sont les éléments d’une clé de Stockage Table Azure ?
†† Nom de la table et nom de la colonne
†† Clé de partition et clé de ligne
†† Numéro de ligne

Question 2
Quand devez-vous utiliser un objet blob de blocs et quand devez-vous utiliser un objet blob de pages ?
†† Utiliser un objet blob de blocs pour les données non structurées qui nécessitent un accès aléatoire
pour effectuer des lectures et des écritures. Utilisez un objet blob de page pour les objets discrets qui
changent rarement.
†† Utiliser un objet blob de bloc pour les données actives stockées à l’aide du niveau d’accès aux
données chaudes et un objet blob de page pour les données stockées à l’aide des niveaux d’accès aux
données froides ou archivées.
†† Utiliser un bloc de page pour les objets blob qui nécessitent un accès aléatoire en lecture et en
écriture. Utilisez un objet blob de blocs pour les objets discrets qui changent rarement.

Question 3
Pourquoi pouvez-vous utiliser le stockage de fichiers Azure ?
†† À partager des fichiers stockés sur site avec des utilisateurs situés sur d’autres sites.
†† À permettre aux utilisateurs de différents sites de partager des fichiers.
†† À stocker de gros fichiers de données binaires contenant des images ou d’autres données non
structurées.

7 https://docs.microsoft.com/azure/cosmos-db/use-cases
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    163

Question 4
Vous construisez un système qui contrôle la température dans un ensemble d’immeubles de bureaux et
règle la climatisation dans chaque pièce de chaque bloc pour maintenir une température ambiante agréa-
ble. Votre système doit gérer la climatisation dans plusieurs milliers de bâtiments répartis à travers le pays
ou la région et, en règle générale, chaque bâtiment contient au moins 100 chambres climatisées. Quel est le
type de stockage de données NoSQL le plus approprié pour capturer les données de température afin de
permettre leur traitement rapide ?
†† Envoyer les données à une base de données Azure Cosmos DB et utiliser Azure Functions pour traiter
les données.
†† Stocker les données dans un fichier stocké dans un partage créé à l’aide d'Azure File Storage.
†† Écrire les températures dans un objet blob dans le stockage Blob Azure.

Résumé
Microsoft Azure offre une gamme de technologies pour stocker des données non relationnelles. Chaque
technologie a ses propres atouts et est adaptée à des scénarios spécifiques.
Dans cette leçon, vous avez découvert les technologies suivantes et comment vous pouvez les utiliser
pour répondre aux exigences de divers scénarios :
●● Stockage Table Azure
●● Stockage Blob Azure
●● Stockage des fichiers Azure
●● Azure Cosmos DB

En savoir plus
●● Comprendre le modèle de données du service de Table8
●● Guide de conception de tables de stockage Table Azure : Tables évolutives et performantes9
●● Présentation du stockage Blob Azure10
●● Présentation d’Azure Data Lake Storage Gen211
●● Hébergement de site web statique dans le stockage Azure12
●● Qu’est-ce qu’Azure Files ?13
●● Planification d’un déploiement Azure Files14
●● Bienvenue dans Azure Cosmos DB15
●● Indexation dans Azure Cosmos DB - Vue d’ensemble16

8 https://docs.microsoft.com/rest/api/storageservices/Understanding-the-Table-Service-Data-Model
9 https://docs.microsoft.com/azure/cosmos-db/table-storage-design-guide
10 https://docs.microsoft.com/azure/storage/blobs/storage-blobs-introduction
11 https://docs.microsoft.com/azure/storage/blobs/data-lake-storage-introduction
12 https://docs.microsoft.com/azure/storage/blobs/storage-blob-static-website
13 https://docs.microsoft.com/azure/storage/files/storage-files-introduction
14 https://docs.microsoft.com/azure/storage/files/storage-files-planning
15 https://docs.microsoft.com/azure/cosmos-db/introduction
16 https://docs.microsoft.com/azure/cosmos-db/index-overview
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
164     

●● Niveaux de cohérence dans Azure Cosmos DB17

17 https://docs.microsoft.com/azure/cosmos-db/consistency-levels
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    165

Explorer la mise en service et le déploiement


des services de données non relationnelles
dans Azure
Introduction
Microsoft Azure prend en charge un certain nombre de services de données non relationnels, notamment
le stockage de fichiers Azure, le stockage Blob Azure, Azure Data Lake Store et Azure Cosmos DB. Ces
services prennent en charge différents types de données non relationnelles. Par exemple, vous pouvez
utiliser Cosmos DB pour stocker des documents et le stockage Blob comme référentiel pour des objets
binaires volumineux tels que des données vidéo et audio.
Avant de pouvoir utiliser un service, vous devez approvisionner une instance de ce service. Vous pouvez
ensuite configurer le service pour vous permettre de stocker et de récupérer des données et de les
rendre accessibles aux utilisateurs et aux applications qui en ont besoin.
Supposons que vous êtes un ingénieur de données travaillant chez Contoso, une organisation avec une
importante activité de fabrication. L’organisation doit collecter et stocker des informations à partir de
diverses sources, telles que des données en temps réel surveillant l’état des machines de la ligne de
production, des données de contrôle de la qualité des produits, des journaux d’activité de production his-
toriques, des volumes de produits en stock et des données du stock des matières premières. Ces infor-
mations sont critiques au fonctionnement de l’organisation. Contoso a décidé de stocker ces informa-
tions dans diverses bases de données non relationnelles, en fonction des différentes exigences de
traitement des données pour chaque ensemble de données. Vous avez été invité à fournir une gamme de
services de données Azure pour permettre aux applications de stocker et de traiter les informations.

Objectifs d’apprentissage
Dans cette leçon, vous allez :
●● Fournir des services de données non relationnelles
●● Configurer les services de données non relationnels
●● Explorer les problèmes de connectivité de base
●● Explorer les composants de sécurité des données

Décrire le provisionnement de services de don-


nées non relationnelles
Dans l’exemple de scénario, Contoso a déterminé que l’organisation allait avoir besoin de plusieurs
magasins non relationnels différents. En tant qu’ingénieur Données, il vous est demandé configurer des
magasins de données en utilisant Azure Cosmos DB, Stockage Blob Azure, Azure Data Lake Store et
Stockage Fichier Azure.
Dans cette unité, vous allez découvrir plus d’informations sur ce que fait le processus de déploiement et
ce qui se passe quand vous provisionnez un service.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
166     

Qu’est-ce que le provisionnement ?


Le provisionnement consiste à exécuter une série de tâches qu’un fournisseur de services, comme Azure
Cosmos DB, effectue pour créer et configurer un service. À l’arrière-plan, le fournisseur de services
configure les différentes ressources (disques, mémoire, processeurs, réseaux, etc.) nécessaires à l’exécu-
tion du service. Ces ressources vous sont affectées et elles vous restent allouées (et vous sont facturées)
jusqu’à ce que vous supprimiez le service.
La façon dont le fournisseur de services provisionne les ressources est opaque, et vous n’avez pas à vous
soucier du fonctionnement de ce processus. Il vous suffit de spécifier les paramètres qui déterminent la
taille des ressources nécessaires (quantité d’espace disque, de mémoire, de puissance de calcul et de
bande passante réseau). Pour déterminer ces paramètres, vous devez estimer la taille de la charge de
travail que vous envisagez d’exécuter avec ce service. Dans de nombreux cas, vous pouvez modifier ces
paramètres après la création du service. Vous pouvez par exemple augmenter la quantité d’espace de
stockage ou de mémoire si la charge de travail est supérieure à celle prévue initialement. L’action d’aug-
menter (ou de diminuer) les ressources utilisées par un service est appelée mise à l’échelle.
La vidéo suivante résume le processus qu’Azure effectue lorsque vous approvisionnez un service.

https://www.microsoft.com/videoplayer/embed/RE4zTud

Azure fournit plusieurs outils que vous pouvez utiliser pour provisionner des services :
●● Le portail Azure. Il s’agit pour la plupart des utilisateurs du moyen le plus pratique de provisionner un
service. Le portail Azure affiche une série de pages spécifiques au service, vous invitant à entrer les
paramètres nécessaires. Ensuite, il valide ces paramètres avant de provisionner le service.
●● L’interface de ligne de commande (CLI) d’Azure. Elle offre un ensemble de commandes que vous
pouvez exécuter à partir de l’invite de commandes du système d’exploitation ou de Cloud Shell dans
le portail Azure. Vous pouvez utiliser ces commandes pour créer et gérer des ressources Azure. L’inter-
face CLI est particulièrement appropriée si vous devez automatiser la création de services : vous
pouvez stocker des commandes CLI dans des scripts et exécuter ces scripts programmatiquement.
L’interface CLI peut s’exécuter sur des ordinateurs Windows, macOS et Linux. Pour obtenir des
informations détaillées sur Azure CLI, consultez l’article Qu’est-ce qu’Azure CLI18.
●● Azure PowerShell. De nombreux administrateurs ont l’habitude d’utiliser des commandes PowerShell
pour écrire des scripts et automatiser les tâches d’administration. Azure offre une série d’applets de
commande (des commandes spécifiques à Azure) que vous pouvez utiliser dans PowerShell pour créer
et gérer des ressources Azure. Vous trouverez plus d’informations sur Azure PowerShell en ligne, à
l’adresse Documentation Azure PowerShell19. Comme l’interface CLI, PowerShell est disponible pour
Windows, macOS et Linux.
●● Modèles Azure Resource Manager. Un modèle Azure Resource Manager décrit le service (ou les
services) que vous voulez déployer dans un fichier texte au format JSON (JavaScript Object Notation).
L’exemple ci-dessous montre un modèle que vous pouvez utiliser pour provisionner un compte
Stockage Azure.

18 https://docs.microsoft.com/cli/azure/what-is-azure-cli
19 https://docs.microsoft.com/powershell/azure
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    167

"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2016-01-01",
"name": "mystorageaccount",
"location": "westus",
"sku": {
"name": "Standard_LRS"
},
"kind": "Storage",
"properties": {}
}
]

Vous envoyez le modèle à Azure à l’aide de la commande az deployment group create dans
l’interface de ligne de commande Azure ou de la commande New-AzResourceGroupDeployment
dans Azure PowerShell. Pour plus d’informations sur la création et l’utilisation de modèles Azure Resource
Manager pour approvisionner des ressources Azure, consultez l’article Que sont les modèles ARM ?20

Approvisionner Azure Cosmos DB


Azure Cosmos DB est une base de données de documents, adaptée à une gamme d’applications. Dans
l’exemple de scénario, Contoso a décidé d’utiliser Cosmos DB pour au moins une partie de son stockage
et de son traitement de données.
Dans Cosmos DB, vous organisez vos données sous la forme d’un ensemble de documents stockés dans
des conteneurs. Les conteneurs sont conservés dans une base de données. Une base de données s’ex-
écute dans le contexte d’un compte Cosmos DB. Vous devez créer le compte avant de pouvoir configurer
des bases de données.
Cette unité décrit comment provisionner un compte Cosmos DB, puis créer une base de données et un
conteneur dans ce compte.

Comment approvisionner un compte Cosmos DB


Vous pouvez approvisionner un compte Cosmos DB de manière interactive, à l’aide du portail Azure, ou
par programmation, via Azure CLI, Azure PowerShell ou un modèle Resource Manager d’Azure. La vidéo
suivante décrit comment utiliser le portail Azure.

https://www.microsoft.com/videoplayer/embed/RE4AwNK

Si vous préférez utiliser Azure CLI ou Azure PowerShell, vous pouvez exécuter les commandes suivantes
pour créer un compte Cosmos DB. Les paramètres de ces commandes correspondent à de nombreuses
options que vous pouvez sélectionner à l’aide du portail Azure. Les exemples ci-dessous créent un

20 https://docs.microsoft.com/azure/azure-resource-manager/templates/overview
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
168     

compte pour l’API Core (SQL), avec une géo-redondance entre les régions EastUS et WestUS, et la prise
en charge multirégion des écritures. Pour plus d’informations sur ces commandes, consultez la page az
cosmosdb create21 pour Azure CLI, ou la page Nouveau-AzCosmosDBAccount22 pour PowerShell.
## Azure CLI

az cosmosdb create \
--subscription <your-subscription> \
--resource-group <resource-group-name> \
--name <cosmosdb-account-name> \
--locations regionName=eastus failoverPriority=0 \
--locations regionName=westus failoverPriority=1 \
--enable-multiple-write-locations

## Azure PowerShell

New-AzCosmosDBAccount `
-ResourceGroupName "<resource-group-name>" `
-Name "<cosmosbd-account-name>" `
-Location @("West US", "East US") `
-EnableMultipleWriteLocations

REMARQUE : Pour utiliser Azure PowerShell pour provisionner un compte Cosmos DB, vous devez
d’abord installer le module Az.CosmosDB PowerShell :
Install-Module -Name Az.CosmosDB

L’autre option de déploiement consiste à utiliser un modèle Resource Manager Azure. Le modèle pour
Cosmos DB peut être assez long, en raison du nombre de paramètres. Pour vous faciliter la vie, Microsoft
a publié un certain nombre d’exemples de modèles permettant de gérer différentes configurations. Vous
pouvez télécharger ces modèles à partir du site web de Microsoft, sur Gérer les ressources de l’API Core
(SQL) Azure Cosmos DB à l’aide de modèles Azure Resource Manager23.

Comment créer une base de données et un conteneur


Un compte Azure Cosmos DB en lui-même ne fournit pas vraiment de ressources autres que quelques
éléments d’infrastructure statique. Les bases de données et les conteneurs sont les principaux consom-
mateurs de ressources. Les ressources sont allouées en termes d’espace de stockage requis pour contenir
vos bases de données et conteneurs, et de puissance de traitement requise pour stocker et extraire des
données. Azure Cosmos DB utilise le concept d’unités de requêtes par seconde (RU/s) pour gérer les
performances et le coût des bases de données. Cette mesure fait abstraction des ressources physiques
sous-jacentes qui doivent être provisionnées pour prendre en charge les performances requises.
Vous pouvez considérer une unité de requête comme la quantité de ressources E/S et de calcul néces-
saires pour satisfaire une simple requête de lecture adressée à la base de données. Microsoft donne une
mesure d’environ une RU comme ressources nécessaires pour lire un document de 1 Ko avec 10 champs.
Ainsi, un débit d’une RU par seconde (RU/s) prendra en charge une application qui lit un seul document
de 1 Ko chaque seconde. Vous pouvez spécifier le nombre d’UR/s de débit dont vous avez besoin lorsque

21 https://docs.microsoft.com/cli/azure/cosmosdb?view=azure-cli-latest#az-cosmosdb-create
22 https://docs.microsoft.com/powershell/module/az.cosmosdb/new-azcosmosdbaccount
23 https://docs.microsoft.com/azure/cosmos-db/manage-sql-with-resource-manager
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    169

vous créez une base de données ou lorsque vous créez des conteneurs individuels dans une base de
données. Si vous spécifiez le débit pour une base de données, tous les conteneurs de cette base de
données partagent ce débit. Si vous spécifiez le débit d’un conteneur, le conteneur obtient ce débit pour
lui-même.
Si vous sous-approvisionnez (en spécifiant trop peu de RU/s), Cosmos DB commencera à limiter les
performances. Une fois la limitation commencée, les requêtes seront invitées à être redemandées plus
tard, lorsque’il y aura des ressources disponibles pour les satisfaire. Si une application fait trop de
tentatives pour réessayer de demander une requête limitée, la requête peut être abandonnée. Le débit
minimum que vous pouvez allouer à une base de données ou à un conteneur est de 400 RU/s. Vous
pouvez à tout moment augmenter et diminuer les RU/s pour un conteneur. Allouer plus de RU/s aug-
mente le coût. Cependant, une fois que vous avez alloué le débit à une base de données ou à un conte-
neur, vous serez facturé pour les ressources provisionnées, que vous les utilisiez ou non.
REMARQUE : Si vous avez appliqué la remise de niveau gratuite à votre compte Cosmos DB, vous
obtenez gratuitement les 400 premières RU/s pour une seule base de données ou un seul conteneur. 400
RU/s est une capacité suffisante pour la plupart des bases de données petites à modérées.
La vidéo suivante présente la marche à suivre pour utiliser le portail Azure pour créer une base de
données et un conteneur.

https://www.microsoft.com/videoplayer/embed/RE4AkhH

Si vous préférez utiliser Azure CLI ou Azure PowerShell, vous pouvez exécuter les commandes suivantes
pour créer des documents et des conteneurs. Le code ci-dessous montre quelques exemples :
## Azure CLI - Créer une base de données

az cosmosdb sql database create \


--account-name <cosmos-db-account-name> \
--name <database-name> \
--resource-group <resource-group-name> \
--subscription <your-subscription> \
--throughput <number-of-RU/s>

## Azure CLI - Créer un conteneur

az cosmosdb sql container create \


--account-name <cosmos-db-account-name> \
--database-name <database-name> \
--name <container-name> \
--resource-group <resource-group-name> \
--partition-key-path <key-field-in-documents>

## Azure PowerShell - créer une base de données

Set-AzCosmosDBSqlDatabase `
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
170     

-ResourceGroupName "<resource-group-name>" `
-AccountName "<cosmos-db-account-name>" `
-Name "<database-name>" `
-Throughput <number-of-RU/s>

## Azure PowerShell - Créer un conteneur

Set-AzCosmosDBSqlContainer `
-ResourceGroupName "<resource-group-name>" `
-AccountName "<cosmos-db-account-name>" `
-DatabaseName "<database-name>" `
-Name "<container-name>" `
-PartitionKeyKind Hash `
-PartitionKeyPath "<key-field-in-documents>"

Fournir d’autres services de données non rela-


tionnels
Outre Cosmos DB, Azure prend en charge d’autres services de données non relationnels. Ces services
sont optimisés pour des cas plus spécifiques qu’un magasin généralisé de base de données de docu-
ments.
Dans l’exemple de scénario, Contoso souhaite utiliser Stockage Blob Azure pour stocker des fichiers vidéo
et audio, Azure Data Lake Storage pour prendre en charge de gros volumes de données et Stockage Fich-
ier Azure pour créer des partages de fichiers.
Cette unité décrit comment approvisionner le stockage Data Lake, le stockage Blob et le stockage de
fichiers. Comme avec Cosmos DB, vous pouvez approvisionner ces services à l’aide du portail Azure, de
l’interface Azure CLI, d’Azure PowerShell et des modèles d’Azure Resource Manager.
Le stockage Data Lake, le stockage Blob et le stockage de fichiers nécessitent tous la création préalable
d’un compte de stockage Azure.

Création et gestion d’un compte de stockage

Utiliser le portail Azure


Utilisez la page Créer un compte de stockage pour configurer un nouveau compte de stockage à l’aide
du portail Azure.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    171

Sous l’onglet Informations de base, fournissez les détails suivants :


●● Abonnement. Sélectionnez votre abonnement Azure.
●● Groupe de ressources. Sélectionnez un groupe de ressources existant ou créez-en un nouveau, selon
le cas.
●● Nom du compte de stockage. Comme avec un compte Cosmos DB, chaque compte de stockage doit
avoir un nom unique qui n’a pas déjà été utilisé par quelqu’un d’autre.
●● Emplacement. Sélectionnez la région la plus proche de vous si vous développez une nouvelle
application ou la région la plus proche de vos utilisateurs si vous déployez une application existante.
●● Performance. Ce paramètre a deux options :
●● Les comptes de stockage Standard sont basés sur des disques durs. Ils représentent le coût le plus
bas des deux options de stockage, mais ont une latence plus élevée. Ce type de compte de
stockage convient aux applications qui nécessitent un stockage en masse auquel on accède
rarement, comme les archives.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
172     

●● Le stockage Premium utilise des disques SSD et présente une latence beaucoup plus faible et de
meilleures performances de lecture/écriture que le stockage Standard. Les disques SSD sont mieux
utilisés pour les applications exigeantes en E/S, telles que les bases de données. Vous pouvez
également utiliser le stockage Premium pour contenir des disques de machine virtuelle Azure. Un
compte de stockage Premium est plus cher qu’un compte standard.
REMARQUE : Le stockage Data Lake n’est disponible qu’avec un compte de stockage Standard, et
non Premium.
●● Genre de compte. Le stockage Azure prend en charge plusieurs types de compte différents :
●● General-purpose v2. Vous pouvez utiliser ce type de compte de stockage pour les objets blob, les
fichiers, les files d’attente et les tables. De plus, il est recommandé pour la plupart des scénarios
qui nécessitent le stockage Azure. Si vous souhaitez approvisionner Azure Data Lake Storage, vous
devez spécifier ce type de compte.
●● General-purpose v1. Type de compte hérité pour les objets blob, les fichiers, les files d’attente et
les tables. Utilisez des comptes à usage général v2 lorsque cela est possible.
●● BlockBlobStorage. Ce type de compte de stockage n’est disponible que pour les comptes
Premium. Vous utilisez ce type de compte pour bloquer les objets blob et ajouter des objets blob.
Il est recommandé pour les scénarios avec des taux de transaction élevés, des scénarios qui
utilisent des objets plus petits ou des scénarios qui nécessitent une latence de stockage constam-
ment faible.
●● FileStorage. Ce type est également disponible pour les comptes Premium uniquement. Vous
l’utilisez pour créer des comptes de stockage de fichiers uniquement avec des caractéristiques de
performances supérieures. Il est recommandé pour les applications d’entreprise ou à grande
échelle. Utilisez ce type si vous créez un compte pour prendre en charge le stockage de fichiers.
●● BlobStorage. Il s’agit d’un autre type de compte hérité, qui ne peut contenir que des objets blob.
Utilisez plutôt des comptes general-purpose v2, lorsque cela est possible. Vous pouvez utiliser ce
type de compte pour Azure Data Lake Storage, mais le type de compte general-purpose v2 est
préférable.
●● Réplication. Les données d’un compte de stockage Azure sont toujours répliquées trois fois dans la
région que vous spécifiez comme emplacement principal du compte. Le stockage Azure propose deux
options pour la réplication de vos données dans la région principale :
●● Le stockage localement redondant (LRS) copie vos données de manière synchrone trois fois
dans un même emplacement physique de la région. Même si LRS est l’option de réplication la
moins coûteuse, elle n’est pas recommandée pour les applications nécessitant une haute disponi-
bilité.
●● Le stockage géoredondant (GRS) copie vos données de manière synchrone trois fois dans un
même emplacement physique dans la région principale à l’aide de LRS. Il copie ensuite vos
données de manière asynchrone vers un emplacement physique unique dans la région secondaire.
Cette forme de réplication protège contre les pannes régionales.
●● La réplication Stockage géoredondant à accès en lecture (RA-GRS) est une extension de GRS
qui fournit un accès direct en lecture seule aux données de l’emplacement secondaire. En re-
vanche, l’option GRS n’expose pas les données dans l’emplacement secondaire, et elle n’est
utilisée que pour se remettre d’une défaillance dans l’emplacement principal. La réplication
RA-GRS permet de stocker une copie en lecture seule des données à proximité des utilisateurs
situés dans un emplacement géographiquement éloigné, ce qui contribue à réduire les temps de
latence de lecture.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    173

REMARQUE : Pour maintenir le niveau de performance, les comptes de stockage Premium prennent
uniquement en charge la réplication LRS. En effet, la réplication est effectuée de manière synchrone
pour maintenir l’intégrité des données. La réplication des données dans une région éloignée peut
augmenter la latence au point de faire perdre tout avantage à l’utilisation d’un stockage Premium.
●● Niveau d’accès. Cette option n’est disponible que pour les comptes de stockage Standard. Vous
pouvez choisir entre les niveaux Chaud et Froid.
Le niveau d’accès Chaud présente des coûts de stockage plus élevés que les niveaux Froid et Archive,
mais offre les coûts d’accès les plus bas. Les exemples de scénarios d’utilisation pour le niveau d’accès
Chaud sont les suivants :
●● Les données en cours d’utilisation ou susceptibles d’être consultées (lues et écrites) fréquemment.
●● Les données préparées pour le traitement et la migration éventuelle vers le niveau d’accès Froid.
Le niveau d’accès Froid a des coûts de stockage inférieurs et des coûts d’accès plus élevés par rapport
au stockage Chaud. Ce niveau est destiné aux données qui resteront dans le niveau Froid pendant au
moins 30 jours. Voici quelques exemples de scénarios d’utilisation pour le niveau d’accès Froid :
●● Ensembles de données de sauvegarde à court terme et de récupération d’urgence.
●● Les contenus multimédias plus anciens ne sont plus consultés fréquemment, mais ils restent
disponibles immédiatement lors de l’accès.
●● Ensembles de données volumineux qui doivent être stockés de manière rentable tandis que
davantage de données sont collectées pour un traitement futur. Par exemple, le stockage à long
terme de données scientifiques ou de données de télémétrie brutes d’une installation de fabrica-
tion.

Utiliser Azure CLI


Si vous utilisez l’interface Azure CLI, exécutez la commande az storage account pour créer un nouveau
compte de stockage. L’exemple ci-dessous résume les options disponibles :
az storage account create \
--name <storage-account-name> \
--resource-group <resource-group> \
--location <your-location> \
--sku <sku> \
--kind <kind> \
--access-tier <tier>

La propriété SKU est la combinaison du niveau de performance et des options de réplication. Il peut
s’agir de Premium_LRS, Premium_ZRS, Standard_GRS, Standard_GZRS, Standard_LRS, Standard_RAGRS,
Standard_RAGZRS ou de Standard_ZRS.
REMARQUE : ZRS, dans certaines de ces références, signifie Stockage redondant interzone (Zone Redun-
dant Storage). Le stockage redondant interzone réplique vos données de stockage Azure de manière
synchrone sur trois zones de disponibilité Azure dans la région principale. Chaque zone de disponibilité
est un emplacement physique distinct avec une alimentation, un refroidissement et un réseau in-
dépendants. Ceci est utile pour les applications nécessitant une haute disponibilité.
Le paramètre kind doit être l’un des paramètres BlobStorage, BlockBlobStorage, FileStorage, Storage ou
StorageV2.
Le paramètre access-tier peut être Froid ou Chaud.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
174     

Utiliser Azure PowerShell


Vous utilisez l’applet de commande PowerShell New-AzStorageAccount pour créer un nouveau compte
de stockage, comme suit :
New-AzStorageAccount `
-Name "<storage-account-name>" `
-ResourceGroupName "<resource-group-name>" `
-Location "<your-location>" `
-SkuName "<sku>" `
-Kind "<kind>" `
-AccessTier "<tier>"

Les valeurs des propriétés SkuName, Kind et AccessTier sont les mêmes que celles de la commande Azure
CLI.

Approvisionnement du stockage Data Lake dans un


compte de stockage

Utiliser le portail Azure


IMPORTANT : Si vous approvisionnez un stockage Data Lake, vous devez spécifier les paramètres de
configuration appropriés lorsque vous créez le compte de stockage. Vous ne pouvez pas configurer le
stockage Data Lake une fois le compte de stockage configuré.
Dans le portail Azure, sous l’onglet Avancé de la page Créer un compte de stockage, dans la section
Data Lake Storage Gen2, sélectionnez Activé pour l’option Espace de noms hiérarchique.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    175

Une fois le compte de stockage créé, vous pouvez ajouter un ou plusieurs conteneurs Data Lake Storage
au compte. Chaque conteneur prend en charge une structure de répertoires pour stocker les fichiers Data
Lake.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
176     

Utiliser Azure CLI


Exécutez la commande az storage account avec le paramètre enable-hierarchical-namespace pour
créer un nouveau compte de stockage prenant en charge Data Lake Storage :
az storage account create \
--name <storage-account-name> \
--resource-group <resource-group> \
--location <your-location> \
--sku <sku> \
--kind <kind> \
--access-tier <tier> \
--enable-hierarchical-namespace true

Utiliser Azure PowerShell


Utilisez l’applet de commande PowerShell New-AzStorageAccount avec le paramètre EnableHierarchi-
calNamespace, comme suit :
New-AzStorageAccount `
-Name "<storage-account-name>" `
-ResourceGroupName "<resource-group-name>" `
-Location "<your-location>" `
-SkuName "<sku>" `
-Kind "<kind>" `
-AccessTier "<tier>" `
-EnableHierarchicalNamespace $True
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    177

Approvisionnement du stockage Blob dans un compte de


stockage

Utiliser le portail Azure


Les objets blob sont stockés dans des conteneurs, que vous créez après avoir créé un compte de stock-
age. Dans le portail Azure, vous pouvez ajouter un conteneur à l’aide des fonctionnalités de la page
Aperçu de votre compte de stockage.

La page Conteneurs permet de créer et de gérer des conteneurs. Chaque conteneur doit avoir un nom
unique dans le compte de stockage. Vous pouvez également spécifier le niveau d’accès. Par défaut, les
données contenues dans un conteneur ne sont accessibles que par le propriétaire du conteneur. Vous
pouvez définir le niveau d’accès à l’objet blob pour permettre au public d’accéder en lecture à tous les
objets blob créés dans le conteneur, ou au conteneur pour autoriser l’accès en lecture de tout le contenu
du conteneur, y compris la possibilité de répertorier tous les objets blob. Vous pouvez également config-
urer le contrôle d’accès en fonction du rôle (RBAC) pour un objet blob, si vous avez besoin d’un niveau de
sécurité plus granulaire.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
178     

Une fois que vous avez approvisionné un conteneur, vos applications peuvent charger des objets blob
dans le conteneur.

Utiliser Azure CLI


La commande az storage container create établit un nouveau conteneur blob dans un compte de stock-
age.
az storage container create \
--name <container-name> \
--account-name <storage-account-name> \
--public-access <access>

Le paramètre public-access peut être blob, container, ou off (pour un accès privé uniquement).

Utiliser Azure PowerShell


Utilisez l’applet de commande New-AzStorageContainer pour ajouter un récipient à un compte de
stockage. Vous devez d’abord extraire un objet de compte de stockage avec l’applet de commande
Get-AzStorageAccount. Le code ci-dessous montre un exemple :
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    179

Get-AzStorageAccount `
-ResourceGroupName "<resource-group>" `
-Name "<storage-account-name>" | New-AzStorageContainer `
-Name "<container-name>" `
-Permission <permission>

Le paramètre Permission accepte les valeurs Blob, Container, ou Off.

Comment provisionner le stockage de fichiers dans un


compte de stockage

Utiliser le portail Azure


Vous provisionnez le stockage de fichiers en créant un ou plusieurs partages de fichiers dans le compte
de stockage. Dans le portail Azure, sélectionnez Partages de fichiers sur la page Aperçu pour le compte.

Sur la page Partages de fichiers, créez un nouveau partage de fichiers. Donnez un nom au partage de
fichiers et définissez éventuellement un quota pour limiter la taille des fichiers sur le partage. La taille
totale de tous les fichiers sur tous les partages de fichiers dans un compte de stockage ne peut pas
dépasser 5120 Go.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
180     

Une fois le partage de fichiers créé, les applications peuvent lire et écrire des fichiers partagés à l’aide du
partage de fichiers.

Utiliser Azure CLI


Azure CLI fournit la commande az storage share create pour créer un nouveau partage de fichiers dans
un compte de stockage :
az storage share create \
--name <share-name> \
--account-name <storage-account-name>

Utiliser Azure PowerShell


L’applet de commande New-AzStorageShare crée un nouveau partage de fichiers dans un compte de
stockage. Vous devez d’abord récupérer les détails du compte de stockage.
Get-AzStorageAccount `
-ResourceGroupName "<resource-group>" `
-Name "<storage-account-name>" |New-AzStorageShare `
-Name "<share-name>"

Décrire la configuration des services de données


non relationnels
Après avoir provisionné une ressource, vous devrez souvent la configurer pour répondre aux besoins de
vos applications et de votre environnement. Par exemple, vous devrez peut-être configurer l’accès au
réseau ou ouvrir un port de pare-feu pour permettre à vos applications de se connecter à la ressource.
Dans cette unité, vous apprendrez comment activer l’accès réseau à vos ressources et comment empêch-
er l’exposition accidentelle de vos ressources à des tiers. Vous apprendrez comment utiliser l’authentifica-
tion et le contrôle d’accès pour protéger les données gérées par vos ressources.

Configurer la connectivité et les pare-feu


La connectivité par défaut pour Azure Cosmos DB et Azure Storage consiste à permettre l’accès au
monde extérieur. Vous pouvez vous connecter à ces services à partir d’un réseau local, d’Internet ou à
partir d’un réseau virtuel Azure. Bien que ce niveau d’accès semble risqué, la plupart des services Azure
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    181

atténuent ce risque en exigeant une authentification avant d’accorder l’accès. L’authentification est
décrite plus loin dans cette unité.
REMARQUE : Un réseau virtuel Azure (VNet) est une représentation de votre propre réseau dans le cloud.
Un réseau virtuel vous permet de connecter des machines virtuelles à des services Azure, de la même
manière que si vous utilisiez un réseau physique local. Azure garantit que chaque réseau virtuel est isolé
des autres réseaux virtuels créés par d’autres utilisateurs et d’Internet. Azure vous permet de spécifier les
machines (réelles et virtuelles) et les services autorisés à accéder aux ressources sur le réseau virtuel et les
ports qu’ils peuvent utiliser.

Configurer la connectivité aux réseaux virtuels et aux ordina-


teurs sur site
Pour restreindre la connectivité, utilisez la page Pare-feu et réseaux virtuels d’un service. Pour limiter la
connectivité, choisissez Réseaux sélectionnés. Trois autres sections apparaîtront, étiquetées Réseau
virtuel, Pare-feu et Exceptions.
Dans la section Réseaux virtuels, vous pouvez spécifier les réseaux virtuels autorisés à acheminer le trafic
vers le service. Lorsque vous créez des éléments tels que des applications web et des machines virtuelles,
vous pouvez les ajouter à un réseau virtuel. Si ces applications et machines virtuelles nécessitent un accès
à votre ressource, ajoutez le réseau virtuel contenant ces éléments à la liste des réseaux autorisés.
Si vous devez vous connecter au service à partir d’un ordinateur local, dans la section Pare-feu, ajoutez
l’adresse IP de l’ordinateur. Ce paramètre crée une règle de pare-feu qui autorise le trafic de cette
adresse à atteindre le service.
Le paramètre Exceptions vous permet d’activer l’accès à tous vos services créés dans votre abonnement
Azure.
Pour des informations détaillées, consultez l’article Configurer des pare-feux et des réseaux virtuels
dans Stockage Azure24.
L’image ci-dessous présente la page Pare-feu et réseaux virtuels d’un compte de stockage Azure.
D’autres services ont la même page ou une page similaire.

24 https://docs.microsoft.com/azure/storage/common/storage-network-security
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
182     

Configurer la connectivité à partir de points de terminaison


privés
Point de terminaison privé Azure est une interface réseau qui vous connecte en privé et en toute
sécurité à un service optimisé par Azure Private Link. Private Endpoint utilise une adresse IP privée de
votre réseau virtuel, pour intégrer efficacement le service à votre réseau virtuel. Le service peut être un
service Azure tel que Stockage Azure, Azure Cosmos DB, SQL ou votre propre service de liaison privée.
Pour des informations détaillées, consultez l’article Qu’est-ce qu’Azure Private Endpoint 25?
La page Connexions de points de terminaison privés d’un service vous permet de spécifier les points
de terminaison privés, le cas échéant, qui sont autorisés à accéder à votre service. Vous pouvez utiliser les
paramètres de cette page, avec la page Pare-feu et réseaux virtuels, pour empêcher complètement les
utilisateurs et les applications d’accéder aux points de terminaison publics pour se connecter à votre
compte Cosmos DB.

Configurer l’authentification
De nombreux services incluent une clé d’accès que vous pouvez spécifier lorsque vous essayez de vous
connecter au service. Si vous fournissez une clé incorrecte, l’accès vous sera refusé. L’image ci-dessous
montre comment trouver la clé d’accès pour un compte de stockage Azure. Vous devez sélectionner Clés
d’accès dans la section Paramètres de la page principale du compte. De nombreux autres services
permettent d’afficher la clé d’accès de la même manière, à partir du portail Azure. Si votre clé est com-
promise, vous pouvez générer une nouvelle clé d’accès.

25 https://docs.microsoft.com/azure/private-link/private-endpoint-overview
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    183

REMARQUE : En fait, les services Azure fournissent deux clés, étiquetées clé1 et clé2. Une application
peut utiliser l’une ou l’autre de ces clés pour se connecter au service.
Tout utilisateur ou application connaissant la clé d’accès d’une ressource peut se connecter à cette
ressource. Cependant, les clés d’accès fournissent un niveau d’authentification plutôt grossier. De plus, si
vous devez régénérer une clé d’accès (après une divulgation accidentelle, par exemple), vous devrez
peut-être mettre à jour toutes les applications qui se connectent à l’aide de cette clé.
Azure Active Directory (Azure AD) offre une sécurité et une facilité d’utilisation meilleures en ce qui
concerne l’autorisation de clé d’accès. Microsoft recommande d’utiliser l’autorisation Azure AD lorsque
cela est possible pour minimiser les vulnérabilités de sécurité potentielles inhérentes à l’utilisation des
clés d’accès.
Azure AD constitue un service Azure distinct. Vous ajoutez des utilisateurs et d’autres principaux de
sécurité (comme une application) à un domaine de sécurité géré par Azure AD. La vidéo suivante décrit le
fonctionnement de l’authentification avec Azure.

https://www.microsoft.com/videoplayer/embed/RE4A94T

Pour obtenir des informations détaillées sur l’utilisation d’Azure AD, visitez la page Présentation d’Azure
Active Directory26 sur le site web de Microsoft.

26 https://docs.microsoft.com/azure/active-directory/fundamentals/active-directory-whatis
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
184     

Configurer le contrôle d’accès


Azure AD vous permet de spécifier qui ou quoi peut accéder à vos ressources. Le contrôle d’accès définit
ce qu’un utilisateur ou une application peut faire avec vos ressources après leur authentification.
La gestion des accès aux ressources cloud est une fonction critique pour toute organisation qui utilise le
cloud. Le contrôle d’accès en fonction du rôle Azure (Azure RBAC) vous permet de choisir les personnes
qui ont accès aux ressources Azure et ce qu’elles peuvent faire avec ces ressources. Par exemple, avec
RBAC, vous pouvez :
●● Permettre à un utilisateur de gérer les machines virtuelles dans un abonnement, et à un autre de gérer
les réseaux virtuels.
●● Permettre à un groupe d’administrateurs de base de données de gérer les bases de données SQL
dans un abonnement.
●● Permettre à un utilisateur de gérer toutes les ressources d’un groupe de ressources, telles que les
machines virtuelles, les sites web et les sous-réseaux.
●● Autoriser une application à accéder à toutes les ressources d’un groupe de ressources.
Vous contrôlez l’accès aux ressources à l’aide d’Azure RBAC pour créer des attributions de rôles. Une
attribution de rôle se compose de trois éléments : un principal de sécurité, une définition de rôle et une
étendue.
●● Un principal de sécurité est un objet qui représente un utilisateur, un groupe, un service ou une
identité managée qui demande l’accès aux ressources Azure.
●● Une définition de rôle, souvent abrégée en rôle, est un ensemble d’autorisations. Une définition de
rôle répertorie les opérations qui peuvent être effectuées, telles que la lecture, l’écriture et la suppres-
sion. Les rôles peuvent recevoir des noms de haut niveau, comme le propriétaire, ou des noms
spécifiques, comme le lecteur de machine virtuelle. Azure comprend plusieurs rôles intégrés que vous
pouvez utiliser, notamment :
●● Propriétaire - : a un droit d’accès complet à toutes les ressources, y compris le droit de déléguer
l’accès à d’autres.
●● Contributeur - : peut créer et gérer tous les types de ressources Azure, mais ne peut pas accorder
l’accès à d’autres utilisateurs.
●● Lecteur : peut afficher les ressources Azure existantes.
●● Administrateur d’accès utilisateur - : vous permet de gérer l’accès des utilisateurs aux ressourc-
es Azure.
Vous pouvez également créer et enregistrer des affichages personnalisés. Pour des informations
détaillées, voir Créer ou mettre à jour des rôles personnalisés Azure à l’aide du portail Azure27 sur
le site web de Microsoft.
●● Une étendue répertorie l’ensemble de ressources auxquelles s’applique l’accès. Lorsque vous at-
tribuez un rôle, vous pouvez limiter davantage les actions autorisées en définissant une étendue. Cela
est utile si, par exemple, vous souhaitez faire de quelqu’un un contributeur de site web, mais unique-
ment pour un groupe de ressources.
Vous ajoutez des attributions de rôle à une ressource dans le portail Azure via la page Contrôle d’accès
(IAM). L’onglet Attributions de rôle vous permet d’associer un rôle à un principal de sécurité, en définis-

27 https://docs.microsoft.com/azure/role-based-access-control/custom-roles-portal
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    185

sant le niveau d’accès du rôle à la ressource. Pour plus d’informations, lisez Ajouter ou supprimer des
attributions de rôle Azure à l’aide du portail Azure28.

Configurer la sécurité avancée


Outre l’authentification et l’autorisation, de nombreux services offrent une protection supplémentaire
grâce à une sécurité avancée.
La sécurité avancée met en œuvre la protection et l’évaluation des menaces. La protection contre les
menaces ajoute des renseignements de sécurité à votre service. Ces renseignements vous aident à
surveiller le service et à détecter des schémas d’activité inhabituels qui pourraient être nuisibles ou
compromettre les données gérées par le service. L’évaluation identifie les vulnérabilités de sécurité
potentielles et recommande des actions pour les atténuer.
Des frais supplémentaires vous seront facturés pour cette fonctionnalité. L’image ci-dessous montre la
page Sécurité avancée pour le stockage Azure. La page correspondante pour les autres services non
relationnels, tels que Cosmos DB, est similaire.

28 https://docs.microsoft.com/azure/role-based-access-control/role-assignments-portal
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
186     

Configurer Azure Cosmos DB et le stockage Az-


ure
En plus des paramètres de configuration généraux applicables à de nombreux services, la plupart des
services ont également des fonctionnalités spécifiques qu’il est possible de configurer. Par exemple, dans
l’exemple de scénario, après avoir provisionné un compte Cosmos DB, vous devrez peut-être configurer
la réplication ou les paramètres de cohérence de la base de données.
Dans cette unité, vous étudierez les paramètres de configuration spécifiques pour les comptes d'Azure
Cosmos DB et de stockage Azure.

Azure Cosmos DB

Configurer la réplication
Azure Cosmos DB vous permet de répliquer les bases de données et les conteneurs de votre compte
dans plusieurs régions. Lorsque vous approvisionnez initialement un compte, vous pouvez spécifier que
vous souhaitez copier des données dans une autre région. Vous n’avez pas le contrôle sur la région
utilisée, car la prochaine région la plus proche est automatiquement sélectionnée. La page Répliquer les
données à l'échelle mondiale permet de configurer la réplication plus en détail. Vous pouvez répliquer
des données dans plusieurs régions et sélectionner les régions à utiliser. De cette façon, vous pouvez
choisir les régions les plus proches de vos consommateurs, afin de minimiser la latence des demandes
faites par ces consommateurs.
Vous pouvez également utiliser cette page pour configurer le basculement automatique afin de garantir
une haute disponibilité. Si les bases de données de la région primaire (la région dans laquelle vous avez
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    187

créé le compte) deviennent indisponibles, l’une des régions répliquées prendra en charge le traitement et
deviendra la nouvelle région primaire.
Par défaut, seule la région dans laquelle vous avez créé le compte prend en charge les opérations
d'écriture. Les répliques sont toutes en lecture seule. Cependant, vous pouvez activer les écritures
multirégionales. Les écritures multirégionales risquent cependant de provoquer des conflits si des
applications exécutées dans différentes régions modifient les mêmes données. Dans ce cas, l’écriture la
plus récente supplantera les modifications apportées précédemment lorsque les données sont répliquées,
bien que vous puissiez écrire votre propre code pour appliquer une stratégie différente.
La réplication est asynchrone. Il est donc probable qu’il y ait un décalage entre une modification apportée
dans une région et le moment où ce changement devient visible dans d’autres régions.

REMARQUE : Chaque réplica augmente le coût du service Cosmos DB. Par exemple, si vous répliquez
votre compte dans deux régions, vos coûts seront trois fois supérieurs à ceux d’un compte non répliqué.

Configurer la cohérence
Au sein d’une même région, Cosmos DB utilise un cluster de serveurs. Cette approche permet d’améliorer
la scalabilité et la disponibilité. Une copie de toutes les données est conservée sur chaque serveur du
cluster. La vidéo suivante explique comment cela fonctionne et les effets que cela peut avoir sur la
cohérence.

https://www.microsoft.com/videoplayer/embed/RE4AbG9
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
188     

Cosmos DB vous permet de spécifier comment ces incohérences doivent être gérées. Il offre les options
suivantes :
●● Éventuel. Cette option est la moins compatible. Ceci s’appuie sur la situation qui vient d’être décrite.
Les modifications ne seront pas perdues : elles apparaîtront éventuellement, mais il est possible
qu’elles n’apparaissent pas immédiatement. De plus, si une application apporte plusieurs modifica-
tions, certaines de ces modifications peuvent être immédiatement visibles, mais d’autres peuvent être
retardées. Les modifications peuvent apparaître dans le désordre.
●● Préfixe cohérent. Cette option garantit que les modifications apparaîtront dans l’ordre, bien qu’il
puisse y avoir un délai avant qu’elles ne deviennent visibles. Pendant cette période, les applications
peuvent afficher d’anciennes données.
●● Session. Si une application apporte un certain nombre de modifications, elles seront toutes visibles
par cette application, et dans l’ordre. D’autres applications peuvent afficher d’anciennes données, bien
que toutes les modifications apparaissent dans l’ordre, comme elles le font pour l’option Préfixe
cohérent. Cette forme de cohérence est parfois appelée lire vos propres écritures.
●● Obsolescence limitée. Il y a un décalage entre l’écriture et la lecture des données mises à jour. Vous
spécifiez cette obsolescence sous forme de période ou de nombre de versions précédentes pour
lesquelles les données seront incohérentes.
●● Forte : Dans ce cas, toutes les écritures ne sont visibles pour les clients qu’une fois que les modifica-
tions ont été confirmées avoir été écrites dans tous les réplicas. Cette option n’est pas disponible si
vous devez distribuer vos données dans plusieurs régions du monde.
La cohérence à terme offre la latence et la cohérence les plus faibles. Une forte cohérence produit la
latence la plus élevée, mais aussi la plus grande cohérence. Vous devez sélectionner un niveau de
cohérence par défaut qui équilibre les performances et les exigences de vos applications.
Vous pouvez modifier la cohérence par défaut d’un compte Cosmos DB à l’aide de la page Cohérence
par défaut dans le portail Azure. Les applications peuvent supplanter le niveau de cohérence par défaut
pour les opérations de lecture individuelles. Toutefois, elles ne peuvent pas augmenter la cohérence
au-dessus de celle spécifiée sur cette page. Elles ne peuvent que la diminuer.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    189

Configuration des comptes de stockage

Configuration générale
La page Configuration d’un compte de stockage vous permet de modifier certains paramètres généraux
du compte. Vous pouvez :
●● Activer ou désactiver les communications sécurisées avec le service. Par défaut, toutes les demandes
et réponses sont chiffrées à l’aide du protocole HTTPS lorsqu’elles circulent sur Internet. Vous pouvez
désactiver le chiffrement si nécessaire, bien que cela ne soit pas recommandé.
●● Basculer le niveau d’accès par défaut entre Froid et Chaud.
●● Modifier la manière dont le compte est répliqué.
●● Activer ou désactiver l’intégration avec Azure AD pour les demandes qui accèdent aux partages de
fichiers.
D’autres options, comme le genre de compte et le niveau de performance, sont affichées sur cette page à
titre informatif seulement ; vous ne pouvez pas les modifier.

Configurer le chiffrement
Toutes les données détenues dans un compte de stockage Azure sont automatiquement chiffrées. Par
défaut, le chiffrement est effectué à l’aide de clés gérées et détenues par Microsoft. Si vous préférez, vous
pouvez fournir vos propres clés de chiffrement.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
190     

Pour utiliser vos propres clés, ajoutez-les à Azure Key Vault. Vous devrez ensuite fournir les détails du
coffre et de la clé, ou l’URI de la clé dans le coffre. Toutes les nouvelles données seront chiffrées au fur et
à mesure qu’elles sont écrites. Les données existantes seront chiffrées à l’aide d’un processus exécuté en
arrière-plan ; ce processus peut prendre un peu de temps.

Configurer les signatures d’accès partagé


Vous pouvez utiliser des signatures d’accès partagé (SAS) pour accorder des droits limités aux ressources
d’un compte de stockage Azure pendant une période spécifiée. Cette fonctionnalité permet aux applica-
tions d’accéder à des ressources telles que des objets blob et des fichiers, sans exiger qu’elles soient
d’abord authentifiées. Vous ne devriez utiliser de SAS que pour les données que vous souhaitez rendre
publiques.
Les SAS sont un jeton qu’une application peut utiliser pour se connecter à la ressource. L’application
ajoute le jeton à l’URL de la ressource. L’application peut ensuite envoyer des demandes de lecture ou
d’écriture de données à l’aide de cette URL et de ce jeton.
Vous pouvez créer un jeton qui accorde un accès temporaire à l’ensemble du service, aux conteneurs du
service ou à des objets individuels comme des objets blob et des fichiers.
Utilisez la page Signature d’accès partagé dans le portail Azure pour générer des jetons SAS. Vous
spécifiez les autorisations (vous pouvez fournir un accès en lecture seule à un objet blob, par exemple), la
période pendant laquelle le jeton SAS est valide et la plage d’adresses IP des ordinateurs autorisés à
utiliser le jeton SAS. Le jeton SAS est chiffré à l’aide de l’une des clés d’accès ; vous devez spécifier la clé à
utiliser (clé1 ou clé2).
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    191

Labo : Fournir des services de données Azure


non relationnelles
Dans l’exemple de scénario, vous avez décidé de créer les banques de données suivantes :
●● Une solution Cosmos DB pour conserver des informations sur le volume d’articles en stock. Vous
devez stocker des informations actuelles et historiques sur les niveaux de volume afin de pouvoir
suivre l’évolution des niveaux dans le temps. Les données sont enregistrées quotidiennement.
●● Un magasin Data Lake Store pour conserver des données de production et de qualité.
●● Un conteneur d’objets blob pour conserver des images des produits fabriqués par l’entreprise.
●● Un stockage de fichiers pour partager des rapports.
Accédez à l’exercice : 29Module Fournir des services de données Azure non relationnelles30 sur
Microsoft Learn, et suivez les instructions du module pour provisionner et configurer le compte Cosmos
DB, puis le tester en créant une base de données, un conteneur et un exemple de document. Vous allez
également provisionner un compte de stockage Azure qui peut fournir un stockage d’objets blob, de
fichiers et Data Lake.
Vous allez effectuer cet exercice à l’aide du portail Azure.

29 https://docs.microsoft.com/fr-fr/learn/modules/explore-provision-deploy-non-relational-data-services-azure/7-exercise-provision-non-
relational-azure
30 https://docs.microsoft.com/fr-fr/learn/modules/explore-provision-deploy-non-relational-data-services-azure/7-exercise-provision-non-
relational-azure
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
192     

Contrôle des connaissances


Question 1
Qu’est-ce que l’approvisionnement ?
†† L’action d’exécuter une série de tâches qu’un fournisseur de services effectue pour créer et configurer
un service.
†† Fournir à d’autres utilisateurs l’accès à un service existant.
†† Réglage d’un service pour améliorer les performances.

Question 2
Qu’est-ce qu’un principal de sécurité ?
†† Une collection nommée d’autorisations qui peuvent être accordées à un service, comme la possibilité
d’utiliser le service pour lire, écrire et supprimer des données. Propriétaire et Contributeur sont des
exemples dans Azure.
†† Un ensemble de ressources gérées par un service auquel vous pouvez accorder l’accès.
†† Un objet qui représente un utilisateur, un groupe, un service ou une identité managée qui demande
l’accès aux ressources Azure.

Question 3
Parmi les éléments suivants, lequel présente l’avantage d’utiliser la réplication multirégionale avec Cosmos
DB ?
†† Les données seront toujours cohérentes dans chaque région.
†† La disponibilité est accrue.
†† Sécurité accrue pour vos données.

Résumé
L’approvisionnement consiste à créer une instance d’un service. Azure prend en charge l’allocation des
ressources requises pour exécuter un service dans le cadre du processus d’approvisionnement. Une fois
que vous avez approvisionné un service, vous pouvez le configurer pour permettre à vos applications et à
vos utilisateurs d’accéder à ce service.
Au cours de cette leçon, vous apprendrez à :
●● Fournir des services de données non relationnelles
●● Configurer les services de données non relationnels
●● Explorer les problèmes de connectivité de base
●● Explorer les composants de sécurité des données
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    193

En savoir plus
●● Qu’est-ce qu’Azure CLI ?31
●● Documentation Azure PowerShell32
●● Que sont les modèles Azure Resource Manager ?33
●● Notebooks Jupyter intégrés dans Azure Cosmos DB34
●● Qu’est-ce que le point de terminaison privé Azure ?35
●● Gérer les ressources API d’Azure Cosmos DB Core (SQL) avec les modèles Azure Resource
Manager36
●● Configurer les pare-feu et les réseaux virtuels Azure Storage37
●● Créer ou mettre à jour des rôles personnalisés Azure à l’aide du portail Azure38
●● Ajouter ou supprimer des attributions de rôle Azure à l’aide du portail Azure39
●● Qu’est-ce qu’Azure Active Directory ?40

31 https://docs.microsoft.com/cli/azure/what-is-azure-cli
32 https://docs.microsoft.com/powershell/azure
33 https://docs.microsoft.com/azure/azure-resource-manager/templates/overview
34 https://azure.microsoft.com/blog/analyze-and-visualize-your-data-with-azure-cosmos-db-notebooks/
35 https://docs.microsoft.com/azure/private-link/private-endpoint-overview
36 https://docs.microsoft.com/azure/cosmos-db/manage-sql-with-resource-manager
37 https://docs.microsoft.com/azure/storage/common/storage-network-security
38 https://docs.microsoft.com/azure/role-based-access-control/custom-roles-portal
39 https://docs.microsoft.com/azure/role-based-access-control/role-assignments-portal
40 https://docs.microsoft.com/azure/active-directory/fundamentals/active-directory-whatis
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
194     

Gérer les magasins de données non relation-


nelles dans Azure
Introduction
Les magasins de données non relationnels peuvent prendre de nombreuses formes. Azure vous permet
de créer des bases de données non relationnelles à l’aide d’Azure Cosmos DB. Cosmos DB prend en
charge plusieurs modèles NoSQL, notamment les magasins de documents, les bases de données de
graphiques, les magasins de valeurs-clés et les bases de données de familles de colonnes. Les autres
magasins non relationnels disponibles dans Azure incluent le stockage Azure, que vous pouvez utiliser
pour stocker des objets blob et des fichiers. Dans cette leçon, vous apprendrez à utiliser ces différents
services de stockage pour stocker et récupérer des données.
Supposons que vous êtes un ingénieur de données travaillant chez Contoso, une organisation avec une
importante activité de fabrication. L’organisation doit collecter et stocker des informations à partir de
diverses sources, telles que des données en temps réel surveillant l’état des machines de la ligne de
production, des données de contrôle de la qualité des produits, des journaux d’activité de production his-
toriques, des volumes de produits en stock et des données du stock des matières premières. Ces infor-
mations sont critiques au fonctionnement de l’organisation. Contoso a créé des magasins pour contenir
ces informations. Vous avez été invité à téléverser des données dans ces magasins et à étudier comment
interroger ces données à l’aide des fonctionnalités fournies par Azure.

Objectifs d’apprentissage
Dans cette leçon, vous allez :
●● Téléchargez des données dans une base de données Cosmos DB, puis découvrez comment interroger
ces données.
●● Charger et télécharger des données dans un compte de stockage Azure.

Gérer Azure Cosmos DB


Azure Cosmos DB est un système de gestion de base de données NoSQL. Il est compatible avec certains
systèmes NoSQL existants, notamment MongoDB et Cassandra. Dans le scénario de Contoso, vous avez
créé une base de données Cosmos DB pour conserver des informations sur la quantité d’articles en stock.
Vous devez maintenant comprendre comment remplir cette base de données et comment l’interroger.
Dans cette unité, vous allez passer en revue la façon dont Cosmos DB stocke les données. Vous verrez
ensuite comment charger des données dans une base de données Cosmos DB et comment configurer
Cosmos DB pour prendre en charge le chargement en masse.

Qu’est-ce qu’Azure Cosmos DB ?


Cosmos DB gère les données comme un ensemble de documents. Un document est une collection de
champs identifiés par une clé. Les champs de chaque document peuvent varier, et un champ peut
contenir des documents enfants. Cosmos DB utilise la notation JSON (JavaScript Object Notation) pour
représenter la structure du document. Dans ce format, les champs d’un document sont placés entre
accolades, { et }, et ont pour préfixe leur nom. L’exemple ci-dessous montre une paire de documents
représentant des informations sur les clients. Dans les deux cas, chaque document comprend des docu-
ments enfants contenant le nom et l’adresse, mais les champs dans ces documents enfants varient d’un
client à l’autre.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    195

## Document 1 ##
{
"customerID": "103248",
"name":
{
"first": "AAA",
"last": "BBB"
},
"address":
{
"street": "Main Street",
"number": "101",
"city": "Acity",
"state": "NY"
},
"ccOnFile": "yes",
"firstOrder": "02/28/2003"
}

## Document 2 ##
{
"customerID": "103249",
"name":
{
"title": "Mr",
"forename": "AAA",
"lastname": "BBB"
},
"address":
{
"street": "Another Street",
"number": "202",
"city": "Bcity",
"county": "Gloucestershire",
"country-region": "UK"
},
"ccOnFile": "yes"
}

Les documents d’une base de données Cosmos DB sont organisés en conteneurs. Les documents d’un
conteneur sont regroupés en partitions. Une partition contient un ensemble de documents qui partagent
une clé de partition commune. C’est à vous de désigner l’un des champs dans vos documents comme clé
de partition. Vous devez sélectionner une clé de partition qui regroupe tous les documents associés.
Cette approche contribue à réduire la quantité d’opérations de lecture sur disque que les requêtes
effectuent lors de la récupération d’un ensemble de documents pour une entité donnée. Par exemple,
dans une base de données de documents pour un système de commerce électronique enregistrant les
détails des clients et les commandes passées, vous pouvez partitionner les données par ID de client et
stocker les détails des clients et des commandes de chaque client dans la même partition. Pour trouver
toutes les informations et commandes d’un client, il vous suffit d’interroger cette partition :
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
196     

Cosmos DB est un service dont le rôle est fondamental dans Azure. Cosmos DB est utilisé par de nom-
breux produits Microsoft pour les applications stratégiques exécutées à l’échelle mondiale, notamment
Skype, Xbox, Office 365 et Azure. Cosmos DB est parfaitement adapté aux secteurs suivants : Internet des
objets et télématique, vente au détail et marketing, jeux, applications web et mobiles. Pour plus d’infor-
mations sur les utilisations de Cosmos DB, consultez l’article Cas d’utilisation courants d’Azure Cosmos
DB41.

Présentation des API Cosmos DB


Vous accédez aux données d’une base de données Cosmos DB via un ensemble de commandes et
d’opérations, appelées collectivement API ou Interface de programmation d’applications. Cosmos DB
fournit sa propre API native, appelée API SQL. Cette API fournit un langage de requête de type SQL sur
les documents, qui permet de récupérer des documents en utilisant les instructions SELECT. L’exemple
suivant trouve l’adresse du client 103248 dans les documents indiqués ci-dessus :

41 https://docs.microsoft.com/azure/cosmos-db/use-cases
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    197

SELECT c.address
FROM customers c
WHERE c.customerID = "103248"

Cosmos DB fournit également d’autres API qui vous permettent d’accéder à ces documents à l’aide des
ensembles de commandes d’autres systèmes de gestion de base de données NoSQL. Ces API sont les
suivantes :
●● API Table. Cette interface vous permet d’utiliser l’API Stockage Table Azure pour stocker et récupérer
des documents. Son objectif est de vous permettre de passer de Stockage Table à Cosmos DB sans
avoir à modifier vos applications existantes.
●● API MongoDB. MongoDB est une autre base de données de documents bien connue avec sa propre
interface de programmation. Elle est utilisée localement par de nombreuses organisations. Grâce à
l’API MongoDB pour Cosmos DB, une application MongoDB peut s’exécuter sans aucune modification
sur une base de données Cosmos DB. Vous pouvez migrer les données de la base de données
MongoDB vers Cosmos DB dans le cloud, mais continuer à exécuter vos applications existantes pour
accéder à ces données.
●● API Cassandra. Cassandra est un système de gestion de base de données de type « famille de col-
onnes ». Il s’agit d’un autre système de gestion de base de données utilisé localement par de nom-
breuses organisations. L’API Cassandra pour Cosmos DB fournit une interface de programmation de
type Cassandra pour Cosmos DB. Les demandes de l’API Cassandra sont mappées aux demandes de
document Cosmos DB. Comme pour l’API MongoDB, l’objectif principal de l’API Cassandra est de
vous permettre de migrer rapidement des applications et des bases de données Cassandra vers
Cosmos DB.
●● API Gremlin. L’API Gremlin implémente une interface de base de données de graphe pour Cosmos DB.
Un graphe est une collection d’objets de données et de relations dirigées. Les données sont toujours
conservées sous la forme d’un ensemble de documents dans Cosmos DB, mais l’API Gremlin vous
permet d’effectuer des requêtes de graphe sur ces données. En utilisant l’API Gremlin, vous pouvez
parcourir les objets et les relations dans le graphique pour découvrir toutes sortes de relations
complexes, telles que « Quel est le nom de l’animal de compagnie du propriétaire de Sam ? » dans le
graphique ci-dessous.

Les API Table, MongoDB et Cassandra servent principalement à prendre en charge les applications
existantes écrites avec ces magasins de données. Si vous générez une nouvelle application et une
nouvelle base de données, vous devez utiliser l’API SQL ou l’API Gremlin.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
198     

Effectuer des opérations de données dans Cosmos DB


Cosmos DB propose plusieurs options pour charger des données dans une base de données Cosmos DB
et interroger ces données. Vous pouvez :
●● Utiliser l’Explorateur de données dans le portail Azure pour exécuter des requêtes ad hoc. Vous
pouvez également utiliser cet outil pour charger des données, mais un seul document peut être
chargé à la fois. La fonctionnalité de chargement de données a pour objectif principal de charger, à
des fins de test, un petit nombre de documents (ne dépassant pas 2 Mo en tout), pas d’importer de
grandes quantités de données.
●● Utiliser Azure Data Factory42 pour importer des données d’une autre source.
●● Écrire une application personnalisée qui importe des données à l’aide de la bibliothèque BulkExecu-
tor43 Cosmos DB. Cette stratégie n’est pas traitée dans ce module.
●● Créer votre propre application qui utilise les fonctions disponibles via la bibliothèque cliente d’API
Cosmos DB SQL44 pour stocker des données. Cette approche n’est pas non plus traitée dans ce
module.

Configurer Cosmos DB pour prendre en charge le charge-


ment en masse
Si vous avez beaucoup de données, l’outil de migration des données peut utiliser plusieurs threads
simultanés pour regrouper vos données en blocs et les charger en parallèle. Chaque thread agit comme
une connexion cliente distincte à la base de données. Le chargement en masse peut devenir une tâche
gourmande en écritures.
Si vous chargez des données dans un conteneur et que la capacité de débit configurée pour prendre en
charge le volume d’opérations d’écriture simultanées est insuffisante, certaines demandes de chargement
échouent. Cosmos DB signale une erreur HTTP 429 (taux de demandes élevé). Si vous envisagez d’im-
porter une quantité importante de données, vous devez donc augmenter les ressources de débit à
disposition du conteneur Cosmos cible. Si vous utilisez l’outil de migration des données pour créer le
conteneur et le remplir, la page Informations sur la cible permet de spécifier les ressources de débit à
allouer.

42 https://docs.microsoft.com/azure/data-factory/connector-azure-cosmos-db
43 https://docs.microsoft.com/azure/cosmos-db/tutorial-sql-api-dotnet-bulk-import
44 https://docs.microsoft.com/azure/cosmos-db/create-sql-api-dotnet-v4
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    199

Si vous avez déjà créé le conteneur, utilisez les paramètres Mettre à l’échelle de la base de données sur
la page Explorateur de données de votre base de données dans le portail Azure pour spécifier le débit
maximal, ou définissez le débit sur Mise à l’échelle automatique.

Une fois les données chargées, vous pourrez peut-être diminuer les ressources de débit pour réduire les
coûts de la base de données.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
200     

Interroger Azure Cosmos DB


Bien qu’Azure Cosmos DB soit décrit comme un système de gestion de base de données NoSQL, l’API
SQL permet d’exécuter des requêtes Semblables à celles de SQL sur les bases de données Cosmos DB. Ces
requêtes utilisent une syntaxe similaire à celle de SQL, mais présentent quelques différences. En effet, les
données d’une base de données Cosmos DB sont structurées en documents plutôt qu’en tables.
Dans cette unité, vous découvrirez le dialecte SQL implanté par l’API SQL. Vous verrez comment utiliser
l’explorateur de données dans le portail Azure pour exécuter des requêtes.

Utiliser l’API SQL pour interroger des documents


L’API SQL Cosmos DB prend en charge un dialecte de SQL pour interroger des documents à l’aide
d’instructions SELECT. Celles-ci vous seront familières si vous en avez déjà écrites dans une base de
données relationnelle avec un moteur de base de données conforme à ANSI SQL. L’API SQL retourne les
résultats sous la forme de documents JSON. Toutes les requêtes sont exécutées dans le contexte d’un
conteneur unique.

Comprendre une requête de l’API SQL


Une requête SELECT de l’API SQL comprend les clauses suivantes :
1. Clause SELECT. La clause commence par le mot clé SELECT suivi d’une liste des propriétés à retourner
(séparées par des virgules). Le mot clé « * » signifie toutes les propriétés du document.
2. Clause FROM. Cette clause commence par le mot clé FROM suivi d’un identificateur représentant la
source des enregistrements et d’un alias que vous pouvez utiliser pour cet identificateur dans d’autres
clauses (l’alias est facultatif). Dans une requête de base de données relationnelle, la clause FROM
contient un nom de table. Dans l’API SQL, toutes les requêtes sont limitées à l’étendue d’un conte-
neur. L’identificateur représente donc le nom du conteneur.
3. Clause WHERE. Cette clause est facultative. Elle commence par le mot clé WHERE suivi d’une ou de
plusieurs conditions logiques qui doivent être satisfaites par un document retourné par la requête.
Utilisez la clause WHERE pour filtrer les résultats d’une requête.
4. Clause ORDER BY. Cette clause est également facultative. Elle commence par l’expression ORDER BY
suivie d’une ou de plusieurs propriétés utilisées pour trier le jeu de résultats de sortie.
REMARQUE : Une requête peut également contenir une clause JOIN. Dans un système de gestion de
base de données relationnelle comme Azure SQL Database, les clauses JOIN connectent les données
provenant de tables différentes. Dans l’API SQL, vous utilisez des clauses JOIN pour connecter les champs
d’un document aux champs d’un sous-document qui fait partie du même document. Vous ne pouvez pas
définir de jointures dans des documents différents.
Les exemples ci-dessous illustrent quelques requêtes simples :
// Simple SELECT. L’identifiant « c » est un alias pour le conteneur inter-
rogé.
SELECT c.*
FROM customers c

// Projection – limite les résultats aux champs spécifiés


SELECT c.Title, c.Name
FROM customers c
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    201

// Projection - L'adresse est un sous-document qui contient des champs


nommés « état » et « ville », entre autres

SELECT c.Name, c.Address.State, c.Address.City


FROM customers c

// Filtre qui limite les documents aux clients résidant en Californie


SELECT c.Name, c.Address.City
FROM customers c
WHERE c.Address.State = "CA"

// Extraire les clients résidant en Californie par ordre de nom


SELECT c.Name, c.Address.City
FROM customers c
WHERE c.Address.State = "CA"
ORDER BY c.Name

Comprendre les opérateurs pris en charge


Outre des fonctions permettant de travailler avec des tableaux et de vérifier les types de données, l’API
SQL comprend de nombreuses opérations mathématiques et de chaîne courantes. Parmi les opérateurs
pris en charge dans les requêtes de l’API SQL, citons les suivants :

Type Opérateur
Unaire +, -, ~, NOT
Arithmétique +,-,*,/,%
Au niveau du bit |, &, ^, <<, >>, >>>
Logique ET, OU
Comparaison =, !=, <, >, <=, >=, <>
Chaîne (concaténation) ||
Ternaire (if) ?
L’API SQL prend également en charge :
●● L’opérateur DISTINCT que vous utilisez dans le cadre de la clause SELECT pour éliminer les doublons
dans les données de résultat.
●● L’opérateur TOP que vous pouvez utiliser pour récupérer uniquement les premières lignes retournées
par une requête susceptible de générer un jeu de résultats volumineux.
●● L’opération BETWEEN que vous utilisez dans le cadre de la clause WHERE pour définir une plage
inclusive de valeurs. Le champ de condition BETWEEN a AND b équivaut à la condition field >= a
AND field <= b.
●● L’opérateur IS_DEFINED que vous pouvez utiliser pour détecter l’existence d’un champ spécifié dans
un document.
La requête ci-dessous montre quelques exemples utilisant ces opérateurs.
// Répertoriez toutes les villes des clients (en supprimant les doublons)
vivant dans des États avec des codes entre AK (Alaska) et MD (Maryland)
SELECT DISTINCT c.Address.City
FROM c
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
202     

WHERE c.Address.State BETWEEN "AK" AND "MD"

// Trouvez les 3 noms de clients les plus courants


SELECT TOP 3 *
FROM c
ORDER BY c.Name

// Afficher les coordonnées de chaque client pour lesquels les données de


naissance sont enregistrées
SELECT * FROM p
WHERE IS_DEFINED(p.DateOfBirth)

Comprendre les fonctions d’agrégation


Vous pouvez utiliser les fonctions d’agrégation pour synthétiser les données dans des requêtes SELECT
(placez les fonctions d’agrégation dans la clause SELECT). Le langage de requête de l’API SQL prend en
charge les fonctions d’agrégation suivantes :
●● COUNT (p). Cette fonction retourne le nombre d’instances du champ p dans le jeu de résultats. Pour
compter tous les éléments dans le jeu de résultats, définissez p avec une valeur scalaire (par exemple,
1).
●● SUM(p). Cette fonction retourne la somme de toutes les instances du champ p dans le jeu de résul-
tats. Les valeurs de p doivent être numériques.
●● AVG(p). Cette fonction retourne la moyenne mathématique de toutes les instances du champ p dans
le jeu de résultats. Les valeurs de p doivent être numériques.
●● MAX(p). Cette fonction retourne la valeur maximale du champ p dans le jeu de résultats.
●● MIN(p). Cette fonction retourne la valeur minimale du champ p dans le jeu de résultats.
Bien que la syntaxe des fonctions d’agrégation soit similaire à ANSI SQL, le langage de requête de l’API
SQL, contrairement à ANSI SQL, ne prend pas en charge la clause GROUP BY. Vous ne pouvez donc pas
générer de sous-totaux pour différentes valeurs du même champ dans une même requête. Vous pouvez
inclure plusieurs fonctions d’agrégation dans la clause SELECT de vos requêtes.
Dans l’exemple suivant, la requête renvoie la moyenne, le maximum et la somme du champ âge des
documents d’une collection, en plus d’un décompte de tous les documents de la collection :
SELECT AVG(c.age) AS avg,
MAX(c.age) AS max,
SUM(c.age) AS sum,
COUNT(1) AS count
FROM c

L’API SQL prend également en charge un grand nombre de fonctions mathématiques, trigonométriques,
de chaîne, de tableau et spatiales. Pour obtenir des informations détaillées sur la syntaxe des requêtes,
ainsi que sur les fonctions et opérateurs pris en charge par l’API Cosmos DB SQL, visitez la page Prise en
main des requêtes SQL dans Azure Cosmos DB45 sur le site web de Microsoft.

45 https://docs.microsoft.com/azure/cosmos-db/sql-api-sql-query
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    203

Interroger des documents avec l’API SQL à l’aide de l’Ex-


plorateur de données
Vous pouvez utiliser l’Explorateur de données dans le portail Azure pour créer et exécuter des requêtes
sur un conteneur Cosmos DB. La page Articles pour un conteneur fournit la commande Nouvelle
requête SQL dans la barre d’outils :

Dans le volet de requête qui apparaît, vous pouvez entrer une requête SQL. Sélectionnez Exécuter la
requête pour l’exécuter. Les résultats sont présentés sous la forme d’une liste de documents JSON
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
204     

Vous pouvez enregistrer le texte de la requête si vous souhaitez la réexécuter plus tard. La requête est
enregistrée dans un conteneur distinct. Vous pouvez le récupérer plus tard en utilisant la commande
Open Query dans la barre d’outils.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    205

REMARQUE : La page Articles vous permet également de modifier et de supprimer des documents.
Sélectionnez un document dans la liste pour le faire apparaître dans le volet principal. Vous pouvez
modifier n’importe quel champ et sélectionnez Mettre à jour pour enregistrer les modifications. Sélec-
tionnez Supprimer pour supprimer le document de la collection. La commande Nouvel article permet
d’ajouter manuellement un nouveau document à la collection. Vous pouvez utiliser Télécharger l’élé-
ment pour créer de nouveaux documents à partir d’un fichier contenant des données JSON.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
206     

Gérer le stockage d’objets blob Azure


Le stockage Blob Azure est un référentiel permettant de garder des objets binaires volumineux tels que
des images, des vidéos et des fichiers audio. Dans le scénario de Contoso, vous avez créé un conteneur
d’objets blob pour y conserver les images des produits fabriqués par la société.
Azure propose trois types d’objets blob : blocs, pages et ajout. En général, vous utilisez des objets blob de
pages pour implémenter le stockage sur disque virtuel pour des machines virtuelles Azure. Ils sont
optimisés pour prendre en charge les opérations de lecture et d’écriture aléatoires. Les objets blob
d’ajouts sont adaptés au stockage des données qui grandissent en blocs, comme les journaux ou les
données d’archive. Les objets blob de blocs conviennent parfaitement aux données statiques et constitu-
ent donc le type de stockage le mieux adapté aux données d’image de Contoso.
Dans cette unité, vous allez apprendre à créer et à gérer des objets blob ainsi que les conteneurs dans
lesquels ils se trouvent.
REMARQUE : Cette unité traite de l’utilisation du portail Azure, de l’interface de ligne de commande
Azure (Azure CLI) et d’Azure PowerShell pour gérer les objets blob et leur stockage. L’utilitaire AzCopy
permet également de charger et de télécharger des fichiers, y compris des objets blob. L’unité suivante
décrit comment utiliser AzCopy.

Créer un conteneur de stockage Azure


Dans un compte de stockage Azure, vous stockez des objets blob dans des conteneurs. Un conteneur
offre un moyen pratique de regrouper des objets blob associés et vous pouvez les organiser dans une
hiérarchie de dossiers dans un conteneur, à l’image des fichiers d’un système de fichiers sur disque.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    207

Vous créez un conteneur dans un compte de stockage Azure. Pour cela, vous pouvez soit utiliser le portail
Azure, soit utiliser Azure CLI ou Azure PowerShell à partir de la ligne de commande.

Utiliser le portail Azure


Dans le portail Azure, accédez à la page Vue d’ensemble de votre compte de stockage Azure, puis
sélectionnez Containers (Conteneurs).

Dans la page Containers (Conteneurs), sélectionnez + Container et indiquez un nom pour le nouveau
conteneur. Vous pouvez également spécifier le niveau d’accès public. Pour un conteneur qui sera utilisé
pour contenir des objets blob, le niveau d’accès le plus approprié est Blob. Ce paramètre prend en
charge l’accès anonyme en lecture seule pour les objets blob. Toutefois, les clients non authentifiés ne
peuvent pas lister les objets blob dans le conteneur. Cela signifie qu’ils ne peuvent télécharger un objet
blob que s’ils connaissent son nom et son emplacement dans le conteneur.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
208     

Utiliser Azure CLI


Si vous préférez utiliser Azure CLI, la commande az storage container create crée un nouveau
conteneur. Cette commande accepte un certain nombre de paramètres facultatifs, dont vous trouverez
tous les détails sur la page az storage container create46 sur le site web de Microsoft. L’exemple ci-des-
sous crée un conteneur nommé images pour stocker des objets blob. Le conteneur est créé dans un
compte de stockage nommé contosodata. Le conteneur fournit un accès anonyme aux objets blob.
az storage container create \
--name images \
--account-name contosodata \
--resource-group contoso-group \
--public-access blob

46 https://docs.microsoft.com/cli/azure/storage/container?view=azure-cli-latest#az-storage-container-create
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    209

Utiliser Azure PowerShell


Vous pouvez utiliser l’applet de commande PowerShell New-AzStorageContainer pour créer un
nouveau conteneur de stockage. Les détails sont disponibles sur la page New-AzStorageContainer47 du
site web de Microsoft. Vous devez d’abord obtenir une référence au compte de stockage à l’aide de la
commande Get-AzStorageAccount. Le code ci-dessous en montre un exemple :
Get-AzStorageAccount `
-ResourceGroupName "contoso-group" `
-Name "contosodata" | New-AzStorageContainer `
-Name "images" `
-Permission Blob

Charger un objet blob dans le stockage Azure


Après avoir créé un conteneur, vous pouvez charger des objets blob. Selon la manière dont vous souhait-
ez organiser vos objets blob, vous pouvez créer des dossiers dans le conteneur.

Utiliser le portail Azure


Si vous utilisez le portail Azure, accédez à la page de votre compte de stockage et sélectionnez Contain-
ers sous Service BLOB. Sur la page Containers (Conteneurs), sélectionnez le conteneur à utiliser.
REMARQUE : Si vous avez créé le compte de stockage avec prise en charge des espaces de noms
hiérarchiques (pour Data Lake Storage), la section Service BLOB n’apparaîtra pas dans le portail Azure.
Au lieu de cela, sélectionnez Containers sous Data Lake Storage.

Dans la barre d’outils de la page du conteneur, sélectionnez Charger. Dans la boîte de dialogue Charger
un objet blob, accédez au fichier contenant les données à charger. La section déroulante Avancé vous
permet de modifier les options par défaut. Vous pouvez ainsi spécifier le nom d’un dossier dans le
conteneur (le dossier est créé s’il n’existe pas), le type d’objet blob et le niveau d’accès. L’objet blob créé
est nommé en fonction du fichier chargé.

47 https://docs.microsoft.com/powershell/module/az.storage/new-azstoragecontainer
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
210     

REMARQUE : Vous pouvez sélectionner plusieurs fichiers. Chaque fichier est chargé dans des objets blob
séparés.

Utiliser Azure CLI


Utilisez la commande az storage blob upload pour charger un fichier dans un objet blob dans un
conteneur. Les détails décrivant les paramètres de cette commande sont disponibles sur la page charge-
ment d’objets blob de stockage az48 sur le site web de Microsoft. Dans l’exemple suivant, un fichier
local nommé racer_green_large.gif est chargé dans le dossier data vers un objet blob appelé racer_green
dans le dossier *bikes du conteneur images, dans le compte de stockage contosodata.
az storage blob upload \
--container-name images \
--account-name contosodata \
--file "\data\racer_green_large.gif" \
--name "bikes\racer_green"

Si vous avez besoin de charger plusieurs fichiers, utilisez la commande az storage blob up-
load-batch. Cette commande prend le nom d’un dossier local à la place d’un nom de fichier, puis
charge les fichiers de ce dossier dans des objets blob distincts. L’exemple ci-dessous charge tous les
fichiers gif du dossier data vers le dossier bikes du conteneur images.
az storage blob upload-batch \
--account-name contosodata \
--source "\data" \
--pattern "*.gif" \
--destination "images\bikes"

48 https://docs.microsoft.com/cli/azure/storage/blob?view=azure-cli-latest#az-storage-blob-upload
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    211

Utiliser Azure PowerShell


Azure PowerShell fournit le cmdlet Set-AzStorageBlobContent49 pour charger des données d’objets
blob sur le stockage Azure, comme suit :
Get-AzStorageAccount `
-ResourceGroupName "contoso-group" `
-Name "contosodata" | Set-AzStorageBlobContent `
-Container "images" `
-File "\data\racer_green_large.gif" `
-Blob "bikes\racer_green"

Azure PowerShell n’inclut pas de commande de chargement d’objets blob par lots pour l’instant. Si vous
avez besoin de charger plusieurs fichiers, vous pouvez écrire votre propre script PowerShell (utilisez le
cmdlet Get-ChildItem) pour identifier les fichiers et charger chacun d’eux individuellement.

Répertorier les objets blob dans un conteneur


Si vous disposez des droits d’accès appropriés, vous pouvez examiner les objets blob dans un conteneur.

Utiliser le portail Azure


Si vous utilisez le portail Azure, accédez à la page de votre compte de stockage et sélectionnez Contain-
ers sous Service BLOB. Sur la page Containers (Conteneurs), sélectionnez le conteneur contenant vos
objets blob. Si le conteneur a une structure de dossiers, accédez au dossier contenant les objets blob que
vous souhaitez voir. Les objets blob de ce dossier doivent apparaître.

49 https://docs.microsoft.com/powershell/module/azure.storage/set-azurestorageblobcontent
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
212     

Utiliser Azure CLI


Dans Azure CLI, vous pouvez utiliser la commande az storage blob list50 pour afficher les objets blob
dans un conteneur. Cette commande itère de manière récursive les dossiers du conteneur. L’exemple
ci-dessous liste les objets blob précédemment chargés dans le conteneur d’images :
az storage blob list \
--account-name contosodata \
--container-name "images"

Utiliser Azure PowerShell


À partir d’Azure PowerShell, exécutez le cmdlet Get-AzStorageBlob51, comme illustré dans l’exemple
suivant :
Get-AzStorageAccount `
-ResourceGroupName "contoso-group" `
-Name "contosodata" | Get-AzStorageBlob `
-Container "images"

50 https://docs.microsoft.com/cli/azure/storage/blob?view=azure-cli-latest#az-storage-blob-list
51 https://docs.microsoft.com/powershell/module/az.storage/Get-AzStorageBlob
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    213

Télécharger un objet blob à partir d’un conteneur


Vous pouvez récupérer un objet blob du stockage Azure et l’enregistrer dans un fichier local sur votre
ordinateur.

Utiliser le portail Azure


Si vous utilisez le portail Azure, accédez à la page de votre compte de stockage et sélectionnez Contain-
ers sous Service BLOB. Sur la page Containers (Conteneurs), sélectionnez le conteneur contenant vos
objets blob. Si le conteneur a une structure de dossiers, accédez au dossier contenant les objets blob à
télécharger. Sélectionnez l’objet blob pour voir des informations détaillées à son sujet. Sur la page des
détails, sélectionnez Télécharger.

Utiliser Azure CLI


Azure CLI dispose des commandes az storage blob download52 et az storage blob download-batch53.
Ces commandes sont analogues à celles disponibles pour charger des objets blob. L’exemple ci-dessous
récupère l’objet blob racer_green" du dossier bikes dans le conteneur images.
az storage blob download \
--container-name images \
--account-name contosodata \
--file "racer_green_large.gif" \
--name "bikes\racer_green"

52 https://docs.microsoft.com/cli/azure/storage/blob?view=azure-cli-latest#az-storage-blob-download
53 https://docs.microsoft.com/cli/azure/storage/blob?view=azure-cli-latest#az-storage-blob-download-batch
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
214     

Utiliser Azure PowerShell


Dans Azure PowerShell, utilisez le cmdlet Get-AzStorageBlobContent54.
Get-AzStorageAccount `
-ResourceGroupName "contoso-group" `
-Name "contosodata" | Get-AzStorageBlobContent `
-Container "images" `
-Blob "bikes\racer_green_large.gif" `
-Destination "racer_green_large.gif"

Supprimer un objet blob d’un conteneur


Le fait de supprimer un objet blob peut libérer les ressources utilisées dans le conteneur de stockage.
Toutefois, si vous avez activé l’option de suppression réversible pour le compte de stockage, l’objet blob
est masqué au lieu d’être supprimé et vous pourrez le restaurer ultérieurement. Vous pouvez activer ou
désactiver la suppression réversible dans le portail Azure et spécifier la durée pendant laquelle l’objet
blob est conservé. Sélectionnez la page Protection des données sous Service BLOB. Si l’objet blob n’est
pas restauré à la fin de la période de conservation, il est supprimé du stockage.

AVERTISSEMENT : Si vous avez créé le compte de stockage avec prise en charge des espaces de noms
hiérarchiques (pour Data Lake Storage), l’option de suppression réversible n’est pas disponible. Toutes les
opérations de suppression d’objet blob sont donc définitives.

Utiliser le portail Azure


Si vous utilisez le portail Azure, accédez à la page de votre compte de stockage et sélectionnez Contain-
ers sous Service BLOB. Sur la page Containers (Conteneurs), sélectionnez le conteneur contenant vos
objets blob. Si le conteneur a une structure de dossiers, accédez au dossier contenant les objets blob à

54 https://docs.microsoft.com/powershell/module/az.storage/get-azstorageblobcontent
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    215

télécharger. Sélectionnez l’objet blob pour voir des informations détaillées à son sujet. Dans la page des
détails, sélectionnez Supprimer. Vous êtes invité à confirmer l’opération.

Si vous avez activé la suppression réversible pour le compte de stockage, la page des objets blob réper-
toriant les objets blob dans un conteneur inclut l’option Afficher les objets blob supprimés. Si vous
sélectionnez cette option, vous pouvez afficher et annuler la suppression d’un objet blob supprimé.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
216     

Utiliser Azure CLI


Vous pouvez supprimer un seul objet blob avec la commande az storage blob delete55, ou un ensemble
d’objets blob avec la commande az storage blob delete-batch56. La commande ci-dessous supprime
l’objet blob racer-green du dossier bikes dans le conteneur images :
az storage blob delete \
--account-name contosodata \
--container-name "images" \
--name "bikes\racer_green"

Utiliser Azure PowerShell


Utilisez l’applet de commande Remove-AzStorageBlob57 pour supprimer un objet blob de stockage à
partir d’Azure PowerShell. Par défaut, la suppression est silencieuse. Vous pouvez ajouter l'indicateur
-Confirm pour demander à l'utilisateur de confirmer qu’il souhaite vraiment supprimer l’objet blob :
Get-AzStorageAccount `
-ResourceGroupName "contoso-group" `
-Name "contosodata" | Remove-AzStorageBlob `
-Container "images" `
-Blob "bikes\racer_green" `

55 https://docs.microsoft.com/cli/azure/storage/blob?view=azure-cli-latest#az-storage-blob-delete
56 https://docs.microsoft.com/cli/azure/storage/blob?view=azure-cli-latest#az-storage-blob-delete-batch
57 https://docs.microsoft.com/powershell/module/az.storage/remove-azstorageblob
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    217

-Confirm

Supprimer un conteneur de stockage Azure


La suppression d’un conteneur entraîne la suppression automatique de tous les objets blob présents dans
ce conteneur. Si vous n’êtes pas vigilant, vous risquez de perdre beaucoup de données.

Utiliser le portail Azure


Dans le portail Azure, sélectionnez Containers (Conteneurs) sous Service BLOB, sélectionnez le conte-
neur à supprimer, puis sélectionnez Supprimer dans la barre d’outils.

Utiliser Azure CLI


Dans Azure CLI, utilisez la commande az storage container delete58. L’exemple suivant supprime le
conteneur images référencé dans les exemples précédents.
az storage container delete \
--account-name contosodata \
--name "images"

Utiliser Azure PowerShell


Le cmdlet Remove-AzStorageContainer59 supprime un conteneur de stockage. L’indicateur -Confirm
demande à l’utilisateur de confirmer l’opération de suppression. Le code ci-dessous en montre un
exemple :
Get-AzStorageAccount `
-ResourceGroupName "contoso-group" `
-Name "contosodata" | Remove-AzStorageContainer `
-Name "images" `
-Confirm

58 https://docs.microsoft.com/cli/azure/storage/container?view=azure-cli-latest#az-storage-container-delete
59 https://docs.microsoft.com/powershell/module/az.storage/remove-azstoragecontainer
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
218     

Gérer Stockage de fichiers Azure


Vous pouvez utiliser le stockage de fichiers Azure pour stocker des fichiers partagés. Les utilisateurs
peuvent se connecter à un dossier partagé (également connu sous le nom de « partage de fichiers ») et
lire et écrire des fichiers (s’ils sont dotés des privilèges appropriés) de la même manière qu’ils utilise-
raient un dossier sur un ordinateur local. Dans le scénario Contoso, le stockage de fichiers Azure est
utilisé pour contenir les rapports et la documentation produit que les utilisateurs de l’entreprise doivent
pouvoir lire.
Dans cette unité, vous apprendrez à créer et à gérer des partages de fichiers, mais aussi à charger et
télécharger des fichiers dans le stockage Azure File.
REMARQUE : Les fichiers d’un partage de fichiers ont tendance à être gérés différemment des objets
blob. Dans de nombreux cas, les utilisateurs lisent et écrivent simplement des fichiers comme s’il s’agis-
sait d’objets locaux. Pour cette raison, bien qu’Azure CLI et Azure PowerShell fournissent tous deux un
accès par programme au stockage Azure File, cette unité se concentre sur les outils disponibles dans le
portail Azure et sur la commande AzCopy60.

Créer un partage de fichiers


Microsoft fournit deux outils graphiques que vous pouvez utiliser pour créer et gérer des partages de
fichiers dans le stockage Azure : le portail Azure et l’Explorateur Stockage Azure.

Utiliser le portail Azure


Sélectionnez Partages de fichiers dans le volet principal de la page Aperçu pour un compte de stockage
Azure, également disponible dans la section Service de fichiers de la barre de commandes :

60 https://docs.microsoft.com/azure/storage/common/storage-use-azcopy-v10
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    219

Sur la page Partages de fichiers, sélectionnez +Partage de fichiers. Attribuez un nom au partage de
fichiers et éventuellement un quota. Azure vous permet de stocker jusqu’à 5 PiB de fichiers sur tous les
partages de fichiers d’un compte de stockage. Un quota vous permet de limiter la quantité d’espace
qu’un partage de fichiers individuel consomme, pour l’empêcher de priver d’autres partages de fichiers
du stockage de fichiers. Si vous n’avez qu’un seul partage de fichiers, vous pouvez laisser le quota vide.

Après avoir créé un partage, vous pouvez utiliser le portail Azure pour ajouter des répertoires au partage,
télécharger des fichiers sur le partage et supprimer le partage. La commande Connecter génère un script
PowerShell que vous pouvez exécuter pour attacher au partage à partir de votre ordinateur local. Vous
pouvez ensuite utiliser le partage comme s’il s’agissait d’un lecteur de disque local.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
220     

Utilisez l’Explorateur Stockage Azure


Explorateur Stockage Azure est un utilitaire qui vous permet de gérer les comptes de stockage Azure à
partir de votre ordinateur de bureau. Vous pouvez le télécharger depuis la page Explorateur Stockage
Azure61 sur le site web de Microsoft. Vous pouvez utiliser l’Explorateur de stockage pour créer des
conteneurs blob et des partages de fichiers, ainsi que pour charger et télécharger des fichiers.

61 https://azure.microsoft.com/features/storage-explorer/
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    221

Une version de cet utilitaire est également disponible dans le portail Azure, sur la page Aperçu pour un
compte de stockage Azure.

Pour créer un nouveau partage de fichiers, cliquez avec le bouton droit de la souris sur Partages de
fichiers, puis sélectionnez Créer un partage de fichiers. Dans le portail Azure, l’Explorateur de stockage
affiche la même boîte de dialogue que celle que vous avez vue précédemment. Dans la version de
bureau, vous entrez simplement un nom pour le nouveau partage de fichiers ; vous n’avez pas la possibil-
ité de définir un quota à ce stade.
Comme avec le portail Azure, une fois que vous avez créé un nouveau partage, vous pouvez utiliser
l’Explorateur de stockage pour créer des dossiers et charger et télécharger des fichiers.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
222     

Télécharger et charger des fichiers


Vous pouvez charger et télécharger des fichiers individuels vers et depuis le stockage de fichiers Azure
manuellement, à l’aide de l’explorateur de stockage, du portail Azure ou en connectant le partage de
fichiers à votre ordinateur de bureau et en glissant et déposant des fichiers dans l’explorateur de fichiers.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    223

Toutefois, si vous devez transférer un nombre important de fichiers dans et hors du stockage de fichiers
Azure, vous devez utiliser l’utilitaire AzCopy. AzCopy est un utilitaire de ligne de commande optimisé
pour le transfert de fichiers volumineux (et d’objets blob) entre votre ordinateur local et le stockage de
fichiers Azure. Il peut détecter les échecs de transfert et redémarrer un transfert qui a échoué au moment
où une erreur s’est produite. Vous ne devez pas répéter toute l’opération.

Générer un jeton SAS


Avant de pouvoir utiliser AzCopy, vous devez générer un jeton de signature d’accès partagé (SAS). Un
jeton SAS fournit un accès contrôlé, limité dans le temps et anonyme aux services et aux ressources d’un
compte de stockage. Les utilisateurs ne doivent pas fournir d’informations d’identification supplémen-
taires. Les jetons SAS sont utiles dans les situations où vous ne savez pas à l’avance quels seront les
utilisateurs qui auront besoin d’accéder à vos ressources.
REMARQUE : La commande AzCopy prend également en charge l’authentification à l’aide d’Azure Active
Directory, mais cette approche nécessite l’ajout préalable de tous vos utilisateurs à Azure Active Directo-
ry.
Vous pouvez créer un jeton SAS pour vous connecter au stockage de fichiers Azure à l’aide du portail
Azure. Sur la page de votre compte de stockage, sous Paramètres, sélectionnez Signature d’accès
partagé. Sur la page Signature d’accès partagé, sous Services autorisés, sélectionnez Fichier. Sous
Types de ressources autorisés, sélectionnez Récipient et Objet. Sous Autorisations, sélectionnez les
privilèges que vous souhaitez accorder aux utilisateurs. Définissez l’heure de début et de fin du jeton SAS
et spécifiez la plage d’adresses IP des ordinateurs qui seront utilisés. Sélectionnez Générer SAS et chaîne
de connexion pour créer le jeton SAS. Copiez la valeur dans le champ Jeton SAS dans un endroit
sécurisé.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
224     

Télécharger des fichiers


Pour transférer un seul fichier dans le stockage de fichiers à l’aide d’AzCopy, utilisez le formulaire de la
commande illustré dans l’exemple suivant. Exécutez cette commande à partir de la ligne de commande.
Dans cet exemple, remplacez <nom-du-compte-de-stockage > par le nom du compte de stockage,
remplacez <partage-de-fichiers > par le nom d’un partage de fichiers dans ce compte et remplacez
<Jeton-SAS> par le jeton que vous avez créé à l’aide du portail Azure. Vous devez inclure les guillemets à
l’endroit indiqué.
REMARQUE : N’oubliez pas d’inclure le mot-clé copier après la commande AzCopy. AzCopy prend en
charge d’autres opérations, telles que la suppression de fichiers et d’objets blob, la liste des fichiers et
d’objets blob et la création de nouveaux partages de fichiers. Chacune de ces opérations a son propre
mot-clé.
azcopy copy "myfile.txt" "https://<storage-account-name>.file.core.windows.
net/<file-share-name>/myfile.txt<SAS-token>"

Vous pouvez transférer l’intégralité du contenu d’un dossier local vers le stockage de fichiers Azure à
l’aide d’une commande similaire. Vous remplacez le nom de fichier (« monfichier.txt ») par le nom du
dossier. Si le dossier contient des sous-dossiers à copier, ajoutez le drapeau –récursif.
azcopy copy "myfolder" "https://<storage-account-name>.file.core.windows.
net/<file-share-name>/myfolder<SAS-token>" --recursive
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    225

Au fur et à mesure que le processus s’exécute, AzCopy affiche un rapport de progression :


INFO : Analyse...
INFO : Tous les dossiers vides seront traités, car la source et la destina-
tion prennent toutes deux en charge les dossiers

La tâche b86eeb8b-1f24-614e-6302-de066908d4a2 a démarré


Le fichier journal se trouve sous : C:\Users\User\.azcopy\b86eeb8b-1f24-
614e-6302-de066908d4a2.log

11,5 %, 126 Terminés, 0 Échec, 48 En attente, 0 Ignoré, 174 Total, Débit


2-sec (Mo/s) : 8,2553

Une fois le transfert terminé, vous verrez le résumé de la tâche effectuée.


Résumé de la tâche b86eeb8b-1f24-614e-6302-de066908d4a2
Temps écoulé (minutes) : 0,6002
Nombre de transferts de fichiers : 161
Nombre de transferts de propriété de dossiers : 13
Nombre total de transferts : 174
Nombre de transferts terminés : 174
Nombre de transferts échoués : 0
Nombre de transferts ignorés : 0
Nombre total d’octets transférés : 43686370
Statut final de la tâche : Terminée

La commande AzCopy copy comporte également d’autres options. Pour plus d’informations, consultez la
page Charger des fichiers62 sur le site web de Microsoft.

Télécharger des fichiers


Vous pouvez également utiliser la commande AzCopy copy pour transférer des fichiers et des dossiers
depuis Azure File Storage vers votre ordinateur local. La commande est similaire à celle du chargement
de fichiers, sauf que vous changez l’ordre des arguments : spécifiez tout d’abord les fichiers et dossiers
du partage de fichiers, puis ensuite les fichiers et dossiers locaux. Par exemple, pour télécharger les
fichiers à partir d’un dossier nommé mondossier dans un partage de fichiers nommé monpartage vers un
dossier local appelé dossierlocal, utilisez la commande suivante :
azcopy copy "https://<storage-account-name>.file.core.windows.net/myshare/
myfolder<SAS-token>" "localfolder" --recursive

Pour plus de détails sur le téléchargement de fichiers à l’aide d’AzCopy, consultez la page Télécharger
des fichiers63.

62 https://docs.microsoft.com/azure/storage/common/storage-use-azcopy-files?toc=/azure/storage/files/toc.json#upload-files
63 https://docs.microsoft.com/azure/storage/common/storage-use-azcopy-files?toc=/azure/storage/files/toc.json#download-files
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
226     

Labo - Charger, télécharger et interroger des


données dans un magasin de données non rela-
tionnel
Dans l’exemple de scénario, supposons que vous avez créé les magasins de données suivants :
●● Une base de données Cosmos DB pour contenir des informations sur les produits fabriqués par
Contoso.
●● Un conteneur d’objets blob dans Stockage Azure pour contenir les images des produits.
●● Un partage de fichiers, dans le même compte de stockage Azure, pour contenir la documentation sur
les produits.
Dans ce labo, vous allez charger des données dans ces magasins de données. Vous allez exécuter des
requêtes sur les données dans la base de données Cosmos DB. Enfin, vous allez télécharger et afficher les
images et les documents contenus dans le Stockage Azure.
Accédez à l’exercice : Charger, télécharger et interroger des données dans un module de magasin
de données non relationnel64 sur Microsoft Learn, puis suivez les instructions du module.
Vous allez effectuer cet exercice à l’aide du Portail Azure et de la ligne de commande.

Résumé
Dans cette leçon, vous avez vu comment utiliser les comptes Azure Cosmos DB et Stockage Azure pour
stocker et récupérer des données non relationnelles. Vous avez également appris à :
●● Charger des données dans une base de données Cosmos DB, puis interroger ces données.
●● Charger et télécharger des données dans un compte de stockage Azure.

En savoir plus
●● Cas d’utilisation courants d’Azure Cosmos DB65
●● Migrer le schéma de base de données normalisé depuis Azure SQL Database vers le conteneur
dénormalisé Azure Cosmos DB66
●● Didacticiel : Utiliser l’outil de migration des données pour migrer vos données vers Azure
Cosmos DB67
●● Copier et transformer des données dans Azure Cosmos DB (API SQL) à l’aide d’Azure Data
Factory68
●● Démarrage rapide : Créer une application console à l’aide du Kit de développement logiciel
(SDK) .NET V4 pour gérer les ressources du compte d’API SQL d’Azure Cosmos DB69
●● Premiers pas avec les requêtes SQL70

64 https://docs.microsoft.com/fr-fr/learn/modules/explore-non-relational-data-stores-azure/6-exercise
65 https://docs.microsoft.com/azure/cosmos-db/use-cases
66 https://docs.microsoft.com/azure/data-factory/how-to-sqldb-to-cosmosdb
67 https://docs.microsoft.com/azure/cosmos-db/import-data
68 https://docs.microsoft.com/azure/data-factory/connector-azure-cosmos-db
69 https://docs.microsoft.com/azure/cosmos-db/create-sql-api-dotnet-v4
70 https://docs.microsoft.com/azure/cosmos-db/sql-api-sql-query
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    227

●● az storage container create71


●● New-AzStorageContainer72
●● az storage blob upload73
●● Set-AzStorageBlobContent74
●● az storage blob list75
●● Get-AzStorageBlob76
●● az storage blob download77
●● az storage blob download-batch78
●● Get-AzStorageBlobContent79
●● az storage blob delete80
●● Remove-AzStorageBlob81
●● lot de suppression d’objets blob de stockage AZ82
●● suppression du conteneur de stockage AZ83
●● Remove-AzStorageContainer84
●● Démarrer avec AzCopy85
●● Explorateur Stockage Azure86
●● Transférer des données avec AzCopy et le stockage de fichiers87

71 https://docs.microsoft.com/cli/azure/storage/container?view=azure-cli-latest#az-storage-container-create
72 https://docs.microsoft.com/powershell/module/az.storage/new-azstoragecontainer
73 https://docs.microsoft.com/cli/azure/storage/blob?view=azure-cli-latest#az-storage-blob-upload
74 https://docs.microsoft.com/powershell/module/azure.storage/set-azurestorageblobcontent
75 https://docs.microsoft.com/cli/azure/storage/blob?view=azure-cli-latest#az-storage-blob-list
76 https://docs.microsoft.com/powershell/module/az.storage/Get-AzStorageBlob
77 https://docs.microsoft.com/cli/azure/storage/blob?view=azure-cli-latest#az-storage-blob-download
78 https://docs.microsoft.com/cli/azure/storage/blob?view=azure-cli-latest#az-storage-blob-download-batch
79 https://docs.microsoft.com/powershell/module/az.storage/get-azstorageblobcontent
80 https://docs.microsoft.com/cli/azure/storage/blob?view=azure-cli-latest#az-storage-blob-delete
81 https://docs.microsoft.com/powershell/module/az.storage/remove-azstorageblob
82 https://docs.microsoft.com/cli/azure/storage/blob?view=azure-cli-latest#az-storage-blob-delete-batch
83 https://docs.microsoft.com/cli/azure/storage/container?view=azure-cli-latest#az-storage-container-delete
84 https://docs.microsoft.com/powershell/module/az.storage/remove-azstoragecontainer
85 https://docs.microsoft.com/azure/storage/common/storage-use-azcopy-v10
86 https://azure.microsoft.com/features/storage-explorer/
87 https://docs.microsoft.com/azure/storage/common/storage-use-azcopy-files
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
228     

Answers
Question 1
Quels sont les éléments d’une clé de Stockage Table Azure ?
†† Nom de la table et nom de la colonne
■■ Clé de partition et clé de ligne
†† Numéro de ligne
Explanation
Réponse correcte. La clé de partition identifie la partition dans laquelle se trouve une ligne et les lignes de
chaque partition sont stockées dans l’ordre des clés de ligne.
Question 2
Quand devez-vous utiliser un objet blob de blocs et quand devez-vous utiliser un objet blob de pages ?
†† Utiliser un objet blob de blocs pour les données non structurées qui nécessitent un accès aléatoire
pour effectuer des lectures et des écritures. Utilisez un objet blob de page pour les objets discrets qui
changent rarement.
†† Utiliser un objet blob de bloc pour les données actives stockées à l’aide du niveau d’accès aux
données chaudes et un objet blob de page pour les données stockées à l’aide des niveaux d’accès aux
données froides ou archivées.
■■ Utiliser un bloc de page pour les objets blob qui nécessitent un accès aléatoire en lecture et en
écriture. Utilisez un objet blob de blocs pour les objets discrets qui changent rarement.
Explanation
Réponse correcte. Utilisez un bloc de pages pour les objets blob qui nécessitent un accès aléatoire en lecture
et en écriture. Utilisez un objet blob de blocs pour les objets discrets qui changent rarement.
Question 3
Pourquoi pouvez-vous utiliser le stockage de fichiers Azure ?
†† À partager des fichiers stockés sur site avec des utilisateurs situés sur d’autres sites.
■■ À permettre aux utilisateurs de différents sites de partager des fichiers.
†† À stocker de gros fichiers de données binaires contenant des images ou d’autres données non
structurées.
Explanation
Réponse correcte. Vous pouvez créer un partage de fichiers dans le stockage de fichiers Azure, télécharger
des fichiers sur ce partage de fichiers et octroyer l’accès au partage de fichiers aux utilisateurs distants.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    229

Question 4
Vous construisez un système qui contrôle la température dans un ensemble d’immeubles de bureaux et
règle la climatisation dans chaque pièce de chaque bloc pour maintenir une température ambiante
agréable. Votre système doit gérer la climatisation dans plusieurs milliers de bâtiments répartis à travers
le pays ou la région et, en règle générale, chaque bâtiment contient au moins 100 chambres climatisées.
Quel est le type de stockage de données NoSQL le plus approprié pour capturer les données de
température afin de permettre leur traitement rapide ?
■■ Envoyer les données à une base de données Azure Cosmos DB et utiliser Azure Functions pour traiter
les données.
†† Stocker les données dans un fichier stocké dans un partage créé à l’aide d'Azure File Storage.
†† Écrire les températures dans un objet blob dans le stockage Blob Azure.
Explanation
Réponse correcte. Cosmos DB peut ingérer rapidement de gros volumes de données. Un thermomètre dans
chaque pièce peut envoyer les données à une base de données Cosmos DB. Vous pouvez organiser l’exécu-
tion d’une fonction Azure lorsque chaque élément est stocké. La fonction peut examiner la température et
lancer un processus à distance pour configurer la climatisation dans la pièce.
Question 1
Qu’est-ce que l’approvisionnement ?
■■ L’action d’exécuter une série de tâches qu’un fournisseur de services effectue pour créer et configurer
un service.
†† Fournir à d’autres utilisateurs l’accès à un service existant.
†† Réglage d’un service pour améliorer les performances.
Explanation
Réponse correcte. Dans Azure, vous devez provisionner un service avant de pouvoir l’utiliser.
Question 2
Qu’est-ce qu’un principal de sécurité ?
†† Une collection nommée d’autorisations qui peuvent être accordées à un service, comme la possibilité
d’utiliser le service pour lire, écrire et supprimer des données. Propriétaire et Contributeur sont des
exemples dans Azure.
†† Un ensemble de ressources gérées par un service auquel vous pouvez accorder l’accès.
■■ Un objet qui représente un utilisateur, un groupe, un service ou une identité managée qui demande
l’accès aux ressources Azure.
Explanation
Réponse correcte. L’authentification Azure utilise des principes de sécurité pour déterminer si une demande
d’accès à un service doit être accordée.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
230     

Question 3
Parmi les éléments suivants, lequel présente l’avantage d’utiliser la réplication multirégionale avec
Cosmos DB ?
†† Les données seront toujours cohérentes dans chaque région.
■■ La disponibilité est accrue.
†† Sécurité accrue pour vos données.
Explanation
Réponse correcte. La réplication améliore la disponibilité. Si une région devient inaccessible, les données
sont toujours disponibles dans d’autres régions.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
Module 4 Explorer l’analyse des entrepôts de
données modernes dans Azure

Examiner les composants d'un entrepôt de


données moderne
Introduction
La plupart des organisations ont plusieurs magasins de données, souvent avec des structures et des
formats différents. Elles ont souvent des flux de données entrants en direct, tels que des données de
capteurs, qui peuvent être coûteux à analyser. Il existe souvent une pléthore d’informations utiles dis-
ponibles en dehors des organisations. Ces informations peuvent être combinées avec des données
locales pour ajouter des informations et enrichir la compréhension. En combinant toutes les données
locales avec des informations externes utiles, il est souvent possible d’obtenir des informations sur les
données, ce qui n’était pas possible auparavant. Le processus de combinaison de toutes les sources de
données locales est appelé entreposage de données. Le processus d’analyse des données en continu et
des données d’Internet est connu sous le nom d’analyse Big Data. Azure Synapse Analytics associe
l’entreposage de données à l’analyse Big Data.
Supposons que vous êtes un ingénieur de données travaillant chez Contoso, une organisation avec une
importante activité de fabrication. L’organisation doit collecter et stocker des informations à partir de
diverses sources, telles que des données en temps réel surveillant l’état des machines de la ligne de
production, des données de contrôle de la qualité des produits, des journaux d’activité de production his-
toriques, des volumes de produits en stock et des données du stock des matières premières. Ces infor-
mations sont critiques au fonctionnement de l’organisation. On vous a demandé de déterminer la
meilleure façon de stocker ces informations, afin qu’elles puissent être analysées rapidement et inter-
rogées facilement.

Objectifs d’apprentissage
Dans cette leçon, vous allez :
●● Explorer les concepts d’entreposage de données
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
232     

●● Explorer les Data Services Azure pour un entreposage de données moderne


●● Examiner l’architecture et la charge de travail modernes d’entreposage de données
●● Découvrir les Data Services Azure dans le portail Azure

Décrire l’entreposage de données moderne


Un entrepôt de données rassemble des données provenant de nombreuses sources différentes au sein
d’une organisation. Ces données sont ensuite utilisées comme source pour l’analyse, la création de
rapports et le traitement analytique en ligne (OLAP). L’objectif d'un entrepôt de données est de fournir
des réponses à des requêtes complexes, contrairement à une base de données relationnelle tradition-
nelle, qui se concentre sur les performances transactionnelles.
Les entrepôts de données doivent gérer des Big Data. Le Big Data est le terme utilisé pour désigner de
grandes quantités de données collectées dans des volumes croissants, à des vitesses de plus en plus
élevées et dans une variété de formats plus diversifiée que jamais. Ces Big Data peuvent être historiques
(c’est-à-dire stockées) ou en temps réel (c’est-à-dire diffusées depuis la source). Les entreprises
dépendent généralement de leurs Big Data pour prendre les décisions commerciales critiques.

Qu’est-ce que l’entreposage de données moderne ?


Un entrepôt de données moderne peut contenir un mélange de données relationnelles et non relation-
nelles, y compris des fichiers, des flux de données provenant des médias sociaux et des données issues
des capteurs de l’Internet des objets (IoT). Azure fournit un ensemble de services que vous pouvez utiliser
pour créer une solution d’entrepôt de données, notamment Azure Data Factory, Azure Data Lake Storage,
Azure Databricks, Azure Synapse Analytics et Azure Analysis Services. Vous pouvez utiliser des outils tels
que Power BI pour analyser et visualiser les données, générer des rapports, des graphiques et des
tableaux de bord.
La vidéo ci-dessous décrit les composants couramment utilisés pour créer un entrepôt de données et
explique comment les données peuvent y circuler. Cette vidéo présente une approche spécifique.

https://www.microsoft.com/videoplayer/embed/RE4A3RR

L’unité suivante décrit chacun de ces services de manière un peu plus détaillée.

Combiner le traitement par lot et par flux


Une grande entreprise standard nécessite une combinaison de données à la seconde près et d’informa-
tions historiques. Les données à la seconde près peuvent être utilisées pour aider à surveiller des proces-
sus de fabrication critiques en temps réel, où une décision instantanée est nécessaire. D’autres exemples
incluent des flux de données boursières, où les prix actuels sont nécessaires pour prendre des décisions
d’achat ou de vente éclairées en une fraction de seconde.
Les données historiques sont tout aussi importantes pour fournir à une entreprise une vision plus stable
des tendances de performance. Une entreprise de fabrication aura besoin d’informations telles que les
volumes de ventes par produits sur un mois, un trimestre ou une année, pour déterminer s’il faut contin-
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    233

uer à produire différents articles ou s’il faut augmenter ou diminuer la production en fonction des
fluctuations saisonnières. Ces données historiques peuvent être générées par des processus par lot, à
intervalles réguliers, sur la base des données de vente en direct qui peuvent être capturées en continu.
Toute solution d’entrepôt de données moderne doit être en mesure de fournir un accès aux flux de
données brutes, et aux informations commerciales traitées dérivées de ces données.

Découvrez les services de données Azure pour


l’entreposage de données moderne
En tant qu’ingénieur de données travaillant dans une entreprise du secteur de la fabrication, vous
souhaitez en savoir plus sur les composants qui forment un entrepôt de données moderne. Ces informa-
tions vous aideront à déterminer les éléments qui répondent le mieux aux exigences de votre organisa-
tion.
Dans cette unité, vous en apprendrez davantage sur les services de données proposés par Azure. Ces
services permettent de combiner des données provenant de plusieurs sources, de les reformater en
modèles analytiques et d’enregistrer ces modèles pour des requêtes, des rapports et une visualisation
ultérieurs.

Qu’est ce qu’Azure Data Factory ?


Azure Data Factory est décrit comme un service d’intégration de données. Le but d’Azure Data Factory est
de récupérer des données à partir d’une ou plusieurs sources de données et de les convertir dans le
format traité. Les sources de données peuvent présenter les données de différentes manières et contenir
du bruit que vous devez filtrer. Azure Data Factory vous permet d’extraire les données intéressantes et de
supprimer le reste. Les données intéressantes risquant de ne pas être dans un format approprié pour être
traitées par les autres services de votre solution d’entrepôt, vous pouvez les transformer. Par exemple, vos
données peuvent contenir des dates et des heures formatées de différentes manières, dans différentes
sources de données. Vous pouvez utiliser Azure Data Factory pour transformer ces éléments en une
structure uniforme unique. Azure Data Factory peut ensuite écrire les données ingérées dans un magasin
de données pour un traitement ultérieur.
Vous définissez le travail effectué par Azure Data Factory comme un pipeline d’opérations. Un pipeline
peut fonctionner en continu, car les données sont reçues des différentes sources de données. Vous
pouvez créer des pipelines à l’aide de l’interface utilisateur graphique fournie par Microsoft ou en
écrivant votre propre code. L’image ci-dessous présente l’éditeur de pipeline dans Azure Data Factory.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
234     

Qu’est-ce qu’Azure Data Lake Storage ?


Un lac de données est un référentiel pour de grandes quantités de données brutes. Comme les données
sont brutes et non traitées, leur chargement et leur mise à jour sont très rapides, mais les données n’ont
pas été placées dans une structure adaptée à une analyse efficace. Vous pouvez considérer un lac de
données comme un point de transit pour vos données ingérées, avant qu’elles ne soient massées et
converties dans un format adapté à la réalisation d’analyses.
REMARQUE : Un entrepôt de données stocke également de grandes quantités de données, mais les
données d’un entrepôt ont été traitées pour les convertir en un format permettant une analyse efficace.
Un lac de données contient des données brutes, mais un entrepôt de données contient des informations
structurées.
Azure Data Lake Storage combine la structure de répertoires hiérarchique et la sémantique du système
de fichiers d’un système de fichiers traditionnel avec la sécurité et la scalabilité fournies par Azure. Azure
Data Lake Storage est essentiellement une extension du stockage Azure Blob, organisée comme un
système de fichiers presque infini. Elle présente les caractéristiques suivantes :
●● Pour une meilleure organisation des fichiers, Data Lake Storage organise vos fichiers en répertoires et
sous-répertoires. Le stockage Blob ne peut imiter qu’une structure de répertoires.
●● Data Lake Storage prend en charge les autorisations de fichier et de répertoire POSIX (Portable
Operating System Interface) pour activer le contrôle d’accès en fonction du rôle (RBAC) granulaire sur
vos données.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    235

●● Azure Data Lake Storage est compatible avec le système de fichiers distribués Hadoop (HDFS).
Hadoop est un service d’analyse hautement flexible et programmable, utilisé par de nombreuses
organisations pour examiner de grandes quantités de données. Tous les environnements Apache
Hadoop peuvent accéder aux données dans Azure Data Lake Storage Gen2.
Dans une solution d’entrepôt de données Azure Data Services, les données sont généralement chargées
dans Azure Data Lake Storage avant d’être traitées dans une structure qui permet une analyse efficace
dans Azure Synapse Analytics. Vous pouvez utiliser un service tel qu’Azure Data Factory (décrit ci-dessus)
pour ingérer et charger les données à partir de diverses sources dans Azure Data Lake Storage.

Qu’est-ce qu’Azure Databricks ?


Azure Databricks est un environnement Apache Spark s’exécutant sur Azure pour fournir le traitement du
Big Data, la diffusion en continu et l’apprentissage automatique. Apache Spark est un moteur de traite-
ment de données très efficace qui peut consommer et traiter très rapidement de grandes quantités de
données. Il existe un nombre important de bibliothèques Spark que vous pouvez utiliser pour effectuer
des tâches telles que le traitement SQL, les agrégations, et pour créer et former des modèles d’apprentis-
sage automatique à l’aide de vos données.
Azure Databricks fournit une interface utilisateur graphique dans laquelle vous pouvez définir et tester
votre traitement étape par étape, avant de le soumettre en tant qu’ensemble de tâches par lots. Vous
pouvez créer des scripts Databricks et interroger des données à l’aide de langages tels que R, Python et
Scala. Vous écrivez votre code Spark en utilisant des notebooks. Un cahier contient des cellules, chacune
contenant un bloc de code distinct. Lorsque vous exécutez un notebook, le code de chaque cellule est à
son tour transmis à Spark pour exécution. L’image ci-dessous montre une cellule dans un classeur qui
exécute une requête et génère un graphique.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
236     

Azure Databricks prend également en charge le traitement de flux structuré. Dans ce modèle, Databricks
effectue vos calculs de manière incrémentielle et actualise constamment le résultat, au fur et à mesure de
l'arrivée des données en flux continu.

Qu’est-ce qu’Azure Synapse Analytics ?


Azure Synapse Analytics est un moteur d’analyse. Il est conçu pour traiter très rapidement de grandes
quantités de données.
À l’aide de Synapse Analytics, vous pouvez ingérer des données à partir de sources externes, telles que
des fichiers plats, Azure Data Lake ou d’autres systèmes de gestion de base de données, puis transformer
et agréger ces données dans un format adapté au traitement analytique. Vous pouvez effectuer des
requêtes complexes sur ces données et générer des rapports, des graphiques et des diagrammes.
La lecture et la transformation de données à partir d’une source externe peuvent consommer des
ressources considérables. Azure Synapse Analytics vous permet de stocker les données que vous avez
lues et traitées localement, dans le service (tel que décrit plus loin). Cette approche vous permet d’inter-
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    237

roger les mêmes données à plusieurs reprises, sans avoir à les récupérer et à les convertir à chaque fois.
Vous pouvez également utiliser ces données comme entrée pour un traitement analytique ultérieur, à
l’aide d’Azure Analysis Services.
Azure Synapse Analytics exploite une architecture de traitement massivement parallèle (MPP). Cette
architecture comprend un nœud de contrôle et un pool de nœuds de calcul.
Le nœud de contrôle est le cerveau de l’architecture. Il s’agit de la partie frontale, qui interagit avec toutes
les applications. Le moteur MPP s’exécute sur le nœud de contrôle pour optimiser et coordonner les
requêtes parallèles. Lorsque vous soumettez une demande de traitement, le nœud de contrôle la trans-
forme en demandes plus petites qui s’exécutent sur des sous-ensembles distincts de données en par-
allèle.
Les nœuds de calcul fournissent la puissance de calcul. Les données à traiter sont réparties uniformément
sur les nœuds. Les utilisateurs et les applications envoient des demandes de traitement au nœud de
contrôle. Le nœud de contrôle envoie les requêtes aux nœuds de calcul, qui exécutent les requêtes sur la
partie des données contenue dans chacun d’eux. À la fin du traitement de chaque nœud, les résultats
sont renvoyés au nœud de contrôle, où ils sont combinés en un résultat global.
Azure Synapse Analytics prend en charge deux modèles de calcul : Les pools SQL et les pools Spark.
Dans un pool SQL, chaque nœud de calcul utilise une base de données Azure SQL et un stockage Azure
pour gérer une partie des données.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
238     

Vous soumettez des requêtes sous la forme d’instructions Transact-SQL et Azure Synapse Analytics les
exécute. Cependant, contrairement à un moteur de base de données SQL ordinaire, Azure Synapse
Analytics peut recevoir des données d’une grande variété de sources. Pour ce faire, Azure Synapse
Analytics utilise une technologie nommée PolyBase1. PolyBase vous permet de récupérer des données à
partir de sources relationnelles et non relationnelles, telles que des fichiers texte délimités, Azure Blob
Storage et Azure Data Lake Storage. Vous pouvez enregistrer les données lues sous forme de tables SQL
dans le service Synapse Analytics.

1 https://docs.microsoft.com/sql/relational-databases/polybase/polybase-guide
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    239

Vous spécifiez le nombre de nœuds lorsque vous créez un pool SQL. Vous pouvez mettre à l’échelle le
pool SQL manuellement, pour ajouter ou pour supprimer des nœuds de calcul si nécessaire.
REMARQUE : Vous ne pouvez mettre à l’échelle un pool SQL que s’il n’exécute pas une requête Trans-
act-SQL.
Dans un pool Spark, les nœuds sont remplacés par un cluster Spark. Vous exécutez des travaux Spark
comprenant du code écrit dans des notebooks, de la même manière qu’Azure Databricks. Vous pouvez
écrire le code du notebook en C#, Python, Scala ou Spark SQL (un dialecte SQL différent de Trans-
act-SQL). Comme avec un pool SQL, le cluster Spark divise le travail en une série de tâches parallèles qui
peuvent être effectuées simultanément. Vous pouvez enregistrer les données générées par vos note-
books dans Azure Storage ou Data Lake Storage.
REMARQUE : Spark est optimisé pour le traitement en mémoire. Un travail Spark peut charger et mettre
en cache des données en mémoire, mais aussi les interroger à plusieurs reprises. Le calcul en mémoire est
beaucoup plus rapide que les applications sur disque, mais nécessite des ressources mémoire supplé-
mentaires.
Vous spécifiez le nombre de nœuds lorsque vous créez le cluster Spark. La mise à l’échelle automatique
des pools Spark peut être activée, de sorte que les pools évoluent en ajoutant ou en supprimant des
nœuds si nécessaire. La mise à l’échelle automatique peut se produire lorsque le traitement est actif.
REMARQUE : Azure Synapse Analytics peut consommer beaucoup de ressources. Si vous n’avez pas
l’intention d’effectuer de traitement pendant un certain temps, vous pouvez suspendre le service. Cette
action libère les ressources du pool vers d’autres utilisateurs et réduit vos coûts.

Présentation d’Azure Analysis Services


Azure Analysis Services vous permet de créer des modèles tabulaires pour prendre en charge les requêtes
de traitement analytique en ligne (OLAP). Vous pouvez combiner des données provenant de plusieurs
sources, notamment Azure SQL Database, Azure Synapse Analytics, Azure Data Lake Store, Azure Cosmos
DB et bien d’autres. Vous utilisez ces sources de données pour créer des modèles qui intègrent vos
connaissances métier. Un modèle est essentiellement constitué d’un ensemble de requêtes et d’expres-
sions qui récupèrent des données à partir des différentes sources de données et qui génèrent des
résultats. Les résultats peuvent être mis en cache en mémoire pour une utilisation ultérieure, ou ils
peuvent être calculés dynamiquement, directement à partir des sources de données sous-jacentes.
Analysis Services comprend un concepteur graphique pour vous aider à connecter des sources de
données entre elles et à définir des requêtes qui combinent, filtrent et regroupent les données. Vous pou-
vez examiner ces données à partir d’Analysis Services, ou utiliser un outil tel que Microsoft Power BI pour
visualiser les données présentées par ces modèles.

Comparer Analysis Services à Synapse Analytics


Azure Analysis Services partage de nombreuses fonctionnalités avec Azure Synapse Analytics, mais il est
plus adapté au traitement à plus petite échelle.
Utilisez Azure Synapse Analytics pour :
●● les très gros volumes de données (jeux de données de plusieurs téraoctets à pétaoctets),
●● les requêtes et agrégations très complexes,
●● l’exploration et l’exploitation de données,
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
240     

●● les opérations ELT complexes. ELT signifie Extraire, transformer et charger, et fait référence à la façon
dont vous pouvez récupérer des données brutes à partir de plusieurs sources, convertir ces données
dans un format standard et les stocker.
●● Concurrence faible à moyenne (128 utilisateurs ou moins).
Utilisez Azure Analysis Services pour :
●● des volumes de données réduits (quelques téraoctets),
●● plusieurs sources pouvant être corrélées,
●● une concurrence de lecture élevée (milliers d’utilisateurs),
●● une analyse détaillée et l’exploration des données à l’aide des fonctions de Power BI,
●● le développement rapide de tableaux de bord à partir de données tabulaires.

Combiner Analysis Services avec Synapse Analytics


De nombreux scénarios peuvent bénéficier de l’utilisation conjointe de Synapse Analytics et d’Analysis
Services. Si vous avez de grandes quantités de données ingérées qui nécessitent un prétraitement, vous
pouvez utiliser Synapse Analytics pour lire ces données et les traiter dans un modèle qui contient des
informations d’entreprise plutôt qu’une grande quantité de données brutes. La scalabilité de Synapse
Analytics lui permet de traiter et de réduire de nombreux téraoctets de données en un jeu de données
plus petit et succinct, qui résume et agrège une grande partie de ces données. Vous pouvez ensuite
utiliser Analysis Services pour effectuer une interrogation détaillée de ces informations et visualiser les
résultats de ces demandes avec Power BI.

Qu’est-ce qu’Azure HDInsight ?


Azure HDInsight est un service de traitement Big Data, qui fournit une plateforme pour des technologies
telles que Spark dans un environnement Azure. HDInsight implémente un modèle en cluster qui répartit
le traitement sur un ensemble d’ordinateurs. Ce modèle est similaire à celui utilisé par Synapse Analytics,
sauf que les nœuds exécutent le moteur de traitement Spark plutôt que la base de données Azure SQL.
Vous pouvez utiliser Azure HDInsight avec ou à la place d’Azure Synapse Analytics. Outre Spark, HDIn-
sight prend en charge les technologies de streaming telles qu’Apache Kafka et le modèle de traitement
Apache Hadoop. L’image ci-dessous montre où vous pouvez utiliser les composants de HDInsight dans
une solution d’entreposage de données.
REMARQUE : Dans cette image, Hadoop est un cadre open source qui divise des jeux de données
volumineux en jeux plus réduits et les répartit sur un cluster de serveurs, de la même manière que
Synapse Analytics.
Hive est une fonction de requête de type SQL que vous pouvez utiliser avec un cluster HDInsight pour
examiner les données contenues dans divers formats. Vous pouvez l’utiliser pour créer, charger et
interroger des tables externes, d’une manière similaire à PolyBase pour Azure Synapse Analytics
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    241

Contrôle des connaissances


Question 1
Quand doit-on utiliser Azure Synapse Analytics ?
†† À effectuer des requêtes et des agrégations très complexes.
†† À créer des tableaux de bord à partir de données tabulaires
†† À permettre à un grand nombre d'utilisateurs d'interroger des données analytiques.

Question 2
À quoi sert l’ingestion de données ?
†† À effectuer des transformations de données complexes sur les données reçues de sources externes.
†† À capturer les données entrant dans un système d’entrepôt de données aussi rapidement que
possible.
†† À visualiser les résultats de l’analyse des données.

Question 3
Quelle est la principale différence entre un lac de données et un entrepôt de données?
†† Un lac de données contient des informations structurées, alors qu’un entrepôt de données contient
données commerciales brutes.
†† Un lac de données contient des données brutes, alors qu’un entrepôt de données contient des
informations structurées.
†† Les données stockées dans un lac de données sont dynamiques, alors que les informations stockées
dans un entrepôt de données sont statiques.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
242     

Résumé
Cette leçon a décrit le fonctionnement d’une solution d'entrepôt de données et vous a donné une vue
d’ensemble des services que vous pouvez utiliser pour créer un entrepôt de données moderne dans
Azure.
Au cours de cette leçon, vous avez appris à :
●● Explorer les concepts d’entreposage de données
●● Explorer les Data Services Azure pour un entreposage de données moderne
●● Examiner l’architecture et la charge de travail modernes d’entreposage de données
●● Découvrir les Data Services Azure dans le portail Azure

En savoir plus
●● Fabrique de données2
●● Azure Data Lake Storage3
●● Azure Databricks4
●● Azure Synapse Analytics5
●● Présentation d’Azure Analysis Services6
●● Qu’est-ce que Power BI ?7
●● HDInsight8
●● Conseils pour la conception de tables distribuées dans le pool Synapse SQL9
●● Stratégies de chargement de données pour le pool Synapse SQL10
●● Qu’est-ce que PolyBase ?11

2 https://azure.microsoft.com/services/data-factory/
3 https://azure.microsoft.com/services/storage/data-lake-storage/
4 https://azure.microsoft.com/services/databricks/
5 https://azure.microsoft.com/services/synapse-analytics/
6 https://docs.microsoft.com/azure/analysis-services/analysis-services-overview
7 https://docs.microsoft.com/power-bi/fundamentals/power-bi-overview
8 https://azure.microsoft.com/services/hdinsight/
9 https://docs.microsoft.com/azure/synapse-analytics/sql-data-warehouse/sql-data-warehouse-tables-distribute
10 https://docs.microsoft.com/azure/synapse-analytics/sql-data-warehouse/design-elt-data-loading
11 https://docs.microsoft.com/sql/relational-databases/polybase/polybase-guide
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    243

Explorer l’ingestion des données dans Azure


Introduction
L’ingestion de données est le processus utilisé pour charger des données d’une ou plusieurs sources dans
un magasin de données. Une fois ingérées, les données deviennent disponibles pour utilisation. Les
données peuvent être ingérées à l’aide d’un traitement par lots ou d’une diffusion en continu, selon la
nature de la source de données.
Les organisations disposent souvent de sources de données nombreuses et disparates. Pour fournir une
solution cloud complète, il est important d’avoir une approche flexible de l’ingestion de données dans un
magasin de données Azure. Azure offre de nombreuses façons d’ingérer des données.
Dans cette leçon, vous explorerez certains de ces outils et techniques que vous pouvez utiliser pour
ingérer des données avec Azure.

Objectifs d’apprentissage
Dans cette leçon, vous allez :
●● Décrire l’ingestion de données dans Azure ;
●● Décrire les composants d’Azure Data Factory ;
●● Découvrez comment utiliser Azure Data Factory pour charger des données dans un entrepôt de
données

Décrire les pratiques courantes de chargement


des données
L’ingestion des données est la première étape d’une solution d’entreposage de données, quelle qu’elle
soit. Il s’agit sans doute de la partie la plus importante. Si vous perdez des données à ce stade, les
informations obtenues peuvent être inexactes et risquent de vous faire prendre de mauvaises décisions
pour votre entreprise. Dans un système Big Data, l’ingestion des données doit être suffisamment rapide
pour capturer les grandes quantités de données que vous recevez. Elle doit également disposer d’une
puissance de calcul suffisante pour traiter ces données en temps opportun.
Azure propose plusieurs services pour ingérer des données. Ces services peuvent fonctionner avec
pratiquement n’importe quelle source. Dans cette unité, vous allez examiner certains outils parmi les plus
fréquemment utilisés avec Azure : Azure Data Factory, PolyBase, SQL Server Integration Services et Azure
Databricks.

Ingérer des données avec Azure Data Factory


Azure Data Factory est un service d’ingestion et de transformation des données qui vous permet de
charger des données brutes issues de sources diverses et variées, à la fois en local et dans le cloud. À
mesure qu’il ingère les données, Data Factory peut les nettoyer, les transformer et les restructurer avant
de les charger dans un référentiel, comme un entrepôt de données. Une fois que les données se trouvent
dans l’entrepôt de données, vous pouvez les analyser.
Data Factory comprend une série de systèmes interconnectés qui constituent une plateforme de bout en
bout complète pour les ingénieurs Données. Vous pouvez non seulement charger des données statiques,
mais vous pouvez aussi ingérer des données de streaming. Le chargement des données à partir d’un flux
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
244     

offre une solution en temps réel pour les données qui arrivent ou changent rapidement. Avec le stream-
ing, vous pouvez utiliser Azure Data Factory pour mettre constamment à jour les informations dans un
entrepôt de données avec les données les plus récentes.
Data Factory fournit un moteur d’orchestration. L’orchestration est le processus qui consiste à diriger et
contrôler d’autres services, puis à les interconnecter pour leur permettre de s’échanger les données. Data
Factory s’appuie sur l’orchestration pour combiner et automatiser des séquences de tâches qui font appel
à différents services pour effectuer des opérations complexes.

Azure Data Factory exploite plusieurs ressources différentes : services liés, jeux de données et pipelines.
Les sections suivantes expliquent comment Data Factory utilise ces ressources.

Comprendre les services liés


Data Factory déplace les données d’une source de données vers une destination. Un service lié procure à
Data Factory les informations nécessaires pour se connecter à une source ou à une destination. Par
exemple, vous pouvez utiliser un service lié Stockage Blob Azure pour connecter un compte de stockage
à Data Factory, ou le service lié Azure SQL Database pour se connecter à une base de données SQL.
Les informations contenues dans un service lié varient selon la ressource. Par exemple, pour créer un
service lié pour Stockage Blob Azure, vous devez fournir certaines informations comme le nom de
l’abonnement Azure propriétaire du compte de stockage, le nom du compte de stockage et les informa-
tions nécessaires à l’authentification auprès du compte de stockage. Pour créer un service lié à une autre
ressource, par exemple Azure SQL Database, vous devez spécifier le nom du serveur de base de données,
le nom de la base de données et les informations d’identification appropriées.
L’image ci-dessous montre l’interface graphique utilisateur fournie par Azure Data Factory pour créer des
services liés.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    245
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
246     

Comprendre les jeux de données


Dans Azure Data Factory, un jeu de données représente les données à ingérer (entrée) ou à stocker
(sortie). Si vos données ont une structure, le jeu de données précise comment elles sont structurées. Tous
les jeux de données ne sont pas structurés. Les objets blob conservés dans Stockage Blob Azure sont un
exemple de données non structurées.
Un jeu de données se connecte à une entrée ou à une sortie au moyen d’un service lié. Par exemple, si
vous avez besoin de lire et traiter des données issues de Stockage Blob Azure, vous devez créer un jeu de
données d’entrée qui utilise un service lié Stockage Blob pour spécifier les détails du compte de stockage.
Le jeu de données précisera quel objet blob ingérer ainsi que le format des informations contenues dans
l’objet blob (données binaires, JSON, texte délimité, etc.). Si vous utilisez Azure Data Factory pour stocker
des données dans une table de base de données SQL, vous devez définir un jeu de données de sortie qui
utilise un service lié SQL Database pour se connecter à la base de données et qui précise quelle table
utiliser dans cette base de données.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    247

Comprendre les pipelines


Un pipeline constitue un regroupement logique d’activités qui exécutent ensemble une tâche. Les
activités d’un pipeline définissent les actions à effectuer sur vos données. Par exemple, vous pouvez
utiliser une activité de copie pour transformer les données d’un jeu de données source en jeu de données
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
248     

de destination. Vous pouvez inclure des activités qui transforment les données lors de leur transfert, ou
vous pouvez combiner des données de plusieurs sources ensemble. D’autres activités vous permettent
d’incorporer des éléments de traitement issus d’autres services. Par exemple, vous pouvez utiliser une
activité Fonction Azure pour exécuter une fonction Azure afin de modifier et de filtrer les données, ou une
activité Bloc-notes Azure Databricks pour exécuter un bloc-notes qui effectue un traitement plus avancé

Les pipelines n’ont pas besoin d’être linéaires. Vous pouvez inclure des activités logiques qui exécutent à
plusieurs reprises une série de tâches alors qu’une condition est vraie, et ce à l’aide d’une activité ForEach,
ou suivre des chemins de traitement différents en fonction du résultat du traitement précédent à l’aide
d’une activité Condition If.
Pendant la phase d’ingestion, il arrive parfois que les données que vous intégrez présentent des noms de
colonne et des types de données différents de ceux exigés par la sortie. Dans ce cas, vous pouvez
procéder à un mappage de façon à transformer le format d’entrée des données au format de sortie. La
capture d’écran ci-dessous présente le canevas de mappage pour l’activité Copier des données. Elle illustre
la façon dont les colonnes des données d’entrée peuvent être mappées au format de données exigé par
la sortie.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    249

Vous pouvez exécuter un pipeline manuellement ou faire en sorte qu’il s’exécute ultérieurement à l’aide
d’un déclencheur. Un déclencheur vous permet de planifier l’exécution d’un pipeline selon un programme
établi (tous les samedis soir, par exemple), à intervalles réguliers (toutes les 2-3 minutes ou heures) ou
quand un événement se produit (p.ex., arrivée d’un fichier dans Azure Data Lake Storage ou suppression
d’un objet blob dans Stockage Blob Azure).

Ingérer des données avec PolyBase


PolyBase est une fonctionnalité de SQL Server et d’Azure Synapse Analytics qui vous permet d’exécuter
des requêtes Transact-SQL qui lisent les données de sources de données externes. PolyBase présente ces
sources de données externes comme s’il s’agissait de tables d’une base de données SQL. Avec PolyBase,
vous pouvez lire les données gérées par Hadoop, Spark et Stockage Blob Azure ainsi que d’autres
systèmes de gestion de bases de données comme Cosmos DB, Oracle, Teradata et MongoDB.
REMARQUE : Spark est un moteur de traitement parallèle qui prend en charge l’analytique à grande
échelle.
PolyBase vous permet de transférer des données d’une source de données externe dans une table, mais
aussi de copier des données à partir d’une source de données externe dans Azure Synapse Analytics ou
SQL Server. Vous pouvez aussi exécuter des requêtes qui joignent les tables d’une base de données SQL à
des données externes, ce qui vous permet d’exercer une analytique qui englobe plusieurs magasins de
données.
REMARQUE : Azure SQL Database ne prend pas en charge PolyBase.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
250     

Azure Data Factory offre une prise en charge de PolyBase pour le chargement de données. Par exemple,
Data Factory peut appeler directement PolyBase en votre nom si vos données se trouvent dans un
magasin de données compatible avec PolyBase.

Ingérer des données avec SQL Server Integration Services


SQL Server Integration Services (SSIS) est une plateforme qui permet de créer des solutions de transfor-
mation de données et d’intégration de données de niveau entreprise. Vous pouvez utiliser SSIS pour
résoudre des problèmes opérationnels complexes en copiant ou téléchargeant des fichiers, en chargeant
des entrepôts de données, en nettoyant et explorant des données et en gérant des données et objets de
base de données SQL. SSIS fait partie de Microsoft SQL Server.
SSIS peut extraire et transformer des données issues d’une grande variété de sources, par exemple des
fichiers de données XML, des fichiers plats et des sources de données relationnelles, puis charger les don-
nées dans une ou plusieurs destinations.
SSIS intègre un ensemble complet de tâches et de transformations, d’outils graphiques permettant de
créer des packages ainsi que la base de données du catalogue Integration Services, où vous pouvez
stocker, exécuter et gérer des packages. Un package est une collection organisée de connexions, d’élé-
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    251

ments de flux de contrôle, d’éléments de flux de données, de gestionnaires d’événements, de variables,


de paramètres et de configurations que vous assemblez à l’aide des outils de conception graphiques
fournis par SQL Server Integration Services ou que vous créez par programmation. Une fois le package
terminé, vous l’enregistrez dans SQL server, dans le magasin de packages Integration Services ou dans le
système de fichiers.
Vous pouvez utiliser les outils graphiques SSIS pour créer des solutions sans écrire une seule ligne de
code. Vous pouvez aussi programmer le modèle d’objet étendu Integration Services pour créer des
packages par programmation et coder des tâches personnalisées et d’autres objets de package.
SSIS est un utilitaire local. Cependant, Azure Data Factory vous permet d’exécuter vos packages SSIS
existants dans le cadre d’un pipeline sur le cloud. Vous pouvez ainsi vous lancer rapidement sans avoir à
réécrire votre logique de transformation existante.
Le Feature Pack SSIS pour Azure est une extension qui fournit des composants qui se connectent aux
services Azure, transfère les données entre des sources de données Azure et locales et traite les données
stockées dans Azure. Les composants du Feature Pack prennent en charge le transfert vers ou à partir de
Stockage Azure, Azure Data Lake et Azure HDInsight. Grâce à ces composants, vous pouvez traiter les
données ingérées à grande échelle.

Ingérer des données avec Azure Databricks


Azure Databricks est une plateforme analytique optimisée pour la plateforme de services cloud Microsoft
Azure. Databricks est basé sur Spark et est intégré à Azure pour rationaliser les workflows. Il offre un
espace de travail interactif qui favorise la collaboration entre les scientifiques des données, les ingénieurs
Données et les analystes d’entreprise.
Databricks peut traiter des données conservées dans de nombreux types de stockages différents, notam-
ment Stockage Blob Azure, Azure Data Lake Store, le stockage Hadoop, les fichiers plats, les bases de
données SQL, les entrepôts de données et certains services Azure comme Cosmos DB. Databricks peut
également traiter des données en flux continu. Par exemple, vous pouvez capturer des données diffusées
en continu à partir de capteurs et d’autres appareils.
Vous pouvez écrire et exécuter du code Spark en utilisant des notebooks. Un notebook est similaire à un
programme qui contient une série d’étapes (appelées cellules). Un notebook peut contenir des cellules
qui lisent des données issues d’une ou plusieurs sources de données, traitent les données et écrivent les
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
252     

résultats dans un magasin de données. La scalabilité d’Azure Databricks en fait une plateforme idéale
pour effectuer des tâches analytiques et d’ingestion de données complexes.
Azure Data Factory peut incorporer des notebooks Azure Databricks dans un pipeline. Un pipeline peut
transmettre des paramètres à un notebook. Ces paramètres peuvent spécifier les données à lire et
analyser. Le notebook peut enregistrer les résultats, que le pipeline Azure Data Factory peut utiliser dans
les activités ultérieures.

Démonstration : Charger des données dans Az-


ure Synapse Analytics.
Imaginez que vous faites partie d’une équipe qui analyse les données sur les prix des logements. Le jeu
de données que vous recevez contient des informations sur les prix des logements pour plusieurs
régions. Votre équipe doit rendre compte de la façon dont les prix des logements dans chaque région
ont varié au cours des derniers mois. Pour ce faire, vous devez ingérer les données dans Azure Synapse
Analytics. Vous avez décidé d’utiliser Azure Data Factory pour effectuer cette tâche.
Dans cette vidéo, vous découvrirez comment utiliser Azure Data Factory pour ingérer et traiter les
données de prix des logements à des fins d’analyse. Vous stockerez les données dans Azure Synapse
Analytics pour analyse ultérieure.

https://www.microsoft.com/videoplayer/embed/RE4Asf7

Contrôle des connaissances


Question 1
Quel est le composant Azure Data Factory qui peut être déclenché pour exécuter des tâches d’ingestion de
données ?
†† Fichiers CSV
†† Pipeline
†† Service lié

Question 2
Quand pouvez-vous utiliser PolyBase ?
†† À interroger des données à partir de sources de données externes à partir d’Azure Synapse Analytics
†† À ingérer des données de streaming à l’aide d’Azure Databricks
†† À orchestrer les activités dans Azure Data Factory
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    253

Question 3
Lequel de ces services peut être utilisé pour ingérer des données dans Azure Synapse Analytics ?
†† Azure Data Factory
†† Power BI
†† Azure Active Directory

Résumé
Dans cette leçon, vous avez découvert les outils d’ingestion de données dans une base de données
Azure. Vous avez vu comment utiliser Azure Data Factory pour lire, traiter et stocker des données dans un
entrepôt de données.
Dans cette leçon, vous avez appris à :
●● Décrire l’ingestion de données dans Azure ;
●● Décrire les composants d’Azure Data Factory ;
●● Charger des données dans Azure Synapse Analytics.

En savoir plus
●● Pipelines et activités dans Azure Data Factory12
●● Démarrage rapide : Créer une fabrique de données avec l’interface utilisateur d’Azure Data
Factory13
●● L’entrepôt de données Azure SQL s’appelle désormais Azure Synapse Analytics14
●● BI d’entreprise automatisée avec Azure Synapse Analytics et Azure Data Factory15

12 https://docs.microsoft.com/azure/data-factory/concepts-pipelines-activities
13 https://docs.microsoft.com/azure/data-factory/quickstart-create-data-factory-portal
14 https://azure.microsoft.com/blog/azure-sql-data-warehouse-is-now-azure-synapse-analytics/
15 https://docs.microsoft.com/azure/architecture/reference-architectures/data/enterprise-bi-adf
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
254     

Explorer le stockage et le traitement des don-


nées dans Azure
Introduction
Les données résident à de nombreux emplacements au sein d’une organisation. Lorsque vous concevez
votre solution de données cloud, vous souhaitez ingérer vos données brutes dans un magasin de don-
nées à des fins d’analyse. Une approche courante que vous pouvez utiliser avec Azure Synapse Analytics
consiste à extraire les données d’où elles sont actuellement stockées, à charger ces données dans un
magasin de données analytiques, puis à transformer les données en les façonnant pour l’analyse. Cette
approche est connue sous le nom d’ELT, pour extraire, charger et transformer.
Azure Synapse Analytics est particulièrement adapté à cette approche. À l’aide d’Apache Spark et de
pipelines automatisés, Synapse Analytics peut exécuter des tâches de traitement parallèles sur des
ensembles de données massifs et effectuer des analyses Big Data.
REMARQUE : Le terme Big Data fait référence à des données trop volumineuses ou trop complexes pour
les systèmes de base de données traditionnels. Les systèmes qui traitent les mégadonnées doivent
effectuer une ingestion et un traitement rapides des données. Ils doivent avoir la capacité de stocker les
résultats et une puissance de calcul suffisante pour effectuer des analyses sur ces résultats.
Une autre option consiste à analyser les données opérationnelles à leur emplacement d’origine. Cette
stratégie est connue sous le nom de traitement analytique transactionnel hybride (HTAP). Vous pouvez
effectuer ce style d’analyse sur les données conservées dans des référentiels tels qu’Azure Cosmos DB à
l’aide d’Azure Synapse Link.

Objectifs d’apprentissage
Au cours de cette leçon, vous allez :
●● Décrire les options de traitement des données pour effectuer des analyses dans Azure
●● Découvrir Azure Synapse Analytics

Décrire le stockage et le traitement des données


avec Azure
Les organisations génèrent des données dans l’ensemble de leur activité. À des fins d’analyse, ces
données peuvent être laissées dans un format ingéré brut, ou être traitées et enregistrées dans un
magasin de données ou un entrepôt de données spécialement conçu. Azure permet aux entreprises
d’implémenter l’un ou l’autre de ces scénarios.
Les options les plus courantes pour le traitement des données dans Azure sont Azure Databricks, Azure
Data Factory, Azure Synapse Analytics et Azure Data Lake. Dans cette unité, vous allez explorer ces
options plus en détail.

Présentation d’Azure Synapse Analytics


Azure Synapse Analytics est un service d’analyse généralisé. Vous pouvez l’utiliser pour lire des données
provenant de nombreuses sources, traiter ces données, générer diverses analyses et divers modèles, puis
enregistrer les résultats.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    255

Vous avez le choix entre deux technologies pour traiter les données :
●● Transact-SQL. Il s’agit du même dialecte SQL que celui utilisé par Azure SQL Database, avec certaines
extensions pour la lecture des données provenant de sources externes, comme des bases de données,
des fichiers et Azure Data Lake Storage. Vous pouvez utiliser ces extensions pour charger rapidement
des données, générer des agrégations et d’autres opérations analytiques, créer des tables et des vues,
puis les utiliser pour stocker des informations. Vous pouvez utiliser les résultats pour générer des
rapports et les traiter plus tard.
●● Spark. Il s’agit de la même technologie open source que celle utilisée pour alimenter Azure Databricks.
Vous écrivez votre code analytique à l’aide de notebooks dans un langage de programmation comme
C#, Scala, Python ou SQL. Les bibliothèques Spark fournies avec Azure Synapse Analytics vous per-
mettent de lire des données provenant de sources externes, et d’écrire des données dans différents
formats si vous devez enregistrer vos résultats pour une analyse plus poussée.
Azure Synapse Analytics utilise une architecture clusterisée. Chaque grappe a un nœud de contrôle utilisé
comme point d’entrée du système. Quand vous exécutez des instructions Transact-SQL ou que vous
démarrez des tâches Spark à partir d’un notebook, la demande est envoyée au nœud de contrôle. Le
nœud de contrôle exécute un moteur de traitement parallèle qui divise l’opération en une série de tâches
qui peuvent être exécutées simultanément. Chaque tâche effectue une partie de la charge de travail sur
une partie des données sources. Chaque tâche est envoyée à un nœud de calcul pour procéder au
traitement. Le nœud de contrôle rassemble les résultats des nœuds de calcul et les combine dans un
résultat global.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
256     

L’unité suivante décrit plus en détail les composants d’Azure Synapse Analytics.
Pour plus d'informations, consultez l’article Qu’est-ce qu’Azure Synapse Analytics ?16

Présentation d’Azure Databricks


Azure Databricks est une plateforme analytique optimisée pour la plateforme de services cloud Microsoft
Azure. Conçu avec les créateurs d’Apache Spark, Databricks est intégré dans Azure pour offrir une

16 https://docs.microsoft.com/azure/synapse-analytics/sql-data-warehouse/sql-data-warehouse-overview-what-is
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    257

configuration en un clic, des workflows simplifiés et un espace de travail interactif permettant aux
scientifiques des données, aux ingénieurs des données et aux analystes métier de collaborer.
Databricks peut traiter des données stockées dans de nombreux types de stockages différents, notam-
ment le stockage Blob Azure, Azure Data Lake Store, le stockage Hadoop, les fichiers plats, les bases de
données et les entrepôts de données. Databricks peut également traiter des données en flux continu.
Databricks utilise une architecture extensible basée sur des pilotes.
REMARQUE : Un pilote est une partie de code qui se connecte à une source de données spécifique et
vous permet de lire et d’écrire cette source. Un pilote est généralement fourni dans le cadre d’une
bibliothèque que vous pouvez charger dans l’environnement Databricks. Les pilotes sont disponibles
pour de nombreux services Azure, notamment Azure SQL Database, Azure Cosmos DB, Stockage Blob
Azure et Azure Data Lake Storage, ainsi qu’un grand nombre de services et de bases de données générés
par des tiers, comme MySQL et PostgreSQL.
Le moteur de traitement est fourni par Apache Spark. Spark est un moteur de traitement parallèle qui
prend en charge l’analytique à grande échelle. Vous écrivez du code d’application qui consomme des
données provenant d’une ou de plusieurs sources. Ensuite, vous fusionnez, reformatez, filtrez et remod-
elez ces données, puis vous stockez les résultats. Spark distribue le travail sur un cluster d’ordinateurs.
Chaque ordinateur peut traiter ses données en parallèle avec les autres ordinateurs. La stratégie permet
de réduire le temps nécessaire pour effectuer le travail. Spark est conçu pour gérer de grandes quantités
de données.
Vous pouvez écrire le code d’application Spark à l’aide de plusieurs langages, comme Python, R, Scala,
Java et SQL. Spark dispose d’un certain nombre de bibliothèques pour ces langages, fournissant des
routines analytiques complexes qui ont été optimisées pour l’environnement clusterisé. Ces bibliothèques
comprennent des modules pour le Machine Learning, l’analyse statistique, la modélisation linéaire et non
linéaire, l’analyse prédictive et les graphismes.
Vous écrivez des applications Databricks à l’aide d'un notebook. Un notebook contient une série d'étapes
(cellules), chacune contenant un bloc de code. Par exemple, une cellule peut contenir le code qui se
connecte à une source de données, la cellule suivante lit les données de cette source et les convertit en
un modèle en mémoire, la cellule suivante trace un graphe et une dernière cellule enregistre les données
du modèle en mémoire dans un dépôt.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
258     

Pour plus d'informations, consultez la rubrique Qu’est-ce qu’Azure Databricks ?17

Présentation d’Azure HDInsight


Azure HDInsight est un service analytique managé dans le cloud. Il est basé sur Apache Hadoop, ensem-
ble d’outils et d’utilitaires open source qui vous permettent d’exécuter des tâches de traitement sur de
grandes quantités de données. HDInsight utilise un modèle clusterisé, semblable à celui de Synapse
Analytics. HDInsight stocke les données à l’aide d’Azure Data Lake Storage. Vous pouvez utiliser HDIn-
sight pour analyser des données avec des frameworks comme Hadoop Map/Reduce, Apache Spark,
Apache Hive, Apache Kafka, Apache Storm, R, entre autres.
Hadoop Map/Reduce utilise un framework simple pour diviser une tâche à effectuer sur un jeu de
données volumineux en une série de plus petites tâches à effectuer sur des sous-ensembles de données
qui peuvent être exécutés en parallèle, après quoi les résultats sont combinés. Vous écrivez votre code
Map/Reduce dans un langage comme Java, puis vous envoyez ce code en tant que travail au cluster
Hadoop. Hadoop Map/Reduce a été largement remplacé par Spark, qui offre un ensemble plus avancé
d’opérations et une interface plus simple.

17 https://docs.microsoft.com/azure/azure-databricks/what-is-azure-databricks
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    259

Comme les tâches Map/Reduce, les tâches Spark sont mises en parallèle dans une série de tâches
subordonnées qui s’exécutent sur le cluster. Vous pouvez écrire des tâches Spark dans le cadre d’une
application, ou vous pouvez utiliser des notebooks interactifs. Ces notebooks sont les mêmes que ceux
que vous pouvez exécuter dans Azure Databricks. Spark comprend des bibliothèques que vous pouvez
utiliser pour lire et écrire des données dans une grand variété de magasins de données (et pas seulement
des magasins HDFS). Par exemple, vous pouvez vous connecter à des bases de données relationnelles
comme Azure SQL Database, et à d’autres services comme Azure Cosmos DB.
Apache Hive fournit des fonctionnalités interactives de type SQL pour interroger, agréger et synthétiser
des données. Les données peuvent provenir de nombreuses sources différentes. Les requêtes sont
converties en tâches, puis sont parallélisées. Chaque tâche peut s’exécuter sur un nœud distinct dans le
cluster HDInsight, et les résultats sont combinés avant d’être retournés à l’utilisateur.
Apache Kafka est un service de streaming clusterisé qui peut ingérer des données en temps réel. Il s’agit
d’une solution très scalable qui offre des fonctionnalités de publication et d’abonnement.
Apache Storm est une plateforme scalable et à tolérance de panne pour exécuter des applications de
traitement des données en temps réel. Storm peut traiter de grands volumes de données en streaming
avec des conditions de calcul relativement modestes. Storm est conçu pour assurer la fiabilité, afin
d’éviter toute perte d’événements. Les solutions Storm peuvent également fournir un traitement des
données garanti, avec la possibilité de relire les données qui n’ont pas été correctement traitées la
première fois. Storm peut interagir avec diverses sources d’événements, notamment Azure Event Hubs,
Azure IoT Hub, Apache Kafka et RabbitMQ (service de mise en file d’attente des messages). Storm peut
également écrire dans des magasins de données comme des bases de données HDFS, Hive, HBase, Redis
et SQL. Vous écrivez une application Storm à l’aide des API fournies par Apache.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
260     

Pour plus d’informations, consultez l’article Qu’est -ce qu’Azure HDInsight ?18.

Présentation d’Azure Data Factory


Azure Data Factory est un service qui peut ingérer de grandes quantités de données brutes et non
organisées à partir de systèmes relationnels et non relationnels, et convertir ces données en informations
significatives. Data Factory fournit un moteur d’ingestion scalable et programmable que vous pouvez
utiliser pour implémenter des projets complexes ETL (extract-transform-load), ELT (extract-load-trans-
form) et d’intégration de données.
Prenons l’exemple d’une société d’édition de jeux qui rassemble plusieurs pétaoctets de journaux
d’activité sur les jeux générés par les jeux dans le cloud. La société souhaite analyser ces journaux
d’activité pour obtenir des informations détaillées sur les préférences des clients, les données démo-
graphiques et le comportement d’utilisation. Elle souhaite également identifier les opportunités de vente
incitative et de ventes croisées, développer de nouvelles fonctionnalités attrayantes, accroître son activité
et fournir une meilleure expérience à ses clients.

18 https://docs.microsoft.com/azure/hdinsight/hdinsight-overview
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    261

Pour analyser ces journaux d’activité, l’entreprise doit utiliser des données de référence comme des
informations sur le client, des informations sur les jeux et des informations sur la campagne marketing
qui sont contenues dans un magasin de données local. L’entreprise souhaite utiliser ces données issues
du magasin de données local et les combiner avec d’autres données de journal dont elle dispose dans un
magasin de données dans le cloud.
Pour extraire des insights, l’entreprise veut traiter les données jointes en utilisant un cluster Spark dans le
cloud (avec Azure HDInsight), et publier les données transformées dans un entrepôt de données cloud,
comme Azure Synapse Analytics. L’entreprise peut utiliser les informations de l’entrepôt de données pour
générer et publier des rapports. Ils souhaitent automatiser ce flux de travail, et le surveiller et le gérer sur
une base quotidienne. Ils veulent également l’exécuter lorsque les fichiers arrivent dans un conteneur de
magasin d’objets blob.
Azure Data Factory vous permet de créer et de planifier des workflows basés sur les données (appelés
pipelines) qui peuvent ingérer des données provenant des différents magasins de données utilisés par la
société de jeux. Vous pouvez créer des processus ETL complexes qui transforment des données visuelle-
ment à l’aide de flux de données ou à l’aide de services de calcul comme Azure HDInsight, Azure Data-
bricks et Azure SQL Database. Vous pouvez ensuite publier les données transformées dans Azure Synapse
Analytics pour les applications décisionnelles à utiliser.
Un pipeline est un regroupement logique des activités nécessaires pour effectuer une unité de travail.
Ensemble, les activités d’un pipeline effectuent une tâche. Par exemple, un pipeline peut contenir une
série d’activités qui ingère des données brutes à partir du stockage Blob Azure, puis exécute une requête
Hive sur un cluster HDInsight pour partitionner les données et stocker les résultats dans une base de
données Cosmos DB.

Présentation d’Azure Data Lake


Azure Data Lake est une collection de services d’analytique et de stockage que vous pouvez combiner
pour implémenter une solution Big Data. Il comprend trois éléments principaux :
●● Data Lake Store
●● Data Lake Analytics
●● HDInsight

Présentation de Data Lake Store


Data Lake Store fournit un système de fichiers qui peut stocker des quantités presque illimitées de
données. Il utilise une organisation hiérarchique (comme les systèmes de fichiers Windows et Linux), mais
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
262     

vous pouvez conserver des quantités importantes de données brutes (objets blob) et de données
structurées. Il est optimisé pour les charges de travail analytiques.
Azure Data Lake Storage est compatible avec le système de fichiers DFS Hadoop (HDFS). Vous pouvez
exécuter des tâches Hadoop avec Azure HDInsight (voir ci-dessous) qui peut lire et écrire des données
dans Data Lake Store de façon efficace.
Azure Data Lake Store offre une sécurité précise des données en utilisant des listes de contrôle d’accès.
Une liste de contrôle d’accès spécifie quels comptes peuvent accéder à des fichiers et dossiers spécifiques
du magasin. Si vous êtes plus familiarisé avec Linux, vous pouvez utiliser des autorisations de type POSIX
pour accorder un accès en lecture, en écriture et en recherche en fonction de la propriété du fichier et de
l’appartenance aux groupes des utilisateurs.
Les services comme Azure Data Factory, Azure Databricks, Azure HDInsight, Azure Data Lake Analytics et
Azure Stream Analytics peuvent lire et écrire directement dans Data Lake Store.

Présentation de Data Lake Analytics


Azure Data Lake Analytics est un service de travaux analytiques à la demande que vous pouvez utiliser
pour traiter le Big Data. Il fournit un framework et un ensemble d’outils que vous utilisez pour analyser
des données stockées dans Microsoft Azure Data Lake Store et d’autres dépôts. Vous écrivez des tâches
qui contiennent des requêtes destinées à transformer des données et à extraire des insights.
Vous définissez un travail à l’aide d’un langage appelé U-SQL. Il s’agit d’un langage hybride qui accepte
les fonctionnalités à la fois de SQL et de C#, et qui fournit des fonctionnalités déclaratives et procédurales
que vous pouvez utiliser pour traiter les données.
L’exemple du bloc U-SQL ci-dessous lit les données d’un fichier nommé StockPrices.csv, qui se trouve
dans un dossier nommé StockMarket dans Data Lake Storage. Il s’agit d’un fichier texte qui contient des
informations boursières (actions, prix et éventuellement d’autres données), conservées dans un format
séparé par des virgules. L’instruction EXTRACT lit le fichier ligne par ligne et extrait les données des
champs Symbole et Prix (elle ignore la première ligne, où un fichier CSV contient généralement des
informations relatives au nom du champ plutôt que des données). L’instruction SELECT calcule le prix
maximum pour chaque symbole. L’instruction OUTPUT stocke les résultats dans un autre fichier dans
Data Lake Storage.
REMARQUE : Dans un fichier CSV, chaque ligne se compose d’un ou de plusieurs champs, et chaque
champ est séparé par une virgule. En général, la première ligne du fichier contient le nom des champs.
@priceData =
EXTRACT Ticker string,
Price int
FROM "/StockMarket/StockPrices.csv"
USING Extractors.Csv(skipFirstNRows: 1);

@maxPrices =
SELECT Ticker, MAX(Price) AS MaxPrice
FROM @priceData
GROUP BY Ticker;

OUTPUT @maxPrices
TO "/output/MaxPrices.csv"
USING Outputters.Csv(outputHeader: true);
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    263

Il est important de comprendre que le code U-SQL fournit uniquement une description du travail à
effectuer. Azure Data Lake Analytics détermine la meilleure façon d’effectuer ce travail. Data Lake Analyt-
ics prend la description U-SQL d’un travail, l’analyse pour vérifier qu’il est syntaxiquement correct, puis la
compile dans une représentation interne. Data Lake Analytics décompose ensuite cette représentation
interne en étapes d’exécution. Chaque étape effectue une tâche, comme l’extraction des données d’une
source spécifiée, la division des données en partitions, le traitement des données dans chaque partition,
l’agrégation des résultats dans une partition, puis la combinaison des résultats de l’ensemble des parti-
tions. Le partitionnement est utilisé pour améliorer la parallélisation, et le traitement des différentes
partitions est effectué simultanément sur différents nœuds de traitement. Les données de chaque
partition sont déterminées par le compilateur U-SQL, en fonction de la façon dont la tâche récupère et
traite les données.
Une tâche U-SQL peut générer des résultats dans un seul fichier CSV, partitionner les résultats sur
plusieurs fichiers ou écrire dans d’autres destinations. Par exemple, Data Lake Analytics vous permet de
créer des générateurs de sortie personnalisés si vous voulez enregistrer des données dans un format
particulier (comme XML ou HTML). Vous pouvez également écrire des données dans le catalogue Data
Lake. Le catalogue fournit une interface de type SQL pour Data Lake Storage, ce qui vous permet de créer
des tables et des vues, et d’exécuter des instructions INSERT, UPDATE et DELETE sur ces tables et vues.

Découvrir Azure Synapse Analytics


Azure Synapse Analytics fournit une suite d’outils pour analyser et traiter les données d’une organisation.
Il intègre les technologies SQL, les capacités de requête Transact-SQL et les outils Spark open source pour
vous permettre de traiter rapidement de très grandes quantités de données.
Dans cette unité, vous examinerez de plus près les fonctionnalités de Synapse Analytics et quand vous
devriez envisager de l’utiliser.

Quels sont les composants d’Azure Synapse Analytics ?


Azure Synapse Analytics est un service d’analyse intégré qui permet aux organisations d’obtenir rapide-
ment des informations à partir de toutes leurs données à n’importe quelle hyperscale, à la fois à partir
d’entrepôts de données et de systèmes d’analyse Big Data.
Azure Synapse se compose des éléments suivants :
●● Pool Synapse SQL : Il s’agit d’un ensemble de serveurs exécutant Transact-SQL. Transact-SQL est le
dialecte SQL utilisé par Azure SQL Database et Microsoft SQL Server. La logique de traitement des
données s’écrit à l’aide de Transact-SQL.
●● Pool Synapse Spark : Il s’agit d’un cluster de serveurs exécutant Apache Spark pour traiter les
données. Vous écrivez votre logique de traitement des données en utilisant l’un des quatre langages
pris en charge : Python, Scala, SQL et C# (via .NET pour Apache Spark). Les pools Spark prennent en
charge Azure Machine Learning via l’intégration avec les packages SparkML et AzureML.
●● Pipelines Synapse : Un pipeline Synapse est un regroupement logique d’activités qui exécutent
ensemble une tâche. Les activités d’un pipeline définissent les actions à effectuer sur vos données. Par
exemple, vous pouvez utiliser une activité de copie pour transformer les données d’un jeu de données
source en un jeu de données de destination. Vous pouvez inclure des activités qui transforment les
données lors de leur transfert, ou vous pouvez combiner des données de plusieurs sources ensemble.
●● Synapse Link : Ce composant vous permet de vous connecter à Cosmos DB. Vous pouvez l’utiliser
pour effectuer des analyses en quasi-temps réel sur les données opérationnelles stockées dans une
base de données Cosmos DB.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
264     

●● Synapse Studio : Il s’agit d’une interface utilisateur web qui permet aux ingénieurs de données
d’accéder à tous les outils de Synapse Analytics. Vous pouvez utiliser Synapse Studio pour créer des
pools SQL et Spark, définir et exécuter des pipelines et configurer des liens vers des sources de
données externes.

REMARQUE : Toutes les données stockées dans Azure Synapse Analytics peuvent être utilisées pour créer
et former des modèles avec Azure Machine Learning.
Les sections suivantes décrivent chacun de ces éléments de manière plus détaillée.

Que sont les pools SQL ?


Lorsque vous utilisez Synapse SQL, votre charge de travail d’analyse s’exécute à l’aide d’un pool SQL.
Dans un pool SQL, les nœuds de contrôle et de calcul du cluster exécutent une version de la base de
données Azure SQL qui prend en charge les requêtes distribuées. Définissez votre logique à l’aide
d’instructions Transact-SQL. Vous envoyez vos instructions Transact-SQL au nœud de contrôle, qui divise
le travail en requêtes qui fonctionnent sur un sous-ensemble de données, puis envoie ces requêtes plus
petites aux nœuds de calcul. Les données sont divisées en sous-ensembles appelés distributions. Une
distribution est l’unité de base de stockage et de traitement des requêtes parallèles qui s’exécutent sur
des données distribuées. Chacune des requêtes plus petites s’exécute sur l’une des distributions de
données.
Les nœuds de contrôle et de calcul utilisent le service de déplacement de données (DMS) pour déplacer
les données entre les nœuds si nécessaire, pour exécuter des requêtes en parallèle et renvoyer des
résultats précis.
Synapse Analytics utilise une technologie appelée PolyBase pour que les données externes ressemblent à
des tables SQL. Vous pouvez exécuter des requêtes directement sur ces tables, ou transférer les données
dans une série de tables SQL gérées par Synapse Analytics pour des requêtes ultérieures. Synapse utilise
le stockage Azure pour gérer vos données pendant leur traitement.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    265

Par défaut, un pool SQL à la demande est créé dans chaque espace de travail Azure Synapse Analytics.
Vous pouvez ensuite approvisionner des pools supplémentaires, à la demande ou approvisionnés.
REMARQUE : Les pools à la demande vous permettent uniquement d’interroger les données contenues
dans des fichiers externes. Si vous souhaitez ingérer et charger les données dans Synapse Analytics, vous
devez créer votre propre pool SQL.
Azure Synapse Analytics est conçu pour exécuter des requêtes sur des jeux de données massifs. Vous
pouvez mettre à l’échelle le pool SQL manuellement, jusqu’à 60 nœuds. Vous pouvez également suspen-
dre un pool SQL si vous n’en avez pas besoin pendant un certain temps. La suspension libère les res-
sources associées au pool. Vous n’êtes pas facturé pour ces ressources jusqu’à ce que vous relanciez le
pool manuellement. Cependant, vous ne pouvez exécuter aucune requête tant que le pool n’est pas
relancé. Le relancement d’un pool peut prendre plusieurs minutes.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
266     

Utilisez des pools SQL dans Synapse Analytics pour les scénarios suivants :
●● Rapports complexes. Vous pouvez utiliser toute la puissance de Transact-SQL pour exécuter des
instructions SQL complexes qui résument et agrègent les données.
●● Ingestion des données. PolyBase vous permet de récupérer des données à partir de nombreuses
sources externes et de les convertir en un format tabulaire. Vous pouvez reformater ces données et les
enregistrer sous forme de tables et de vues matérialisées dans Azure Synapse.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    267

Que sont les pools Spark ?


Synapse Spark exécute des clusters basés sur Apache Spark plutôt que sur la base de données Azure SQL.
Vous écrivez vos travaux d’analyse sous forme de notebooks, à l’aide de code écrit en Python, Scala, C#
ou Spark SQL (un dialecte différent de Transact-SQL). Vous pouvez combiner du code écrit en plusieurs
langues dans le même notebook.
REMARQUE : Les pools Spark et les pools SQL peuvent coexister dans la même instance d’Azure Synapse
Analytics.
Les notebooks vous permettent également de visualiser les données via des graphiques, mais aussi de
transformer les données au fur et à mesure de leur chargement. Les données peuvent ensuite être
utilisées par Spark Machine Learning (SparkML) et Azure Machine Learning (AzureML)19 pour former
des modèles Machine Learning qui prennent en charge l’intelligence artificielle.
Les pools Spark vous permettent de traiter les données conservées dans de nombreux formats, tels que
csv, json, xml, parquet, orc et avro. Spark peut être étendu pour prendre en charge de nombreux autres
formats avec des sources de données externes.
Les pools Spark fournissent les blocs de base pour effectuer le calcul de cluster en mémoire. Un travail
Spark peut charger et mettre en cache des données en mémoire, mais aussi les interroger à plusieurs
reprises. Le calcul en mémoire est beaucoup plus rapide que les applications sur disque. Les pools Spark
dans Azure Synapse étant compatibles avec le stockage Azure et Azure Data Lake Storage, vous pouvez
donc utiliser des pools Spark pour traiter vos données stockées dans Azure.
La mise à l’échelle automatique des pools Spark peut être activée, de sorte que les pools évoluent en
ajoutant ou en supprimant des nœuds si nécessaire. En outre, les pools Spark peuvent être fermés sans
perte de données, car toutes les données sont stockées dans le stockage Azure ou Data Lake Storage.
Les pools Spark dans Synapse Analytics sont particulièrement adaptés aux scénarios suivants :
●● Engineering données / Préparation des données. Apache Spark inclut de nombreuses fonctionnalités de
langage pour prendre en charge la préparation et le traitement de gros volumes de données afin de
les rendre plus utiles, puis de permettre à d’autres services de les utiliser dans Synapse Analytics.
L’activation se fait via les bibliothèques Spark, qui prennent en charge le traitement et la connectivité.
●● Machine Learning. Apache Spark est livré avec MLlib, une bibliothèque de Machine Learning dévelop-
pée sur Spark que vous pouvez utiliser à partir d’un pool Spark dans Synapse Analytics. Les pools
Spark dans Synapse Analytics incluent également Anaconda, une distribution Python avec une variété
de packages pour la science des données, y compris l’apprentissage automatique. S’il est combiné
avec la prise en charge intégrée des notebooks, vous disposez d’un environnement pour créer des
applications de Machine Learning.

Que sont les pipelines Synapse ?


Un pipeline est un regroupement logique d’activités qui exécutent ensemble une tâche. Par exemple, un
pipeline peut contenir un ensemble d’activités qui ingèrent et nettoient des données d’un journal
d’activité, puis lancent un flux de données de mappage pour analyser les données du journal. Le pipeline
vous permet de gérer les activités comme un ensemble et non individuellement. Vous déployez et
planifiez le pipeline plutôt que de traiter chaque activité indépendamment.
Les activités d’un pipeline définissent les actions à effectuer sur vos données. Par exemple, vous pouvez
utiliser une activité de copie pour copier des données du Stockage Blob Azure dans Azure Synapse à

19 https://azure.microsoft.com/services/machine-learning/
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
268     

l’aide d’un pool SQL. Ensuite, utilisez une activité de flux de données ou une activité de notebook à l’aide
d’un pool Spark pour traiter et générer un modèle Machine Learning.
Les pipelines Synapse utilisent le même moteur d’intégration de données que celui utilisé par Azure Data
Factory. Dans Synapse Studio, cela vous donne la puissance nécessaire pour créer des pipelines qui
peuvent se connecter à plus de 90 sources à partir de fichiers plats, de bases de données ou de services
en ligne. Vous pouvez créer des flux de données sans code qui vous permettent d’effectuer des mappag-
es et des transformations complexes sur les données au fur et à mesure de leur flux dans vos solutions
analytiques. L’exemple ci-dessous présente un pipeline avec trois activités. Le pipeline ingère des don-
nées, puis utilise un notebook Spark pour générer un modèle Machine Learning. La fonction Azure à la fin
du pipeline teste le modèle Machine Learning pour le valider.

Pour plus d’informations, consultez l’article Pipelines et activités dans Azure Data Factory20.

Qu’est-ce que Synapse Link ?


Azure Synapse Link pour Azure Cosmos DB est une fonctionnalité de traitement transactionnel et analyt-
ique hybride (HTAP) native du cloud qui vous permet d’exécuter des analyses en temps quasi réel sur des
données opérationnelles stockées dans Azure Cosmos DB.

20 https://docs.microsoft.com/azure/data-factory/concepts-pipelines-activities
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    269

Le lien Synapse utilise une fonctionnalité de Cosmos DB nommée Cosmos DB Analytical Store. Cosmos DB
Analytical Store contient une copie des données dans un conteneur Cosmos DB, mais organisé comme
un magasin à colonnes. Column stocke les données de groupe par colonnes plutôt que par lignes. Les
magasins de colonnes sont un format plus optimal pour exécuter des charges de travail analytiques qui
doivent agréger des données dans une colonne plutôt que sur une ligne, comme la génération de totaux,
de moyennes, de valeurs maximales ou minimales pour une colonne. Cosmos DB conserve automatique-
ment les données dans ses conteneurs synchronisées avec les copies dans le magasin de colonnes.
Azure Synapse Link vous permet, d’une part, d’exécuter des charges de travail qui extraient des données
directement à partir de Cosmos DB et, d’autre part, d’exécuter des charges de travail d’analyse à l’aide
d’Azure Synapse Analytics. Les données n’ont pas à passer par un processus ETL (extraction, transforma-
tion et chargement) car les données ne sont pas copiées dans Synapse Analytics. Elles restent dans
Cosmos DB Analytical Store.
Les analystes commerciaux, les ingénieurs de données et les scientifiques des données peuvent désor-
mais utiliser les pools Synapse Spark ou Synapse SQL pour exécuter des pipelines de veille stratégique,
d’analyse et de Machine Learning automatique en temps quasi réel. Vous pouvez y parvenir sans affecter
le niveau de performance de vos charges de travail transactionnelles sur Azure Cosmos DB.
Synapse Link a un large éventail d’utilisations, notamment :
●● Analyse et prévisions de la chaîne d’approvisionnement. Vous pouvez interroger directement les
données opérationnelles et les utiliser pour créer des modèles d’apprentissage automatique. Vous
pouvez réutiliser les résultats générés par ces modèles dans Cosmos DB pour un calcul de score en
temps quasi réel. Vous pouvez utiliser ces évaluations pour affiner successivement les modèles et
générer des prévisions plus précises.
●● Génération de rapports opérationnelle. Vous pouvez utiliser Synapse Analytics pour interroger des
données opérationnelles à l’aide de Transact-SQL exécuté dans un pool SQL. Vous pouvez publier les
résultats dans des tableaux de bord à l’aide de la prise en charge fournie à des outils familiers tels que
Microsoft Power BI.
●● Intégration et orchestration de données par lots. Les chaînes d’approvisionnement devenant plus
complexes, les platesformes de données de la chaîne d’approvisionnement doivent s’intégrer à une
variété de sources et de formats de données. Le moteur d’intégration de données Azure Synapse
permet aux ingénieurs de données de créer des pipelines de données riches, sans avoir besoin d’un
moteur d’orchestration distinct.
●● Personnalisation en temps réel. Vous pouvez créer des solutions de commerce électronique attrayantes
qui permettent aux détaillants de générer des recommandations personnalisées et des offres spécial-
es pour les clients en temps réel.
●● Maintenance IoT. Les innovations industrielles de l’IoT ont considérablement réduit les temps d’arrêt
des machines et augmenté l’efficacité globale dans tous les domaines de l’industrie. L’une de ces
innovations est l’analyse de maintenance prédictive des machines à la périphérie du cloud. Les
données opérationnelles historiques des capteurs d’appareils IoT pourraient être utilisées pour former
des modèles prédictifs tels que des détecteurs d’anomalies. Ces détecteurs d’anomalies sont ensuite
déployés vers la périphérie pour une surveillance en temps réel. Le rebouclage permet un recyclage
continu des modèles prédictifs.

Qu’est-ce que Synapse Studio ?


Synapse Studio est une interface web qui vous permet de créer des pools et des pipelines de manière
interactive. Avec Synapse Studio, vous pouvez développer, tester et déboguer des blocs-notes Spark et
des travaux Transact-SQL. Vous pouvez surveiller le niveau de performance des opérations en cours
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
270     

d’exécution, mais aussi gérer des ressources sans serveur ou des ressources approvisionnées. Toutes ces
fonctionnalités sont accessibles via Synapse Studio, natif pour le Web, qui permet la gestion, la surveil-
lance, le codage et la sécurité des modèles.

Vous pouvez accéder à Synapse Studio directement depuis le portail Azure.

Contrôle des connaissances


Question 1
Vous disposez d’une grande quantité de données conservées dans des fichiers dans Azure Data Lake storage.
Vous souhaitez récupérer les données de ces fichiers et les utiliser pour remplir les tables contenues dans
Azure Synapse Analytics. Quelle est l’option de traitement la plus appropriée?
†† Utilisez le lien Azure Synapse pour vous connecter à Azure Data Lake Storage, puis téléchargez les
données
†† Pool Synapse SQL
†† Pool Spark Synapse

Question 2
Lequel des composants d’Azure Synapse Analytics permet de former des modèles d’IA à l’aide d’AzureML ?
†† Synapse Studio
†† Pipelines Synapse
†† Spark Synapse
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    271

Question 3
Dans Azure Databricks, comment modifier la langue utilisée dans une cellule ?
†† La première ligne de la cellule est %language. Par exemple, %scala.
†† Changez la langue du bloc-notes avant d’écrire les commandes
†† Enveloppez la commande dans la cellule avec ##language##.

Résumé
Dans ce module, vous avez acquis des notions sur :
●● Les options de traitement des données pour effectuer des analyses dans Azure
●● Azure Synapse Analytics

En savoir plus
●● Qu’est-ce qu’Azure Databricks ?21
●● Qu’est-ce qu’Azure Synapse Analytics ?22
●● Qu’est-ce qu’Azure HDInsight ?23
●● Azure Machine Learning (AzureML)24
●● Pipelines et activités dans Azure Data Factory25
●● Didacticiel : Extraire, transformer et charger des données à l’aide d’Azure Databricks26
●● Lien Azure Synapse pour Azure Cosmos DB : Cas d’utilisation de l’analyse en quasi-temps réel27

21 https://docs.microsoft.com/azure/azure-databricks/what-is-azure-databricks
22 https://docs.microsoft.com/azure/synapse-analytics/sql-data-warehouse/sql-data-warehouse-overview-what-is
23 https://docs.microsoft.com/azure/hdinsight/hdinsight-overview
24 https://azure.microsoft.com/services/machine-learning/
25 https://docs.microsoft.com/azure/data-factory/concepts-pipelines-activities
26 https://docs.microsoft.com/azure/azure-databricks/databricks-extract-load-sql-data-warehouse
27 https://docs.microsoft.com/azure/cosmos-db/synapse-link-use-cases
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
272     

Commencer à créer avec Power BI


Introduction
Microsoft Power BI est une collection de services logiciels, applications et connecteurs qui fonctionnent
conjointement pour transformer des sources de données disparates en informations cohérentes, visuelle-
ment immersives et interactives. Que vos données soient stockées dans un simple classeur Microsoft
Excel ou dans une collection d’entrepôts de données hybrides, locaux et basés sur le cloud, Power BI
vous permet de vous connecter facilement à vos sources de données, de visualiser (ou de découvrir) ce
qui est important et de le partager avec qui vous voulez.

Power BI peut être simple et rapide, capable de créer des informations rapides depuis un classeur Excel
ou une base de données locale. Mais Power BI est également robuste et très professionnel, prêt non
seulement pour une modélisation approfondie et des analyses en temps réel, mais aussi pour un dével-
oppement personnalisé. Par conséquent, il peut être votre outil de rapport et de visualisation personnel,
mais peut également servir de moteur d’analyse et de décision pour des projets de groupe, des divisions
ou des sociétés entières.
Si vous êtes débutant en matière de Power BI, cette leçon vous aidera à faire vos premiers pas. Si vous
êtes familier avec Power BI, cette leçon permettra de relier les concepts entre eux et de combler les
lacunes.

Les parties de Power BI


Power BI comprend une application de bureau Microsoft Windows appelée Power BI Desktop, un service
SaaS (Logiciel en tant que Service) en ligne appelé service Power BI et des applications Power BI mobiles
disponibles sur n’importe quel appareil, avec des applications BI mobiles natives pour Windows, iOS et
Android.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    273

Ces trois éléments (Bureau, le service et les applications mobiles) sont conçus pour permettre aux
utilisateurs de créer, partager et utiliser des informations commerciales de la manière la plus efficace
pour eux.

Comment Power BI correspond à votre rôle


La manière dont vous utilisez Power BI peut dépendre de votre rôle dans un projet ou une équipe. Et
d’autres personnes, dans d’autres rôles, peuvent utiliser Power BI différemment, ce qui est également très
pratique.
Par exemple, vous pouvez afficher des rapports et des tableaux de bord dans le service Power BI, et
votre interaction avec Power BI s’arrête là. Mais votre collègue qui aligne des chiffres et crée des rapports
d’entreprise peut faire un usage intensif de Power BI Desktop (et publier des rapports Power BI Desktop
dans le service Power BI que vous utilisez ensuite pour les afficher). Et un autre collègue, dans la vente,
peut essentiellement utiliser son application Power BI sur son portable pour surveiller la progression de
ses quotas de vente et prospecter de nouvelles pistes de vente.
Vous pouvez également utiliser chaque élément de Power BI à des moments différents, selon ce que
vous essayez de réaliser ou selon votre rôle pour un projet ou une tâche spécifique.
Vous pourriez afficher l’inventaire et la progression de la fabrication dans un tableau de bord en temps
réel du service, et également utiliser Power BI Desktop pour créer des rapports pour votre propre
équipe sur les statistiques d’engagement client. La façon dont vous utilisez Power BI peut dépendre de la
fonctionnalité ou du service de Power BI qui est le meilleur outil pour votre situation. Mais vous pouvez
accéder à chaque partie de Power BI. C’est pourquoi il est si flexible et si convaincant.

Télécharger Power BI Desktop


Vous pouvez télécharger Power BI Desktop depuis le Web ou en tant qu’application, depuis Microsoft
Store, sous l’onglet Windows.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
274     

Télécharger la stratégie Lien Remarques


Application Windows Store Windows Store (https://aka.ms/ L’actualisation sera automatique
pbidesktopstore)
Télécharger depuis le Web Télécharger .msi (https://go. Mise à jour manuelle requise de
microsoft.com/ manière périodique
fwlink/?LinkID=521662)

Se connecter au service Power BI


Avant de pouvoir vous connecter à Power BI, vous devez disposer d’un compte. Pour obtenir un essai
gratuit, accédez à app.powerbi.com28, puis inscrivez-vous avec votre adresse e-mail.
Pour connaître les étapes détaillées de la configuration d’un compte, consultez la rubrique Se connecter
au service Power BI29

Le flux de travail dans Power BI


Un flux de travail commun dans Power BI commence dans Power BI Desktop, où un rapport est créé. Ce
rapport est ensuite publié au service Power BI et enfin partagé, afin que les utilisateurs des applications
Power BI Mobile puissent consommer les informations.
Cela ne se produit pas toujours de cette façon, et ce n’est pas grave. Mais nous utiliserons ce flux pour
vous aider à découvrir les différentes parties de Power BI et la façon dont elles se complètent mutuelle-
ment.
Maintenant que nous avons une vue d’ensemble de ce module, de ce qu’est Power BI et de ses trois
principaux éléments, intéressons-nous à l’utilisation de Power BI.

Utiliser Power BI
Maintenant que nous avons présenté les bases de Microsoft Power BI, passons aux expériences pratiques
et à une visite guidée.
Les activités et analyses que vous apprendrez avec Power BI suivent généralement un flux commun. Le
flux commun d’activité ressemble à ceci :
1. Importez des données dans Power BI Desktop et créez un rapport.
2. Publiez sur le service Power BI, où vous pouvez créer de nouvelles visualisations ou créer des tableaux
de bord.
3. Partagez des tableaux de bord avec d’autres personnes, en particulier celles en déplacement.
4. Affichez et interagissez avec des tableaux de bord et des rapports partagés dans les applications
Power BI Mobile.

28 https://go.microsoft.com/fwlink/?linkid=2101313
29 https://docs.microsoft.com/power-bi/consumer/end-user-sign-in
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    275

Comme mentionné précédemment, vous pourriez passer tout votre temps dans Service Power BI,
afficher des visuels et des rapports créés par d’autres. Et ce n’est pas grave. Un autre membre de votre
équipe pourrait passer son temps sur Power BI Power, ce qui est bien aussi. Pour vous aider à compren-
dre toute la portée de Power BI et de ses fonctionnalités, nous allons vous les présenter. Ensuite, vous
pourrez décider comment l’utiliser à votre meilleur avantage.
Alors, allons-y ! Votre première tâche consiste à apprendre les principes fondamentaux de Power BI, qui
vous serviront de base solide pour transformer les données en rapports et visuels attrayants.

Blocs de construction de Power BI


Tout ce que vous faites dans Microsoft Power BI peut être divisé en quelques blocs de construction de
base. Une fois que vous avez compris ces blocs de construction, vous pouvez développer chacun d’eux et
commencer à créer des rapports élaborés et complexes. Après tout, même les choses apparemment com-
plexes sont construites à partir de blocs de construction de base. Par exemple, les bâtiments sont créés
en bois, en acier, en béton et en verre, et les voitures sont en métal, en tissu et en caoutchouc. Bien sûr,
les bâtiments et les voitures peuvent également être basiques ou élaborés, en fonction de la disposition
de ces blocs de construction de base.
Examinons ces blocs de construction de base, discutons de certaines choses simples qui peuvent être
construites avec eux, puis voyons comment des choses complexes peuvent également être créées.
Voici les blocs de construction de base de Power BI :
●● Visualisations
●● Jeux de données
●● Rapports
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
276     

●● Tableaux de bord
●● Des mosaïques

Visualisations
Une visualisation (parfois également appelée visuel) est une représentation visuelle de données, comme
un graphique, une carte codée par couleur ou d’autres éléments intéressants que vous pouvez créer pour
représenter visuellement vos données. Power BI propose toutes sortes de types de visualisation, et de
nouveaux arrivent en permanence. L’image suivante montre une collection de différentes visualisations
créées dans le service Power BI.

Les visualisations peuvent être simples, comme un nombre unique qui représente quelque chose d’im-
portant, ou elles peuvent être visuellement complexes, comme une carte de couleur dégradée qui montre
le sentiment des électeurs à propos d’un problème ou d’une préoccupation sociale spécifique. Le but
d’un visuel est de présenter les données d’une manière qui fournit un contexte et des informations, qui
seraient probablement difficiles à discerner à partir d’une table brute de nombres ou de texte.

Jeux de données
Un jeu de données est une collection de données que Power BI utilise pour créer ses visualisations.
Vous pouvez disposer d’un jeu de données simple, basé sur une seule table d’un tableur Microsoft Excel,
similaire à ce qui est illustré à l’image suivante.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    277

Jeux de données peut également être une combinaison de nombreuses sources différentes, que vous
pouvez filtrer et combiner pour fournir une collection unique de données (appelée « jeu de données ») à
utiliser dans Power BI.
Par exemple, vous pouvez créer un jeu de données à partir de trois champs de base de données, d’un
tableau de site web, d’un tableau Excel et des résultats en ligne d’une campagne de marketing par e-mail.
Cette combinaison unique est toujours considérée comme un seul jeu de données, même s’il a été
rassemblé à partir de nombreuses sources différentes.
Le filtrage des données avant leur importation dans Power BI vous permet de vous concentrer sur les
données qui comptent pour vous. Par exemple, vous pouvez filtrer votre base de données de contacts
afin que seuls les clients qui ont reçu des e-mails de la campagne de marketing soient inclus dans le jeu
de données. Vous pouvez ensuite créer des visuels en fonction de ce sous-ensemble (la collection filtrée)
de clients inclus dans la campagne. Le filtrage vous aide à concentrer vos données et vos efforts.
La multitude de connecteurs de données inclus est une partie importante et un élément de facilitation
de Power BI. Que les données souhaitées se trouvent dans Excel ou dans une base de données Microsoft
SQL Server, dans Azure ou Oracle, ou encore dans un service comme Facebook, Salesforce ou MailChimp,
Power BI dispose de connecteurs de données intégrés qui vous permettent de vous connecter facilement
à ces données, de les filtrer si nécessaire, et de les insérer dans votre jeu de données.
Une fois que vous disposez d’un jeu de données, vous pouvez commencer à créer des visualisations qui
en présentent les différentes parties, de différentes manières, et obtenir des informations basées sur de
ce que vous voyez. C’est là que les rapports entrent en jeu.

Rapports
Dans Power BI, un rapport est un ensemble de visualisations qui s’affichent ensemble sur une ou plu-
sieurs pages. Tout comme tout autre rapport que vous pourriez créer pour une présentation commerciale
ou rédiger pour un travail scolaire, un rapport dans Power BI est une collection d’éléments liés les uns aux
autres. L’image suivante présente un rapport dans Power BI Desktop : dans ce cas, il s’agit de la deux-
ième page d’un rapport de cinq pages. Vous pouvez également créer des rapports dans le service Power
BI.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
278     

Les rapports vous permettent de créer de nombreuses visualisations, sur plusieurs pages si nécessaire,
mais aussi d’organiser ces visualisations de la manière qui raconte le mieux votre histoire.
Vous pourriez avoir un rapport sur les ventes trimestrielles, la croissance des produits dans un segment
particulier ou les schémas de migration des ours polaires. Quel que soit votre sujet, les rapports vous
permettent de rassembler et d’organiser vos visualisations sur une ou plusieurs pages.

Tableaux de bord
Lorsque vous êtes prêt à partager une seule page à partir d’un rapport ou d’une collection de visualis-
ations, vous créez un tableau de bord. Tout comme le tableau de bord d’une voiture, un tableau de
bord Power BI est une collection de visuels d’une seule page que vous pouvez partager avec d’autres.
Souvent, il s’agit d’un groupe sélectionné de visuels qui donnent un aperçu rapide des données ou de
l’histoire que vous essayez de présenter.
Un tableau de bord doit tenir sur une seule page, souvent appelée canevas (le canevas est la toile de
fond vierge dans Power BI Desktop ou le service, dans lequel vous placez les visualisations). Pensez-y
comme au canevas utilisé par un artiste ou un peintre : un espace de travail où vous créez, combinez et
retravaillez des visuels intéressants et convaincants.
Vous pouvez partager des tableaux de bord avec d’autres utilisateurs ou groupes, qui peuvent ensuite
interagir avec vos tableaux de bord lorsqu’ils sont dans le service Power BI ou sur leur appareil mobile.

Des mosaïques
Dans Power BI, une mosaïque est une visualisation unique sur un rapport ou un tableau de bord. C’est la
boîte rectangulaire qui contient un visuel individuel. Dans l’image suivante, vous voyez une mosaïque,
entourée à son tour d’autres mosaïques.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    279

Lorsque vous créez un rapport ou un tableau de bord dans Power BI, vous pouvez déplacer ou organiser
les mosaïques comme vous le souhaitez. Vous pouvez les agrandir, changer leur hauteur ou leur largeur
et les positionner à côté d’autres mosaïques.
Lorsque vous affichez ou consommez un tableau de bord ou un rapport (ce qui signifie que vous n’êtes
pas le créateur ou le propriétaire, mais que le rapport ou le tableau de bord a été partagé avec vous),
vous pouvez interagir avec lui, mais vous ne pouvez pas modifier la taille des mosaïques, ni leur disposi-
tion.

Tous ensemble maintenant


Ce sont les bases de Power BI et ses blocs de construction. Prenons un moment pour les passer en revue.
Power BI est un ensemble de services, d’applications et de connecteurs qui vous permet de vous connect-
er à vos données, où qu’elles se trouvent, de les filtrer si nécessaire, puis de les importer dans Power BI
pour créer des visualisations convaincantes que vous pouvez partager avec d’autres.
Maintenant que vous avez découvert les nombreuses possibilités des blocs de construction de base de
Power BI, vous pouvez créer des jeux de données qui ont du sens pour vous et créer des rapports visuel-
lement convaincants, qui racontent votre histoire. Les histoires racontées avec Power BI ne doivent pas
être complexes ou compliquées pour être convaincantes.
Pour certaines personnes, l’utilisation d’un seul tableur Excel dans un jeu de données, puis le partage d’un
tableau de bord avec leur équipe sera un moyen extrêmement précieux d’utiliser Power BI.
Pour d’autres, l’intérêt de Power BI consistera à utiliser des tables Azure SQL Data Warehouse en temps
réel, qui se combineront avec d’autres bases de données et d’autres sources en temps réel pour créer un
jeu de données à chaque instant.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
280     

Pour les deux groupes, le processus est le même : créer des jeux de données, développer des visuels
convaincants et les partager avec d’autres. Et le résultat est également le même pour les deux groupes :
exploiter votre monde de données en constante expansion et le transformer en informations exploitables.
Que vos informations sur les données nécessitent des jeux de données simples ou complexes, Power BI
vous aide à démarrer rapidement et peut évoluer avec vos besoins pour être aussi complexe que votre
monde de données l’exige. Et comme Power BI est un produit Microsoft, vous pouvez compter sur sa
robustesse, sa capacité d’extension, sa convivialité pour Microsoft Office et son utilisation pour l’entre-
prise.
Examinons le fonctionnement de cette procédure. Nous allons commencer par examiner le service Power
BI.

Visitez et utilisez Power-BI


Comme nous venons de l'apprendre, le flux de travail courant dans Microsoft Power BI consiste à créer un
rapport dans Power BI Desktop, à le publier sur le service Power BI, puis à le partager avec d'autres, afin
qu'ils puissent l'afficher dans le service ou sur une application mobile.
Étant donné que certaines personnes ne sont pas encore familiarisées avec le service Power BI, examinons
d'abord cela rapidement et découvrons un moyen simple et populaire de créer rapidement des éléments
visuels dans Power BI : les applications.
Une application est une collection d'éléments visuels et de rapports, prédéfinis et prêts à l'emploi, qui
sont partagés avec toute une organisation. Utiliser une application, c'est comme réchauffer un repas
congelé au micro-ondes ou commander un repas de restauration rapide : il suffit d’appuyer sur quelques
boutons ou de faire quelques commentaires, et on vous sert rapidement une collection de plats conçus
pour s’accorder, tous présentés dans un emballage soigné et prêts à consommer.
Jetons donc un coup d’œil aux applications, au service et à son fonctionnement. Vous pouvez considérer
cela comme un avant-goût pour aiguiser votre appétit.

Créez des tableaux de bord prêts à l’emploi avec des ser-


vices cloud
Avec Power BI, la connexion aux données est facile. À partir du service Power BI, vous pouvez simplement
sélectionner le bouton Obtenir des données situé dans le coin inférieur gauche de la page d’accueil.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    281

Le canevas (la zone sitée au centre du service Power BI) vous montre les sources de données disponibles
dans le service Power BI. En plus des sources de données courantes comme les fichiers Microsoft Excel,
les bases de données ou les données Microsoft Azure, Power BI peut tout aussi facilement se connecter à
tout un assortiment de services logiciels (également appelés fournisseurs de SaaS ou services cloud) :
Salesforce, Facebook, Google Analytics, etc.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
282     

Pour ces services logiciels, le service Power BI fournit une collection d’éléments visuels prêts à l’emploi,
qui sont pré-organisés sur des tableaux de bord et des rapports pour votre organisation. Cet ensemble
d’éléments visuels s’appelle une application. Les applications vous permettent d’être rapidement
opérationnel, grâce aux données et aux tableaux de bord que votre organisation a créés pour vous. Par
exemple, lorsque vous utilisez l’application GitHub, Power BI se connecte à votre compte GitHub (après
avoir fourni vos informations d’identification), puis remplit une collection prédéfinie d’éléments visuels et
de tableaux de bord dans Power BI.
Il existe des applications pour toutes sortes de services en ligne. L’image suivante présente une page
d’applications disponibles pour différents services en ligne, par ordre alphabétique. Cette page s’affiche
lorsque vous sélectionnez le bouton Obtenir situé dans la zone Services (présenté dans l’image précé-
dente). Comme vous pouvez le voir sur l’image suivante, vous avez le choix entre de nombreuses applica-
tions.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    283

Pour nos besoins, nous choisirons GitHub. GitHub est une application de contrôle de source en ligne.
Lorsque vous sélectionnez l’option Obtenez-le maintenant dans la zone de l’application GitHub, la boîte
de dialogue Se connecter à GitHub apparaît. Veuillez noter que GitHub ne prend pas en charge Internet
Explorer. Il convient donc d’utiliser un autre navigateur.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
284     

L’installation de l’application commencera une fois que vous aurez entré les informations et les rensei-
gnements d’identification pour l’application GitHub.

Une fois les données chargées, le tableau de bord prédéfini de l’application GitHub apparaît.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    285

En plus du tableau de bord de l’application, le rapport qui a été généré (dans le cadre de l’application
GitHub) et utilisé pour créer le tableau de bord est disponible, tout comme le jeu de données (l’ensem-
ble de données extraites de GitHub) qui a été créé lors de l’importation des données et utilisé pour créer
le rapport GitHub.

Sur le tableau de bord, vous pouvez sélectionner n’importe lequel des éléments visuels et interagir avec
lui. Alors, tous les autres éléments visuels de la page répondront. Par exemple, lorsque la barre Mai 2018
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
286     

est sélectionnée dans l’élément visuel Extraire les demandes (par mois), les autres éléments visuels de
la page s’ajustent pour refléter cette sélection.

Mettre à jour les données dans le service Power BI


Vous pouvez également choisir de mettre à jour le jeu de données d’une application ou d’autres don-
nées utilisées dans Power BI. Pour définir les paramètres de mise à jour, sélectionnez l’icône de planifica-
tion de la mise à jour pour le jeu de données qui doit être mis à jour, puis utilisez le menu qui apparaît.
Pour mettre à jour le jeu de données immédiatement, vous pouvez également sélectionner l’icône de
mise à jour (le cercle avec une flèche) situé en regard de l’icône de planification de la mise à jour.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    287

L’onglet Jeux de données est sélectionné sur la page Paramètres qui apparaît. Dans le volet droit,
sélectionnez la flèche située en regard de l’option Actualisation programmée pour développer cette
section. La boîte de dialogue Paramètres apparaît sur le canevas, vous permettant de définir les para-
mètres de mise à jour qui répondent à vos besoins.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
288     

C’est ce qui conclut notre aperçu rapide du service Power BI. Le service permet aussi de réaliser beaucoup
d’autres choses. Il existe de nombreux types de données auxquelles vous pouvez vous connecter, mais
aussi toutes sortes d’applications qui s’enrichissent constamment.

Contrôle des connaissances


Question 1
Quel est le flux d’activité courant dans Power BI ?
†† Créez un rapport dans Power BI mobile, partagez-le sur le bureau Power BI, puis affichez et interagis-
sez dans le service Power BI.
†† Créez un rapport dans le service Power BI, partagez-le avec Power BI mobile, et interagissez avec lui
dans Power BI Desktop.
†† Importez des données dans Power BI Desktop et créez un rapport, partagez-le avec le service Power
BI, affichez et interagissez avec des rapports et des tableaux de bord dans le service et Power BI
Mobile.
†† Importez des données dans Power BI Mobile, créez un rapport, puis partagez-le avec Power BI
Desktop.

Question 2
Parmi les éléments suivants, lesquels sont des éléments constitutifs de Power BI ?
†† Vignettes, tableaux de bord, bases de données, appareils mobiles.
†† Visualisations, jeux de données, rapports, tableaux de bord, vignettes.
†† Fichiers Visual Studio, C# et JSON.

Question 3
Dans Power BI, comment appelle-t-on une collection de visuels prêts à l’emploi, pré-organisés dans des
tableaux de bord et des rapports ?
†† Le canevas.
†† Actualisation programmée.
†† Une application.

Résumé
Faisons une révision rapide de ce qui a été abordé dans cette leçon.
Microsoft Power BI est un ensemble de services logiciels, applications et connecteurs qui fonctionnent
conjointement pour transformer vos données en informations interactives. Vous pouvez utiliser des
données provenant de sources de base uniques, comme un classeur Microsoft Excel, ou extraire des
données de plusieurs bases de données et sources cloud pour créer des ensembles de données et des
rapports complexes. Power BI peut être aussi simple et convivial que vous le souhaitez ou avoir toutes les
qualités professionnelles complexes requises par une entreprise internationale.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    289

Power BI se compose de trois éléments principaux (Power BI Desktop, le service Power BI, et Power BI
Mobile) qui fonctionnent conjointement pour vous permettre de créer, d’interagir avec, de partager et de
consommer vos données comme vous le souhaitez.

Nous avons également abordé les éléments de base de Power BI :


●● Visualisations : représentations visuelles des données, parfois simplement appelées « visuels »
●● Ensembles de données : collection de données que Power BI utilise pour créer des visualisations
●● Rapports : collection de visuels d’un jeu de données, couvrant une ou plusieurs pages
●● Tableaux de bord : collection de visuels d’une seule page, créée à partir d’un rapport
●● Mosaïques : visualisation unique sur un rapport ou un tableau de bord
Dans le service Power BI, nous avons installé une application en quelques clics. Cette application,
constituée d’une collection prête à l’emploi de visuels et de rapports, nous permet de nous connecter
facilement à un service logiciel pour alimenter l’application et donner vie à ces données.
Enfin, nous avons établi un calendrier d’actualisation pour nos données, visant à garantir que les
données seront à jour lorsque nous reviendrons au service Power BI.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
290     

Answers
Question 1
Quand doit-on utiliser Azure Synapse Analytics ?
■■ À effectuer des requêtes et des agrégations très complexes.
†† À créer des tableaux de bord à partir de données tabulaires
†† À permettre à un grand nombre d'utilisateurs d'interroger des données analytiques.
Explanation
Réponse correcte. Azure Synapse Analytics convient pour effectuer des tâches requérant une grande
capacité de calcul comme celles-ci.
Question 2
À quoi sert l’ingestion de données ?
†† À effectuer des transformations de données complexes sur les données reçues de sources externes.
■■ À capturer les données entrant dans un système d’entrepôt de données aussi rapidement que
possible.
†† À visualiser les résultats de l’analyse des données.
Explanation
Réponse correcte. L'ingestion de données peut recevoir des données de plusieurs sources, y compris des flux,
et doit s'exécuter suffisamment rapidement pour ne pas perdre de données entrantes.
Question 3
Quelle est la principale différence entre un lac de données et un entrepôt de données?
†† Un lac de données contient des informations structurées, alors qu’un entrepôt de données contient
données commerciales brutes.
■■ Un lac de données contient des données brutes, alors qu’un entrepôt de données contient des
informations structurées.
†† Les données stockées dans un lac de données sont dynamiques, alors que les informations stockées
dans un entrepôt de données sont statiques.
Explanation
Réponse correcte. Une solution d’entreposage de données convertit les données brutes d’un lac de données
en informations commerciales significatives dans un entrepôt de données.
Question 1
Quel est le composant Azure Data Factory qui peut être déclenché pour exécuter des tâches d’ingestion
de données ?
†† Fichiers CSV
■■ Pipeline
†† Service lié
Explanation
Réponse correcte. Les pipelines peuvent être déclenchés pour exécuter des activités d’ingestion de données.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
    291

Question 2
Quand pouvez-vous utiliser PolyBase ?
■■ À interroger des données à partir de sources de données externes à partir d’Azure Synapse Analytics
†† À ingérer des données de streaming à l’aide d’Azure Databricks
†† À orchestrer les activités dans Azure Data Factory
Explanation
Réponse correcte. C’est le but de PolyBase.
Question 3
Lequel de ces services peut être utilisé pour ingérer des données dans Azure Synapse Analytics ?
■■ Azure Data Factory
†† Power BI
†† Azure Active Directory
Explanation
Réponse correcte. Azure Data Factory peut être utilisé pour ingérer des données dans Azure Synapse
Analytics à partir de pratiquement n’importe quelle source.
Question 1
Vous disposez d’une grande quantité de données conservées dans des fichiers dans Azure Data Lake
storage. Vous souhaitez récupérer les données de ces fichiers et les utiliser pour remplir les tables
contenues dans Azure Synapse Analytics. Quelle est l’option de traitement la plus appropriée?
†† Utilisez le lien Azure Synapse pour vous connecter à Azure Data Lake Storage, puis téléchargez les
données
■■ Pool Synapse SQL
†† Pool Spark Synapse
Explanation
Réponse correcte. Vous pouvez utiliser PolyBase depuis un pool SQL pour vous connecter aux fichiers dans
Azure Data Lake en tant que tables externes, puis ingérer les données.
Question 2
Lequel des composants d’Azure Synapse Analytics permet de former des modèles d’IA à l’aide d’AzureML
?
†† Synapse Studio
†† Pipelines Synapse
■■ Spark Synapse
Explanation
Réponse correcte. Vous devez utiliser un bloc-notes pour ingérer et mettre en forme des données, puis
utiliser SparkML et AzureML pour former des modèles avec lui.
RÉSERVÉ À UNE UTILISATION FORMATEUR. UTILISATION ÉTUDIANT INTERDITE
292     

Question 3
Dans Azure Databricks, comment modifier la langue utilisée dans une cellule ?
■■ La première ligne de la cellule est %language. Par exemple, %scala.
†† Changez la langue du bloc-notes avant d’écrire les commandes
†† Enveloppez la commande dans la cellule avec ##language##.
Explanation
Réponse correcte. Chaque cellule peut commencer par une définition de langue.
Question 1
Quel est le flux d’activité courant dans Power BI ?
†† Créez un rapport dans Power BI mobile, partagez-le sur le bureau Power BI, puis affichez et interagis-
sez dans le service Power BI.
†† Créez un rapport dans le service Power BI, partagez-le avec Power BI mobile, et interagissez avec lui
dans Power BI Desktop.
■■ Importez des données dans Power BI Desktop et créez un rapport, partagez-le avec le service Power
BI, affichez et interagissez avec des rapports et des tableaux de bord dans le service et Power BI
Mobile.
†† Importez des données dans Power BI Mobile, créez un rapport, puis partagez-le avec Power BI
Desktop.
Explanation
Réponse correcte. Le service Power BI permet d’afficher et d’interagir avec les rapports et les tableaux de
bord, mais ne vous permet pas de mettre en forme les données.
Question 2
Parmi les éléments suivants, lesquels sont des éléments constitutifs de Power BI ?
†† Vignettes, tableaux de bord, bases de données, appareils mobiles.
■■ Visualisations, jeux de données, rapports, tableaux de bord, vignettes.
†† Fichiers Visual Studio, C# et JSON.
Explanation
Réponse correcte. Les éléments constitutifs de Power BI sont les visualisations, les jeux de données, les
rapports, les tableaux de bord et les vignettes.
Question 3
Dans Power BI, comment appelle-t-on une collection de visuels prêts à l’emploi, pré-organisés dans des
tableaux de bord et des rapports ?
†† Le canevas.
†† Actualisation programmée.
■■ Une application.
Explanation
Réponse correcte. Une application est une collection de visuels prêts à l’emploi, pré-organisés dans des
tableaux de bord et des rapports. Vous pouvez obtenir des applications qui se connectent à de nombreux
services en ligne à partir de Microsoft AppSource.

Vous aimerez peut-être aussi