< 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:38
    Além do conceito de surra, gente
    que é natural que a gente também pode
  • 4:38 - 4:43
    se aprofundar no conceito de smart,
    que é como o próprio nome já diz,
  • 4:43 - 4:47
    é uma chave inteligente,
    porque ela vai ter duas funções.
  • 4:47 - 4:53
    A primeira função é de ser uma sockets,
    que eu seja ser uma chave forte
  • 4:53 - 4:58
    que vai vincular e linkar
    todas as entidades nas minhas tabelas.
  • 4:58 - 5:04
    Mas ela também vai servir para ordenar
    e organizar as minhas informações.
  • 5:04 - 5:09
    Normalmente isso acontece
    com informações de data e com informações
  • 5:09 - 5:12
    geográficas, então vamos ver aqui
    na nossa tabela esse exemplo.
  • 5:13 - 5:16
    Olha só a Smart que ela normalmente
  • 5:16 - 5:21
    vai ser representada por esse,
    por essa setinha, por esse triângulo
  • 5:21 - 5:28
    para cima ou para baixo, indicando
    já que essa tabela além de ter uma surra,
  • 5:28 - 5:31
    alguém que ela também pode ser ordenada
  • 5:31 - 5:34
    num formato crescente ou decrescente.
  • 5:34 - 5:39
    Se eu utilizasse, por exemplo,
    para clientes, eu poderia estar
  • 5:39 - 5:43
    indicando que eu estou escrevendo
    os meus clientes em forma.
  • 5:43 - 5:48
    A Alphabet Dica ou em forma geográfica,
    eu poderia estar demonstrando que eu estou
  • 5:48 - 5:54
    dividindo esses meus clientes por estado,
    por cidades.
  • 5:55 - 5:59
    Enfim, são informações inteligentes
    que vão estar associadas
  • 5:59 - 6:02
    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:13
    existe também uma chave
    que a gente chama de degenerada.
  • 6:13 - 6:14
    Por quê?
  • 6:14 - 6:18
    Porque são informações importantes
    para cada departamento.
  • 6:18 - 6:23
    Acho que elas não servem para fazer
    uma métrica, uma modelagem estatística
  • 6:23 - 6:24
    disso.
  • 6:24 - 6:27
    Só que elas precisam estar contidas
    na nossa tabela.
  • 6:28 - 6:32
    E aí a gente identifica isso
    como DDD Generation, que então olha aqui.
  • 6:33 - 6:38
    Por exemplo, 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:45
    Vamos, força!
  • 6:45 - 6:49
    Tem uma camisa, Você está dizendo Ah,
    é uma camisa verde do tamanho G,
  • 6:50 - 6:53
    feita de material poliéster e etc.
  • 6:53 - 6:57
    Então é uma informação que eu
    não vou criar a estatística sobre ela,
  • 6:57 - 7:00
    mas que é importante, está contida aqui
  • 7:00 - 7:03
    na minha tabela,
    nas minhas informações complementares.
  • 7:04 - 7:07
    E aí a gente identifica isso
    ou classifica isso
  • 7:08 - 7:11
    como desde inerente que é,
    a gente pode também
  • 7:11 - 7:16
    para incrementar
    e complementar e colocar o sufixo aqui.
  • 7:16 - 7:19
    DD Mas como é uma informação que a gente
  • 7:20 - 7:23
    não vai utilizar 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:33
    a nossa modelagem dimensional
  • 7:33 - 7:38
    e se atentar no conceito do 5W3HO
    e o que isso significa?
  • 7:38 - 7:40
    É a tradução para.
  • 7:40 - 7:42
    Que Quando? Onde?
  • 7:42 - 7:44
    Para Quem?
  • 7:44 - 7:46
    Quantos? Qual a quantidade?
  • 7:46 - 7:48
    Todas essas informações.
  • 7:48 - 7:52
    Elas são interessantes
    para que você se direcione
  • 7:52 - 7:56
    na construção de respostas de negócios.
  • 7:56 - 8:01
    Então, o que você deve se atentar
    de que só as duas tabelas, fato e dimensão
  • 8:01 - 8:04
    têm que conter essas respostas,
  • 8:04 - 8:09
    Então não necessariamente você tem que ter
    sempre todas essas informações,
  • 8:09 - 8:14
    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