1. Requisitos de Software do GBDS 4

1.1. Sistema Operacional

O GBDS pode ser instalado nos seguintes sistemas operacionais:

  • CentOS 7
  • Red Hat 7
  • Oracle Linux 7
  • Oracle Linux 8

1.2. Hadoop

O GBDS é baseado no Apache Hadoop versão 3.1, que é uma coleção de softwares de código aberto. O Hadoop provê ferramentas multi-propósito para sistemas paralelos e escaláveis. Atualmente, o GBDS está integrado com os seguintes componentes do Hadoop:

  • Ambari: Provisionamento, gerenciamento e monitoramento de um cluster Hadoop.
  • Kafka: Sistema de fluxo distribuído para integração de dados em tempo real.
  • Zookeeper: Sistema de coordenação que permite sincronização entre um cluster.
  • HBase: Sistema de gerenciamento de banco de dados não-relacional.
  • HDFS: Sistema de arquivos distribuídos projetado para rodar em commodity hardware.

1.3. Banco de Dados

O GBDS usa dois diferentes sistemas de banco de dados, relacional e não-relacional:

  • HBase Para imagens biométricas e templates.
  • MySQL [1] para metadata, como transações, exceções, casos criminais, perfis biométricos e latentes não resolvidas.
[1]O MySQL é recomendado, pois alguns componentes do Hadoop contam com ele internamente, o que facilita a interoperabilidade entre eles, mas é possível a adaptação a qualquer outro sistema de banco de dados SQL.

1.4. Balanceamento Local

O modelo de extração de templates a partir de uma imagem requer mais recursos que a comparação biométrica entre templates e é realizada noo GBDS API handler. Para otimizar o uso de hardware, o GBDS é altamente paralelizado e cada nó em um cluster deve ser capaz de receber requisições da API, caso configurado para tal, então, é recomendado o uso de um balanceador de carga para distribuir os pedidos igualmente entre os nós, visando alcançar a melhor performance. Desse modo, não haverá nenhum nó sobrecarregado no cluster.

É possível usar balanceadores de carga tanto em hardware como em software. Uma solução simples de software para balanceamento de carga é o HAProxy, um software de código-aberto e gratuito que provê ferramentas de balanceamento de carga e proxy de servidor.