6 Les performances flash du stockage scale-out à la hauteur des données non structurées Les fournisseurs de stockage vantent la capacité du flash à aider les clients à absorber la prochaine avalanche de données. Mais pas n’importe quelles données : l’explosion des données non structurées dépasse de loin celle des autres types, comme les données structurées qui s’organisent proprement en lignes et en colonnes dans les bases de données relationnelles bien connues. La plupart des entreprises savent qu’elles gèrent des pétaoctets de données fichiers sous forme de documents, de médias (vidéos et photos), de fichiers de sauvegarde, de fichiers de machines virtuelles, etc. Ce mélange s’étend aussi à des types de fichiers propres à certains secteurs (imagerie médicale, génomique), ainsi qu’aux données des nouvelles applications de l’Internet des objets et de l’ edge. C’est pourquoi les solutions de stockage objet et fichier scale-out gagnent en popularité : les experts IT savent qu’elles permettent de moderniser : le stockage de milliards d’objets et de dizaines de pétaoctets, l’exploitation de la valeur des données en en extrayant des insights, l’obtention d’une économie comparable à celle du cloud. Pourtant, malgré ces avantages, le secteur perçoit le stockage scale-out comme plus lent que les baies de stockage bloc traditionnelles (SAN) et les serveurs de fichiers (filers NAS), et donc réservé aux applications de type « archivage » ou « Tier 2 ». Mais cette terminologie est trompeuse, car les « applications Tier 1 » ou « applications critiques » nécessitent généralement un système transactionnel reposant sur une base de données. Ce qui compte ici, c’est la rapidité avec laquelle l’application peut trouver et traiter de petits enregistrements (et non le temps de lecture des données, moins pertinent) : la métrique de performance la plus importante pour le stockage bloc est donc la latence d’accès. À l’inverse, on attend généralement des baies de stockage flash des latences d’accès de quelques millisecondes (ms), voire inférieures à 1 ms, pour ce type de workloads transactionnels. Si certains systèmes de stockage répondent en moins d’une milliseconde, les applications qui ont réellement besoin de ce niveau de performance sont très spécialisées, comme le trading financier. Pour les systèmes de stockage scale-out modernes, comme Scality RING, il faut en réalité prendre en compte deux dimensions de la performance : Les latences d’accès : le temps de réponse à une requête de lecture ou d’écriture, comme évoqué ci-dessus, et… Le débit : la vitesse à laquelle les données peuvent être lues une fois localisées, généralement mesurée en mégaoctets par seconde (Mo/s) ou en gigaoctets par seconde (Go/s). Le débit est roi pour les workloads de données massives Pour la plupart des gros volumes de fichiers et de données, comme le streaming vidéo, l’écriture (stockage) ou la lecture (restauration) de sauvegardes, c’est le débit, et non la latence, qui constitue la mesure clé de la performance. Comme la lecture d’un gros fichier (de quelques mégaoctets à plusieurs gigaoctets), en streaming vidéo par exemple, peut prendre de quelques secondes à quelques minutes, qu’une latence d’accès soit de 1 ou de plusieurs millisecondes n’a aucune importance pour la performance globale de l’application. Avec Scality RING, le débit est et a toujours été un point fort essentiel, avec la possibilité de le faire évoluer jusqu’à des dizaines de gigaoctets par seconde et au-delà. C’est pourquoi RING est largement déployé en production pour stocker les données de workloads exigeants en débit, comme : La diffusion de contenus vidéo en ligne Big data : analytique (par exemple, de grands déploiements d’indexeurs Splunk) Imagerie médicale (stockage et récupération d’images médicales) Workloads de sauvegarde et de restauration à grande échelle Il ne s’agit clairement pas de workloads d’archivage « Tier 2 » aux accès rares, voire inexistants. Ces jeux de données « critiques » exigent bien des performances de débit de type « Tier 1 », et c’est pourquoi RING est une solution de stockage scale-out de confiance pour certains des plus grands workloads de données au monde. Une latence optimisée grâce aux performances du flash Pour comprendre comment le stockage scale-out gère la latence, il est utile d’examiner l’architecture sous-jacente. Depuis près de dix ans, RING exploite les performances des supports flash pour stocker les données internes du système de fichiers et du stockage objet, c’est-à-dire leurs métadonnées. Pour les systèmes de fichiers, les métadonnées concernent les structures de répertoires, les permissions POSIX et les chemins/identifiants des fichiers. Pour le stockage objet, elles concernent les conteneurs (les buckets dans AWS S3), ainsi que des attributs internes comme les noms des buckets, les dates de création, les politiques de contrôle d’accès et les identifiants (clés) des objets de chaque bucket. RING va encore plus loin au nom de la performance : il stocke sur flash une autre couche de métadonnées internes, les index des données sur disque, et réserve les disques rotatifs moins coûteux aux seules données elles-mêmes. Ainsi, un très fort pourcentage des opérations d’accès peut être servi à la vitesse de la pensée : localiser un fichier, modifier ou consulter un attribut de métadonnées, lister un répertoire du système de fichiers, ou accéder à un bucket via l’API S3. Ces opérations sont servies directement depuis le flash, sans jamais toucher aux données stockées sur les disques durs rotatifs (HDD). En conservant les données elles-mêmes sur HDD, nous réduisons le coût total du stockage tout en garantissant un accès ultra-rapide aux données. Alors, quelle latence RING atteint-il ? En analysant des centaines de workloads de nos clients, Scality a documenté la latence réelle de RING sur des serveurs de stockage hybrides flash/HDD, à l’aide de techniques de mesure au 95e percentile. Les requêtes d’écriture typiques affichent une latence de l’ordre de 3 millisecondes, grâce à l’utilisation du flash pour les index et à la mise en cache sécurisée des écritures dans la mémoire non volatile des serveurs de stockage. Pour l’accès en lecture, nous observons des temps de réponse qui correspondent aux latences des disques durs, soit de 5 à 12 millisecondes selon les disques, et cette latence reste constante quel que soit le nombre d’objets stockés grâce aux index stockés sur flash. Alors, que faut-il en retenir ? Ces temps de réponse conviennent parfaitement à un large éventail d’applications big data exigeantes, dont la performance globale dépend surtout des transferts de données et du débit. Grâce à l’avantage économique inhérent aux HDD, combiné à une « pincée de flash », les professionnels de l’IT bénéficient du meilleur rapport prix/performance pour un large éventail d’applications et de workloads. Et quelles seraient les performances de RING en all-flash (avec des supports flash pour les métadonnées comme pour les données) ? Rendez-vous dans la partie 2…