nosql - relacional - Estructura de archivos de Cassandra-¿Cómo se usan los archivos?
mongodb caracteristicas (2)
Al experimentar con Cassandra, he observado que Cassandra escribe en los siguientes archivos:
/.../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 estructura general parece ser:
/.../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
¿Cuál es la estructura de archivos de Cassandra? Más específicamente, ¿cómo se commitlog
los data
, los directorios de commitlog
y cuál es la estructura de los archivos en el directorio de data
( Data
/ Filter
/ Index
)?
Una escritura en un nodo Cassandra primero golpea el CommitLog (secuencial). (Luego, Cassandra almacena valores en estructuras de datos en memoria específicas de la familia de columnas llamadas Memtables. Las Memtables se descargan al disco cuando se excede uno de los umbrales configurables. 3, caduca la vida de un memtable.))
La carpeta de datos contiene una subcarpeta para cada espacio de teclas. Cada subcarpeta contiene tres tipos de archivos:
- Archivos de datos: Un SSTable (nomenclatura prestada de Google) significa Tabla de cadenas ordenada y es un archivo de pares de cadena clave-valor (ordenados por clave).
- Archivo de índice: (clave, desplazamiento) pares (puntos en el archivo de datos)
- Bloom filtro : todas las claves en el archivo de datos
Formato de archivo de Cassandra en detalle
Cada ColumnFamily (Ej. Objeto) en archivos separados de sstable
ColumnFamilyName-version-#-Data.db
ColumnFamilyName-version-#-Index.db
ColumnFamilyName-version-#-Filter.db