|
|
|
Como o Blendb remove a capacidade do usuário escolher quais agregações ele utilizará na consulta, uma nova linguagem para realizar consultas foi criada. Essa nova linguagem é formada por apenas três parametros. Um conjunto de métricas, um conjunto de dimensões e um conjunto de filtros.
|
|
|
|
|
|
|
|
As métricas e dimensões representam dados disponíveis no banco de dados enquanto os filtros são restrições sobre os dados retornados.
|
|
|
|
|
|
|
|
A API do Blendb já disponibiliza uma lista das métricas e dimensões disponíveis.
|
|
|
|
|
|
|
|
## Métricas
|
|
|
|
|
|
|
|
Uma métrica é considerada uma informação indireta no banco de dados. Isso significa que o resultado de uma métrica, em geral, não é o valor **um** registro especifíco mas sim uma **agregação** de registros. Logo dizemos que métricas são dados **agregados**.
|
|
|
|
|
|
|
|
A agregação de dados é uma combinação de vários registros. A forma como essa combinação é feita é determinada por uma **função de agregação**. As funções de agregação disponíveis atualmente no Blendb são: média, máximo, mínimo, soma e contagem. Logo, as métricas são sempre valores numéricos.
|
|
|
|
|
|
|
|
Uma métrica está sempre associada a uma função específica. Um exemplo de métrica é o lucro sobre uma venda. Durante uma consulta, o usuário pode estar interessado no lucro do mês. Para que essa consulta seja realizada, os dados do lucro de cada venda devem ser combinados em um único registro por mês. Para combinar esses registros, a função soma será utilizada.
|
|
|
|
|
|
|
|
Uma métrica está sempre associada a mesma função de agregação.
|
|
|
|
|
|
|
|
Normalmente uma pergunta analítica é respondida por uma métrica, direta ou indiretamente. Por essa razão ao menos uma métrica é obrigatória ao se realizar uma conulta através do Blendb (embora na prática essa restrição não precisasse existir, ela faz sentido semanticamente).
|
|
|
|
|
|
|
|
## Dimensões
|
|
|
|
|
|
|
|
Uma dimensão determina o grau de detalhe que se deseja vizualizar uma métrica, ou seja, a **granularidade** da consulta. Quando nenhuma dimensão é fornescida o Blendb retornará no máximo um registro, contendo a agregação de todos os registros do banco de dados, 0 caso nenhum registro tenha passado pelos filtros.
|
|
|
|
|
|
|
|
Ao se utilizar uma dimensão, os dados são **agrupados**. Por exemplo ao pesquisar pela métrica lucro e a dimensão mês a pergunta feita é "Qual o lucro por mês ?". Para resolver essa consulta os registros são **agrupados**, ou seja, os registros que tem o mesmo valor no campo mês são colocados juntos. Após os registros são agregados para obtero valor do lucro, mas agora ao invés de se retornar um registro, doze são retornados, um para cada mês. O registro que contém o valor "Janeiro" tem no valor da métrica "Lucro" apenas a agregação dos registros de vendas que tinham o valor "Janeiro".
|
|
|
|
A mesma coisa para todos os outros meses.
|
|
|
|
|
|
|
|
Pode-se vizualziar da seguinte maneira. Se o nosso banco de dados é um liquidificador. Uma métrica é o suco dentro do liquidificador e as dimensões determinam em quantos copos esse suco será dividido e quanto de suco existe em cada copo.
|
|
|
|
|
|
|
|
Quando um copo fica vazio, ou seja, 0 registros foram agrupados, esse registro não é retornado. Por exemplo se nenhuma venda fosse realizada em "Fevereiro" a consulta retornaria 11 registros, ao invés de 12 com o valor 0 no registro com "Fevereiro".
|
|
|
|
|
|
|
|
## Filtros
|
|
|
|
|
|
|
|
Um filtro é uma restrição sobre a consulta. Ele restringe quais dados serão enviados para a serem agregados. Um exemplo, ao de perguntar "Qual o lucro por mês ?", pode-se perguntar "Qual o lucro do suco de laranja por mês?". Ao invés de se considerar todos os registros, apenas as vendas se suco de laranja são consideradas e envidas para serem agregadadas.
|
|
|
|
|
|
|
|
Os filtros funcionam apenas sobre as dimensões. Para mais informações veja a seção de [problemas](sobre/problemas). Eles possuem o seguinte formato Dimensão, operação, valor.
|
|
|
|
As operações incluem maior que, menor que, maior ou igual, menor ou igual, igualdade e diferença. As operações são limitadas pelo tipo de dados. Não faz sentido um valor booleano ser maior ou menor que outro.
|
|
|
|
|
|
|
|
## Consulta
|
|
|
|
|
|
|
|
Utilizando apenas esses três parametros, ou Blendb realiza todas as suas consultas que são capazes de responder diversas perguntas analíticas de forma simples. A proposta é utilizar uma linguagem mais simples e de fácil uso, a custos de algumas restrições.
|
|
|
|
|
|
|
|
## [Home](/)
|
|
|
|
* [Introdução](sobre/introdução)
|
|
|
|
* [Problema](sobre/problema)
|
|
|
|
* [Solução](sobre/solução)
|
|
|
|
* **Linguagem**
|
|
|
|
* [Arquitetura](sobre/arquitetura)
|
|
|
|
* [Termos Úteis](sobre/glossário)
|
|
|
|
* [Desvantagens](sobre/desvantagens) |
|
|
|
\ No newline at end of file |