L’architecture de l’entrepôt de données construit dans le Cloud
La différence architecturale de Snowflake
Snowflake propose une prise en charge complète des bases de données relationnelles au sein d’une solution unique et intégrée du point de vue logique, pour les données structurées telles que les fichiers et tableaux CSV, comme pour les données semi-structurées telles que JSON, Avro, Parquet, etc. Snowflake est un entrepôt de données en mode SaaS, qui ne nécessite aucune gestion et propose des capacités de calcul, de stockage et des services dans le Cloud séparés, évolutifs et pouvant être modifiés de manière indépendante.
La gestion des métadonnées est également automatique. En outre, le traitement des métadonnées au sein de Snowflake n’entre pas en compétition avec les ressources de calcul dédiées aux requêtes. Ainsi, Snowflake peut évoluer de manière quasi linéaire lorsque les ressources de calcul augmentent.
Sécurisé depuis sa conception et compatible avec les outils populaires d’ETL et de business intelligence, Snowflake permet aux gestionnaires de base de données de répondre aux besoins en base de données à l’échelle de l’entreprise grâce à une concurrence presque illimitée. Snowflake constitue également une plateforme interne puissante de traitement de requête pour les développeurs qui conçoivent
des applications modernes reposant sur les données.
Au-delà de ces caractéristiques, en quoi Snowflake est-il différent ?
En un mot, son architecture.
Snowflake repose sur une architecture brevetée multi-cluster avec partage des données, pensée et créée pour le Cloud afin de révolutionner l’analyse et le stockage de données.
Snowflake est un système intégré unique doté d’une scalabilité pleinement indépendante en matière de calcul, de stockage et de services.
Contrairement aux architectures à stockage partagé qui lient stockage et calcul, Snowflake autorise la scalabilitéautomatique des ressources de stockage, d’analyse ou de groupe de travail
pour toute opération, instantanément et facilement.
Le stockage
Construite à partir d’un amas de stockage évolutif dans le Cloud, la couche de stockage conserve les données variées et les divers tableaux et résultats de requête pour Snowflake. La couche de stockage étant conçue pour évoluer indépendamment des ressources de calcul, l’analyse de données bénéficient d’une scalabilité, d’une élasticité et de performances maximales. Par conséquent, Snowflake possède des fonctionnalités uniques, comme la capacité à traiter des données pendant leur chargement ou leur transfert sans répercussions sur les requêtes en cours ou les autres charges de travail.
Au sein de la couche de stockage, Snowflake emploie des micropartitions afin de stocker les données des clients de manière sûre et efficace. Au cours du chargement dans Snowflake, les données sont automatiquement réparties dans des micropartitions de taille moyenne, et les métadonnées sont extraites afin de permettre un traitement des requêtes efficace. Les micropartitions subissent alors une compression en colonnes avant d’être complètement chiffrées à l’aide d’une hiérarchie de clé sécurisée.
Les avantages de l’architecture Snowflake
-
Un entrepôt de données SQL transactionnel
- La séparation des services liés au stockage et au calcul permet à plusieurs entrepôts virtuels (clusters de calcul) de traiter simultanément les mêmes données. La concurrence est virtuellement illimitée et peut évoluer instantanément grâce à l’architecture multi-cluster de l’entrepôt.
- L’activité développée dans l’un des entrepôts virtuels n’affecte en rien les autres entrepôts virtuels. Le chargement des données dans un entrepôt virtuel, par exemple, n’a pas de répercussions sur les performances des requêtes exécutées dans d’autres entrepôts virtuels, même lorsqu’ils accèdent aux mêmes données.
- Une complète intégrité transactionnelle ACID (atomicité, cohérence, isolation et durabilité) est conservée dans tous les entrepôts virtuels. Les requêtes ont constamment à disposition une vue cohérente Toutes les validations de transaction (commit) sont immédiatement visibles par les nouvelles requêtes exécutées, quel que soit l’entrepôt de calcul (Warehouse virtuel).
- Les clones Zero-copy de bases de données ou de tables, même de taille de l’ordre du téraoctet sont créés en quelques secondes, sans entraîner de coûts de stockage supplémentaires. Un clone est une copie logique et complète de l’objet original, mais il est doté d’un cycle de vie indépendant.
- La fonction Time travel permet à toute instruction de sélection ou tout clone Zero-copy de voir la base de données dans un état conservé et cohérent, et ce jusqu’à 90 jours dans le passé. Par défaut, la durée de conservation est de 24 heures.
-
Des performances et un débit adaptés
- Snowflake surpasse les méthodes traditionnelles en matière d’analyse de données. Les ressources de calcul évoluent de manière linéaire, tandis qu’une optimisation efficace des requêtes fournit des réponses en un temps très inférieur à celui nécessaire aux systèmes historiques dans le Cloud ou on-premise.
- Les problèmes de performances peuvent être adressés instantanément, en l’espace de quelques secondes. Vous pouvez préciser la taille d’un entrepôt virtuel en fonction des performances initialement nécessaires. Mais vous pouvez également le redimensionner à tout moment, même lorsque l’entrepôt est en cours de fonctionnement.
- Vous payez uniquement les ressources de calcul que vous utilisez, sur la base d’une facturation à la seconde. En outre, vous pouvez mettre vos entrepôts virtuels en pause à tout moment.
- Les entrepôts multi-clusters fournissent un SLA (Service-level agreement, entente de niveau de service) cohérent à un nombre illimité d’utilisateurs simultanés. Lorsque la charge concurrente augmente, Snowflake peut automatiquement ajouter des clusters aux entrepôts virtuels et répartir les requêtes entre ces clusters. Lorsque la charge de travail décroît, les clusters sont mis en pause. Les coûts sont comptabilisés uniquement sur les clusters actifs, de sorte que vous ne payez que ce que vous consommez.
-
Le stockage et la prise en charge de toutes les données
- Le stockage est peu coûteux et peut évoluer pratiquement à l’infini. Snowflake constitue la plateforme optimale pour l’entrepôt de données, fournissant un support rentable et hautement performant aux bases de données de plusieurs pétaoctets. Tous les coûts de stockage sont calculés à partir de l’utilisation réelle pour les données compressées, mesurée en To stockés par mois.
- Vous pouvez interroger à la fois les données structurées et semi-structurées (comme les données JSON, Avro, XML ou Parquet) à l’aide d’opérateurs relationnels SQL tout en maintenant des performances similaires à celles obtenues lors de requêtes sur des données structurées. Le chargement des données semi-structurées s’effectue aisément. Les schémas sont dynamiques et automatiquement découverts au cours du chargement. Cette prise en charge des schémas dynamiques permet une exécution efficace des requêtes par le biais d’extensions naturelles vers SQL.
- Avec Snowflake, il n’est pas nécessaire de mettre en œuvre des systèmes séparés pour le traitement des données structurées et semi-structurées. Vous pouvez vous affranchir des systèmes complexes que constituent Hadoop et les pipelines d’entrepôt de données. Snowflake peut remplir ces deux rôles de manière beaucoup plus efficace, produisant des résultats supérieurs, et ce à moindre coût.
-
Disponibilité et sécurité
- Atteignez une haute disponibilité grâce à l’architecture évolutive de Snowflake, distribuée dans de nombreuses zones de disponibilité Amazon et Azure. Snowflake peut continuer ses opérations et résister à une perte de disponibilité causée par une panne matérielle. Le système est conçu pour supporter les pannes avec des répercussions minimales pour nos clients.
- La sécurité fait partie de la conception de Snowflake. Toutes les données sont chiffrées pendant leur transfert, par le biais d’Internet ou de connexions directes, mais aussi lorsqu’elles sont stockées sur des disques. Snowflake prend en charge l’authentification à deux facteurs et l’authentification fédérée par le biais d’une authentification unique. L’autorisation est basée sur les rôles. Vous pouvez ainsi mettre en place des politiques visant à n’autoriser l’accès qu’à des adresses de client prédéfinies.
- Snowflake est certifié SOC 2 Type 2 (Service Organization Control, contrôle des organisation de service) sur AWS et sur Azure, et les données de santé protégées peuvent être prises en charge pour les clients munis d’un accord d’associé commercial HIPAA (Health Insurance Portability and Accountability Act, loi sur la responsabilité et la portabilité dans le secteur de l’assurance maladie). Des niveaux de sécurité supplémentaires, comme le chiffrement sur toutes les communications réseaux et les isolements dédiés ou privés virtuels, sont également proposés.
-
Un partage des données fluide
- L’architecture unique de Snowflake, construite pour le Cloud, vous permet de partager les données au sein de votre compte avec d’autres utilisateurs Snowflake.
- Le partage de données de Snowflake ne nécessite ni copie, ni transfert depuis le compte du fournisseur vers celui du consommateur. À la place, vous autorisez un accès sécurisé et répertorié à des copies de vos données en lecture seule.
- Les comptes qui reçoivent des données partagées ne paient que pour les ressources de calcul qu’ils utilisent pour traiter les données. Les données partagées par un fournisseur de données Snowflake peuvent être facilement combinées avec des données du compte du consommateur Snowflake, sans efforts laborieux ou outils tiers.
- Évitez les complexités et les contraintes causées par les technologies email, FTP et EDI, vieilles de plusieurs décennies. Sélectionnez simplement le contenu à partager avec vos consommateurs de données, et partagez les données par le biais de fonctions SQL faciles à utiliser.
À l’intérieur de l’entrepôt de données conçu pour le Cloud
L’architecture de Snowflake s’écarte des limitations des architectures à disque partagé et « Shared nothing » classiques. Découvrez-en plus en lisant notre livre blanc SIGMOD.
Rapport
Gigaom Sector Roadmap : Cloud Analytic Databases 2017 par : Gigaom
eBook
Une introduction à l’entrepôt de données dans le Cloud
Éducation