Dans la terminologie BigTable / GFS et Cassandra, quelle est la définition d'une table SSTable?
Réponses
Trop de publicités?"Un SSTable fournit un persistant,commandé immuable carte de clés à des valeurs, où les deux clés et les valeurs sont arbitraires chaînes d'octets. Les opérations sont fournies pour rechercher la valeur associée à une clé spécifiée, et d'itérer sur toutes les paires clé/valeur dans une clé spécifiée gamme. En interne, chaque SSTable contient une séquence de blocs (en général de chaque bloc de 64 ko de taille, mais c'est configurable). Un index de bloc (stockée à la fin de la SSTable) est utilisé pour localiser des blocs; l'index est chargé en mémoire lorsque le SSTable est ouvert. Une recherche peut être effectuée avec un seul disque de chercher: on trouve d'abord le bloc approprié en effectuant une recherche binaire dans l'index en mémoire, puis la lecture de la case appropriée à partir du disque. Éventuellement, un SSTable peut être entièrement mappé en mémoire, ce qui nous permet d'effectuer des recherches et des analyses sans toucher le disque."
Ceci est un excellent (et plus récent que d'autres réponses) post à SSTables:
http://www.igvita.com/2012/02/06/sstable-and-log-structured-storage-leveldb/
Une tablette est stockée sous la forme de tables SSTables.
SSTable (directement mappé sur GFS) est un stockage immuable basé sur une clé-valeur. Il stocke des morceaux de données, chacun est de 64Ko.
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 chunk