< Return to Video

EADW CAP05 2024 VA03 MODELAGEM DIMENSIONAL BOAS PRATICAS

  • 0:08 - 0:13
    Modelagem dimensional: as melhores
    práticas e as regras de ouro
  • 0:13 - 0:18
    para que a gente construa
    uma arquitetura precisa e funcional.
  • 0:18 - 0:22
    A gente, agora, vai se atentar
    a alguns fundamentos técnicos
  • 0:22 - 0:27
    para que a sua modelagem seja
    funcional e seja sustentável,
  • 0:27 - 0:30
    para que, à medida que a sua
    empresa vá crescendo,
  • 0:30 - 0:33
    conforme os dados
    vão crescendo junto,
  • 0:33 - 0:37
    eles consigam continuar
    se correlacionando entre si.
  • 0:37 - 0:39
    Então, vamos para a tela
    e eu vou mostrar para vocês
  • 0:39 - 0:42
    quais são essas regras de ouro
  • 0:42 - 0:46
    e como a gente deve construir
    do zero uma modelagem dimensional.
  • 0:46 - 0:51
    Então, olha só, lembra que temos
    aqui a Fato no coração
  • 0:51 - 0:55
    e as dimensões, que são
    as tabelas complementares.
  • 0:55 - 0:59
    Fundamental relembrarmos
    que toda a modelagem dimensional
  • 0:59 - 1:03
    é baseada na linguagem
    não estruturada,
  • 1:03 - 1:06
    então o que a gente entendeu
    no formato de tabela,
  • 1:06 - 1:10
    a gente pode escrever
    de uma forma não estruturada.
  • 1:10 - 1:12
    Então, olha só que importante:
  • 1:12 - 1:18
    nossa tabela Fato sempre vai
    receber a palavra "fato" na frente
  • 1:18 - 1:21
    para identificar
    que ela é uma Fato.
  • 1:21 - 1:24
    Em todas as colunas
    dela vai estar escrito,
  • 1:24 - 1:27
    vão estar identificadas
    como "sk"
  • 1:27 - 1:33
    Todas as dimensões vão
    receber esta seta indicativa
  • 1:33 - 1:38
    mostrando que, aqui, nós
    temos as chaves primárias
  • 1:38 - 1:40
    representadas às vezes
    por aquele pé de galinha,
  • 1:40 - 1:43
    às vezes por esse condensado.
  • 1:43 - 1:48
    E a nossa tabela dimensional
    vai receber essa seta
  • 1:48 - 1:54
    e, aqui, o que era chave primária
    vira chave estrangeira.
  • 1:54 - 1:57
    Então olha só, em uma
    modelagem fato-dimensão,
  • 1:57 - 2:00
    a gente tem as chaves primárias
    e as chaves estrangeiras,
  • 2:00 - 2:03
    sendo correlacionadas entre si.
  • 2:03 - 2:07
    Outro detalhe fundamental:
    "sk" vai indicar
  • 2:07 - 2:11
    que a gente tem
    uma "surrogate key".
  • 2:11 - 2:13
    O que é isso?
  • 2:13 - 2:16
    É uma chave
    que vai demonstrar
  • 2:16 - 2:20
    que todas as informações
    importantes e fundamentais
  • 2:20 - 2:23
    que estão aqui
    na nossa tabela Fato
  • 2:23 - 2:27
    também estão na nossa
    tabela Dimensão.
  • 2:27 - 2:31
    Então, note que todas
    as nossas tabelas Dimensão
  • 2:31 - 2:35
    vão receber a mesma
    identificação, por quê?
  • 2:35 - 2:38
    Porque conforme eu vou
    construindo a minha Fato,
  • 2:38 - 2:44
    eu vou puxar essa informação
    e vou completar essa informação
  • 2:44 - 2:46
    aqui na minha tabela Fato.
  • 2:46 - 2:50
    Então, eu vou ter sempre
    uma linha que vai se conectar
  • 2:50 - 2:56
    da Fato para a Dimensão e, aí, eu
    consigo fazer as famosas joins,
  • 2:56 - 3:01
    eu consigo juntar
    uma informação na outra
  • 3:01 - 3:05
    para formar o desenho estatístico
    dessa minha correlação.
  • 3:05 - 3:11
    Então, "surrogate key" significa
    a chave mais forte da sua tabela,
  • 3:11 - 3:15
    aquela chave que vai se repetir
    tanto na tabela Fato
  • 3:15 - 3:18
    quanto na tabela Dimensão.
  • 3:18 - 3:23
    É através dessa chave que a gente
    consegue linkar as informações
  • 3:23 - 3:26
    e essas informações
    serem replicadas
  • 3:26 - 3:28
    em qualquer funcionamento
    estatístico
  • 3:28 - 3:33
    que você queira atribuir para a sua
    modelagem dimensional.
  • 3:33 - 3:37
    Além disso, existe também
    a chave natural, ou "natural key",
  • 3:37 - 3:39
    como a gente gosta de falar.
  • 3:39 - 3:41
    Então, vamos entender
    onde ela entra.
  • 3:41 - 3:46
    Natural key é fundamental
    para a auditoria dos dados,
  • 3:46 - 3:52
    são aqueles dados que são
    exclusivos de uma entidade,
  • 3:52 - 3:56
    e elas vão servir para
    a rastreabilidade do meu item.
  • 3:56 - 4:01
    Por exemplo, quando a gente
    tem, no cliente, o CPF dele,
  • 4:01 - 4:06
    com certeza esse dado sempre
    vai ser exclusivo desse cliente.
  • 4:06 - 4:12
    Por isso, essa "sk" do cliente vai
    estar vinculada a uma natural key
  • 4:12 - 4:17
    para que esse dado seja rastreável
    ao longo de todo o processo.
  • 4:17 - 4:20
    Então, vamos imaginar
    que esse cliente
  • 4:20 - 4:25
    seja replicado em outras
    modelagens dimensionais.
  • 4:25 - 4:29
    Eu vou ter a certeza que ele
    continua sendo o mesmo cliente
  • 4:29 - 4:34
    por causa da identificação
    natural key, ou "nk".
  • 4:34 - 4:37
    Além dos conceitos
    de surrogate key e natural key,
  • 4:37 - 4:41
    a gente também pode se aprofundar
    no conceito de "smart key".
  • 4:41 - 4:45
    E como o próprio nome já diz,
    é uma chave inteligente,
  • 4:45 - 4:47
    porque ela vai ter
    duas funções:
  • 4:47 - 4:51
    a primeira função é de ser
    uma surrogate key, ou seja,
  • 4:51 - 4:53
    ser uma chave forte
  • 4:53 - 4:58
    que vai vincular e linkar todas
    as entidades nas minhas tabelas,
  • 4:58 - 5:00
    mas ela também vai servir
  • 5:00 - 5:04
    para ordenar e organizar
    as minhas informações.
  • 5:04 - 5:07
    Normalmente, isso acontece
    com informações de data
  • 5:07 - 5:10
    e com informações geográficas.
  • 5:10 - 5:13
    Então, vamos ver aqui
    na nossa tabela esse exemplo:
  • 5:13 - 5:20
    olha só, a smart key normalmente vai
    ser representada por essa setinha,
  • 5:20 - 5:22
    por esse triângulo
    para cima ou para baixo,
  • 5:22 - 5:28
    indicando já que essa tabela,
    além de ter uma surrogate key,
  • 5:28 - 5:32
    também pode ser ordenada
    em um formato crescente
  • 5:32 - 5:34
    ou decrescente.
  • 5:34 - 5:38
    Se eu utilizasse, por exemplo,
    para clientes,
  • 5:38 - 5:42
    eu poderia indicar que eu estou
    escrevendo os meus clientes
  • 5:42 - 5:46
    em forma alfabética
    ou em forma geográfica,
  • 5:46 - 5:51
    eu poderia demonstrar que eu estou
    dividindo esses meus clientes
  • 5:51 - 5:55
    por estado, por cidades,
  • 5:55 - 5:59
    enfim, são informações inteligentes
    que vão estar associadas
  • 5:59 - 6:03
    e que, além de mostrar
    qual é a informação,
  • 6:03 - 6:06
    vai conseguir organizar
    melhor a minha tabela.
  • 6:06 - 6:09
    Além de todas essas
    chaves fundamentais,
  • 6:09 - 6:14
    existe também uma chave que a gente
    chama de "degenerada", por quê?
  • 6:14 - 6:18
    Porque são informações importantes
    para cada departamento,
  • 6:18 - 6:21
    mas que não servem
    para fazer uma métrica,
  • 6:21 - 6:24
    uma modelagem
    estatística disso.
  • 6:24 - 6:28
    Só que elas precisam estar
    contidas na nossa tabela,
  • 6:28 - 6:31
    e aí, a gente identifica isso
    como "dd", "degenerate key".
  • 6:31 - 6:34
    Então, olha aqui,
    por exemplo,
  • 6:34 - 6:38
    eu tenho a minha tabela Fato
    e a minha tabela Dimensão.
  • 6:38 - 6:41
    Dentro da minha
    dimensão "produto",
  • 6:41 - 6:44
    eu vou ter a descrição
    do que é esse produto.
  • 6:44 - 6:46
    Vamos supor, se eu
    tenho uma camisa,
  • 6:46 - 6:50
    eu direi: "Ah, é uma camisa
    verde, do tamanho G,
  • 6:50 - 6:53
    feita do material poliéster" etc.
  • 6:53 - 6:57
    Então, é uma informação que eu
    não vou criar estatística sobre,
  • 6:57 - 7:01
    mas que é importante estar
    contida aqui na minha tabela,
  • 7:01 - 7:04
    nas minhas informações
    complementares.
  • 7:04 - 7:08
    E aí, a gente identifica
    isso, ou classifica isso,
  • 7:08 - 7:10
    como "degenerate key".
  • 7:10 - 7:13
    E a gente pode também, para
    incrementar e complementar,
  • 7:13 - 7:17
    colocar o sufixo "dd".
  • 7:17 - 7:21
    Mas, como é uma informação
    que a gente não vai utilizar
  • 7:21 - 7:23
    nas nossas estatísticas,
  • 7:23 - 7:27
    então estar identificado ou não,
    não faz tanta diferença assim.
  • 7:27 - 7:31
    Outra regra de ouro para que a gente
    construa de forma saudável
  • 7:31 - 7:36
    a nossa modelagem dimensional
    é se atentar no conceito do "5W3H".
  • 7:36 - 7:38
    E o que isso significa?
  • 7:38 - 7:44
    É a tradução para "por que,
    quando, onde, para quem,
  • 7:44 - 7:46
    quantos, qual a quantidade".
  • 7:46 - 7:50
    Todas essas informações
    são interessantes
  • 7:50 - 7:52
    para que você se direcione
  • 7:52 - 7:56
    na construção
    de respostas de negócios.
  • 7:56 - 7:58
    Então, no que você
    deve se atentar?
  • 7:58 - 8:01
    De que as suas tabelas
    Fato e Dimensão
  • 8:01 - 8:04
    têm que conter
    essas respostas.
  • 8:04 - 8:07
    Então, não necessariamente
    você tem que ter sempre
  • 8:07 - 8:09
    todas essas informações,
  • 8:09 - 8:15
    mas quanto mais dessas informações
    você tiver na sua tabela, melhor.
  • 8:15 - 8:19
    Um outro conceito fundamental
    é o conceito de granulometria.
  • 8:19 - 8:21
    Vem exatamente da palavra grãos.
  • 8:21 - 8:23
    Tamanho desses grãos.
  • 8:23 - 8:28
    Então, quanto maior esse dimensionamento,
    menor a minha granulometria.
  • 8:28 - 8:33
    Por exemplo, se a gente medir
    datas, datas, eu posso medir por ano,
  • 8:33 - 8:37
    por semestre, por bimestre, por dias.
  • 8:37 - 8:42
    Então quanto mais refinada for, maior
    é a minha granulometria.
  • 8:43 - 8:45
    Pode ser que para o seu negócio
  • 8:45 - 8:50
    esse diferente grão
    não faça tanta diferença,
  • 8:51 - 8:56
    mas para uma outra pergunta de negócio,
    essa diferenciação seja importante.
  • 8:57 - 8:59
    Então, por exemplo,
    se eu quero identificar
  • 8:59 - 9:02
    qual é o melhor dia
    para lançar uma promoção,
  • 9:03 - 9:06
    eu preciso ter a minha data bem granular.
  • 9:06 - 9:10
    Se eu quero saber qual é o melhor mês,
    eu não preciso do dia,
  • 9:10 - 9:13
    Eu preciso das minhas informações
    agrupadas em mês.
  • 9:14 - 9:16
    Por isso
    esse conceito de granulometria dia.
  • 9:16 - 9:21
    Eu posso ter uma dimensão
    com uma granulometria bastante aguçada,
  • 9:21 - 9:26
    mas para cada modelagem dimensional
    eu vou puxar uma granulometria diferente,
  • 9:26 - 9:31
    Pode ser que no seu negócio
    essa diferença não seja significativa.
  • 9:31 - 9:36
    Por exemplo, se você quiser
    lançar uma promoção para aquele mês,
  • 9:37 - 9:40
    o seu grão tem que ser agrupado por mês.
  • 9:41 - 9:44
    Agora você quer saber o melhor dia
    para você lançar uma promoção?
  • 9:45 - 9:48
    O seu grão tem que ser agrupado por dia,
  • 9:48 - 9:51
    então vai
    de acordo com a pergunta de negócio.
  • 9:51 - 9:56
    O importante é que você tenha uma tabela
    dimensional com todas as datas definidas
  • 9:57 - 10:00
    e para cada modelagem você vai agrupando
  • 10:00 - 10:03
    de acordo com a sua pergunta de negócio.
  • 10:03 - 10:07
    Outro conceito fundamental
    é você entender quais são as dimensões
  • 10:07 - 10:10
    que se alteram lentamente ou rapidamente.
  • 10:10 - 10:14
    Então, por exemplo,
    quando a gente tem data de nascimento,
  • 10:14 - 10:18
    Na verdade,
    o que é sua pergunta de negócio se refere?
  • 10:18 - 10:20
    É sempre a idade.
  • 10:20 - 10:24
    Então a gente pega a data de nascimento
    que faz a transformação
  • 10:24 - 10:27
    e demonstra
    a idade na resposta de negócios.
  • 10:27 - 10:31
    Só que essa idade
    ela vai se alterar ano a ano.
  • 10:31 - 10:34
    Então é uma dimensão
    que se altera lentamente.
  • 10:35 - 10:38
    Um outro exemplo disso é, por exemplo,
    o seu endereço.
  • 10:39 - 10:42
    Você não se muda todo dia,
    então esse endereço
  • 10:42 - 10:45
    também é uma dimensão
    que se altera lentamente.
  • 10:45 - 10:49
    Um exemplo de dimensão
    que se altera rapidamente
  • 10:49 - 10:52
    é a venda de uma venda para outra.
  • 10:52 - 10:53
    Alterou o produto?
  • 10:53 - 10:56
    Então é um dimensão
    que a gente tem que se atentar, porque
  • 10:56 - 10:59
    a cada linha ela vai ter uma interação
  • 10:59 - 11:02
    e uma alteração bastante significativa.
  • 11:03 - 11:04
    E agora, para a gente
  • 11:04 - 11:08
    fechar os nossos conceitos fundamentais
  • 11:08 - 11:12
    para montar uma boa arquitetura
    de dados dimensional
  • 11:12 - 11:17
    e a gente entender mais quatro informações
    importantes,
  • 11:17 - 11:22
    A primeira delas é a junk
    dimensional de lixo, que significa?
  • 11:23 - 11:26
    São informações que você precisa ter,
  • 11:26 - 11:29
    mas são informações estruturais
    do seu modelo.
  • 11:29 - 11:33
    São informações que muito raramente
  • 11:33 - 11:36
    o departamento de Analytics vai utilizar.
  • 11:36 - 11:40
    Só que é fundamental para que você não
    esqueça como seu modelo foi organizado.
  • 11:41 - 11:44
    Então você além de criar a sua modelagem
    tradicional,
  • 11:44 - 11:48
    você vai criar uma outra tabela
    para indicar todas essas estruturas
  • 11:48 - 11:53
    e vai ser como um guia,
    como um dicionário para sua modelagem.
  • 11:53 - 11:56
    Outro conceito é o conceito de Al Tigre.
  • 11:57 - 11:59
    Toda vez que você incrementa
  • 11:59 - 12:02
    uma dimensão, uma granulometria,
  • 12:03 - 12:05
    você está criando uma tabela denominada
  • 12:05 - 12:08
    como o tigre, por exemplo,
    quando você tem datas
  • 12:09 - 12:15
    e aí você organiza essas datas
    de forma anual ou diária, ou semestral,
  • 12:15 - 12:19
    Cada uma dessas formas
    ela é classificada como al Tigres.
  • 12:20 - 12:23
    Não vai interferir em nada,
    mas é um conceito interessante
  • 12:24 - 12:29
    para você ter elas já reservado
    para quando você criar a sua modelagem
  • 12:29 - 12:35
    específica para aquele departamento,
    você já tem essa tabela dimensional
  • 12:35 - 12:39
    separada
    e pronto para montar naquela modelagem.
  • 12:39 - 12:42
    Outro conceito fundamental
    é o conceito de role playing.
  • 12:43 - 12:46
    Normalmente a gente
    não sai comentando sobre isso,
  • 12:46 - 12:49
    só que ele é um conceito
    que vai te ajudar na estrutura.
  • 12:50 - 12:55
    São tabelas que vão servir para diversos
    modelos dimensionais que você cria.
  • 12:56 - 12:59
    Então,
    quando você tem uma base de endereços
  • 12:59 - 13:02
    e você vincula essa
    base de endereços a um ID,
  • 13:03 - 13:04
    o que você vai fazer?
  • 13:04 - 13:08
    Essa base de endereços
    vai servir para diversos modelos
  • 13:09 - 13:12
    e em cada modelo
    você vai puxar apenas e de.
  • 13:13 - 13:16
    Esse é dia
    sempre puxado pela sua corrente que.
  • 13:16 - 13:20
    Então esse conceito de playing
    é muito interessante
  • 13:21 - 13:24
    porque você já vai
    construindo tabelas dimensionais
  • 13:24 - 13:29
    que vai servir para o apoio
    de diversas modelagens.
  • 13:29 - 13:31
    Isso facilita muito o seu trabalho.
  • 13:31 - 13:35
    A medida que você estiver criando
    novas modelagens para o seu negócio.
  • 13:36 - 13:42
    E para finalizar, o conceito de bridge
    table, ou seja, tabela ponte.
  • 13:42 - 13:43
    O que é isso?
  • 13:43 - 13:46
    Novamente,
    naquele formato de granulometria,
  • 13:46 - 13:50
    a medida que eu
    tenho que utilizar informações de tabelas
  • 13:50 - 13:56
    diferentes, de agrupamentos diferentes,
    eu chamo isso de ponte.
  • 13:56 - 13:57
    Por quê?
  • 13:57 - 14:00
    Porque dentro da minha tabela ano
  • 14:01 - 14:04
    eu vou ter o ano,
    vou ter o semestre, bimestre o dia.
  • 14:05 - 14:10
    E aí ao invés de eu puxar a informação
    semestral que não vai ser importante,
  • 14:10 - 14:14
    eu pingo essa informação
    e pego somente a informação diária
  • 14:14 - 14:16
    para construir o meu modelo.
  • 14:16 - 14:21
    Agora você está pronto para construir
    modelagens dimensionais
  • 14:21 - 14:26
    de forma saudável, assertiva
    e que vai perdurar ao longo do tempo.
Title:
EADW CAP05 2024 VA03 MODELAGEM DIMENSIONAL BOAS PRATICAS
Video Language:
Portuguese, Brazilian
Duration:
14:30

Portuguese, Brazilian subtitles

Incomplete

Revisions Compare revisions