Un hybride d’entrepôt de données et de lac de données

Un hybride d’entrepôt de données et de lac de données


Il y a beaucoup de controverse dans l’industrie ces jours-ci autour des lacs de données par rapport aux entrepôts de données. Pendant de nombreuses années, un entrepôt de données était le seul jeu en ville permettant aux entreprises de traiter leurs données et d’en tirer un aperçu. Mais au fil du temps, les options sur le marché ont pris du retard par rapport aux besoins des acheteurs, et la frustration s’est ensuivie.

Les exigences d’Internet ont changé la donne, car l’ampleur des données générées par les premiers pionniers du Web ne pouvait pas être contenue dans les limites des entrepôts de données de l’époque. Cette a donné naissance à Hadoop puis à Sparkqui utilisent une architecture de lac de données pour résoudre le problème d’échelle, souvent appelées solutions « Big Data ».

Si vous ne connaissez pas la différence entre un lac de données et un entrepôt de données, vous n’êtes pas seul. Il y a beaucoup de confusion et il y a des permutations qui font que l’un ressemble à l’autre, la solution idéale étant probablement un hybride des deux.

Une architecture d’entrepôt de données est construite autour d’une base de données, avec un référentiel géré de données qui sont stockées et traitées dans le système, qu’elles soient contenues dans une seule boîte ou en tant qu’architecture distribuée sur plusieurs boîtes. Les données doivent être ingérées dans un entrepôt de données, où elles sont stockées et optimisées pour le traitement par le système.

Une architecture de lac de données élimine l’exigence d’ingestion et utilise un moteur de requête qui analyse les données stockées en dehors du système, généralement dans le stockage d’objets cloud. Le stockage d’objets est par nature essentiellement à l’échelle infinie, il est donc bien adapté pour travailler avec des ensembles de données à grande échelle. L’absence d’obligation d’ingérer des données facilite les choses pour les administrateurs qui n’ont pas à inventorier et à comprendre leurs données et leur emplacement. Ils peuvent simplement le laisser là où il est jeté, en scanner une partie et en ignorer la plupart.

De nombreux partisans des lacs de données appellent les entrepôts de données un modèle d’architecture daté ou même défaillant, et disent qu’avec quelques améliorations, une architecture de lac de données peut remplacer un entrepôt de données. Alors que les limites de nombreux entrepôts de données sont réelles et problématiques, annuler une catégorie entière en raison des limites de certains exemples dans l’espace est à courte vue. Une approche du problème pourrait être d’adapter la technologie du lac pour servir les fonctions d’un entrepôt de données, souvent appelé Lakehouse. Une autre approche, et celle que Snowflake a utilisée depuis le lancement de son premier service cloud il y a près de 10 ans, consiste à créer un meilleur entrepôt de données tout en incorporant une grande partie des fonctionnalités communes aux lacs de données.

Alors, qu’est-ce que Snowflake a fait spécifiquement pour résoudre les problèmes communs aux anciens entrepôts de données ? Entre autres choses, ceux-ci incluent :

  • Échelle quasi infinie : Alors que la plupart des entrepôts de données sont limités par une quantité maximale de ressources de stockage ou de calcul, Snowflake résout ce problème avec un nombre quasi illimité d’unités de la taille d’un t-shirt. calculer des clusters qui peuvent tous voir le même référentiel de données, essentiellement à l’échelle infinie.
  • Séparation du stockage et du calcul : La plupart des systèmes d’entrepôt de données ont une mise à l’échelle fixe où vous devez ajouter à la fois le calcul et le stockage, gaspillant des ressources lorsque vous n’avez besoin que de l’un ou de l’autre ; Snowflake les met à l’échelle séparément afin que les utilisateurs n’aient pas à payer pour des ressources dont ils n’ont pas besoin.
  • Isolation de la charge de travail : Snowflake permet à chaque grande catégorie de travail d’obtenir son propre cluster, permettant à chaque travail d’évoluer selon les besoins, avec de nombreuses ressources disponibles et sans impact sur les autres travaux exécutés sur le même référentiel, car ils ont accès à des ressources entièrement séparées. La plupart des entrepôts de données ne résolvent pas ce problème ou utilisent des outils de priorisation des ressources peu maniables, généralement compliqués et inefficaces.
  • Modèle de paiement à l’utilisation : Contrairement à tout système d’entrepôt de données sur site ou à tout entrepôt de données basé sur le cloud qui s’appuie sur des architectures pré-cloud, l’évolutivité quasi instantanée de Snowflake permet un provisionnement juste à temps pour que les utilisateurs ne paient que la capacité dont ils ont besoin à tout moment. moment, et de ne pas avoir à surapprovisionner pour répondre à une demande imprévue.

