Criando uma tabela
ttl- tempo de vida dos valores. O TTL é aceito em segundos. Se o TTL for 0, uma instância regular do RocksDB será usada (sem TTL).rocksdb_dir- caminho para o diretório de um RocksDB existente ou caminho de destino do RocksDB criado. Abre a tabela com orocksdb_direspecificado.read_only- quandoread_onlyé definido como true, o modo somente leitura é usado. Para armazenamento com TTL, a compactação não será acionada (nem manual nem automaticamente), portanto nenhuma entrada expirada será removida.primary_key_name– qualquer nome de coluna na lista de colunas.- a
primary keydeve ser especificada; ela oferece suporte a apenas uma coluna na chave primária. A chave primária será serializada em formato binário como umarocksdb key. - colunas diferentes da chave primária serão serializadas em formato binário como valor
rocksdb, na ordem correspondente. - consultas com filtragem por chave
equalsouinserão otimizadas para busca de várias chaves norocksdb.
optimize_for_bulk_insert– A tabela é otimizada para inserções em massa (o pipeline de insert criará arquivos SST e os importará para o banco de dados rocksdb, em vez de gravar em memtables); valor padrão:1.bulk_insert_block_size- Tamanho mínimo dos arquivos SST (em número de linhas) criados por inserção em massa; valor padrão:1048449.
Métricas
system.rocksdb, que expõe estatísticas do RocksDB:
Configuração
config:
count(). Para ativar essa
otimização, defina optimize_trivial_approximate_count_query = 1. Além disso, essa configuração afeta system.tables para o motor EmbeddedRocksDB;
ative essa configuração para ver valores aproximados de total_rows e total_bytes.
Operações suportadas
Inserções
EmbeddedRocksDB, se a chave já existir, o valor será atualizado; caso contrário, uma nova chave será criada.
Exemplo:
Exclusões
DELETE ou com TRUNCATE.
Atualizações
ALTER TABLE. A chave primária não pode ser atualizada.
Junções
direct join especial com tabelas EmbeddedRocksDB.
Essa junção direta evita a criação de uma tabela hash na memória e acessa
os dados diretamente do EmbeddedRocksDB.
Em junções grandes, você pode observar um uso de memória muito menor com junções diretas,
porque a tabela hash não é criada.
Para habilitar junções diretas: