
Apache Ozone
Visão Geral
Ozone é um armazenamento de objetos redundante e distribuído otimizado para cargas de trabalho de Big Data. O principal ponto de design do ozone é a escalabilidade, e ele visa escalar para bilhões de objetos.
Ozone separa o gerenciamento de namespace e o gerenciamento de espaço de bloco; isso ajuda o ozone a escalar muito melhor. O namespace é gerenciado por um daemon chamado Ozone Manager (OM), e o espaço de bloco é gerenciado pelo Storage Container Manager (SCM).
Ozone consiste em volumes, buckets e chaves. Um volume é semelhante a um diretório inicial no mundo do ozone. Somente um administrador pode criá-lo.
Os volumes são usados para armazenar buckets. Depois que um volume é criado, os usuários podem criar quantos buckets forem necessários. Ozone armazena dados como chaves que vivem dentro desses buckets.
O namespace do Ozone é composto por muitos volumes de armazenamento. Os volumes de armazenamento também são usados como base para a contabilidade de armazenamento.
O diagrama de blocos mostra os principais componentes do Ozone.

O Ozone Manager é o gerenciador de namespace, o Storage Container Manager gerencia a camada física e de dados e o Recon é a interface de gerenciamento do Ozone.
Diferentes Perspectivas

Qualquer sistema distribuído pode ser visto de diferentes perspectivas. Uma maneira de olhar para o Ozone é imaginá-lo como o Ozone Manager como um serviço de namespace construído sobre o HDDS, um armazenamento de bloco distribuído.
Outra maneira de visualizar o Ozone é olhar para as camadas funcionais; temos uma camada de gerenciamento de dados de metadados, composta pelo Ozone Manager e pelo Storage Container Manager.
Temos uma camada de armazenamento de dados, que são basicamente os nós de dados e eles são gerenciados pelo SCM.
A camada de replicação, fornecida pelo Apache Ratis, é usada para replicar metadados (OM e SCM) e também usada para consistência quando os dados são modificados nos nós de dados.
Temos um servidor de gerenciamento chamado Recon, que se comunica com todos os outros componentes do Ozone e fornece uma API de gerenciamento unificada e UX para o Ozone.
Temos um barramento de protocolo que permite que o Ozone seja estendido por meio de outros protocolos. Atualmente, temos apenas suporte ao protocolo S3 construído por meio do barramento de protocolo. O barramento de protocolo fornece uma noção genérica de que você pode implementar novos protocolos de sistema de arquivos ou armazenamento de objetos que chamam o protocolo O3 Native.
Arquitetura do Apache Ozone
A arquitetura do Apache Ozone foi projetada para gerenciar bilhões de objetos com escalabilidade e resiliência. Ele separa a gestão do namespace do gerenciamento de blocos, utilizando os seguintes componentes principais:
-
Ozone Manager (OM):
-
Gerencia o namespace (volumes, buckets e chaves).
-
Utiliza o protocolo Ratis para garantir consistência em clusters distribuídos.
-
-
Storage Container Manager (SCM):
-
Gerencia containers, que são a unidade de replicação.
-
Coordena o posicionamento e replicação dos dados entre os DataNodes.
-
-
DataNodes:
-
Armazenam fisicamente os dados em containers.
-
Garantem alta disponibilidade e replicação eficiente.
-
-
Recon:
-
Ferramenta de monitoramento e análise do cluster Ozone.
-
Coleta métricas detalhadas para administração e diagnóstico.
-
-
Protocolo Ratis:
-
Implementa consenso distribuído para garantir replicação consistente.
-
Fluxo de Operações no Ozone
-
Gravação de Dados:
-
O cliente solicita ao OM a alocação de blocos nos DataNodes.
-
Os dados são gravados diretamente nos DataNodes e replicados conforme necessário.
-
-
Leitura de Dados:
-
O cliente consulta o OM para localizar os dados.
-
Os dados são recuperados diretamente dos DataNodes.
-
-
Replicação de Dados:
-
O SCM gerencia a replicação entre DataNodes para garantir tolerância a falhas.
-
Expectativas de Performance
O Ozone emprega técnicas avançadas para alcançar alta performance, como:
-
Replicação via RAFT para containers abertos.
-
Replicação assíncrona para containers fechados (dados frios).
Recursos do Apache Ozone
O Apache Ozone oferece um conjunto robusto de recursos para atender às demandas de armazenamento de dados massivos. Aqui estão os mais destacados:
-
Compatibilidade com S3:
-
APIs que permitem integração com sistemas baseados em nuvem.
-
Ideal para migrações de dados e arquiteturas híbridas.
-
-
Integração com Hadoop:
-
Alternativa direta ao HDFS, sem necessidade de ajustes em frameworks como Apache Spark, Hive e YARN.
-
-
Alta Disponibilidade:
-
Baseado no Hadoop Distributed Data Store (HDDS), garante replicação consistente e tolerância a falhas.
-
-
Suporte Multimodal:
-
Permite armazenamento como sistema de arquivos ou objetos, dependendo do caso de uso.
-
-
Escalabilidade Horizontal:
-
Suporta bilhões de objetos, sendo ideal para aplicações em Big Data e Cloud Native.
-
-
Reconhecimento de Topologia:
-
Otimiza pipelines de leitura e escrita com base no posicionamento dos nós no cluster.
-