Qu’est-ce qu’un SSTable?

Dans la terminologie BigTable / GFS et Cassandra, quelle est la définition d’un SSTable?

La table de chaînes sortingées (empruntée à google) est un fichier de paires de chaînes de clé / valeur, sortingées par clés.

“Un SSTable fournit une carte permanente, immuable et ordonnée des clés aux valeurs, où les clés et les valeurs sont des chaînes d’octets arbitraires. Des opérations sont fournies pour rechercher la valeur associée à une clé spécifiée et pour parcourir toutes les paires clé / valeur dans un plage de clés spécifiée. En interne, chaque SSTable contient une séquence de blocs (chaque bloc a généralement une taille de 64 Ko, mais il est configurable.) Un index de bloc (stocké à la fin du SSTable) est utilisé pour localiser les blocs; en mémoire lorsque le SSTable est ouvert.Une recherche peut être effectuée avec un seul disque chercher: nous trouvons d’abord le bloc approprié en effectuant une recherche binary dans l’index en mémoire, puis en lisant le bloc approprié à partir du disque. peut être complètement mappé dans la mémoire, ce qui nous permet d’effectuer des recherches et des parsings sans toucher au disque. ”

Une tablette est stockée sous la forme de SSTables.

SSTable (directement mappé sur GFS) est un stockage immuable basé sur des valeurs-clés. Il stocke des morceaux de données de 64 Ko chacun.

Définitions:

  • Index des clés: clé et lieu de départ
  • Chunk est une unité de stockage dans GFS, la gestion des répliques se fait par bloc
  • SSTable (engl. Sorted Ssortingngs Table) est un fichier de paires de chaînes clé / valeur, sortingées par clés.

  • Un SSTable fournit une carte permanente, immuable et ordonnée, des clés aux valeurs, où les clés et les valeurs sont des chaînes d’octets arbitraires.

  • En interne, chaque SSTable contient une séquence de blocs (généralement
    chaque bloc a une taille de 64 Ko, mais cela est configurable).