HSE, um mecanismo de armazenamento de código aberto, SSE otimizado para SSD

micron Technology (empresa especializada na produção de DRAM e memória flash) revelou a introdução de um novo motor chamado "HSE" (Heterogeneous-memory Storage Engine), que foi desenvolvido com as especificações de uso em mente em unidades SSD baseadas em flash NAND (X100, TLC, QLC 3D NAND) ou memória somente leitura (NVDIMM).

O motor é feito na forma de uma biblioteca para incorporar em outros aplicativos e suporta processamento de dados em formato de valor-chaver. O código HSE é escrito em C e distribuído sob a licença Apache 2.0.

Entre as aplicações de motores, aplicativos para armazenamento de dados de baixo nível são mencionados em NoSQL DBMS, armazéns de software (SDS, armazenamento definido por software), como Ceph e Scality RING, plataformas para processamento de grandes quantidades de dados (Big Data), sistemas de computação de alto desempenho (HPC), dispositivos de Internet das coisas (IoT) e soluções para sistemas de aprendizado de máquina.

HSE é otimizado não apenas para desempenho máximo, mas também para garantir a durabilidade de vários tipos de unidades SSD. A alta velocidade foi alcançadapor meio de um modelo de armazenamento híbrido: os dados mais relevantes são armazenados em cache, reduzindo o número de acessos ao disco.

Como um exemplo de integração do novo mecanismo em projetos de terceiros, foi preparada uma versão orientada a documentos do MongoDB DBMS, que foi traduzida para usar HSE.

Tecnologicamente, HSE é baseado em um módulo de kernel adicional mpool, que implementa uma interface especializada para armazenamento de objetos para drives de estado sólido, levando em consideração suas capacidades e características, permitindo obter características fundamentalmente distintas de velocidade e durabilidade. Mpool também é um desenvolvimento da Micron Technology aberto simultaneamente com o HSE, mas se destaca como um projeto de infraestrutura separado. Mpool assume o uso de memória persistente e armazenamento de zona, mas atualmente apenas SSDs tradicionais são suportados.

Teste de desempenho com o pacote YCSB (Yahoo Cloud Serving Benchmark) mostrou um aumento significativo no desempenho ao usar armazenamento de 2 TB com processamento de bloco de dados de 1 KB. Um aumento de desempenho particularmente significativo é observado no teste com uma distribuição uniforme de operações de leitura e gravação.

Por exemplo O MongoDB com o mecanismo de HSE acabou sendo cerca de 8 vezes mais rápido do que a versão com o motor WiredTiger padrão, e o motor RocksDB DBMS superou o HSE mais de 6 vezes. Indicadores excelentes também são visíveis nos testes, que mostram 95% das operações de leitura e 5% das alterações ou acréscimos.

Outro teste realizado envolve apenas operações de leitura, mostra um lucro de cerca de 40%. O aumento na capacidade de sobrevivência de SSDs durante as operações de gravação em comparação com a solução baseada em RocksDB é estimado em 7 vezes.

Características principais do HSE:

  • Suporte para operadores padrão e avançados para processar dados em formato de chave / valor;
  • Suporte total a transações e capacidade de isolar segmentos de armazenamento criando instantâneos (os instantâneos também podem ser usados ​​para manter coleções separadas em uma loja).
  • Capacidade de usar cursores para percorrer dados em representações baseadas em instantâneos.
  • Um modelo de dados otimizado para tipos de carregamento mistos em um único repositório.
  • Mecanismos flexíveis para gerenciar a confiabilidade do armazenamento.
  • Esquemas de orquestração de dados personalizáveis ​​(distribuição por meio de diferentes tipos de memória presentes no repositório).
  • Uma biblioteca com uma API C que pode ser dinamicamente vinculado a qualquer aplicativo.
    A capacidade de escalar para terabytes de dados e centenas de bilhões de chaves no armazenamento.
  • Processamento efetivo de milhares de operações paralelas.
  • Aumento significativo na largura de banda, latência reduzida e maior leitura / gravação para vários tipos de cargas de trabalho em comparação com soluções alternativas típicas.
  • A capacidade de usar diferentes classes de SSDs no mesmo armazenamento para otimizar o desempenho e a durabilidade.

Você pode acessar o código do motor no link abaixo. 


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.