mais icon indicating copy to clipboard operation
mais copied to clipboard

[infra] Criar suporte para dicionários

Open rdahis opened this issue 3 years ago • 4 comments

Motivação

Hoje dicionários estão sendo tratados como tabelas BD+ padrão. Mas dicionários são um caso diferente de tabela BD+ pois tem metadados diferentes (ver no schema) que são constantes sempre.

Solução

Criar a classe Dictionary para depois poder rodar Dictionary.create(), Dictionary.publish(), etc. Metadados já viriam preenchidos automaticamente (já que boa parte deles é sempre idêntico).

  • Todo dicionário tem as mesmas colunas e descrições.
    • Agora são: id_tabela, nome_coluna, chave, cobertura_temporal, valor.
  • Seus metadados são diferentes.
    • Metadados: versão, última atualização, tabelas cobertas, etc.
    • A coluna entity é sempre a mesma: chave.
    • A coluna primary_keys é sempre a mesma: id_tabela, nome_coluna, chave, cobertura_temporal.

rdahis avatar May 12 '21 19:05 rdahis

Depois de fechar o épico #675, seria legal o @vmussa resolver esse aqui porque aí junto com o #496 a gente arredonda todo o fluxo de dados da BD (!).

rdahis avatar Oct 07 '21 23:10 rdahis

Massa, @rdahis, por mim tá ótimo fazer isso depois do #675. O Dictionary.create seria chamado junto com o Table.create e o Metadata.create - e o mesmo para os publish? Onde o dicionário se materializa atualmente, pra eu ver a cara dele?

vmussa avatar Oct 08 '21 00:10 vmussa

Hoje dicionários são só subidos como tabelas normais. Exemplo: basedosdados.br_me_caged.dicionario.

rdahis avatar Oct 08 '21 00:10 rdahis

Proposta: tornar dicionários um metadado de conjunto, além de uma tabela no BigQuery. https://github.com/basedosdados/website/issues/218

rdahis avatar Feb 15 '22 11:02 rdahis