InícioNuvemComputaçãoOs motores de dados modernos estão revolucionando o desempenho dos metadados.

Os motores de dados modernos estão revolucionando o desempenho dos metadados.

Date:

Novas estruturas de motores de dados, como o Speedb, melhoram o desempenho dos metadados, diminuem a latência, aceleram a busca e otimizam a utilização da CPU. Saiba mais sobre essas melhorias.

Interlocking gears and binary code.
Imagem: driles/FreePik

O aumento significativo dos casos de utilização intensiva de dados, como simulações e aplicativos de streaming, assim como o crescente volume de dados não estruturados, tem destacado a necessidade de realizar operações de banco de dados de forma rápida, como escrita e leitura de dados, principalmente quando essas aplicações começam a se expandir. Qualquer elemento de um sistema pode se tornar um ponto de estrangulamento em potencial, desde o armazenamento e camadas de rede até a CPU e a interface gráfica do aplicativo.

Conforme mencionado em “Melhorar o desempenho dos metadados em aplicações de grande escala na web”, um dos principais motivos para os gargalos de dados está relacionado à maneira como as operações de dados são gerenciadas pelo motor de dados, conhecido também como mecanismo de armazenamento – a camada mais profunda do software que organiza e indexa os dados. Inicialmente, os motores de dados foram desenvolvidos para armazenar metadados, que são informações essenciais sobre os dados utilizados pelas empresas para recomendar filmes ou produtos, por exemplo. Esses metadados também fornecem detalhes como a data de criação dos dados, o local exato de armazenamento, entre outros.

Frequentes falhas nos metadados podem resultar em problemas como leituras aleatórias, consultas lentas, comportamento de consulta inconsistente, atrasos de I/O e interrupções na escrita. Esses problemas podem se agravar e afetar a experiência do usuário final, manifestando-se como desempenho lento de leitura e escrita, amplificação de gravação e de espaço, falta de escalabilidade, entre outros.

Novas estruturas eliminam obstáculos.

Os novos motores de dados surgiram para atender às necessidades de cargas de trabalho intensivas com baixa latência, que demandam escalabilidade e desempenho significativos. Esses motores permitem um ajuste mais preciso do desempenho por meio de três tipos de amplificação – escrita, leitura e espacial – realizados por eles. Além disso, oferecem ajustes extras para a busca e armazenamento de dados.

Speedb, a nossa empresa, desenvolveu um motor de dados projetado para substituir facilmente o padrão da indústria, conhecido como RocksDB. Disponibilizamos o Speedb para a comunidade de desenvolvedores, com base na tecnologia utilizada na edição corporativa desenvolvida nos últimos dois anos.

Muitos programadores estão familiarizados com o RocksDB, um popular e eficiente motor de dados otimizado para aproveitar ao máximo o potencial de múltiplas CPUs em cargas de trabalho de IO-bound. Sua utilização de uma estrutura de dados baseada em árvores LSM (Log-Structured Merge-Tree), como explicado em um artigo anterior, é excelente para lidar de maneira eficaz com cenários que exigem muitas operações de gravação. No entanto, o desempenho de leitura do LSM pode sofrer caso os dados sejam acessados de forma fragmentada e aleatória em pequenas porções, especialmente à medida que a aplicação cresce, especialmente em situações que envolvem grande quantidade de arquivos pequenos, como é o caso de metadados.

VEJA TAMBEM:  Inteligência artificial generativa enfrenta um início desafiador.

Melhorias de velocidade.

Speedb criou três estratégias para melhorar a escalabilidade de dados e metadados, as quais representam um avanço em relação ao que era considerado o estado da arte quando RocksDB e outros motores de dados foram criados há dez anos.

Compactação é um processo que reduz o tamanho de arquivos de dados para economizar espaço de armazenamento e facilitar o transporte e o compartilhamento de informações.

Assim como outros motores de árvores LSM, o Rocks DB utiliza compactação para liberar espaço em disco e eliminar versões antigas de registros de dados. A compactação consome recursos de dados adicionais e pode atrasar o processamento de metadados, levando os motores de dados a realizar compactações para mitigar esse impacto. No entanto, os dois principais tipos de compactação, nivelada e universal, afetam a capacidade desses motores de lidar de forma eficiente com cargas de trabalho intensivas em dados.

Uma breve descrição de cada método destaca o desafio. A técnica de compactação nivelada resulta em uma ocupação de espaço em disco muito baixa (geralmente em torno de 11%). No entanto, para grandes bancos de dados, isso acarreta em uma considerável penalidade em termos de amplificação de E/S. Esse método de compactação envolve a operação de “mistura com”, onde cada nível é combinado com o próximo, que é normalmente muito maior. Consequentemente, cada nível adiciona uma amplificação de leitura e escrita que é proporcional à diferença de tamanho entre os dois níveis.

A compactação universal é menos eficiente em termos de armazenamento em comparação com a compactação completa. A compactação completa, por sua vez, demanda um espaço igual ou maior que o tamanho total do banco de dados e pode afetar o processamento de novas atualizações. Portanto, a compactação universal não é adequada para a maioria das aplicações de alto desempenho em tempo real.

VEJA TAMBEM:  A tarefa da investigação forense na computação em nuvem.

