7 Concepts Data Engineering pour passer au niveau Expert

Поділитися
Вставка
  • Опубліковано 9 січ 2025

КОМЕНТАРІ • 18

  • @wilsonraumel1824
    @wilsonraumel1824 4 місяці тому

    Hello Willis,
    Super video !
    Je suis dans la BI et j'ai fortement apprécié ta façon de vulgariser les principes.
    Force à toi et je compte bien me faire toutes tes vidéos.

    • @DataFromScratchWillis
      @DataFromScratchWillis  4 місяці тому

      Un grand merci à toi ! Tu vas apprendre pas mal de chose ici pour t'aider à bien comprendre le Data Engineering. 😊

  • @LindsayKabale-entretiens
    @LindsayKabale-entretiens 4 місяці тому

    Vidéo de qualité, je découvre le métier de data engineer! Merci

  • @benim1917
    @benim1917 4 місяці тому

    Superbe video une fois de plus.
    Je crois que tu devrais faire une video dediée a l'indempotence

    • @DataFromScratchWillis
      @DataFromScratchWillis  4 місяці тому +1

      Merci pour ton commentaire 😊! C'est noté, je vais voir pour faire une vidéo sur l'indempotence

  • @info2x23
    @info2x23 4 місяці тому

    c'est quoi les struct dans les onebigtable ?

    • @DataFromScratchWillis
      @DataFromScratchWillis  4 місяці тому +1

      C'est un type de donnée complexe proche du json -> medium.com/@nathanishivansh07/understanding-struct-data-type-in-spark-f0a00abf814f

  • @lachaineyoutube4965
    @lachaineyoutube4965 4 місяці тому

    Une question idiote: je suppose que tu bosses en teletravail mais avec des jours imposés sur site, sur site c'est quoi le dress code en general chez les data engineers, costume ou sneakers ?

    • @DataFromScratchWillis
      @DataFromScratchWillis  4 місяці тому

      Je suis en full télétravail donc pas de dress code pour moi. Mais généralement, dans les entreprises, pour les techs, pas de besoin de porter des costumes :)

  • @serge_amon
    @serge_amon 4 місяці тому

    A l'université Laval, le big data et le système intelligent se font à la 4ème année.

  • @entreprendreetreussir7145
    @entreprendreetreussir7145 4 місяці тому

    Bonjour Willis, Merci pour tes contenus. Toujours au Top. J'ai un Bac + 5 en Informatique, Option Genie Logiciel. Au Québec depuis un an, je cherche une école ou tout autre entité sérieuse pour une spécialisation en Machine Learning Engineer. Toutes mes recherches sont restées vaines jusqu'à présent. Merci de bien vouloir me donner un coup de main en me communiquant quelques écoles ou entités ayant de bonnes formations et reconnues.

    • @DataFromScratchWillis
      @DataFromScratchWillis  4 місяці тому +1

      Salut à toi ! Merci !
      Une école concernant le Machine Learning Engineering, connais pas. Mais les Machine Learning Engineer sont souvent bon en Data Engineering et bon en Data Science. Une des solutions pour toi pourrait etre de monter en compétence sur les 2

    • @entreprendreetreussir7145
      @entreprendreetreussir7145 4 місяці тому

      Merci Willis pour ton retour fort apprécié.

    • @SabrinaChanguiti
      @SabrinaChanguiti 4 місяці тому

      Je suis Sabrina ,
      Je vais te donner un aperçu détaillé de chaque concept avec des explications claires et des exemples pour t’aider à bien comprendre ces points.
      1. Introduction
      Les sujets que tu veux explorer sont liés à la gestion et à l’analyse des données, en particulier dans le contexte des bases de données, du traitement des données et de la modélisation. Chacun de ces concepts est crucial pour la conception et l’optimisation des systèmes de gestion de bases de données et des pipelines de traitement de données, que ce soit pour des applications transactionnelles ou analytiques.
      2. Normalisation vs Dénormalisation
      Normalisation :
      La normalisation est un processus utilisé dans la conception de bases de données pour organiser les données de manière à minimiser la redondance et à éviter les anomalies de mise à jour. Cela implique de diviser les données en plusieurs tables plus petites et d’établir des relations entre elles. Il existe plusieurs formes normales (1NF, 2NF, 3NF, etc.), chaque niveau éliminant certaines formes de redondance.
      • Exemple : Supposons une table non normalisée Client, qui contient les colonnes ClientID, Nom, Adresse, et Commande. Pour éviter la redondance, on pourrait diviser cette table en deux : Client (avec ClientID, Nom, Adresse) et Commande (avec CommandeID, ClientID, DétailsCommande). Cela évite d’avoir à répéter l’adresse du client pour chaque commande.
      Dénormalisation :
      La dénormalisation consiste à combiner des tables normalisées pour améliorer les performances de lecture. Bien que cela puisse entraîner une certaine redondance des données, cela permet de réduire le nombre de jointures nécessaires pour récupérer les informations.
      • Exemple : Si l’on considère les mêmes tables Client et Commande, on pourrait les fusionner en une seule table pour éviter de faire une jointure à chaque fois qu’on veut obtenir les commandes d’un client, ce qui accélère l’accès aux données.
      3. OBT vs Dimensional Modeling
      OBT (Opérationnel Base de Données) :
      Un OBT est conçu pour les systèmes transactionnels, où l’objectif est de permettre un grand nombre d’opérations (insertions, mises à jour, suppressions) de manière efficace. Les bases de données OBT sont souvent normalisées pour réduire la redondance et garantir l’intégrité des données.
      • Exemple : Un système de gestion de commandes dans une entreprise pourrait utiliser une OBT pour enregistrer les transactions clients en temps réel.
      Modélisation dimensionnelle :
      La modélisation dimensionnelle est principalement utilisée dans les entrepôts de données pour les applications de Business Intelligence (BI). Les données sont organisées en fait (mesures) et en dimensions (contextes des mesures). Cette approche est souvent utilisée pour faciliter les requêtes analytiques complexes.
      • Exemple : Dans un entrepôt de données, une table de faits pourrait contenir les ventes (MontantVente, DateVente, etc.), tandis que les tables de dimensions pourraient inclure Client, Produit, et Temps.
      4. L’Indempotence
      L’indempotence est un concept important en informatique, particulièrement dans les systèmes distribués. Une opération est idempotente si elle peut être appliquée plusieurs fois sans changer le résultat après la première application.
      • Exemple : Imaginons une API qui permet de mettre à jour l’adresse d’un client. Si l’opération est idempotente, envoyer plusieurs fois la même requête pour changer l’adresse à une nouvelle valeur donnera toujours le même résultat : l’adresse sera mise à jour une seule fois.
      5. Partitionnement
      Le partitionnement est une technique utilisée pour diviser une table ou un index en plus petites parties, appelées partitions, afin d’améliorer les performances de gestion des données. Il existe plusieurs types de partitionnement, comme le partitionnement par plage, par hachage, ou par liste.
      • Exemple : Une table de ventes pourrait être partitionnée par date, de sorte que toutes les ventes d’une année donnée soient stockées ensemble. Cela rend les requêtes sur une période de temps spécifique plus rapides.
      6. Formats de Fichier
      Les formats de fichier se réfèrent aux structures dans lesquelles les données sont stockées sur disque. Chaque format a des avantages et des inconvénients selon l’utilisation prévue.
      • CSV (Comma-Separated Values) : Simple et largement utilisé, mais non compressé et non optimisé pour la vitesse.
      • JSON (JavaScript Object Notation) : Idéal pour les données semi-structurées, mais peut être verbeux.
      • Parquet/ORC : Formats colonnes utilisés pour les grands ensembles de données dans des environnements de Big Data, offrant une compression et des performances de lecture optimisées.
      Exemple : Pour un système de big data, le format Parquet pourrait être préféré à CSV car il permet des lectures plus rapides grâce à son stockage en colonnes et à sa compression.
      7. Batch vs Streaming
      Batch processing :
      Le traitement par lots (batch) consiste à exécuter des opérations sur un ensemble de données complet à des intervalles réguliers. Ce mode est bien adapté pour les tâches qui ne nécessitent pas de traitement en temps réel.
      • Exemple : Calculer les rapports de vente quotidiens en traitant toutes les transactions de la journée en une seule fois la nuit.
      Streaming :
      Le traitement en continu (streaming) consiste à traiter les données dès qu’elles sont disponibles. Cela est nécessaire pour les applications où les résultats doivent être mis à jour en temps réel.
      • Exemple : Suivi des transactions de carte de crédit pour détecter la fraude en temps réel.
      8. Optimisation SQL
      L’optimisation SQL vise à améliorer la performance des requêtes SQL pour qu’elles s’exécutent plus rapidement et utilisent moins de ressources.
      • Exemple : Une requête complexe avec plusieurs jointures pourrait être optimisée en utilisant des index appropriés, en réécrivant la requête pour réduire le nombre de jointures nécessaires, ou en utilisant des vues matérialisées pour pré-calculer certains résultats.
      Ces concepts sont tous interconnectés et jouent un rôle essentiel dans la gestion des données modernes, que ce soit pour des applications transactionnelles ou analytiques. Comprendre ces notions te permettra de concevoir et d’optimiser des systèmes robustes et performants.

  • @LucasFernandez-s9c
    @LucasFernandez-s9c 4 місяці тому

    Merci