Para informações mais detalhadas sobre o arquivo de configuração e seus campos, acesse este link.
Recomendamos que se utilize as duas páginas durante a criação do arquivo de configuração.
Os arquivos config/ci_test.yaml.example
e config/config.yaml.example
podem ser usados como base para começar o preenchimento do arquivo config/config.yaml
.
Os arquivos config/ci_test.env.example
e config/config.env.example
podem ser usados como base para começar o preenchimento do arquivo config/config.env
.
Arquivo config.env
O arquivo config.env
contém as configurações relativas a conexão com o banco de dados.
Basta preenchê-lo com as informações da conexão, o adapter utilizado e a porta.
As opções BLENDB_ST_CREATE e BLENDB_ST_INSERT são usadas para a realização de testes, devem ter seus valores colocados como falsos.
Arquivo config.yaml
Esse arquivo descreve o esquema do banco de dados. Ele contém a definição das agregações, métricas e dimensões.
Definindo agregações
Como regra geral, todas as fontes de dados (tabelas) no banco de dados se transformam em agregações. Recomendamos que o atributo alias da agregação seja colocado como o nome da tabela. Essas agregações também devem ter o atributo origin como true
. O campo file deve receber o seguinte caminho ../database/views/{{name}}.sql
onde {{name}} é um identificador da tabela. Pode ser o mesmo que o alias ou uma sigla.
Caso também existam agregações materializadas (materialized views) que são formadas a partir das outras agregações, elas podem ser colocadas no Blendb também, colocando o valor origin como false
.
Agora os atributos de cada tabela devem ser transformados em métricas e dimensões. Observe que a relação entre dimensões e métricas não é necessariamente "de um para um". Alguns atributos podem ser ignorados (pouco comum) e um atributo pode se desdobrar em várias métricas (bastante comum) e várias dimensões (menos comum).
Definindo dimensões
A princípio os atributos que descrevem características são colocados como dimensões. Em caso de dúvida coloque todos como dimensões e vá movendo para métricas aos poucos.
Métricas podem ser apenas valores numéricos, então qualquer valor que não seja numérico é necessariamente uma dimensão.
Definindo métricas
Um valor que se quer obter a partir de uma combinação de registros é uma métrica. A forma de combinação define a função de agregações.
Se quer-se combinar um valor de diferentes formas, cada uma delas caracterizara uma nova métrica. Por exemplo, considere um dado de uso de rede. Pode-se querer obter a banda média e um pico de rede. São duas formas diferentes de se combinar os dados, usando a função média e máximo respectivamente. Logo ao invés de uma métrica "uso de rede", são necessárias duas: "uso de rede médio" "pico de rede (uso de rede máximo)".
Em caso de dúvida, pode-se criar uma métrica para cada função de agregação (com exeção de count
) para cada atributo considerado uma métrica.
Como regra geral, as tabelas possuem no máximo uma métrica count
que conta a quantidade de linhas da tabela. Algumas podem não possuir, mas em caso de dúvida adicione. O nome , em geral é "Quantidade de alguma coisa". Por exemplo em um tabela onde cada registro é um contador e é registrado o uso de rede, poderia ser "Quantidade de contatos". Em uma tabela que descreve experimentos científicos, a métrica poderia ser "Quantidade de experimentos".
Nomeando métricas e dimensões
Atributos que representam o mesmo valor em diferentes tabelas (Atributos que normalmente são chaves estrangeiras) devem possuir exatamente o mesmo nome em todas as agregações.
Nomes de atributos como id ou nome, onde o valor é implicito pela tabela que ele se encontra são desencorajados. Como alternativa busque um nome significativo, ou adicione a localização no atributo como "id cliente", "nome do usuário". Lembre que no Blendb os atributos são da base como um todo. Atributos devem ter o mesmo nome apenas se forem o mesmo.
Definindo chaves
Por fim basta definir quais dimensões definem a chave. A pergunta que deve ser feita para definir uma chave é "Qual conjunto de dimensões define unicamente um registro ?". Em geral a chave é pequena. Lembre-se que a chave afeta a capacidade do Blendb executar junções de agregações e não deve ser desnecessariamente grande ou os resultados obtidos podem ser comprometidos.
Completando métricas e dimensões
Agora que todas as agregações foram definidas, basta adicionar ao arquivo de configuração a definição completa das métricas e dimensões definindo funções de agregação, relações e descrições. Use exatamente os mesmos nomes utilizados nas agregações.
Home
- Requisitos
- Instalação
- Gerando o arquivo de configuração
- Gerando agregações base
- Gerando o serviço (SystemD)
- Inicializando
- Utilizando