Conteúdo

Conceitos Fundamentais do Apache NiFi – Principais Repositórios

Neste capítulo, você vai aprender sobre a importância e o funcionamento dos repositórios centrais do Apache NiFi, bem como estratégias eficazes para a configuração de discos que otimizam o desempenho do sistema. Uma configuração de disco bem planejada ajuda a evitar perdas de desempenho devido à alta concorrência de acesso aos dados. Exploraremos por que a separação dos discos para cada tipo de repositório é uma prática recomendada e como aplicar essas estratégias em um ambiente real.

Ao final deste capítulo, você será capaz de:

  • Explicar a função e a importância dos três repositórios principais do Apache NiFi e como eles interagem para gerenciar o fluxo de dados.
  • Aprender a configurar discos separados para o FlowFile Repository, Content Repository, Provenance Repository e Database Repository, seguindo as melhores práticas de armazenamento.
  • Compreender como a distribuição de repositórios entre discos separados pode levar a um aumento significativo na performance e na confiabilidade do Apache NiFi.
  • Aprender a distribuir e particionar os repositórios do NiFi entre discos gerenciados anexados às VMs, utilizando as configurações do arquivo nifi.properties.

Curso de Arquitetura de Integração com Apache NiFi

Ao separar os repositórios em discos distintos, reduzimos a competição por I/O e garantimos que cada repositório possa operar com eficiência máxima. Esta prática é especialmente importante em sistemas de alto desempenho, importante para manter a performance do Apache NiFi estável e confiável. Ele utiliza três principais repositórios para armazenar e gerenciar os dados que são processados e distribuídos pelo sistema.

Apache NiFi - Repositorios

Esses repositórios são:

FlowFile Repository

O FlowFile Repository é o coração do Apache NiFi, onde são armazenados os atributos e os estados dos FlowFiles em processamento. Ele é importante para garantir a durabilidade dos FlowFiles, mantendo o sistema resiliente a falhas ou reinícios. A cada passo dado por um FlowFile, suas mudanças de estado e atributos são registrados aqui, assegurando que, em caso de falha do sistema, o Apache NiFi possa retomar o processamento exatamente de onde parou.

Content Repository

Já o Content Repository é onde o Apache NiFi armazena o conteúdo real dos FlowFiles. Diferente do FlowFile Repository, que lida com metadados, o Content Repository foca nos dados propriamente ditos que estão sendo processados. Isso inclui tudo, desde texto simples até dados binários. Assim como o FlowFile Repository, ele é projetado para garantir a durabilidade e a recuperação dos dados, fundamental para a integridade do processo de fluxo de dados, mesmo após falhas do sistema.

Provenance Repository

Por fim, o Provenance Repository armazena informações detalhadas sobre a proveniência dos dados – essencialmente, o histórico completo de cada FlowFile que passa pelo Apache NiFi. Isso inclui quando e como os dados foram recebidos, transformados e enviados, oferecendo uma visão detalhada e uma ferramenta poderosa para auditoria, depuração e otimização de fluxos de dados. O rastreamento detalhado da proveniência dos dados é um aspecto vital para garantir a transparência e a conformidade em ambientes regulados.

Boas práticas para configuração dos repositórios do Apache NiFi

A escolha e configuração dos discos para os repositórios do Apache NiFi não devem ser subestimadas. Uma configuração inadequada pode não apenas afetar o desempenho, mas também a confiabilidade do sistema. Portanto, é essencial:

  • Utilizar Discos Dedicados: Cada repositório deve ser alojado em um disco separado para evitar a competição de I/O (Input/Output). Isso é importante porque os repositórios do Apache NiFi são acessados com frequência e simultaneamente pelo sistema.
  • Priorizar Discos de Alta Performance: Para o Content Repository e Provenance Repository, que têm operações de I/O intensivas, discos de alta velocidade são recomendados para melhorar o desempenho.
  • Monitorar o Espaço em Disco: É importante monitorar o uso do disco para evitar a saturação do armazenamento, o que pode levar a falhas do sistema. Ferramentas e estratégias de monitoramento e alertas devem ser implementadas.

Configuração de repositório no nifi.properties

Aqui estão as configurações do arquivo nifi.properties que distribuem os repositórios entre os discos:

Essas configurações são apenas o começo. Conforme você ganha experiência com o Apache NiFi, poderá ajustar e afinar essas configurações para atender às demandas específicas do seu ambiente de dados.

Conclusão

O gerenciamento eficiente dos repositórios do Apache NiFi é fundamental para garantir um sistema de integração de dados robusto e de alto desempenho. A separação de discos para cada repositório é mais do que uma boa prática – é uma estratégia que influencia diretamente a resiliência e eficácia do Apache NiFi. Com a configuração adequada, os repositórios do Apache NiFi trabalham em harmonia para fornecer um registro detalhado da proveniência dos dados, gerenciamento de conteúdo eficiente, manutenção do estado do fluxo de dados e armazenamento seguro das informações de configuração.

Tiago Tartari

Tiago Tartari

Eu ajudo e capacito pessoas e organizações a transformar problemas complexos em soluções práticas usando a tecnologia para atingir resultados extraordinários.

Histórias de sucesso

EximiaCo
Centauro
Braspress
Tok&Stok