HSE, un moteur de stockage open source, optimisé SSE pour SSD

micron Technology (une entreprise spécialisée dans la production de DRAM et de mémoire flash) a dévoilé l'introduction de un nouveau moteur appelé "HSE" (Heterogeneous-memory Storage Engine), qui a été développé avec les spécificités d'utilisation à l'esprit sur les disques SSD basés sur Flash NAND (X100, TLC, QLC 3D NAND) ou mémoire morte (NVDIMM).

Le moteur est réalisé sous la forme d'une bibliothèque à intégrer dans d'autres applications et prend en charge le traitement des données au format clé-valeurr. Le code HSE est écrit en C et distribué sous la licence Apache 2.0.

Parmi les applications moteur, les applications pour le stockage de données de bas niveau sont mentionnées dans les SGBD NoSQL, les entrepôts logiciels (SDS, stockage défini par logiciel) tels que Ceph et Scality RING, les plates-formes de traitement de grandes quantités de données (Big Data), les systèmes de calcul haute performance (HPC), les appareils Internet des objets (IoT) et solutions pour les systèmes d'apprentissage automatique.

HSE est optimisé non seulement pour des performances maximales, mais aussi pour assurer la durabilité de divers types de disques SSD. La vitesse élevée a été atteintevia un modèle de stockage hybride: les données les plus pertinentes sont mises en cache, ce qui réduit le nombre d'accès au disque.

À titre d'exemple d'intégration du nouveau moteur dans des projets tiers, une version orientée document du SGBD MongoDB a été préparée, qui a été traduite pour utiliser HSE.

Technologiquement, HSE est basé sur un module de noyau supplémentaire mpool, qui implémente une interface spécialisée pour stocker des objets pour les disques SSD, en tenant compte de leurs capacités et caractéristiques, permettant des caractéristiques fondamentalement différentes de vitesse et de durabilité. Mpool est également un développement de Micron Technology ouvert en même temps que le HSE, mais il se distingue comme un projet d'infrastructure distinct. Mpool suppose l'utilisation de la mémoire persistante et du stockage de zone, mais actuellement seuls les disques SSD traditionnels sont pris en charge.

Test de performance avec le package YCSB (Yahoo Cloud Serving Benchmark) a montré une augmentation significative des performances lors de l'utilisation d'un stockage de 2 To avec un traitement de bloc de données de 1 Ko. Une augmentation des performances particulièrement significative est observée dans le test avec une répartition uniforme des opérations de lecture et d'écriture.

Par exemple, MongoDB avec le moteur HSE s'est avéré être environ 8 fois plus rapide que la version avec le moteur WiredTiger standard, et le moteur de SGBD RocksDB a surpassé le HSE de plus de 6 fois. D'excellents indicateurs sont également visibles dans les tests, qui montrent 95% des opérations de lecture et 5% des changements ou ajouts.

Un autre test réalisé n'implique que des opérations de lecture, il montre un bénéfice d'environ 40%. L'augmentation de la capacité de survie des disques SSD pendant les opérations d'écriture par rapport à la solution basée sur RocksDB est estimée à 7 fois.

Principales caractéristiques de HSE:

  • Prise en charge des opérateurs standard et avancés pour traiter les données au format clé / valeur;
  • Prise en charge complète des transactions et possibilité d'isoler les segments de stockage en créant des instantanés (les instantanés peuvent également être utilisés pour conserver des collections séparées dans un magasin).
  • Possibilité d'utiliser des curseurs pour parcourir les données dans des représentations basées sur des instantanés.
  • Un modèle de données optimisé pour les types de charge mixtes dans un référentiel unique.
  • Mécanismes flexibles pour gérer la fiabilité du stockage.
  • Schémas d'orchestration de données personnalisables (distribution via différents types de mémoire présents dans le référentiel).
  • Une bibliothèque avec une API C qui peut être lié dynamiquement à n'importe quelle application.
    La capacité d'évoluer vers des téraoctets de données et des centaines de milliards de clés en stockage.
  • Traitement efficace de milliers d'opérations parallèles.
  • Augmentation significative de la bande passante, latence réduite et augmentation de la lecture / écriture pour divers types de charge de travail par rapport aux solutions de contournement classiques.
  • La possibilité d'utiliser différentes classes de SSD dans le même stockage pour optimiser les performances et la durabilité.

Vous pouvez accéder au code moteur à partir du lien ci-dessous. 


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.