A estrutura de Speedb tem uma compactação híbrida, que diminui a amplificação de gravação em bancos de dados extensos sem interromper as atualizações e com pouca sobrecarga no espaço extra. O formato de compactação híbrida atua como compactação geral em níveis superiores, quando os dados são pequenos em comparação com o banco de dados completo, e como compactação nivelada em níveis inferiores, onde uma parte considerável dos dados atualizados é retida.

O teste notável apresentado na Figura 1 revela um aumento de 17% na substituição e um acréscimo de 13% nas cargas de trabalho mistas de leitura e gravação (90% de leitura, 10% de gravação). Os resultados dos testes de filtro de flor separada demonstram um incremento de 130% nas falhas de leitura em uma carga de trabalho aleatória de leitura (Figura 2) e uma diminuição de 26% no consumo de memória (Figura 3).

Os experimentos realizados pela Redis mostraram que houve melhora no desempenho ao substituir o RocksDB pelo Speedb na implementação do Redis on Flash. Além disso, o teste com o Speedb foi neutro em relação à proporção de leitura/escrita da aplicação, sugerindo que o desempenho é consistente em diversas aplicações diferentes, mesmo quando o padrão de acesso varia ao longo do tempo.

speedb memtable 01
Imagem: MaxWdhs/Pexels

Demonstração prática utilizando o Speedb.

speedb bloomfilter read misses 02
Imagem: JonPauling/ShutterStock

Demonstração 2. Avaliação do filtro Bloom com uma tarefa de leitura aleatória utilizando Speedb.

speedb bloomfilter readrandom 03
Imagem: Peggychoucair/UnPlash

Demonstração do teste de filtro Bloom exibindo uma diminuição no consumo de memória com Speedb.

Administração da memória

A gestão da memória de bibliotecas integradas é fundamental para a eficiência das aplicações. As soluções atuais são intricadas, com vários parâmetros interdependentes, o que torna complicado otimizá-las de acordo com as necessidades dos usuários. Este desafio se intensifica com as mudanças no ambiente ou na carga de trabalho.

Speedb adotou uma perspectiva abrangente ao reformular o controle de memória, com o objetivo de tornar seu uso mais simples e otimizar a eficiência dos recursos.

Um sistema de gestão de dados desorganizado possibilita aprimoramentos no agendamento de limpeza, adotando uma abordagem proativa para otimizar a eficiência da memória e a utilização do sistema, sem necessidade de intervenção por parte do usuário.

Trabalhando desde o início, Speedb está desenvolvendo recursos extras que se sustentam por si mesmos para atingir desempenho, escalabilidade e usabilidade em diversas situações.

VEJA TAMBEM:  Informações de comunicação do floco de neve focam em impulsionar a eficiência da computação em nuvem.

Gestão do movimento de algo.

Revisão de velocidade: O DB implementou um novo mecanismo de controle de fluxo para reduzir os picos de latência do usuário. Este novo mecanismo ajusta a taxa de forma mais suave e precisa, adaptando-se melhor ao estado do sistema do que o anterior. Ele diminui a velocidade quando necessário e a aumenta quando possível, resultando na eliminação de falhas e em um desempenho de gravação mais estável.

Quando a origem principal dos problemas de desempenho do motor de dados está oculta nas entranhas do sistema, identificá-la pode ser complicado. Quanto mais profunda for essa causa, mais significativo será o impacto no sistema. Como diz o ditado popular, a força de uma corrente é determinada pelo seu elo mais fraco.

Arquiteturas avançadas de motores de dados, como o Speedb, têm o potencial de melhorar a eficiência dos metadados, diminuir a latência, acelerar as buscas e otimizar o uso da CPU. Com o crescimento das aplicações em grande escala, a adoção de novas tecnologias de motores de dados se torna essencial para viabilizar arquiteturas modernas que sejam flexíveis, escaláveis e eficientes.

Hilik Yochai é o diretor de ciência e um dos fundadores da Speedb, uma empresa responsável pelo desenvolvimento do motor de dados Speedb, que é uma alternativa ao RocksDB. Além disso, ele lidera a comunidade de código aberto Hive da Speedb, onde os desenvolvedores podem colaborar, aprimorar e compartilhar conhecimentos sobre o Speedb e o RocksDB. A tecnologia da Speedb auxilia os desenvolvedores a aprimorar suas operações de dados em grande escala, oferecendo escalabilidade ilimitada e alto desempenho sem comprometer a funcionalidade, sempre buscando melhorar a usabilidade e a facilidade de uso.

Lo siento, necesito que proporciones un texto específico para que pueda parafrasearlo. ¿Puedes proporcionar más detalles o un texto con el que necesites ayuda?

O New Tech Forum é um espaço dedicado à exploração e discussão aprofundada da tecnologia empresarial emergente, com uma ampla cobertura de temas. A seleção dos tópicos é feita de forma subjetiva, com base na importância e interesse que acreditamos ter para os leitores do InfoWorld. Não garantimos a publicação de conteúdos com fins de marketing e nos reservamos o direito de editar todas as contribuições. Para enviar perguntas, entre em contato pelo email newtechforum@infoworld.com.

DEIXE UMA RESPOSTA

Por favor digite seu comentário!
Por favor, digite seu nome aqui