blendb issueshttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues2018-07-10T12:03:46Zhttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/58Adicionar testes automatizados para o Adaptador de MonetDB2018-07-10T12:03:46ZLucas Fernandes de OliveiraAdicionar testes automatizados para o Adaptador de MonetDBA propósta é utilziar os mesmos testes tanto para o MonetDB quanto para o Postgres.
Essa issue está impedida pelo fato de não haver um *runner* adequaqdo para executar testes no postgres e no monet
Adicionar uma opções de adaptador tes...A propósta é utilziar os mesmos testes tanto para o MonetDB quanto para o Postgres.
Essa issue está impedida pelo fato de não haver um *runner* adequaqdo para executar testes no postgres e no monet
Adicionar uma opções de adaptador test (que deve ser usada apenas para testes) que executas os testes em todos os adaptadores.
Quando outra opções além dessa é usada deve-se pular os testes dos outros adaptadoresRevisionRafael DiasRafael Diashttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/56Implementar Adaptador para MonetDB2018-01-31T13:32:13ZLucas Fernandes de OliveiraImplementar Adaptador para MonetDBSupostamente o MonetDB usa SQL.
Criar um adaptador abstrado SQL utilziando Adaptador postgres existente e adicionar o adaptador para monetdbSupostamente o MonetDB usa SQL.
Criar um adaptador abstrado SQL utilziando Adaptador postgres existente e adicionar o adaptador para monetdbLucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/55Opção de Ordenação da API2018-03-19T14:19:05ZLucas Fernandes de OliveiraOpção de Ordenação da APIAdicionar um parâmetro de ordenação (sort) que recebe uma lista de métricas e dimensões da consulta para realizar a ordenaçãoAdicionar um parâmetro de ordenação (sort) que recebe uma lista de métricas e dimensões da consulta para realizar a ordenaçãoLucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/54Reestrututar arquivos de configuração2017-12-20T11:17:26ZLucas Fernandes de OliveiraReestrututar arquivos de configuraçãoTransformar os campos struct e connection em variáveis de ambiente.Transformar os campos struct e connection em variáveis de ambiente.Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/53Tornar o Blendb utilizável com um docker2017-12-20T13:24:12ZLucas Fernandes de OliveiraTornar o Blendb utilizável com um dockerCriar um arquivo DockerFile e seguir as boas práticas para a criação de uma imagem docker. Inclusive um .dockerignore
Além dos arquivos base adicionar um docker-compose.ymlCriar um arquivo DockerFile e seguir as boas práticas para a criação de uma imagem docker. Inclusive um .dockerignore
Além dos arquivos base adicionar um docker-compose.ymlLucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/52Adicionar verificação de texto (linter) ao projeto2017-12-04T10:54:01ZLucas Fernandes de OliveiraAdicionar verificação de texto (linter) ao projetoEmbora o projeto tenha uma configuração de linter ele não é utilizado ao gerar uma build. Falhar a build se o projeto não atender os padrões do linter.Embora o projeto tenha uma configuração de linter ele não é utilizado ao gerar uma build. Falhar a build se o projeto não atender os padrões do linter.Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/51Transformar BlenDB em um serviço2017-11-30T13:57:17ZLucas Fernandes de OliveiraTransformar BlenDB em um serviçoCriar um arquivo (exemplo) que é lido pelo systemd do linux para transformar o blendb em um serviçoCriar um arquivo (exemplo) que é lido pelo systemd do linux para transformar o blendb em um serviçoLucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/50Aumentar tolerancia a JOINS2017-10-04T15:52:21ZLucas Fernandes de OliveiraAumentar tolerancia a JOINSDurate os testes foi detectado qeu alguns joins que são aparentemente ilegais poderiam ser realizados, com um relaxamento das restrições.
Atualmente um join só é perfeito se as chaves de ambos os lados são iguais, pois isso garante que ...Durate os testes foi detectado qeu alguns joins que são aparentemente ilegais poderiam ser realizados, com um relaxamento das restrições.
Atualmente um join só é perfeito se as chaves de ambos os lados são iguais, pois isso garante que não há replicação da informação e aumento de métricas. Entretanto essa restrição pode ser relaxada, pode-se eliminar das chaves os atributos que estão na query. Isso pode ser feito pois esse agrupamento estará na versão "Final" quer dizer que os resultados não serão combinados. A view continua imaterializavel, mas o seu resultado (como uma consulta final) ainda pode ser usado.Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/49Verificar configuração do Osprey2017-10-18T11:19:21ZLucas Fernandes de OliveiraVerificar configuração do OspreyO modulo Osprey é utilizado para gerencial parcialmente a API, utilizando RAML.
Entretando suas mensagens de erro respondem páginas html.
Verificar se é possivel reconfigurar as mensagens de erro e se é possivel responder apenas JSON a...O modulo Osprey é utilizado para gerencial parcialmente a API, utilizando RAML.
Entretando suas mensagens de erro respondem páginas html.
Verificar se é possivel reconfigurar as mensagens de erro e se é possivel responder apenas JSON ao invés de htmlLucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/48Criar rotas que devolmen métricas e dimensões disponiveis2017-09-18T14:23:49ZLucas Fernandes de OliveiraCriar rotas que devolmen métricas e dimensões disponiveisCriar as rotas que devolvem quais são as métricas e dimensões diponíveis no BlenDB
Perguntas:
1. Essas rotas deverão responder apenas os nomes ou uma breve descrição (nesse caso a descrição deveria ser adicionada)Criar as rotas que devolvem quais são as métricas e dimensões diponíveis no BlenDB
Perguntas:
1. Essas rotas deverão responder apenas os nomes ou uma breve descrição (nesse caso a descrição deveria ser adicionada)Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/47BUG: Propagação de clausulas não considera clausulas pertencentes a view2017-09-18T12:02:29ZLucas Fernandes de OliveiraBUG: Propagação de clausulas não considera clausulas pertencentes a viewNa remoção de clausulas não cobertas, não é considerado que a view já pode conter a clausula, dessa forma dimensões desnecessaŕias podem ser mantidas desnecessáriamente.Na remoção de clausulas não cobertas, não é considerado que a view já pode conter a clausula, dessa forma dimensões desnecessaŕias podem ser mantidas desnecessáriamente.Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/46Condiderar clausulas na contagem de dimensões2017-09-15T11:23:54ZLucas Fernandes de OliveiraCondiderar clausulas na contagem de dimensõesAs dimensões contidas nas clausulas também devem ser consideradas no cálculo para determinar se uma dimensão deve ser removida nesse momento ou não, também deve-se realizar a propagação das clausulas durante o processo de contrução das v...As dimensões contidas nas clausulas também devem ser consideradas no cálculo para determinar se uma dimensão deve ser removida nesse momento ou não, também deve-se realizar a propagação das clausulas durante o processo de contrução das views. Assim que uma view tem todas as dimensões contidas em uam clausula, a clausula deve ser aplicada e removida do conjunto de clausula restantes.Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/45BUG: Config Parser não le chaves de forma correta e nome de view é muito comp...2017-09-13T13:26:57ZLucas Fernandes de OliveiraBUG: Config Parser não le chaves de forma correta e nome de view é muito compridoAo invés de ler do vetor de chaves o configParser estava lendo as caves do vetir de dimensões, e a menos que as chaves estivesem na mesma posição nos dois vetores, não irá funcionar corretamente.
Ao concatenar os ids das views ao invés ...Ao invés de ler do vetor de chaves o configParser estava lendo as caves do vetir de dimensões, e a menos que as chaves estivesem na mesma posição nos dois vetores, não irá funcionar corretamente.
Ao concatenar os ids das views ao invés de refazer o hash o nome pode crescer indefinidamente, fazer hash ao invés de concatenarLucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/44Mover metricas dimensionais para Engine2018-05-16T13:40:54ZLucas Fernandes de OliveiraMover metricas dimensionais para EngineAtualmente as métricas dimensionais são tratadas apenas pelo adapter. Esse efeito surge ao realizar certos Joins entre as views sobre certas condições.
Descobrir se esse problema já pode ser detectado na Engine, e resolvido nesse ponto....Atualmente as métricas dimensionais são tratadas apenas pelo adapter. Esse efeito surge ao realizar certos Joins entre as views sobre certas condições.
Descobrir se esse problema já pode ser detectado na Engine, e resolvido nesse ponto. Provavelmente se isso for possivel, a view deverá ter uma estrutura mais elaborada do que um vetor de childViews para passar ao adapter para gerar a consulta. Provavelmente terá que indicar exatamente quais joins devem ser feitos e quais agregações devem ser feitas.
Com essa alteração o adapter terá que ser refatorado (Novamente), mas provavelmente deverá ficar mais simples.1.0Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/42Remover referencias ao banco de dados do SIMMC2017-08-29T11:44:46ZLucas Fernandes de OliveiraRemover referencias ao banco de dados do SIMMCAs views base não são parte do blendb em si, são mais uma instância de teste, não precisam estar no repositório, remover esses arquivos e se houver outros que fazem referencia direta ao banco do SIMMCAs views base não são parte do blendb em si, são mais uma instância de teste, não precisam estar no repositório, remover esses arquivos e se houver outros que fazem referencia direta ao banco do SIMMCLucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/41[BUG]: Metricas retornam resultados incorretos em alguns joins2017-09-12T14:00:54ZLucas Fernandes de Oliveira[BUG]: Metricas retornam resultados incorretos em alguns joinsEmbora o mecanismo funcione corretamente o resultado não é o esperado. O problema ocorre quando a junção das tabelas não é "perfeita". Um exemplo uma view tem os atributos met:count:point e dim:point e outra tem met:sum:download, dim:poi...Embora o mecanismo funcione corretamente o resultado não é o esperado. O problema ocorre quando a junção das tabelas não é "perfeita". Um exemplo uma view tem os atributos met:count:point e dim:point e outra tem met:sum:download, dim:point, dim:macAddr. A consulta seleciona as duas métricas, logo será feita uam junção das duas views pela dimensão dim:point que é comum entre os dois. Porém o resultado da métrica met:count:point possivelmente será incorreto.
Isso ocorre pois é muito provavel que a segunda tabela que tem mais dimensões tenha mais de uma entrada por dim:point, dessa forma ao realizar o join as entradas da primeira serão repeditas e contabilizadas mais de uma vez, resultando em um resultado incorreto.
*Proposta:* para realizar joins as views tem que ter uma relação de um para um, ou seja, as mesmas dimensões antes de fazer um join.
*Problemas:* Em alguns casos é necessário fazer junções com quantidades de dimensões diferentes.
Considere o mesmo exemplo, agora além das métricas a dim:macAddr também é selecionada, a junção com quantidade diferente de dimensões é obrigatória.
*Proposta:* Em certos casos, a partir de um ponto as métricas devem se comportar como dimensões.
A junção com outra view com quantidade de entradas maior é inevitavel, porém se met:count:point fosse uma dimensão o resultado não seria incorreto, em outras palavras se o valor fosse agrupado ao invés de agregado não seriam contabilizadas de forma errada, logo se comportária como uma dimensão.
*Proposta:*
1. Agregamos as views materializadas separadamente, com as respectivas dimensões necessárias
2. Depois da agregação é feito o join, com as dimensões restantes, que seriam as necessárias para realizar o join entre as views e as que foram escolhidas na consulta
3. Remoção das dimensões extras (usadas apenas para propósito de junção) agrupando por todos os parametros que estavam na consulta
*Problemas:*
1. Nem todas as views criadas podem ser reaproveitas para realizar outras consultas, e portanto essas não podem ser materializadas.
2. A partir do momento que um métrica tem que ser tratada como uma dimensão, ela pode ser replicada e não pode ser agregada novamente
Usando esse algoritmo a query 1 (apenas as métricas) não funcionaria, na realidade ela seria equivalente a consulta utilizando também a dim:point, para que o resultado fosse correto, as métricas teriam que ser agregadas novamente, não tratadas como dimensões, isso se deve ao fato de que a junção nesse caso poderia ter sido "perfeita", primeiro agrupando por dim:point seriam criadas views com dimensões iguais, assim elas poderiam ser juntadas normalmente e as metricas poderiam ser agregadas normalmente.
*Solução:*
As junções devem ser feitas 2 a 2, ao invés de todas ao mesmo tempo, em formato de árvore, sempre que uma junção "perfeita" foi feita em um passo, então o resultado deve ser agregado novamente removendo as dimensões de junção, se for o caso. Se a junção não for perfeita a partir desse ponto as métricas devem ser tratadas como dimensões.
1. Escolhe-se 2 views
2. Agregamos as views separadamente, com as respectivas dimensões necessárias, tanto para consulta como para joins (além das duas em questão, mas de todo o conjunto)
3. Faz-se o join das duas views
4. Se a junção foi perfeita, as métricas continuam factíveis e podem continuar sendo agregadas, caso contrário marca as métricas para que sejam tratadas como dimensões agora e a view como não-materializavel
5. Volta para o passo 1 até que reste apenas uma view
6. Se a última junção foi perfeita agrega a view com as métricas restantes (métricas marcadas para o algoritmo não são consideradas métricas)
*Problemas:*
1. Vão existir views não-materializaveis (Elas podem serr materizalizadas mas seu resultado não pode ser aproveitado por outras consultas, então é pouco desejavel materializar uma consulta dessas)
2. Muito provavelmente a consulta construída será muito menos eficiente
3. A partir do momento que um métrica tem que ser tratada como uma dimensão, ela pode ser replicada e não pode ser agregada novamente
*Resolve:*
A junção de views com quantidade de dimensões diferentes se torna possível e retorna o resutlado corretoLucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/40Atualizar modo como métricas, dimensões e views são referenciadas nos testes.2017-08-25T12:34:29ZLucas Fernandes de OliveiraAtualizar modo como métricas, dimensões e views são referenciadas nos testes.Durante os testes as métricas, dimensões e views são lidas e armazenadas em vetores. Até a Issue #39) isso não foi um problema, mas agora em todos os testes isso deve ser corrigido. A princio uma mudança no arquivo de scenario, que conce...Durante os testes as métricas, dimensões e views são lidas e armazenadas em vetores. Até a Issue #39) isso não foi um problema, mas agora em todos os testes isso deve ser corrigido. A princio uma mudança no arquivo de scenario, que concentra todos os testes e lê do arquivo de configuração grande parte dos dados usados nos testes deve concertar o problema. Mas ainda assim outros locais devem ser conferidos e subtitiuidos.
Encontrar referências a métricas, dimensões e views que utilizam índice e realizar a ordenação apropriada para corrigir o erro de forma mais rápida.Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/39Função de agregação MAX e MIN não foram definidas2017-08-25T11:57:51ZLucas Fernandes de OliveiraFunção de agregação MAX e MIN não foram definidasAdicionar MAX e MIN ao tipo AggregationType e adcionar nos respectilos locais necessários (ConfigParser e PostgresAdapter se não me engano)Adicionar MAX e MIN ao tipo AggregationType e adcionar nos respectilos locais necessários (ConfigParser e PostgresAdapter se não me engano)Lucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/38BUG: Filtros não relacionados devem ser relacionados2017-08-18T13:13:47ZLucas Fernandes de OliveiraBUG: Filtros não relacionados devem ser relacionadosAtualmente os filtros não relacionados são excluidos da consulta, agora eles devem ser incluidos nos vertices a serem cobertosAtualmente os filtros não relacionados são excluidos da consulta, agora eles devem ser incluidos nos vertices a serem cobertosLucas Fernandes de OliveiraLucas Fernandes de Oliveirahttps://gitlab.c3sl.ufpr.br/c3sl/blendb/-/issues/37Fazer script para geração das views no banco2017-08-18T11:54:17ZLucas Fernandes de OliveiraFazer script para geração das views no bancoFazer um script que dado o arquivo de configuração do blendb Carregue uma consulta pré-definida para as views origem e utilize a engine e o adapter para criar uma materialized view para as views que não são origem dos dados.Fazer um script que dado o arquivo de configuração do blendb Carregue uma consulta pré-definida para as views origem e utilize a engine e o adapter para criar uma materialized view para as views que não são origem dos dados.Lucas Fernandes de OliveiraLucas Fernandes de Oliveira