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 ?
Un lac 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 ?
Un entrepôt de données est un système de base de données relationnelle contenant des données provenant de plusieurs sources, structurées de manière à faciliter l'analyse et support la décision. Imaginez comment les stocks d'un entrepôt sont soigneusement organisés et répertoriés afin d'en faciliter la recherche et l'accès.
Un entrepôt de données est conçu pour mettre à la disposition des utilisateurs des données préparées destinées aux tableaux de bord informatique décisionnelle ), à la visualisation, à l'intelligence artificielle (IA) et aux outils d'apprentissage automatique (ML). Cependant, contrairement à un lac de données, l'architecture d'un entrepôt de données n'est pas aussi efficace pour stocker de grands volumes de données, en particulier avec une 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, Data Scientists, 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 Fonctionnalités.
Avantages
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 résumé, les entrepôts de donnéessont davantage conçus pour l’ analyse des données structurées, tandis que les lacsde donnéessont davantage destinés au stockage des données non structurées. Cela signifie que les entrepôtsde donnéessont compatibles avec les l'intégration des lacs de données , , ce quipermet aux entreprises de stocker et d’analyser leurs données en toute transparence. Grâce à des produits tels que la plateforme Actian Analytics AI, vous pouvez requête écrire des données Hadoop à l’aide de la fonctionnalité 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 encore les tables de systèmes de bases de données externes.
La syntaxe CREATE EXTERNAL TABLE permet de créer une table dans la plateforme Actian Analytics AI qui pointe vers des fichiers de données existants situés en dehors de la plateforme. Ainsi, vous n'avez pas besoin d'importer les données dans une nouvelle table lorsque les fichiers de données se trouvent déjà à un emplacement connu et dans le format de fichier souhaité.
Une fois que la structure du fichier de données a été mappée au format de la plateforme Actian Analytics AI à 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.
- Importez et stockez les données dans une base de données Actian Analytics AI Platform.
Les données sont extraites de leurs emplacements d'origine, et la plateforme Actian Analytics AI conserve les fichiers de données à leur emplacement d'origine lorsque vous supprimez la table.
La plateforme Actian Analytics AI reçoit des requêtes portant sur des tables externes provenant de l'application utilisateur client, et les reformule sous forme de requêtes JSON pour les données externes. Ces requêtes sont ensuite converties en tâches Spark, qui sont ensuite lancées. Ces tâches émettent généralement des requêtes vers SparkSQL, telles que « 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 dans des systèmes externes. Enfin, ces tâches transfèrent 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 à 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://[email protected]/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://[email protected]/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://[email protected]/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.
- Une fois que plusieurs formats de données provenant d'appareils IoT ont été stockés dans un lac de données, elles peuvent être organisées et rationalisées dans un entrepôts de données. Elles peuvent ensuite être transmises aux médecins, leur offrant ainsi une vision plus complète de l'évolution des pathologies et leur permettant de 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 nombre important d'éléments à prendre en compte dans la gestion d'une entreprise industrielle, il peut être difficile d'avoir une vue d'ensemble permettant d'apporter des optimisations. L'analyse des données via un entrepôt de données peut aider les responsables à avoir une vue d'ensemble de l'efficacité de chaque étape du processus de fabrication et d'expédition, et leur fournir des informations sur les domaines à améliorer.
Points clés à retenir
