Crear una tabla
ttl- tiempo de vida de los valores. TTL se acepta en segundos. Si TTL es 0, se usa una instancia normal de RocksDB (sin TTL).rocksdb_dir- ruta al directorio de una instancia de RocksDB existente o ruta de destino de la instancia de RocksDB creada. Abre la tabla con elrocksdb_direspecificado.read_only- cuandoread_onlyse establece en true, se usa el modo de solo lectura. Para el almacenamiento con TTL, no se activará la compactación (ni manual ni automática), por lo que no se eliminarán las entradas caducadas.primary_key_name– cualquier nombre de columna de la lista de columnas.primary keydebe especificarse; solo admite una columna en la clave primaria. La clave primaria se serializará en binario como unarocksdb key.- las columnas distintas de la clave primaria se serializarán en binario como valor
rocksdben el orden correspondiente. - las consultas con filtrado de clave
equalsoinse optimizarán para la búsqueda de múltiples claves enrocksdb.
optimize_for_bulk_insert– La tabla está optimizada para inserciones masivas (el pipeline de inserción creará archivos SST y los importará a la base de datos de rocksdb en lugar de escribir en memtables); valor predeterminado:1.bulk_insert_block_size- Tamaño mínimo de los archivos SST (en número de filas) creados por la inserción masiva; valor predeterminado:1048449.
Métricas
system.rocksdb, que expone estadísticas de RocksDB:
Configuración
count(). Para habilitar esta
optimización, configure optimize_trivial_approximate_count_query = 1. Además, esta configuración afecta a system.tables para el motor EmbeddedRocksDB;
active esta opción para ver valores aproximados de total_rows y total_bytes.
Operaciones admitidas
Inserciones
EmbeddedRocksDB, si la clave ya existe, se actualizará el valor; de lo contrario, se creará una nueva clave.
Ejemplo:
Borrados
DELETE o con TRUNCATE.
Actualizaciones
ALTER TABLE. La clave primaria no se puede actualizar.
Joins
direct especial con tablas EmbeddedRocksDB.
Este JOIN directo evita crear una tabla hash en memoria y accede a
los datos directamente desde EmbeddedRocksDB.
Con joins grandes, es posible que el uso de memoria sea mucho menor con joins directos,
ya que no se crea la tabla hash.
Para habilitar los joins directos: