Enquanto se preparava para a atualização do Sei Giga, o Sei Labs comparou o desempenho do nó usando diferentes back-ends de armazenamento de estado. Ao comparar o RocksDB e o PebbleDB com o MVCC para consultas históricas com muita indexação, o RocksDB conseguiu reduzir a latência do operador de nó em 10 a 40×
Medimos a latência traceBlock em vários milhões de blocos — uma consulta RPC que executa iteração extensiva em pares chave/valor no repositório de estado. À medida que o histórico de nós aumenta, o tempo de iteração do PebbleDB cresce drasticamente, enquanto o RocksDB mantém uma curva de latência muito mais plana.
A principal razão para essa diferença está no design do back-end. O RocksDB oferece suporte a carimbos de data/hora nativos definidos pelo usuário para MVCC e famílias de colunas eficientes. O PebbleDB, por outro lado, não possui controle de versão nativo, exigindo sufixo de chave e iteração manual em várias versões.
Isso leva a uma eficiência de iteração significativamente melhor no RocksDB — especialmente para nós com grande estado histórico. À medida que o histórico armazenado aumenta, a diferença de desempenho entre o PebbleDB e o RocksDB se torna mais pronunciada.
Embora o RocksDB introduza uma pequena compensação de compilação, as melhorias de desempenho o tornam uma opção forte para nós de arquivo e RPC que lidam com grande estado ou longo histórico. Observamos melhorias consistentes na latência de rastreamento e na velocidade de iteração em todas as configurações
106,74K