Décrire les concepts de bases de données
Caractéristiques des données structurées
Données réparties dans des entités ayant ses propres caractéristiques. Les entités sont associées entre elles dans un schéma via des relations pour créer un modèle relationnel. Les entités sont des tables.
Caractéristiques des données semi-structurées
Données organisées dans une structure qui n'est pas fixe. Le nombre d'attributs par entité varie. Par exemple, le nombre d'attributs entre deux clients peuvent varier.
Formats de données : JSON, XML, Parquet
Caractéristiques des données non structurées
Ex : images, vidéos, audio, texte libre
Plus complexes à traiter.
Formats courants de fichiers de données
Principaux types de magasins de données: les fichiers et les bases données
Stockage des fichiers : - Sur des disques dans une baisse de stockage - Dans un compte de stockage sur Azure
Le format de stockage des fichiers de données dépend du type de données : - Structurées, semi-structurées ou non structurées - Du besoin d'optimisation du stockage et de la rapidité De traitement - Besoins en lecture et écriture
Fichier texte : CSV, JSON (apparition schéma - entité - attributs), XML. Ils sont lisibles, mais pas assez optimisés pour l'espace de stockage et la vitesse de traitement. => Autres formats de fichiers : - AVRO : entête JSON, données binaires - ORC (Optimized Row Columnar): Format basé sur des colonnes contenant des bandes de données et permettant des opérations très rapides en lecture et écriture - Parquet : Format basé sur des colonnes contenant des groupes de lits et des métadonnées permettant la localisation rapide des données et leur obtention - Blob (Binary Large Object) : Pas mal de stockage de données Utilisé pour stocker des données non structurées Les données sont stockées au format binaire.
Décrire les types de bases de données
Bases de données : - Relationnelles : tables, relations, clés primaires et étrangères, intégrité des données, contraintes sur les colonnes - Non-relationnelles : pas de schéma relationnel. Type NoSQL (Not only SQL). Quatre types : - Base de données clé-valeur : Chaque enregistrement se compose d'une clé unique et d'une valeur unique de n'importe quel format. - Base de données orientée document : La valeur est un document au format Json. - Base de données famille de colonnes : stocke des données tabulaires comprenant des lignes et des colonnes (les colonnes sont organisées en famille de colonnes). - Base de données de type Graph : stocke les entités en tant que nœuds avec des liens pour définir des relations entre eux
Caractéristiques des charges de travail transactionnelles
Traitement de données de manière transactionnelle. Création de transactions pour traiter des données
Bases de données OLTP (Online Transactional Processus) : données lues très rapidement et souvent mises à jour.
Elles gères les opérations CRUD.
Elles respectent les principes ACID : - A : atomicité (tout ou rien) - C : cohérence (les transactions de travail avec des données validées dans l'espace de stockage) - I : isolation (les transactions s'exécutent en parallèle n'interfèrent pas entre elles) - D : durabilité (une transaction validée reste dans le temps et ne peut pas être annulée)
Caractéristiques des charges de travail analytiques
Concerne les traitements de lecture de données permettant d'analyser ces données : - Importation massive des données dans un Datalake (lac de données structurées, semi-structurées ou non structurées). - Processus ETL (Extraction, Transformation et Chargement) pour préparer les données. Copie des données du lac vers l'entrepôt de données (données dénormalisées afin d'accélérer les requêtes de lecture). - Agrégation des données Via un modèle de traitement analytique en ligne (OLAP - Online Analytical Processing). Création de cubes (dimensions sur les données - tables de faits) - Lecture de données pour alimenter des rapports ou des tableaux de bord (ex : Power BI - Logic Apps - Power APps).
Les acteurs : - Data Scientist : travail sur le lac de données. - Data Analyst : analyse les données (création des cubes) et créer les tableaux de bords. - Utilisateur : utilise les tableaux de bord.
Responsabilités des administrateurs de bases de données
- Conçoit les bases de données, gère, administre les bases de données et les services du serveur qui les hébergent
- Assure le support technique.
- Veille aux bonnes pratiques.
- Dimensionner les serveurs et la gestion du stockage Sécurité : accès aux objets et données
Responsabilités des data ingénieurs
-
Achemine les données :
- Recueil besoins métier
- Développe des solutions de collecte de données (API)
- Utilise des techniques de stockage de données
- Probablement des tests unitaires et d'intégration
- Automatisation nécessaire à l'exploitation des données
-
Met en place la collecte et la mise à disposition des données :
- Nettoyage
- Suivi GRPD
-
Produit des modèles de statistiques :
- Utilisation du Machine Learning
- Veille techno
- Communication Equipes
Responsabilités des analyses de données
- Valorise l'ensemble des données pour en faire un levier de création de valeur
- 4 actions principales :
- Extraction et structuration des données
- Définit les règles de nettoyage et structuration des données
- Garant de la qualité des données
- Analyse et exploration des données
- Création de modèles statistiques
- Veille techno
- Communication Equipes sur les outils d'analyse de données
- Propose en met en œuvre les outils
- Techniques d'analyse des données.
- Extraction et structuration des données