Dans les applications intensives en écriture, les arbres de fusion structurée de log (LSM) sont largement utilisés comme structure d'index de base des magasins de clés-valeurs (KV). Les travaux existants intègrent la NVM dans l'architecture traditionnelle DRAM-SSD pour améliorer les performances d'écriture. Cependant, ces travaux souffrent encore de ralentissements d'écriture et d'amplifications significatifs, principalement en raison de la compactage inefficace de L 0 à L 1 causée par la nature désordonnée des données dans L 0 des arbres LSM. Pour résoudre ces problèmes, nous proposons PartitionKV, un magasin KV basé sur LSM-tree conçu pour l'architecture de stockage DRAM-NVM-SSD, qui présente trois caractéristiques principales de conception : (1) Tout d'abord, nous concevons une couche de partition ordonnée comprenant plusieurs partitions pour remplacer les composants Memtable et L 0 des arbres LSM d'origine. Les KV entrants sont directement persistés dans les journaux NVM des partitions désignées en fonction des clés. Ce design minimise la réécriture de données inutile pendant le compactage et peut également servir de journal d'écriture anticipée, réduisant considérablement l'amplification d'écriture. (2) Deuxièmement, nous introduisons une stratégie de partitionnement adaptatif qui divise ou fusionne dynamiquement les partitions en fonction du nombre de SSTables qui se chevauchent, garantissant qu'une quantité optimale de données est impliquée dans chaque compactage. (3) Troisièmement, nous proposons une stratégie de compactage multithread où plusieurs threads utilisent deux listes de priorité pour coordonner efficacement le compactage de données simultané entre la couche de partition et L 1. En intégrant efficacement ces deux stratégies, PartitionKV accélère la libération d'espace NVM et réduit considérablement les ralentissements d'écriture. Nous avons implémenté PartitionKV basé sur RocksDB et avons réalisé des expériences approfondies pour évaluer ses performances. Les résultats montrent que PartitionKV atteint un débit d'écriture aléatoire 3,63× et 4,06× plus élevé que FlatLSM et MatrixKV, respectivement.
Huang et al. (Jeudi,) ont étudié cette question.