En octobre 2012, Amazon a lancé le projet Amazon Redshift. Son nom fait référence à Oracle, une multinationale américaine qui vend des systèmes de bases de données. Le message d'Amazon est clair, la couleur principale d'Oracle étant le rouge et shift désignant le "changement".
Amazon Redshift en bref
Ce projet a été le leader de la solution cloud d’Amazon, et de son écosystème AWS en quelques années seulement. Redshift offre des performances inégalées et une innovation constante.
Dans cet article, nous aborderons les fonctionnalités les plus importantes du stockage et de l’analyse de données Amazon Redshift.
Ce projet a été le leader de la solution cloud d’Amazon, et de son écosystème AWS en quelques années seulement. Redshift offre des performances inégalées et une innovation constante.
Dans cet article, nous aborderons les fonctionnalités les plus importantes du stockage et de l’analyse de données Amazon Redshift.
AWS Redshift est un service d’entrepôt de données (data warehouse) basé sur le cloud à l’échelle du pétaoctet et qui fonctionne au sein de l’écosystème de solutions de données d’Amazon. La plateforme est construite sur PostgreSQL et s’intègre à la plupart des applications tierces via ses pilotes ODBC ou JDBC.
Redshift offre des performances incroyables grâce à deux éléments clés de son architecture :
- Le stockage de données en colonnes
- Le traitement des données de façon massivement parallèle (MPP)
Redshift et la concurrence
Redshift surpasse la concurrence. Son chiffre d’affaires est de 44 milliards de dollars, soit deux fois le chiffre d’affaires combiné de ses principaux concurrents, Google Cloud, et Microsoft Azure.
Deux grands problèmes se posent lorsque les entreprises sont confrontées au défi de mettre en place des entrepôts de données.
- Les entrepôts de données peuvent être coûteux et prendre des mois avant d’être opérationnels. Les dirigeants doivent s’engager à établir un budget et un plan stratégique solides.
- Au fil des ans, le volume et la taille des données ne cessent d’augmenter. Cela pose un dilemme aux entreprises : doivent-elles investir dans du nouveau matériel, ou sont-elles prêtes à accepter des performances plus faibles ?
Ces problèmes peuvent être résolus par les entreprises qui utilisent l’offre cloud à partir de Redshift. La création d’un cluster ne prend que quelques minutes. L’intégration des données peut se faire à l’aide d’une simple commande COPY à partir de Amazon (Simple Storage Service, ou DynamoDB). Redshift vous permet de faire évoluer dynamiquement votre infrastructure en fonction de vos besoins.
Les clusters de serveurs sont entièrement gérés par AWS, de sorte qu’il n’y ait pas à se soucier de l’administration ou de la maintenance. L’offre comprend également une sauvegarde et une récupération continue, ce qui élimine les risques d’interruptions de service.
Les caractéristiques d’Amazon Redshift
Stockage des données en Colonne
Une base de données classique se présente comme un tableau avec des lignes contenant les différentes informations. De cette manière, les tables sont normalisées et des index sont créés pour accélérer les résultats. Cependant les index utilisent aussi la bande passante ralentissant ainsi la base de données. Cette architecture est principalement utilisée dans les applications CRM et ERP.
Cela permet une meilleure compression. Elle réduit à la fois les besoins de stockage (la moitié de l’espace). Comme les données compressées nécessitent moins de mémoire pour être chargées, il y a plus de mémoire pour l’analyse, ce qui améliore les performances des requêtes.
Si vous voulez savoir s’il existe une corrélation entre le salaire et l’âge des employés, la plateforme peut parcourir des millions d’enregistrements en une fraction du temps nécessaire avec une base de données traditionnelle orientée lignes.
Pour les opérations OLAP Big DATA, cette approche impose des contraintes. Il est difficile de savoir quelles sont les colonnes les plus interrogées car l’objectif de l’analyse est d’effectuer des opérations de découpage sans arrêt afin de trouver des informations intéressantes. D’où la nécessité d’un stockage basé sur des colonnes.
Une base de données basée sur les colonnes stockerait les données du tableau précédent comme ceci :
Traitement massivement parallèle MPP
Ce terme désigne l’utilisation simultanée de plusieurs processeurs informatiques (ou ordinateurs distincts), pour effectuer simultanément une série de calculs coordonnés.
Cela permet un traitement rapide de l’ensemble des données. Les données sont divisées en plusieurs parties, puis traitées en parallèle pour revenir aussi vite que possible.
Le cluster est le principal composant d’un entrepôt de données. Il est construit sur un ou plusieurs nœuds de calcul qui ont des rôles différents.
- Les nœuds principaux reçoivent les demandes des utilisateurs et distribuent les tâches aux nœuds de calcul disposant des données les plus pertinentes. Ils restituent et compilent les résultats des nœuds de calcul et les envoient aux applications clientes.
- Nœuds de calcul – Ils stockent les données, effectuent les calculs et renvoient les résultats.
Cette architecture est connue sous le nom de » shared-nothing » car il n’y a pas de connaissances partagées entre les systèmes et les nœuds. Ils sont tous complètement indépendants. Chaque nœud ne détient que les données dont il est responsable, et ces données sont stockées dans sa propre mémoire. La maintenance et la mise en œuvre du système MPP s’en trouvent grandement facilitées.
Redshift est intégré de manière transparente à de nombreux outils, notamment le chargement, l’extraction et la transformation des données, les outils de chargement, ainsi que l’exploration et l’analyse des données.
Cache et code compilé
Le code est compilé après la soumission de la première requête. Il est ensuite distribué à l’ensemble du cluster. Après avoir distribué les données entre les nœuds de calcul, le nœud de tête compile le code et supprime toute surcharge de calcul.
Ce code compilé peut également être partagé entre les sessions d’un cluster pour permettre de récupérer très rapidement le résultat d’une requête.
Mise à l'échelle de la concurrence
La nouvelle fonctionnalité « Concurrency scaling » a été lancée récemment. Elle répond au problème de l’utilisation inégale des clusters au fil du temps.
De nombreuses organisations se retrouvent parfois avec des charges de travail importantes et tombent ensuite dans un « creux » qui ne permet pas l’utilisation des clusters.
C’est un moyen de réduire les coûts et d’améliorer l’utilisation. Redshift vous permet de faire évoluer vos clusters en fonction de vos besoins.
Sécurité des données et de l'écosystème
Redshift offre toutes les fonctions de sécurité des services cloud et AWS. Vous pouvez gérer les privilèges d’accès en utilisant un compte AWS. L’attribution d’une ressource Redshift spécifique peut être gérée via des comptes de gestion d’identité et d’accès (IAM).
La gestion des clusters implique la création d’un groupe de sécurité et d’un environnement VPC. Il est possible de crypter les données lors de la création du cluster. Il s’agit d’une propriété immuable qui empêche un cluster crypté de redevenir un cluster non crypté. Le cryptage SSL est disponible pour les données en transit.
Les utilisateurs peuvent utiliser Redshift pour accéder à l’ensemble de l’écosystème cloud AWS. Amazon et Redshift s’intègrent parfaitement avec AWS Sagemaker (ML). Bien que le Redshift permette des opérations ETL à une vitesse étonnante, les utilisateurs doivent créer leurs propres algorithmes afin d’extraire les données.
Amazon Redshift : tarif
Pendant deux mois, vous pouvez essayer gratuitement Amazon et Redshift. Ensuite, les prix commencent à 0,25 $ par heure, sans engagement. Pour 1 000 dollars par To et par an, les utilisateurs peuvent augmenter la capacité de l’entrepôt de données jusqu’à plusieurs pétaoctets. Les données brutes sont comprimées par un facteur 3, ce qui se traduit par un coût inférieur d’un tiers à celui des données non compressées.
Pour cela, il vous suffit de créer un compte AWS gratuitement et tester le service à votre guise !
Si vous souhaitez apprendre à maîtriser le cloud d’Amazon Web Services , découvrez notre cursus spécialisé.