Qu'est-ce que le lac de données lac de données ? Est-ce la même chose que le stockage dans un entrepôt de données? Un lac de données et un entrepôt de données peuvent sembler avoir les mêmes utilisations - après tout, les lacs et les entrepôts stockent tous deux des choses. Bien qu'il s'agisse dans les deux cas de référentiels de données et qu'ils puissent fonctionner ensemble de manière synchrone, chacun a un objectif différent lorsqu'il s'agit de collecter des données pour votre entreprise. Connaître leurs différentes fonctions, leurs avantages, leurs utilisations appropriées et la manière dont ils peuvent être utilisés ensemble vous aidera à décider des solutions à ajouter à votre plateforme de données et à support votre cadre plus large de gouvernance données. Plongeons dans l'aventure!
Qu'est-ce qu'un lac de données ?
Unlac de données est un dépôt données qui accumule de grands volumes de données structurées, non structurées et semi-structurées dans leur format natif en toute fidélité, y compris les fichiers plats, les fichiers journaux et les exportations de feuilles de calcul. Pensez à la façon dont un lac peut recueillir et contenir de l'eau provenant de diverses sources, toutes mélangées et non organisées.
Les produits de lac de données sont de bonnes options pour les organisations qui doivent collecter de grands volumes de données diverses à des fins de traitement. Cependant, les données non structurées stockées dans un lac de données doivent être converties en données structurées avant de pouvoir être analysées ou utilisées de manière productive.
Qu'est-ce qu'un entrepôt de données ?
Aentrepôt de données est un système de base de données relationnelle contenant des données provenant de sources multiples et structurées pour faciliter l'analyse et l'support décision. Pensez à la façon dont les stocks d'un entrepôt sont soigneusement organisés et catalogués de manière à en faciliter la recherche et l'accès.
Un entrepôt de données est conçu pour mettre des données préparées à la disposition des utilisateurs pour les tableaux de bord informatique décisionnelle (BI), la visualisation, l'intelligence artificielle (AI) et les outils d'apprentissage automatique (ML). Cependant, contrairement à un lac de données, une architecture d'entrepôt de données n'est pas aussi efficace pour stocker de grands volumes de données, en particulier en haute fidélité.
Lac de données ou entrepôt de données : Que choisir ?
Le choix de connecter votre pipeline de données à un lac ou à un entrepôt peut être une décision nuancée qui dépend des besoins en données de votre entreprise. Dans certains cas, il se peut que votre entreprise ait besoin d'utiliser les deux, ce que nous verrons plus loin. Voici un aperçu des principales différences entre les solutions de typeentrepôt de donnéespar rapport aux lac de donnéess pour vous aider à faire votre choix.
Entrepôt de donnéess | Lac de donnéess | |
Fonction principale | Analyse | Stockage |
Types de données | Données structurées nécessitant une analyse immédiate | Données structurées, non structurées et semi-structurées devant être conservées, analysées ou auditées |
Structure des données | Dimensions et tableaux hiérarchiques | Architecture plate |
Méthode de traitement | ETL (extraction, transformation, chargement) | ELT (Extract, Load, Transform) |
Formats de données idéaux | ColonnesParquet, ORC, Delta) | Apache Parquet, Apache Avro, Apache Iceberg, CSV, JSON |
Langues | SQL | SQL, U-SQL, Scala, Python, R, .NET, Apache Spark, TensorFlow, SciKit, MLib, MXNet, etc. |
Schéma | Schéma sur l'écriture | Schéma sur la lecture |
évolutivité | Faible | Haut |
Disponible dans le nuage ? | Oui | Oui |
Qui les utilise ? | Ingénieurs de données, scientifiques de données, analystes commerciaux, architectes métadonnées | Chief Data Officers, Data Scientists, Business Analysts, Managers, Data Developers |
Comme vous pouvez le constater, il existe de nombreuses différences entre un entrepôt de données et un lac de données - non seulement dans la manière dont les organisations les utilisent, mais aussi dans leur fonctionnement. Bien que les lacs de donnéeset les entrepôts de donnéespuissent sembler interchangeables, le choix de l'un ou de l'autre pour les besoins de votre entreprise peut dépendre de vos systèmes de données actuels, de votre architecture et de vos capacités.
Bénéfices
Entrepôt de donnéeset lac de donnéesprésentent chacun leurs propres avantages pour les entreprises qui accordent de l'importance à leurs données. Passez en revue ces avantages pour vous aider à mieux comprendre quel est le meilleur choix pour les besoins de votre entreprise.
Avantages de l'entrepôt de données
- Parce que entrepôts de donnéessont conçus pour l'analyse des données, ils fournissent des informations commerciales plus efficaces qui peuvent améliorer la prise de décision au niveau de la direction.
- La rapidité est un autre avantage important de l'utilisation d'un entrepôt de donnéess. Les travailleurs passent moins de temps à parcourir des données organisées et structurées que des données non structurées, ce qui leur permet de d'obtenir des informations plus rapidement.
- Lorsque vous démocratisez les données, vous bénéficiez également des avantages suivantsune distribution des données plus rapide distribution des données aux responsables des données dans l'ensemble de votre organisation. Les parties prenantes qui s'appuient sur vos données n'ont pas besoin d'attendre que quelqu'un les compile dans un rapport impeccable avant de pouvoir agir.
- Un autre avantage stocker toutes vos données en un seul endroit est qu'il permet aux professionnels de l'informatique et de la cybersécurité de de renforcer les défenses d'un seul dépôt au lieu de devoir protéger plusieurs lieux de stockage.
- Bien qu'il y ait des avantages d'un entrepôt de donnéesun entrepôt de données entrepôt de données permetde l'agrandir ou de le réduire en fonction des besoins de votre entreprise, au lieu de changer de serveur lorsque vos volumes de données réguliers changent.
- L'une des principales fonctions d'un entrepôt de données est de normaliser automatiquement les données, ce qui améliore qualité des données.
Avantages du lac de données
- Le lac de donnéespermettent la collecte de données provenant de sources multiples dans leur format d'origineau lieu de créer des architectures pour différents formats.
- Vous pouvez stocker pétaoctets de données dans lac de donnéess.
- Comme entrepôt de donnéesles spécialistes de l'informatique et de la cybersécurité n'ont besoin de défendre qu'un seul dépôt de données. défendre un seul dépôt données contre les menaces et les attaques.
- Egalement comme entrepôt de donnéess, lac de donnéespermettent une une meilleure démocratisation des données.
- Les lacs de donnéescomme le lac de données Hadoop Hadoop vous permettent d'utiliser plusieurs schémas pour les mêmes données ou de les utiliser sans schéma.
- Contrairement au stockage traditionnel des données, les lacs de donnéessont compatibles avec les outils d'analyse de l'IA et de l'apprentissage d'apprentissage automatique.
Comment les lacs de données et les entrepôts de données fonctionnent-ils ensemble ?
En bref, entrepôts de donnéessont davantage conçus pour l l'analyse des données structurées et les lac de donnéessont davantage conçus pour lestockage des données non structurées. Cela signifie que les entrepôt de donnéessont compatibles avec leslac de données de donnéesafin que les entreprises puissent stocker et analyser les données de manière transparente. En utilisant des produits tels que la plateforme de données Actian, vous pouvez requête et écrire desdonnées Hadoop à l'aide de la fonction de tables externes. La source de données doit être compatible en lecture et en écriture avec Apache Spark, comme les formats de fichiers Parquet, ORC ou JSON ou les tables dans des systèmes de bases de données externes.
La syntaxe CREATE EXTERNAL TABLE crée une table dans la plateforme de données Actian qui pointe vers des fichiers de données existants dans des emplacements extérieurs à la plateforme. Ainsi, il n'est pas nécessaire d'importer les données dans une nouvelle table lorsque les fichiers de données se trouvent déjà à un emplacement connu dans le format de fichier souhaité.
Une fois la structure du fichier de données mappée au format de la plateforme de données Actian à l'aide de l'instruction CREATE EXTERNAL TABLE, vous pouvez.. :
- Sélectionner, joindre ou trier les données d'une table externe.
- Créer des vues pour les tables externes.
- Insérer des données dans des tables externes.
- Importer et stocker les données dans une plateforme de données Actian .
Les données sont interrogées à partir de leur emplacement d'origine et la plateforme de données Actian laisse les fichiers de données en place lorsque vous déposez la table.
La plateforme de données Actian reçoit de l'utilisateur ou de l'application cliente des requêtes opérant sur des tables externes et les réécrit en requêtes JSON pour des données externes. Ces requêtes sont ensuite traduites en jobs Spark, qui sont lancés. Ces jobs émettent typiquement des requêtes vers SparkSQL comme "INSERT INTO avalanche_table SELECT * FROM external_resource" pour lire des données externes ou "INSERT INTO external_resource SELECT * FROM avalanche_table" pour écrire vers des systèmes externes. Enfin, ces jobs poussent et tirent des données vers et depuis la plateforme de données Actian.
Vous pouvez même insérer de nouveaux enregistrements dans une table externe.La syntaxe pour définir une table externe est la suivante :
CREATE EXTERNAL TABLE table_name (column_name data_type {,column_name data_type}) USING SPARK WITH REFERENCE='reference' [,FORMAT='format'] [,OPTIONS=('key'=value {,'key'='value'})]
Pour plus d'informations, voir CREATE EXTERNAL TABLE dans le Guide du langage SQL.
Une fois que les tables externes sont définies à l'aide de la syntaxe CREATE EXTERNAL TABLE, elles se comportent comme des tables normales. Vous pouvez émettre des requêtes telles que la suivante :
SELECT * FROM test_table_csv INSERT INTO my_table_orc SELECT some_column FROM other_table
Predicate Pushdown De la plateforme de données Actian vers Spark
Si une requête SQL est envoyée à une TABLE EXTERNE à l'aide de Spark, les prédicats de la clause WHERE peuvent déjà être évalués par Spark, réduisant ainsi le nombre de tuples envoyés. Seuls les prédicats qui peuvent être traduits en une plage de valeurs de colonnes sont pris en charge. Pour les connexions logiques des prédicats simples, IN et AND sont pris en charge sur une seule colonne et sur plusieurs colonnes. OR n'est supporté que sur une seule colonne.
Lorsque l'ensemble du prédicat complexe contient un seul OU couvrant différentes colonnes, rien n'est poussé vers Spark. Dans ce cas, Spark transfère tous les tuples vers la plateforme de données Actian, et le filtrage est effectué uniquement du côté d'Actian.
Voici un exemple d'utilisation de CREATE EXTERNAL TABLE :
- Définir une table externe pour une source de données CSV résidant sur Amazon S3 :
CREATE EXTERNAL TABLE ext_csv (col1 INT4 NOT NULL, col2 VARCHAR(20) NOT NULL) USING SPARK WITH REFERENCE=’s3a://<bucket>/file.csv’ OPTIONS=(‘DELIMITER’ = ‘|’, ‘HEADER’ = ‘TRUE’,’SCHEMA’=’col1 INT4 NOT NULL, col2 VARCHAR(20) NOT NULL’);
2. Définissez une table externe pour une source de données CSV résidant sur Amazon S3. Les données CSV n'ont pas de ligne d'en-tête
CREATE EXTERNAL TABLE nation_s3 ( n_nationkey INTEGER NOT NULL, n_name CHAR(25) NOT NULL, n_regionkey INTEGER NOT NULL ) USING SPARK WITH REFERENCE=’s3a://<bucket>/nation.csv’,FORMAT=’csv’, OPTIONS=(‘HEADER’=’FALSE’,’DELIMITER’=’|’,’SCHEMA’=’n_nationkey INT NOT NULL, n_name STRING NOT NULL, n_regionkey INT NOT NULL);
3. Définir une table externe pour une source de données ORC à partir d'Azure :
CREATE EXTERNAL TABLE my_table_orc(a INT8 NOT NULL) USING SPARK WITH REFERENCE='abfs://loadtest@avalanchetest.dfs.core.windows.net/my_table.orc' ;
4. Définir une table externe pour une source de données AVRO à partir d'Azure :
CREATE EXTERNAL TABLE tweets (username VARCHAR(20), tweet VARCHAR(100), timestamp VARCHAR(50)) USING SPARK WITH REFERENCE='abfs://loadtest@avalanchetest.dfs.core.windows.net/twitter.avro', FORMAT='com.databricks.spark.avro'
5. Définissez une table externe pour une source de données JSON à l'aide du fichier JSON suivant :
[{ “symbol”: “MSFT”, “company”: “Microsoft Corporation”, “stock_tstamp”: “2020-01-31T21:00:00+00:00”, “price”: 170.777, “volume”: 36142690, “sector”: “TECH” }, { “symbol”: “AAPL”, “company”: “Apple Inc.”, “stock_tstamp”: “2020-01-31T21:00:00+00:00”, “price”: 309.51, “volume”: 49897096, “sector”: “TECH” }, { “symbol”: “GOOG”, “company”: “Alphabet Inc.”, “stock_tstamp”: “2020-01-31T21:00:00+00:00”, “price”: 1434.23, “volume”: 2417214, “sector”: “TECH” }, { “symbol”: “AMZN”, “company”: “Amazon.com, Inc.”, “stock_tstamp”: “2020-01-31T21:00:00+00:00”, “price”: 2008.72, “volume”: 15567283, “sector”: “TECH”}]
Exemple de SQL pour créer une table externe afin de référencer ce fichier JSON stocké sur un Azure ADL :
CREATE EXTERNAL TABLE techstocks ( symbol VARCHAR(4), company VARCHAR(20), stock_tstamp TIMESTAMP, price FLOAT, volume INTEGER, sector CHAR(5) ) EN UTILISANT SPARK AVEC REFERENCE='abfs://stockquotes@eastusstockdata.dfs.core.windows.net/tech1.json', FORMAT='json', OPTIONS=('multiline'='true', 'SCHEMA'= 'symbol string, company string, stock_tstamp string, price double, volume integer, sector
Définir une table externe pour une source de données CSV dans Google Cloud Storage. Les données CSV n'ont pas de ligne d'en-tête :
CREATE EXTERNAL TABLE stations ( n_stationkey INTEGER NOT NULL, n_stationname CHAR(25) NOT NULL, n_locationkey INTEGER NOT NULL ) USING SPARK WITH REFERENCE=’gs://<path>/stations.csv’,FORMAT=’csv’, OPTIONS=(‘HEADER’=’FALSE’,’DELIMITER’=’|’,’SCHEMA’=’n_stationkey INT NOT NULL, n_stationname STRING NOT NULL
Cas d'utilisation du lac de données et de l'entrepôt de données
Vous n'êtes pas encore sûr de savoir si le lac de données ou entrepôt de données de données est plus approprié pour votre entreprise ? Vous n'êtes pas convaincu de la nécessité de l'un ou l'autre ? Voici quelques cas d'utilisation spécifiques à l'industrie pour vous montrer comment les organisations du monde entier utilisent ces solutions pour rationaliser leurs flux de travail professionnels.
Cas d'utilisation du lac de données
- Les professionnels de la vente au détail peuvent stocker des données sur les achats, des informations sur les produits ajoutés aux paniers et non achetés, ainsi que sur les habitudes de navigation. Ils peuvent également utiliser le traitement du language naturel du langage naturel (NLP) pour enregistrer les commentaires de l'entreprise sans envoyer d'enquêtes.
- Les membres du secteur de la santé, comme votre médecin, peuvent collecter plusieurs types de données IoT à partir de plusieurs appareils de surveillance de la santé et les stocker dans leurs formats natifs pour une analyse ultérieure.
- Si vous travaillez dans le secteur bancaire ou financier, vous pouvez collecter des données telles que des relevés monétaires et des historiques de transactions de clients du monde entier dans un lieu centralisé à haute capacité.
- Les optimisations dans le secteur des transports reposent sur de nombreux types de données complexes - parfois collectées dans tout le pays - et les entrepôts de données peuvent être la meilleure solution pour stocker le volume considérable de données à analyser.
- De nombreux fabricants doivent coordonner l'approvisionnement en matériaux, gérer les chaînes de production, planifier la logistique d'expédition, etc. Les lacs de données permettent de stocker les données de toutes ces parties de l'entreprise - qu'elles soient ou non hors site - en un seul endroit facile d'accès.
Cas d'utilisation de l'entrepôt de données
- Les détaillants peuvent analyser les données d'achat des clients dans un entrepôts de donnéesafin d'obtenir des informations sur les habitudes d'achat et les autres préférences des clients pour améliorer leur expérience d'achat, informer les efforts de remarketing et élaborer des campagnes personnalisées.
- Après que plusieurs formats de données provenant d'appareils IoT ont été stockés dans le lac de donnéesils peuvent être organisés et rationalisés dans des entrepôt de donnéess. Ensuite, elles peuvent être distribuées aux médecins pour leur donner une image plus complète des conditions en cours et recommander des traitements avec plus de précision.
- Une fois les données financières recueillies auprès des particuliers, les banques peuvent les analyser dans un entrepôts de donnéespour évaluer la solvabilité d'une personne, déclencher des frais de découvert ou recommander des limites pour les cartes de crédit, tout cela en se basant sur les habitudes d'achat personnelles, étayées par des données concrètes. d'achat personnelles étayées par des données concrètes.
- Passer les données relatives au trafic ou aux vols dans un entrepôt de données permet de les rationaliser en vue d'une analyse prédictive, qui peut s'avérer cruciale pour l'optimisation des itinéraires et des horaires dans l'industrie du transport.
- Compte tenu du grand nombre de pièces mobiles impliquées dans la gestion d'une entreprise de fabrication, il peut être difficile d'avoir une vue d'ensemble afin de procéder à des optimisations. L'exploitation des données par le biais d'un entrepôt de données peut aider les responsables à avoir une vue d'ensemble de l'efficacité de chaque partie du processus de fabrication et d'expédition et leur donner des indications sur les domaines à améliorer.