Question

Lors de l'expérimentation avec Cassandra j'ai observé que Cassandra écrit dans les fichiers suivants:

/.../cassandra/commitlog/CommitLog-<id>.log
/.../cassandra/data/Keyspace1/Standard1-1-Data.db
/.../cassandra/data/Keyspace1/Standard1-1-Filter.db
/.../cassandra/data/Keyspace1/Standard1-1-Index.db
/.../cassandra/data/system/LocationInfo-1-Data.db
/.../cassandra/data/system/LocationInfo-1-Filter.db
/.../cassandra/data/system/LocationInfo-1-Index.db
/.../cassandra/data/system/LocationInfo-2-Data.db
/.../cassandra/data/system/LocationInfo-2-Filter.db
/.../cassandra/data/system/LocationInfo-2-Index.db
/.../cassandra/data/system/LocationInfo-3-Data.db
/.../cassandra/data/system/LocationInfo-3-Filter.db
/.../cassandra/data/system/LocationInfo-3-Index.db
/.../cassandra/system.log

La structure générale semble être:

/.../cassandra/commitlog/CommitLog-ID.log
/.../cassandra/data/KEYSPACE/COLUMN_FAMILY-N-Data.db
/.../cassandra/data/KEYSPACE/COLUMN_FAMILY-N-Filter.db
/.../cassandra/data/KEYSPACE/COLUMN_FAMILY-N-Index.db
/.../cassandra/system.log

Quelle est la structure de fichier Cassandra? Plus précisément, comment sont les data, répertoires commitlog utilisés, et quelle est la structure des fichiers dans le répertoire data (Data / Filter / Index)?

Était-ce utile?

La solution

Une écriture à un noeud Cassandra frappe d'abord la CommitLog (séquentiel). (Puis Cassandra stocke des valeurs à colonne de famille spécifique, les structures de données en mémoire appelé Memtables. Les Memtables sont écrites sur le disque à chaque fois que l'un des seuils configurables est dépassée. (1, datasize dans memtable. 2, # d'objets atteignent certaine limite, 3, durée de vie d'un memtable arrive à expiration.))

données dossier contient un sous-répertoire pour chaque keyspace. Chaque sous-dossier contient trois types de fichiers:

  • Fichiers de données: Une SSTable (nomenclature emprunté à Google) représente Tableau Triés Strings et est un fichier de les paires de chaînes de valeurs-clés (triés par clés).
  • fichier d'index: paires (clés, offset) (les points dans le fichier de données)
  • Bloom filtre : toutes les clés dans le fichier de données

Autres conseils

Cassandra Format de fichier en détail

Chaque ColumnFamily (Ex objet.) Dans des fichiers séparés sstable

ColumnFamilyName-version-#-Data.db
ColumnFamilyName-version-#-Index.db
ColumnFamilyName-version-#-Filter.db

entrer image description ici

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top