Qu'est-ce que le stockage par bloc ?
Le stockage par bloc est une technologie qui contrôle le stockage des données et les périphériques de stockage. Il prend toutes les données, comme un fichier ou une entrée de base de données, et les divise en blocs de tailles égales. Le système de stockage par bloc stocke ensuite le bloc de données sur le stockage physique sous-jacent d'une manière optimisée pour un accès et une récupération rapides. Les développeurs préfèrent le stockage par bloc pour les applications qui nécessitent un accès aux données efficace, rapide et fiable. Considérez le stockage en bloc comme une canalisation directe vers les données. En revanche, le stockage de fichiers comporte une couche supplémentaire constituée d'un système de fichiers (NFS, SMB) à traiter avant d'accéder aux données.
Quels sont les avantages du stockage par bloc ?
Les entreprises utilisent le stockage par bloc pour les avantages suivants.
Performances de haut niveau
Les métadonnées sont des données supplémentaires qui décrivent les données principales contenues dans le système de stockage. Le stockage par bloc utilise des métadonnées limitées, mais repose sur des identifiants uniques attribués à chaque bloc pour les opérations de lecture/d'écriture. Cela réduit les frais de transfert de données et permet au serveur d'accéder et de récupérer efficacement les données dans le stockage par bloc.
Les métadonnées de stockage par bloc étant limitées, le stockage par bloc offre une latence extrêmement faible requise pour les charges de travail hautes performances. Cette condition est requise pour les applications sensibles à la latence, comme les bases de données. Par exemple, Viasat utilise Amazon Elastic Block Store (Amazon EBS) pour capturer des données à haut débit (hautement transactionnelles) et optimiser les coûts de stockage. Les entreprises utilisent Amazon EBS pour l'optimisation des performances et des coûts, l'évolutivité et l'agilité, ainsi que les instantanés Amazon EBS pour la protection des données.
L'architecture de stockage par bloc fournit plusieurs chemins d'accès aux données, alors que le stockage de fichiers n'en fournit qu'un seul. C'est pourquoi le stockage par bloc est recommandé pour les applications hautes performances.
Utilisation flexible et évolutive
Les périphériques de stockage par bloc ne sont pas limités à des environnements réseau spécifiques. Les blocs individuels peuvent être configurés pour différents systèmes d'exploitation, tels que Windows ou Linux. Les développeurs peuvent partager des données entre plusieurs environnements pour garantir une haute disponibilité. De même, l'architecture de stockage par bloc est hautement évolutive. Les développeurs peuvent ajouter de nouveaux blocs aux blocs existants pour répondre aux besoins en capacité croissants.
Modifications fréquentes
Le stockage par bloc prend en charge les écritures de données fréquentes sans réduire les performances. Au lieu de réécrire l'intégralité du fichier, le système identifie le bloc particulier qui doit être modifié. Ensuite, il réécrit le bloc sélectionné avec les nouvelles données. Cela permet d'améliorer l'efficacité du stockage par bloc pour la gestion de fichiers volumineux nécessitant des mises à jour fréquentes.
Contrôle détaillé
Les développeurs bénéficient d'un contrôle élevé par rapport au stockage des données sur le stockage par bloc. Par exemple, ils peuvent optimiser les performances en regroupant des données évoluant rapidement sur des blocs spécifiques et en stockant des fichiers statiques sur d'autres. Cela améliore les performances du système, car les mises à jour continues n'affectent qu'un petit nombre de blocs de données au lieu d'un fichier entier. Par exemple, le stockage par bloc vous permet de hiérarchiser les données qui changent rapidement sur des disques SSD très performants et de stocker les données chaudes ou froides sur des disques durs (HDD) moins coûteux.
Quels sont les cas d'utilisation du stockage par bloc ?
Les caractéristiques uniques du stockage par bloc en font l'option privilégiée pour les applications transactionnelles, stratégiques et gourmandes en E/S. Le stockage par bloc est utilisé pour une grande variété d'applications, notamment les bases de données relationnelles ou transactionnelles, les bases de données chronologiques, les conteneurs, les disques de démarrage et les systèmes de fichiers d'hyperviseur.
Stockages SAN (Storage Area Network)
Les développeurs déploient souvent le stockage par bloc en tant que réseau de stockage (SAN). Le SAN est une technologie réseau complexe qui présente le stockage par bloc à plusieurs systèmes en réseau comme si ces blocs étaient des appareils connectés localement. Les SAN utilisent généralement des interconnexions Fibre Channel. En revanche, un stockage en réseau (NAS) est un périphérique unique qui sert des fichiers via Ethernet.
L'architecture SAN comprend les trois couches suivantes :
- La couche hôte comprend les serveurs qui gèrent l'accès au stockage.
- La couche de stockage se compose de périphériques de stockage par bloc physiques tels que des bandes magnétiques, des lecteurs de disque ou des supports optiques
- La couche Fabric relie les serveurs SAN et le stockage SAN aux appareils tels que les commutateurs SAN, les ponts de protocole, les routeurs, les câbles et les passerelles.
Il est important de noter que les SAN utilisent la redondance à l'aide d'une réplication synchrone ou asynchrone sur de longues distances. Cela réduit les temps d'arrêt dans le cas où un emplacement géographique n'est pas accessible.
L'architecture SAN peut fonctionner avec plusieurs types de stockage dans un environnement unifié, y compris le stockage par bloc. Le stockage par bloc constitue une alternative très efficace au stockage de fichiers sur des réseaux SAN.
Conteneurs
Les développeurs utilisent le stockage par bloc pour stocker des applications conteneurisées sur le cloud. Les conteneurs sont des progiciels qui contiennent l'application et ses fichiers de ressources en vue d'un déploiement dans n'importe quel environnement informatique. Tout comme les conteneurs, le stockage par bloc est tout aussi flexible, évolutif et efficace. Avec le stockage par bloc, les développeurs peuvent migrer les conteneurs de manière transparente entre les serveurs, les emplacements et les environnements d'exploitation.
Charges de travail transactionnelles
Les charges de travail transactionnelles sont des séquences de données générées à des points spécifiques des processus métier. Par exemple, les enregistrements de ventes, les journaux des opérations et les alertes de connexion sont des charges de travail transactionnelles. Les organisations qui traitent des transactions urgentes et stratégiques stockent ces charges de travail dans une base de données à faible latence, à haute capacité et tolérante aux pannes.
Le stockage par bloc permet aux développeurs de configurer une base de données transactionnelle robuste, évolutive et hautement efficace. Comme chaque bloc est une unité autonome, la base de données fonctionne de manière optimale, même lorsque les données stockées augmentent. En outre, les blocs de stockage individuels peuvent être hébergés sur différents serveurs, ce qui évite les goulots d'étranglement d'accès.
Dans les applications stratégiques, le stockage par bloc est sécurisé par une gamme redondante de disques indépendants (RAID) pour garantir la redondance des données. Le système RAID sauvegarde les fichiers de données dans le stockage secondaire et récupère la copie en cas de défaillance du disque principal. Cela garantit que l'application reste ininterrompue lors du stockage et de la récupération des charges de travail transactionnelles sur le stockage par bloc.
Analytique et entreposage de données
Le stockage par bloc est utilisé avec l'architecture HDFS de Hadoop (Hadoop Distributed File System) pour stocker les données sous forme d'unités distribuées indépendamment, permettant ainsi d'atteindre des performances pour les applications d'analytique Hadoop et Kafka.
Machines virtuelles
Une machine virtuelle (VM) est une technologie qui permet à un ordinateur d'exécuter un environnement d'exploitation distinct avec des ressources informatiques définies par logiciel. Par exemple, vous pouvez exécuter un système d'exploitation Linux sur un poste de travail Windows avec une machine virtuelle. Un hyperviseur est une couche d'abstraction chargée d'allouer la mémoire, le lecteur et les services de calcul nécessaires à l'exécution de l'environnement d'exploitation secondaire.
Le stockage par bloc prend en charge les hyperviseurs de VM. Les utilisateurs peuvent installer le système d'exploitation, le système de fichiers et d'autres ressources informatiques sur un volume de stockage par bloc. Pour ce faire, ils formatent le volume de stockage par bloc et le transforment en système de fichiers de VM. Cela leur permet d'augmenter ou de réduire facilement la taille du lecteur virtuel et de transférer le stockage virtualisé d'un hôte à un autre.
Comment fonctionne le stockage par bloc ?
Dans un système de stockage par bloc, vous pouvez diviser les données en blocs ou en morceaux indépendants de taille fixe. Chaque bloc est un élément de stockage de données individuel. Une information complète, telle qu'un fichier de données, est stockée dans plusieurs blocs non séquentiels.
Le système de stockage par bloc ne gère pas les métadonnées de haut niveau, telles que le type de fichier, la propriété et l'horodatage. Les développeurs doivent concevoir une table de recherche de données dans le système d'application pour gérer le stockage des données dans des blocs respectifs. L'application peut stocker des données dans différents environnements d'exploitation pour augmenter l'efficacité de lecture/d'écriture.
Écriture de données
Au cours d'une séquence d'écriture, l'application divise les données en plusieurs sections de la taille d'un bloc. Elle écrit les données dans plusieurs blocs et enregistre l'identifiant du bloc dans une table de recherche de données. La table de recherche permet au serveur de calculer l'adresse relative des données stockées dans le bloc.
Lecture de données
Lorsque les utilisateurs demandent un fichier spécifique au système de stockage par bloc, le serveur utilise la table de recherche de données pour déterminer où les données sont stockées. Ensuite, l'application récupère les données de plusieurs blocs et les fusionne dans la séquence d'origine.
Quels sont les autres types de stockage disponibles ?
Outre le stockage par bloc, il existe également des options de stockage d'objets et de fichiers. Chaque type offre ses propres avantages.
Stockage d'objets
Le stockage d'objets est une technologie qui stocke et gère les données dans un format non structuré appelé objets. Chaque objet est balisé avec un identifiant unique et contient des métadonnées qui décrivent le contenu sous-jacent. Par exemple, le stockage d'objets pour les photos contient des métadonnées concernant le photographe, la résolution, le format et l'heure de création. Les développeurs utilisent le stockage d'objets pour stocker des données non structurées, comme du texte, des vidéos et des images.
Comparaison entre le stockage par bloc et le stockage d'objets
Les deux solutions de stockage présentent des avantages selon le cas d'utilisation. Le stockage par bloc fournit une faible latence et des valeurs hautes performances dans divers cas d'utilisation. Ses fonctionnalités sont principalement utiles pour le stockage de données structurées, les volumes de systèmes de fichiers de machines virtuelles et les volumes élevés de charges de lecture et d'écriture. Le stockage d'objets est mieux utilisé pour de grandes quantités de données non structurées, en particulier lorsque la durabilité, le stockage illimité, la capacité de mise à l'échelle et la gestion complexe des métadonnées sont des facteurs importants pour les performances globales.
Stockage de fichiers
Le stockage de fichiers stocke les données dans une structure hiérarchique de fichiers et de dossiers. Dans les environnements réseau, le stockage basé sur des fichiers utilise souvent une technologie de stockage en réseau (NAS). Le NAS permet aux utilisateurs d'accéder aux données de stockage en réseau de la même manière qu'un disque dur local. Le stockage de fichiers est convivial et permet aux utilisateurs de gérer le contrôle du partage de fichiers.
Comparaison entre le stockage par bloc et le stockage de fichiers
Le système de stockage de fichiers stocke les données dans un environnement spécifique, tandis que les systèmes de stockage par bloc peuvent être intégrés à différents systèmes d'exploitation. Le stockage de fichiers fournit une interface intuitive pour le calcul de l'utilisateur final. En attendant, vous pouvez ajouter de nouveaux blocs de données au système de stockage par bloc sans augmenter la latence opérationnelle.
Stockage d'instances
Unstockage d'instances fournit un stockage temporaire au niveau des blocs pour votre instance. Ce stockage est situé sur des disques physiquement connectés à l'ordinateur hôte. Le stockage d'instances est idéal pour le stockage temporaire d'informations qui changent fréquemment, telles que les tampons, les caches, les données temporaires et d'autres contenus temporaires, ou pour les données répliquées sur une flotte d'instances, comme un groupe de serveurs web à charge équilibrée.
Un stockage d'instances consiste en un ou plusieurs volumes de stockage d'instance exposés en tant que périphériques de stockage en mode bloc. La taille d'un stockage d'instances ainsi que le nombre d'appareils disponibles varient selon le type d'instance.
Comment AWS peut-il répondre à vos besoins de stockage par bloc ?
Amazon EBS est une solution de stockage par bloc facile à utiliser pour les charges de travail cloud. Les développeurs utilisent Amazon EBS afin de fournir un service de stockage persistant pour les charges de travail Amazon Elastic Compute Cloud (Amazon EC2).
- Amazon EBS fournit une solution de stockage hautement évolutive pour les applications stratégiques et gourmandes en E/S.
- Les instantanés Amazon EBS constituent une méthode simple et sécurisée pour la protection des données de stockage par bloc.
- Les développeurs peuvent installer différents types de bases de données sur Amazon EBS, notamment SAP HANA, Oracle, Microsoft SQL Server, MySQL, Cassandra et MongoDB.
Commencez à utiliser le stockage par bloc en créant un compte AWS gratuit dès aujourd'hui.