# Requisitos de Software

## Sistema Operacional

O GBDS pode ser instalado nos seguintes sistemas operacionais:

* CentOS 7
* Red Hat 7
* Red Hat 8
* Oracle Linux 7
* Oracle Linux 8

## 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*.

## 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** para metadata, como transações, exceções, casos criminais, perfis biométricos e latentes não resolvidas.

{% hint style="success" %}
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.
{% endhint %}

## 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.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.griaule.com/instalacao-do-gbds/softwarerequirements.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