De plus, Snowflake fournit de nombreuses fonctionnalités communes aux systèmes de lac de données, notamment :

  • Échelle de données illimitée : Voir au dessus.
  • Types de données mixtes : Alors que la plupart des entrepôts de données ne prennent en charge que les données structurées, le Snowflake Data Cloud peut traiter des données structurées, semi-structurées (JSON, XML, etc.) et non structurées, permettant à Snowflake de couvrir de nombreuses charges de travail de type Web et Big Data qui reposent généralement sur sur les architectures de lac de données.
  • Choix des langues : Snowflake utilise SQL, comme la plupart des entrepôts de données, mais Snowpark permet aux codeurs d’interagir avec les données du référentiel dans le langage de leur choix, y compris Python (en préversion publique), Scala et Java.
  • Accès aux données externes : Le Snowflake Data Cloud prend en charge les données ingérées dans son référentiel interne géré, ainsi que les analyses externes des données stockées dans le stockage d’objets cloud géré par le client via des tables externes.
  • Format tableau ouvert : Snowflake a récemment annoncé la prise en charge de Iceberg, un format de tableau ouvert Apache Foundation largement utilisé dans l’industrie par de nombreux fournisseurs et utilisateurs. Pour les cas d’utilisation nécessitant des normes ouvertes, les tables Iceberg (en préversion privée) offrent aux clients plus d’options de modèles de stockage avec les performances, la sécurité, la gouvernance, la facilité d’utilisation et la collaboration de Snowflake.

Au-delà de ces capacités, Snowflake Data Cloud permet aux clients de faire des choses que les architectures basées sur des lacs de données ne peuvent pas bien faire, du moins jusqu’à présent :

  • Gouvernance forte des données : Une architecture basée sur un lac de données peut créer des contrôles d’accès basés sur les rôles dans la plate-forme de requête, mais elle ne possède pas les données et ne peut pas en restreindre totalement l’accès, permettant aux utilisateurs de voir ou de modifier les données dans la console de stockage d’objets même si ils ne peuvent pas y accéder via la plate-forme de données.
  • Collaboration de données avancée : L’architecture de base du Snowflake Data Cloud et la réplication entièrement automatisée qu’il prend en charge permettent aux utilisateurs de partager des données en direct entre les clouds et les régions, et de révoquer complètement l’accès aux données précédemment partagées, ce avec quoi les solutions basées sur les lacs ont du mal.
  • Performances constantes sur de nombreux types de charges de travail : Le Snowflake Data Cloud offre des performances élevées et non variables pour les tableaux de bord, la transformation des données, la science des données et presque tout ce que les entreprises veulent faire avec leurs données. Alors que les concurrents peuvent être en mesure de proposer quelques cas où leur plate-forme pourrait légèrement surpasser Snowflake, Snowflake offre des performances efficaces dans un large éventail de cas d’utilisation exigeants, tels que la gestion d’un volume de données élevé, d’une simultanéité élevée, de relations de données complexes et de tous les d’autres scénarios réels auxquels notre clientèle est confrontée jour après jour.
  • Hauts niveaux d’automatisation : Bien que les solutions de lac de données aient parcouru un long chemin vers la gestion des charges de travail de type entrepôt de données, cela s’accompagne généralement d’un coût élevé de complexité. Snowflake élimine les efforts manuels nécessaires à l’entretien et à l’alimentation de la plate-forme et permet aux clients de se concentrer plutôt sur leurs données.

Bien que Snowflake soit bien connu dans le domaine des entrepôts de données, notre architecture et les capacités que nous offrons aux clients depuis le début sont un hybride de capacités d’entrepôt et de lac. Que vous résolviez pour une grande échelle de données, des types de données mixtes, des préférences linguistiques, l’accès à des données externes, l’extensibilité ou la diversité géographique et cloud, Snowflake peut vous aider, quel que soit le terme technique que vous utilisez pour le décrire. Nous l’appelons le Snowflake Data Cloud, et des clients tels que Matthew Jones, de Kount Data Science Manager, déclare : « Snowflake a eu un impact considérable sur nous, les scientifiques des données. Nous pouvons consolider les données dans un immense lac de données en tant que source unique de vérité, mais tout est facilement interrogeable. »

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.