Académique Documents
Professionnel Documents
Culture Documents
200 XP
Les données d’application peuvent être classifiées de l’une des trois manières
suivantes : structurées, semi-structurées et non structurées. Vous allez ici découvrir
comment classifier vos données pour pouvoir choisir la solution de stockage
appropriée.
Données structurées
Les données structurées, parfois appelées données relationnelles, sont des données
qui respectent un schéma strict. Toutes les données ont donc les mêmes champs ou
propriétés. Le schéma partagé permet de rechercher facilement ce type de données à
l’aide de langages de requête tels que SQL (Structured Query Language). Cette
fonctionnalité rend ce style de données parfait pour les applications telles que les
systèmes CRM, les réservations et la gestion des stocks.
Les données structurées sont souvent stockées dans des tables de base de données
avec des lignes et des colonnes, avec des colonnes clés pour indiquer comment une
ligne d’une table est associée à des données dans une autre ligne d’une autre table.
L’image ci-dessous montre les données relatives aux étudiants et aux classes avec
une relation aux notes qui les lient.
Les données structurées sont simples, car elles sont faciles à entrer, à interroger et à
analyser. Toutes les données suivent le même format. Toutefois, le fait de forcer une
structure cohérente signifie également que l’évolution des données est plus difficile
car chaque enregistrement doit être mis à jour pour se conformer à la nouvelle
structure.
Données semi-structurées
Les données semi-structurées sont moins organisées que les données structurées et
ne sont pas stockées au format relationnel, car les champs n’entrent pas bien dans
les tables, lignes et colonnes. Les données semi-structurées contiennent des
étiquettes qui font apparaître l’organisation et la hiérarchie des données, par
exemple, des paires clé/valeur. Les données semi-structurées sont aussi désignées
Pour les développeurs de logiciels, les langages de sérialisation des données sont
importants, car ils peuvent être utilisés pour écrire des données stockées en mémoire
dans un fichier, envoyées à un autre système, analysées et lues. L’expéditeur et le
destinataire n’ont pas besoin de connaître les détails de l’autre système : tant que le
même langage de sérialisation est utilisé, les données peuvent être comprises par les
deux systèmes.
02:14
Formats courants
XML, ou Extensible Markup Language, est l’un des premiers langages de données à
bénéficier d’une prise en charge étendue. Il est basé sur du texte, ce qui le rend
facilement lisible par l’homme et l’ordinateur. Des analyseurs de ce langage sont en
outre disponibles pour presque toutes les plateformes de développement populaires.
XML vous permet d’exprimer des relations et inclut des normes pour le schéma, la
transformation et même l’affichage sur le web.
Voici l’exemple d’une personne dont les passions sont exprimées en XML.
XML = Copier
<Person Age="23">
<FirstName>John</FirstName>
<LastName>Smith</LastName>
<Hobbies>
<Hobby Type="Sports">Golf</Hobby>
<Hobby Type="Leisure">Reading</Hobby>
<Hobby Type="Leisure">Guitar</Hobby>
</Hobbies>
</Person>
XML exprime la forme des données à l’aide de balises. Ces balises se présentent sous
deux formes : elements tels que <FirstName> et _attributes qui peuvent être
exprimés dans du texte tel que Age="23" . Les éléments peuvent avoir des éléments
enfants pour exprimer des relations, telles que la balise <Hobbies> ci-dessus, qui
exprime une collection d’éléments Hobby .
XML est flexible et peut exprimer facilement des données complexes. Il a toutefois
tendance à être plus détaillé et donc plus volumineux à stocker, traiter ou transférer
sur un réseau. D’autres formats sont donc devenus plus populaires.
JSON, ou JavaScript Object Notation, a une spécification légère et s’appuie sur des
accolades pour indiquer la structure des données. Il est moins détaillé et plus facile à
lire par les humains que XML. JSON est fréquemment utilisé par les services web
pour retourner des données.
JSON = Copier
{
"firstName": "John",
"lastName": "Doe",
"age": "23",
"hobbies": [
{ "type": "Sports", "value": "Golf" },
{ "type": "Leisure", "value": "Reading" },
{ "type": "Leisure", "value": "Guitar" }
]
}
Notez que ce format n’est pas aussi formel que XML. Il se rapproche plus d’un
modèle de paire clé/valeur qu’une expression de données formelle. Comme vous
pouvez le deviner, JavaScript intègre une prise en charge de ce format, ce qui le rend
très populaire pour le développement web. Comme XML, d’autres langages incluent
des analyseurs que vous pouvez utiliser pour utiliser ce format de données.
L’inconvénient de JSON est qu’il a tendance à être plus orienté programmeur, ce qui
complique sa lecture et sa modification par des personnes non techniques.
YAML = Copier
firstName: John
lastName: Doe
age: 23
hobbies:
- type: Sports
value: Golf
- type: Leisure
value: Reading
- type: Leisure
value: Guitar
Ce format est plus lisible que JSON et est souvent utilisé pour les fichiers de
configuration qui doivent être écrits par des personnes, mais analysés par des
programmes. YAML est toutefois le plus récent de ces formats de données et n’offre
pas autant de prise en charge des langages de programmation que JSON et XML.
Fichiers multimédias tels que des photos, des vidéos et des fichiers audio
Fichiers Office, tels que des documents Word
Fichiers texte
Fichiers journaux
Comme vous connaissez maintenant les différences entre chaque type de données,
nous allons examiner les jeux de données utilisés dans une entreprise de vente au
détail en ligne et les classifier.
ligne sont assez structurées par nature, car chaque produit est associé à une
référence (SKU) de produit, une description, une quantité, un prix, des options de
taille, des options de couleur, une photo et éventuellement une vidéo. Ainsi, ces
données semblent relationnelles au départ, car elles ont toutes la même structure.
Toutefois, à mesure que vous introduisez de nouveaux produits ou différents types
de produits, vous pouvez souhaiter ajouter différents champs au fil du temps. Par
exemple, Bluetooth est activé sur les nouvelles chaussures de tennis que vous portez,
pour transmettre des données de capteur à partir de la chaussure vers une
application de fitness sur votre téléphone. Cela semblant être une tendance
croissante, vous souhaitez permettre aux clients de filtrer sur des chaussures «
Bluetooth » à l’avenir. Vous ne souhaitez pas revenir en arrière et mettre à jour toutes
vos données de chaussures avec une propriété Bluetooth : vous souhaitez
simplement l’ajouter aux nouvelles chaussures.
Photos et vidéos
Les photos et vidéos affichées dans les pages de produits sont des données non
structurées. Bien que le fichier multimédia puisse contenir des métadonnées, le corps
du fichier multimédia est non structuré.
Données métier
Les analystes d’entreprise souhaitent implémenter le décisionnel pour effectuer des
Récapitulatif
Les données peuvent être classifiées de l’une des trois manières suivantes :
structurées, semi-structurées et non structurées. La compréhension des différences
pour pouvoir classifier vos données vous aideront à choisir la bonne solution de
stockage.
Pour résumer, les données structurées sont des données organisées qui s’intègrent
parfaitement aux lignes et aux colonnes des tables. Les données semi-structurées
sont toujours organisées, présentent des propriétés et valeurs claires, mais il existe
une certaine diversité. Les données non structurées n’entrent pas bien dans les tables
et n’ont pas non plus de schéma.
Données structurées
Données semi-structurées
Données structurées
Données semi-structurées
" 100 XP
Une fois que vous avez identifié le type de données que vous traitez (structurées,
semi-structurées ou non structurées), l’étape suivante consiste à déterminer
comment vous allez utiliser les données. Par exemple, en tant que détaillant en ligne,
vous savez que les clients doivent accéder rapidement aux données des produits et
que les utilisateurs professionnels doivent exécuter des requêtes analytiques
complexes. Quand vous parcourez ces exigences et que vous prenez la classification
des données en compte, vous pouvez commencer à planifier votre solution de
stockage de données.
Vous allez ici étudier certaines des questions à se poser quand vous décidez de
l’utilisation de vos données.
Opérations et latence
Quelles sont les opérations principales que vous allez exécuter sur chaque type de
données et quelles sont les exigences de performances ?
Nous allons étudier chacun des jeux de données en gardant ces questions à l’esprit
et aborder les exigences.
De plus, quand les clients passent des commandes, l’application doit mettre à jour les
quantités de produits. Les opérations de mise à jour doivent se dérouler aussi
rapidement que les opérations de lecture pour éviter que les utilisateurs ne mettent
dans leur panier un article devenu indisponible. Non seulement les opérations de
lecture seront en nombre important, mais le nombre d’opérations d’écriture
nécessaires s’en trouvera aussi augmenté pour les données du catalogue de produits.
Veillez à déterminer les priorités de tous les utilisateurs de la base de données, et pas
seulement des principaux.
Photos et vidéos
Les photos et vidéos qui sont affichées dans les pages de produits ont cependant des
exigences différentes. Elles nécessitent des temps de récupération rapides pour
pouvoir être affichées sur le site en même temps que les données du catalogue de
produits, mais ne doivent pas être interrogées indépendamment. Au lieu de cela,
vous pouvez vous fier aux résultats de la requête de produit et inclure simplement
l’ID ou l’URL de la vidéo comme propriété sur les données des produits. Les photos
et vidéos ne doivent donc être récupérées que par leur ID.
De plus, les utilisateurs n’apportent pas de mises à jour aux photos ou vidéos
existantes. Ils peuvent, toutefois, ajouter de nouvelles photos pour les évaluations
des produits. Par exemple, un utilisateur peut charger une image le montrant en train
de poser avec ses nouvelles chaussures. En tant qu’employé, vous pouvez également
charger et supprimer des photos de produits chez votre fournisseur, mais cette mise
à jour n’a pas besoin de se produire aussi rapidement que les autres mises à jour des
données des produits.
En résumé, les photos et vidéos peuvent être interrogées selon leur ID pour
retourner la totalité du fichier, mais les créations et mises à jour sont moins
fréquentes et moins prioritaires.
Données métier
Pour les données métier, toute l’analyse se déroule sur les données historiques.
Aucune donnée d’origine n’est mise à jour en fonction de l’analyse, les données
métier sont donc en lecture seule. Les utilisateurs n’attendent pas une exécution
instantanée de leur analytique complexe, une certaine latence dans les résultats ne
pose pas de problème. De plus, les données métier sont stockées dans plusieurs jeux
de données, comme les utilisateurs ont un accès différent pour écrire dans chaque
jeu de données. Toutefois, les analystes métier sont en mesure de lire à partir de
toutes les bases de données.
Résumé
Quand vous décidez de la solution de stockage à employer, tenez compte du mode
d’utilisation de vos données. Quelle est la fréquence d’accès à vos données ? Vos
données sont-elles en lecture seule ? Est-ce que le temps de requête est important ?
Les réponses à ces questions vous aideront à choisir la meilleure solution de
stockage pour vos données.
Continuer T
200 XP
Les applications peuvent nécessiter que vous regroupiez une série de mises à jour
des données, car une modification apportée à un élément de données doit entraîner
une modification d’un autre élément de données. Les transactions vous permettent
de regrouper ces mises à jour pour que, si une série de mises à jour échoue, toute la
série puisse être restaurée ou annulée.
Par exemple, en tant que détaillant en ligne, vous pouvez utiliser une transaction
pour la passation d’une commande et la vérification du paiement. Le regroupement
des événements connexes garantit que vous ne réduisez pas vos niveaux de stock
tant que vous n’avez pas reçu une forme approuvée de paiement.
Vous allez découvrir ici ce que sont les transactions et si elles sont nécessaires pour
vos données.
Voici la question à vous poser pour savoir si vous devez utiliser des transactions dans
votre application : Le changement d’une donnée dans votre jeu de données peut-il
impacter une autre donnée ? Si la réponse est oui, vous avez besoin d’une prise en
charge des transactions dans votre service de base de données.
Lorsqu’une base de données offre des garanties ACID, ces principes sont appliqués à
toutes les transactions de manière cohérente.
OLTP et OLAP
Les bases de données transactionnelles sont souvent appelées systèmes de
traitement transactionnel en ligne (OLTP, Online Transaction Processing). Les
systèmes OLTP prennent généralement en charge un grand nombre d’utilisateurs,
ont des temps de réponse rapides et gèrent de grands volumes de données. Ils sont
également hautement disponibles (ce qui signifie qu’ils ont des temps d’arrêt très
minimes) et généralement gèrent des transactions petites ou relativement simples.
Les termes OLTP et OLAP ne sont plus utilisés aussi souvent qu’avant, mais les
comprendre facilite la catégorisation des besoins de votre application.
Comme vous connaissez maintenant les transactions, OLTP et OLAP, nous allons
étudier chacun des jeux de données dans le scénario de vente au détail en ligne et
déterminer la nécessité des transactions.
Photos et vidéos
Les photos et vidéos dans un catalogue de produits ne nécessitent pas de prise en
charge transactionnelle. Ces fichiers ne sont modifiés que lorsqu’une mise à jour est
effectuée ou que de nouveaux fichiers sont ajoutés. Même s’il existe une relation
entre l’image et les données de produits véritables, elle n’est pas transactionnelle par
nature.
Données métier
Pour les données métier, aucune prise en charge transactionnelle n’est nécessaire,
car toutes les données sont historiques et ne changent pas. Les analystes d’entreprise
qui se servent des données ont aussi des besoins uniques, car ils doivent souvent
employer des agrégats dans leurs requêtes afin de pouvoir utiliser les totaux des
autres points de données plus petits.
Résumé
La garantie de l’état correct de vos données n’est pas toujours une tâche facile. Les
transactions peuvent s’avérer utiles en appliquant des conditions d’intégrité à vos
données. Si vos données bénéficient des principes ACID, choisissez une solution de
stockage qui prend en charge les transactions.
OLAP
OLTP
" 100 XP
Opérations :
Azure Cosmos DB prend en charge SQL pour les requêtes, et toutes les propriétés
sont indexées par défaut. Vous pouvez créer des requêtes afin que vos clients
puissent filtrer sur n’importe quelle propriété dans le catalogue.
Azure Cosmos DB étant également conforme ACID, vous pouvez être sûr que vos
transactions sont effectuées selon ces exigences strictes.
Même avec les données répliquées dans le monde entier, vous pouvez choisir parmi
cinq niveaux de cohérence. En choisissant le niveau de cohérence approprié, vous
pouvez déterminer les compromis entre cohérence, disponibilité, latence et débit.
Vous pouvez effectuer une montée en puissance pour gérer la demande supérieure
des clients pendant les pics d’achat, ou une descente en puissance pendant les
périodes plus calmes pour limiter les coûts.
Azure SQL Database serait un excellent choix pour ce jeu de données si vous pouviez
identifier le sous-ensemble de propriétés qui sont communes à la plupart des
produits et propriétés de variable qui n’existent peut-être pas dans certains produits.
Azure SQL Database vous permet de combiner des données structurées dans les
colonnes, et des données semi-structurées stockées dans des colonnes JSON qui
peuvent être facilement étendues. Azure SQL Database peut offrir un grand nombre
des avantages d’Azure Cosmos DB, mais offre peu d’avantages si la structure de vos
données change dans des entités différentes et si vous ne pouvez pas prédéfinir un
ensemble de propriétés communes qui sont répétées dans la plupart des entités.
Contrairement à Azure Cosmos DB qui indexe chaque propriété dans les documents,
dans Azure SQL Database, vous devez définir explicitement les propriétés des
documents semi-structurés qui doivent être indexées. Azure Cosmos DB est un
meilleur choix pour les données hautement structurées et variables dans lesquelles
vous ne pouvez pas prédire les propriétés qui doivent être indexées.
D’autres services Azure, tels que le , Azure HBase dans le cadre de HDInsight et Azure
Cache pour Redis, peuvent également stocker des données NoSQL. Dans ce scénario,
les utilisateurs peuvent être amenés à exécuter des requêtes sur plusieurs champs.
Azure Cosmos DB est donc un choix plus approprié. Azure Cosmos DB indexe tous
les champs par défaut, tandis que les autres services sont limités dans les données
qu’ils indexent, et l’interrogation de champs non indexés affecte les performances.
Photos et vidéos
Classification des données : Données non structurées
Opérations :
Latence et débit : Les récupérations par ID doivent prendre en charge une faible
latence et un débit élevé. Les créations et mises à jour peuvent avoir une latence plus
élevée que les opérations de lecture.
Stockage Blob Azure prend en charge le stockage de fichiers tels que les photos et
vidéos. Il fonctionne également avec Azure Content Delivery Network (CDN) en
mettant en cache le contenu le plus fréquemment utilisé et en le stockant sur des
serveurs de périphérie. Azure CDN réduit la latence dans la distribution de ces
images à vos utilisateurs.
En utilisant le stockage d’objets blob Azure, vous pouvez également déplacer des
images à partir du niveau de stockage chaud vers le niveau de stockage froid ou
archive, afin de réduire les coûts et concentrer le débit sur les images et vidéos les
plus fréquemment consultées.
Vous pouvez charger vos images sur Azure App Service afin que le même serveur qui
exécute votre application distribue vos images. Cette solution fonctionne si vous
n’avez pas beaucoup de fichiers. Mais si vous avez un grand nombre de fichiers et un
public international, vous obtiendrez des résultats plus performants à l’aide du
stockage d’objets blob Azure avec Azure CDN.
Données métier
Classification des données : Données structurées
Latence et débit : Une certaine latence dans les résultats est attendue selon la
nature complexe des requêtes.
Les données métier sont probablement interrogées par les analystes d’entreprise,
lesquels sont plus susceptibles de connaître SQL qu’un autre langage de requête.
Azure SQL Database peut être utilisé seul en tant que solution, mais également être
associé à Azure Analysis Services pour permettre aux analystes de données de créer
un modèle sémantique sur les données dans SQL Database. Les analystes de
données peuvent ensuite le partager avec des utilisateurs professionnels ; ils doivent
alors seulement se connecter au modèle de n’importe quel outil décisionnel pour
pouvoir explorer immédiatement les données et obtenir des insights.
Azure SQL Data Warehouse prend en charge les solutions OLAP et les requêtes SQL.
Mais vos analystes métier doivent effectuer des requêtes entre plusieurs bases de
données, ce que ne gère pas Azure SQL Data Warehouse.
Azure Analysis Services pourrait être utilisé en plus d’Azure SQL Database. Mais vos
analystes métier sont plus familiarisés avec SQL qu’avec Power BI. Ils préféreraient
donc une base de données qui prend en charge les requêtes SQL, ce qui n’est pas le
cas d’Azure Analysis Services. De plus, les données financières que vous stockez dans
votre jeu de données métier sont relationnelles et multidimensionnelles par nature.
Azure Analysis Services prend en charge les données tabulaires stockées sur le
service lui-même, mais pas les données multidimensionnelles. Pour analyser des
données multidimensionnelles avec Azure Analysis Services, vous pouvez envoyer
une requête directe à SQL Database.
Résumé
Chaque type de données a des besoins de stockage différents et il vous incombe de
déterminer quelle solution est la meilleure. Tenez toujours compte du type de
données, des opérations requises, de la latence attendue et de la nécessité de la
prise en charge transactionnelle.
Continuer T