Sui apresentou o Tidehunter, um motor de armazenamento de blockchain criado especificamente para substituir o RocksDB, reduzindo a amplificação de escrita e oferecendo uma taxa de transferência mais elevada, mais estável, com menor latência para cargas de trabalho de validadores e nós completos.
A Sui, uma rede de blockchain Layer 1, introduziu o Tidehunter, um novo motor de armazenamento concebido para alinhar-se com as exigências de desempenho, características de acesso aos dados e restrições operacionais comuns nas infraestruturas de blockchain contemporâneas.
O sistema posiciona-se como um potencial sucessor da camada de base de dados atualmente utilizada por validadores e nós completos, refletindo um esforço mais amplo para modernizar a infraestrutura central em resposta à escala e aos perfis de carga de trabalho em evolução dos ambientes de blockchain de produção.
A Sui originalmente dependia do RocksDB como sua principal camada de armazenamento de chave-valor, uma solução amplamente adotada e madura que permitia um desenvolvimento rápido do protocolo. À medida que a plataforma expandia e as exigências operacionais aumentavam, as limitações fundamentais dos bancos de dados LSM genéricos tornaram-se cada vez mais evidentes em ambientes semelhantes a produção.
A afinação extensiva e o profundo conhecimento interno não conseguiam resolver completamente as ineficiências estruturais que entravam em conflito com os padrões de acesso típicos dos sistemas de blockchain. Isso levou a uma mudança estratégica para o desenvolvimento de um motor de armazenamento otimizado especificamente para cargas de trabalho de blockchain, resultando na criação do Tidehunter.
Um fator central por trás desta decisão foi a persistente amplificação de escrita. Medições sob cargas de trabalho realistas da Sui mostraram níveis de amplificação de aproximadamente dez a doze vezes, o que significa que volumes relativamente pequenos de dados de aplicação geravam uma quantidade desproporcionalmente grande de tráfego de disco. Embora esse comportamento seja comum em sistemas baseados em LSM, ele reduz a largura de banda de armazenamento efetiva e intensifica a contenção entre compactação de fundo e operações de leitura. Em ambientes de escrita intensiva ou balanceados entre leitura e escrita, essa sobrecarga torna-se cada vez mais restritiva à medida que a taxa de transferência escala.
Testes de carga em clusters de alto desempenho confirmaram o impacto, com a utilização do disco chegando perto da saturação apesar de taxas moderadas de escrita de aplicação, destacando o descompasso crescente entre arquiteturas de armazenamento convencionais e os requisitos de desempenho modernos de blockchain.
Arquitetura do Tidehunter: Um motor de armazenamento otimizado para padrões de acesso de blockchain e cargas de trabalho de alta taxa de transferência sustentada
O comportamento de armazenamento na Sui e em plataformas de blockchain comparáveis é dominado por um pequeno conjunto de padrões recorrentes de acesso aos dados, e o Tidehunter foi arquitetado especificamente em torno dessas características. Uma grande parte do estado é endereçada usando chaves criptográficas hash que são distribuídas de forma uniforme e normalmente mapeiam para registros relativamente grandes, o que elimina a localidade, mas simplifica a consistência e a correção.
Ao mesmo tempo, as blockchains dependem fortemente de estruturas orientadas a anexos, como logs de consenso e pontos de verificação, onde os dados são escritos em ordem e posteriormente recuperados usando identificadores monotonicamente crescentes. Esses ambientes também são inerentemente pesados em escrita, enquanto ainda requerem acesso rápido em caminhos de leitura críticos em latência, tornando a amplificação excessiva de escrita uma ameaça direta tanto ao throughput quanto à responsividade.
No centro do Tidehunter está um pipeline de escrita de alta concorrência, construído para explorar as capacidades paralelas do armazenamento de estado sólido moderno. As escritas entrantes são canalizadas através de um log de avanço de escrita sem bloqueios, capaz de sustentar taxas de operação extremamente altas, com contenção limitada a uma etapa de alocação mínima.
A cópia de dados prossegue em paralelo, e o sistema evita chamadas ao sistema por operação usando ficheiros mapeados em memória graváveis, enquanto a durabilidade é gerida de forma assíncrona por serviços de fundo. Este design produz um caminho de escrita previsível e altamente paralelo, que pode saturar a largura de banda do disco sem ficar limitado pelo overhead da CPU.
Reduzir a amplificação de escrita é tratado como um objetivo arquitetónico principal, em vez de uma etapa de otimização. Em vez de usar o log como uma área de preparação temporária, o Tidehunter armazena os dados permanentemente em segmentos de log e constrói índices que referenciam diretamente os offsets, eliminando reescritas repetidas de valores.
Os índices são altamente particionados para manter a amplificação de escrita baixa e aumentar o paralelismo, eliminando a necessidade de estruturas tradicionais de LSM-tree. Para conjuntos de dados dominados por anexos, como pontos de verificação e registros de consenso, estratégias de particionamento especializadas mantêm os dados recentes agrupados de forma compacta, de modo que a sobrecarga de escrita permaneça estável mesmo com o crescimento dos dados históricos.
Para tabelas endereçadas por chaves hash distribuídas uniformemente, o Tidehunter introduz um índice de pesquisa uniforme otimizado para acesso previsível e de baixa latência. Em vez de emitir múltiplas leituras pequenas e aleatórias, o índice lê uma região contígua ligeiramente maior que contém estatisticamente a entrada desejada, permitindo que a maioria das buscas seja concluída numa única viagem ao disco.
Esta abordagem troca deliberadamente alguma taxa de leitura por uma latência mais baixa e mais estável, uma troca que se torna prática porque a redução da amplificação de escrita liberta uma largura de banda substancial do disco para o tráfego de leitura. O resultado é um desempenho mais consistente em operações sensíveis à latência, como execução de transações e validação de estado.
Para controlar ainda mais a latência de cauda em escala, o Tidehunter combina I/O direto com cache gerido pela aplicação. Grandes leituras históricas bypassam o cache de páginas do sistema operativo para evitar poluição de cache, enquanto dados recentes e acessados frequentemente são mantidos em caches no espaço do utilizador, informados pelos padrões de acesso a nível de aplicação. Em combinação com a sua disposição de indexação, isso reduz viagens desnecessárias ao disco e melhora a previsibilidade sob carga sustentada.
A gestão do ciclo de vida dos dados também é simplificada. Como os registos são armazenados diretamente em segmentos de log, a remoção de dados históricos obsoletos pode ser feita apagando ficheiros de log inteiros assim que saem da janela de retenção. Isto evita os mecanismos complexos e I/O intensivos de compactação exigidos por bases de dados baseadas em LSM e permite uma poda mais rápida e previsível, mesmo com o crescimento dos conjuntos de dados.
Em cargas de trabalho projetadas para refletir o uso real da Sui, o Tidehunter demonstra maior throughput e menor latência do que o RocksDB, consumindo significativamente menos largura de banda de escrita do disco. A melhoria mais visível vem da quase eliminação da amplificação de escrita, o que permite que a atividade do disco se aproxime mais das escritas ao nível da aplicação e preserve a capacidade de I/O para leituras. Estes efeitos são observados tanto em benchmarks controlados quanto em implementações completas de validadores, indicando que os ganhos vão além de testes sintéticos.
A avaliação é realizada usando uma estrutura de benchmark independente de base de dados que modela combinações realistas de inserções, eliminações, buscas pontuais e cargas de trabalho de iteração. Os testes são parametrizados para refletir distribuições de chaves semelhantes às da Sui, tamanhos de valores e proporções de leitura-escrita, e são executados em hardware alinhado com as recomendações para validadores. Nessas condições, o Tidehunter mantém consistentemente um throughput mais alto e uma latência mais baixa do que o RocksDB, com as maiores vantagens a aparecerem em cenários de escrita pesada e balanceados.
Testes a nível de validador confirmam ainda mais os resultados. Quando integrados diretamente na Sui e sujeitos a cargas sustentadas de transações, sistemas que usam o Tidehunter mantêm um throughput estável e uma latência mais baixa em pontos de operação onde as implementações baseadas em RocksDB começam a sofrer com o aumento da utilização do disco e degradação de desempenho. As medições mostram uma redução na pressão do disco, uso mais estável da CPU e uma latência de finalização melhorada, destacando uma divergência clara no comportamento sob cargas comparáveis.
O Tidehunter representa uma resposta prática às exigências operacionais de sistemas de blockchain de alta taxa de transferência e de longa duração. À medida que as blockchains evoluem para cargas de trabalho sustentadas em vez de picos, a eficiência de armazenamento torna-se um requisito fundamental para o desempenho do protocolo. O design do Tidehunter reflete uma mudança para uma infraestrutura construída explicitamente para esse próximo estágio de escala, com mais detalhes técnicos e planos de implementação a serem divulgados.
Ver original
Esta página pode conter conteúdos de terceiros, que são fornecidos apenas para fins informativos (sem representações/garantias) e não devem ser considerados como uma aprovação dos seus pontos de vista pela Gate, nem como aconselhamento financeiro ou profissional. Consulte a Declaração de exoneração de responsabilidade para obter mais informações.
Tidehunter: A próxima geração de banco de dados da Sui otimizada para baixa latência e redução da amplificação de escrita
Resumido
Sui apresentou o Tidehunter, um motor de armazenamento de blockchain criado especificamente para substituir o RocksDB, reduzindo a amplificação de escrita e oferecendo uma taxa de transferência mais elevada, mais estável, com menor latência para cargas de trabalho de validadores e nós completos.
A Sui, uma rede de blockchain Layer 1, introduziu o Tidehunter, um novo motor de armazenamento concebido para alinhar-se com as exigências de desempenho, características de acesso aos dados e restrições operacionais comuns nas infraestruturas de blockchain contemporâneas.
O sistema posiciona-se como um potencial sucessor da camada de base de dados atualmente utilizada por validadores e nós completos, refletindo um esforço mais amplo para modernizar a infraestrutura central em resposta à escala e aos perfis de carga de trabalho em evolução dos ambientes de blockchain de produção.
A Sui originalmente dependia do RocksDB como sua principal camada de armazenamento de chave-valor, uma solução amplamente adotada e madura que permitia um desenvolvimento rápido do protocolo. À medida que a plataforma expandia e as exigências operacionais aumentavam, as limitações fundamentais dos bancos de dados LSM genéricos tornaram-se cada vez mais evidentes em ambientes semelhantes a produção.
A afinação extensiva e o profundo conhecimento interno não conseguiam resolver completamente as ineficiências estruturais que entravam em conflito com os padrões de acesso típicos dos sistemas de blockchain. Isso levou a uma mudança estratégica para o desenvolvimento de um motor de armazenamento otimizado especificamente para cargas de trabalho de blockchain, resultando na criação do Tidehunter.
Um fator central por trás desta decisão foi a persistente amplificação de escrita. Medições sob cargas de trabalho realistas da Sui mostraram níveis de amplificação de aproximadamente dez a doze vezes, o que significa que volumes relativamente pequenos de dados de aplicação geravam uma quantidade desproporcionalmente grande de tráfego de disco. Embora esse comportamento seja comum em sistemas baseados em LSM, ele reduz a largura de banda de armazenamento efetiva e intensifica a contenção entre compactação de fundo e operações de leitura. Em ambientes de escrita intensiva ou balanceados entre leitura e escrita, essa sobrecarga torna-se cada vez mais restritiva à medida que a taxa de transferência escala.
Arquitetura do Tidehunter: Um motor de armazenamento otimizado para padrões de acesso de blockchain e cargas de trabalho de alta taxa de transferência sustentada
O comportamento de armazenamento na Sui e em plataformas de blockchain comparáveis é dominado por um pequeno conjunto de padrões recorrentes de acesso aos dados, e o Tidehunter foi arquitetado especificamente em torno dessas características. Uma grande parte do estado é endereçada usando chaves criptográficas hash que são distribuídas de forma uniforme e normalmente mapeiam para registros relativamente grandes, o que elimina a localidade, mas simplifica a consistência e a correção.
Ao mesmo tempo, as blockchains dependem fortemente de estruturas orientadas a anexos, como logs de consenso e pontos de verificação, onde os dados são escritos em ordem e posteriormente recuperados usando identificadores monotonicamente crescentes. Esses ambientes também são inerentemente pesados em escrita, enquanto ainda requerem acesso rápido em caminhos de leitura críticos em latência, tornando a amplificação excessiva de escrita uma ameaça direta tanto ao throughput quanto à responsividade.
No centro do Tidehunter está um pipeline de escrita de alta concorrência, construído para explorar as capacidades paralelas do armazenamento de estado sólido moderno. As escritas entrantes são canalizadas através de um log de avanço de escrita sem bloqueios, capaz de sustentar taxas de operação extremamente altas, com contenção limitada a uma etapa de alocação mínima.
A cópia de dados prossegue em paralelo, e o sistema evita chamadas ao sistema por operação usando ficheiros mapeados em memória graváveis, enquanto a durabilidade é gerida de forma assíncrona por serviços de fundo. Este design produz um caminho de escrita previsível e altamente paralelo, que pode saturar a largura de banda do disco sem ficar limitado pelo overhead da CPU.
Reduzir a amplificação de escrita é tratado como um objetivo arquitetónico principal, em vez de uma etapa de otimização. Em vez de usar o log como uma área de preparação temporária, o Tidehunter armazena os dados permanentemente em segmentos de log e constrói índices que referenciam diretamente os offsets, eliminando reescritas repetidas de valores.
Os índices são altamente particionados para manter a amplificação de escrita baixa e aumentar o paralelismo, eliminando a necessidade de estruturas tradicionais de LSM-tree. Para conjuntos de dados dominados por anexos, como pontos de verificação e registros de consenso, estratégias de particionamento especializadas mantêm os dados recentes agrupados de forma compacta, de modo que a sobrecarga de escrita permaneça estável mesmo com o crescimento dos dados históricos.
Para tabelas endereçadas por chaves hash distribuídas uniformemente, o Tidehunter introduz um índice de pesquisa uniforme otimizado para acesso previsível e de baixa latência. Em vez de emitir múltiplas leituras pequenas e aleatórias, o índice lê uma região contígua ligeiramente maior que contém estatisticamente a entrada desejada, permitindo que a maioria das buscas seja concluída numa única viagem ao disco.
Esta abordagem troca deliberadamente alguma taxa de leitura por uma latência mais baixa e mais estável, uma troca que se torna prática porque a redução da amplificação de escrita liberta uma largura de banda substancial do disco para o tráfego de leitura. O resultado é um desempenho mais consistente em operações sensíveis à latência, como execução de transações e validação de estado.
Para controlar ainda mais a latência de cauda em escala, o Tidehunter combina I/O direto com cache gerido pela aplicação. Grandes leituras históricas bypassam o cache de páginas do sistema operativo para evitar poluição de cache, enquanto dados recentes e acessados frequentemente são mantidos em caches no espaço do utilizador, informados pelos padrões de acesso a nível de aplicação. Em combinação com a sua disposição de indexação, isso reduz viagens desnecessárias ao disco e melhora a previsibilidade sob carga sustentada.
A gestão do ciclo de vida dos dados também é simplificada. Como os registos são armazenados diretamente em segmentos de log, a remoção de dados históricos obsoletos pode ser feita apagando ficheiros de log inteiros assim que saem da janela de retenção. Isto evita os mecanismos complexos e I/O intensivos de compactação exigidos por bases de dados baseadas em LSM e permite uma poda mais rápida e previsível, mesmo com o crescimento dos conjuntos de dados.
Em cargas de trabalho projetadas para refletir o uso real da Sui, o Tidehunter demonstra maior throughput e menor latência do que o RocksDB, consumindo significativamente menos largura de banda de escrita do disco. A melhoria mais visível vem da quase eliminação da amplificação de escrita, o que permite que a atividade do disco se aproxime mais das escritas ao nível da aplicação e preserve a capacidade de I/O para leituras. Estes efeitos são observados tanto em benchmarks controlados quanto em implementações completas de validadores, indicando que os ganhos vão além de testes sintéticos.
A avaliação é realizada usando uma estrutura de benchmark independente de base de dados que modela combinações realistas de inserções, eliminações, buscas pontuais e cargas de trabalho de iteração. Os testes são parametrizados para refletir distribuições de chaves semelhantes às da Sui, tamanhos de valores e proporções de leitura-escrita, e são executados em hardware alinhado com as recomendações para validadores. Nessas condições, o Tidehunter mantém consistentemente um throughput mais alto e uma latência mais baixa do que o RocksDB, com as maiores vantagens a aparecerem em cenários de escrita pesada e balanceados.
Testes a nível de validador confirmam ainda mais os resultados. Quando integrados diretamente na Sui e sujeitos a cargas sustentadas de transações, sistemas que usam o Tidehunter mantêm um throughput estável e uma latência mais baixa em pontos de operação onde as implementações baseadas em RocksDB começam a sofrer com o aumento da utilização do disco e degradação de desempenho. As medições mostram uma redução na pressão do disco, uso mais estável da CPU e uma latência de finalização melhorada, destacando uma divergência clara no comportamento sob cargas comparáveis.
O Tidehunter representa uma resposta prática às exigências operacionais de sistemas de blockchain de alta taxa de transferência e de longa duração. À medida que as blockchains evoluem para cargas de trabalho sustentadas em vez de picos, a eficiência de armazenamento torna-se um requisito fundamental para o desempenho do protocolo. O design do Tidehunter reflete uma mudança para uma infraestrutura construída explicitamente para esse próximo estágio de escala, com mais detalhes técnicos e planos de implementação a serem divulgados.