|
## Solução
|
|
|
|
|
|
|
|
Com diversas agregações, qual seria a melhor para responder uma consulta ? A resposta que o Blendb usa é, a que têm a granularidade necessária, nem maior nem menor. Uma granularidade menor torna impossível responder a pergunta, uma granularidade maior apenas deixa a consulta mais lenta.
|
|
Com diversas agregações, qual seria a melhor para responder uma consulta ? A resposta que o Blendb usa é, a que têm a granularidade necessária, nem maior nem menor. Uma granularidade menor torna impossível responder a pergunta, uma granularidade maior apenas deixa a consulta mais lenta.
|
|
|
|
|
|
A própria pessoa que realiza a consulta pode fazer esse trabalho, mas além de ser trabalhoso, demanda um conhecimento vasto da estrutura do banco de dados e saber todas as agregações existentes. A pergunta certa seria, por que não automatizar esse processo e quais outras vantagens vantagens surgem desse automação.
|
|
A própria pessoa que realiza a consulta pode fazer esse trabalho, mas além de ser trabalhoso, demanda um conhecimento vasto da estrutura do banco de dados e saber todas as agregações existentes. A pergunta certa seria, por que não automatizar esse processo e quais outras vantagens vantagens surgem desse automação.
|
|
|
|
|
|
Essa é a proposta do Blendb, automatizar a seleção de agregações.
|
|
Essa é a proposta do Blendb, automatizar a seleção de agregações.
|
|
|
|
|
|
### Como
|
|
## Como
|
|
|
|
|
|
O Blendb remove a possibilidade do usuário escolher a fonte dos dados. Isso faz dele uma interface entre as bases de dados e o usuário. Logo, ao invés de se comunicar com o banco de dados, o usuário agora tem que se comunicar com o Blendb.
|
|
O Blendb remove a possibilidade do usuário escolher a fonte dos dados. Isso faz dele uma interface entre as bases de dados e o usuário. Logo, ao invés de se comunicar com o banco de dados, o usuário agora tem que se comunicar com o Blendb.
|
|
|
|
|
... | @@ -19,14 +17,14 @@ Para que o usuário obtenha os dados o seguinte processo ocorre agora: |
... | @@ -19,14 +17,14 @@ Para que o usuário obtenha os dados o seguinte processo ocorre agora: |
|
|
|
|
|
O Blendb apenas traduz a consulta que ele recebe para uma consulta que o banco de dados entende, simplesmente isso.
|
|
O Blendb apenas traduz a consulta que ele recebe para uma consulta que o banco de dados entende, simplesmente isso.
|
|
|
|
|
|
### Requisitos
|
|
## Requisitos
|
|
|
|
|
|
As seguintes funcionalidades eram requeridas para realizar essa tradução.
|
|
As seguintes funcionalidades eram requeridas para realizar essa tradução.
|
|
* **Uma nova linguagem**: O Blendb modificou a forma de se comunicar, então uma nova linguagem para se comunicar com ele deveria ser criada.
|
|
* **Uma nova linguagem**: O Blendb modificou a forma de se comunicar, então uma nova linguagem para se comunicar com ele deveria ser criada.
|
|
* **Conhecer a granularidade**: para selecionar a agregação com a granularidade necessária, o Blendb precisaria conhecer a granularidade de **todas** as agregações.
|
|
* **Conhecer a granularidade**: para selecionar a agregação com a granularidade necessária, o Blendb precisaria conhecer a granularidade de **todas** as agregações.
|
|
* **Combinar agregações**: Em muitos casos, os dados estão distribuídos em várias tabelas e agregações, então combiná-las, através de uma consulta, também era necessário.
|
|
* **Combinar agregações**: Em muitos casos, os dados estão distribuídos em várias tabelas e agregações, então combiná-las, através de uma consulta, também era necessário.
|
|
|
|
|
|
### Utilizando os bandos de dados
|
|
## Utilizando os bandos de dados
|
|
|
|
|
|
Foi verificado que, os bancos de dados já oferecem todas as funcionalidades necessárias para realizar as consultas anaíticas, bastava utilizadas de forma eficiente. Então ao invés de implementar um novo banco de dados para realizar consultas, bastava utilizar os existentes e fornescer o conhecimento necessário para realizar a automação.
|
|
Foi verificado que, os bancos de dados já oferecem todas as funcionalidades necessárias para realizar as consultas anaíticas, bastava utilizadas de forma eficiente. Então ao invés de implementar um novo banco de dados para realizar consultas, bastava utilizar os existentes e fornescer o conhecimento necessário para realizar a automação.
|
|
|
|
|
... | | ... | |