Por que particionar o dado? Aliás, você guarda meias e camisetas na mesma gaveta?

Andre Luis Florencio da Silva
OPANehtech
Published in
3 min readOct 13, 2021

Antes de iniciar, já vou confessar que dei um Google para saber qual porque usar na frase do título (porque? por que? por quê? porquê? pq?), mas não é sobre isso que vamos falar.

Vamos falar sobre a importância de particionar um dado especificamente dentro do data lake e como fazemos essa partição.

Vamos abordar os seguintes pontos:
1. O que é de fato a partição.
2. Qual estratégia adotamos para as nossas partições

O que é uma partição?

Gavetas vazias

Imagine que seus dados sejam roupas e as gavetas partições. Se você costuma guardar camisetas e meias na mesma gaveta, vai ter um pouquinho mais de trabalho quando quiser pegar 1 meia nova pra sair. Dúvida, vocês também tem roupa de sair e roupa de ficar em casa? rs.

Agora se tiver 1 gaveta para camisetas e outra para meias, quando precisar pegar uma meia já fica muito mais fácil né?

Mesmo conceito para o armazenamento dos dados no lake — lake, para os íntimos — A organização do dado é fundamental para um melhor consumo do dado e as vezes acaba sendo transparente para quem está usando, mas precisa existir.

Estratégia para Particionamento

Nada de estratégia Marie Kondo, que é abraçou, se trouxe felicidade fica, se não, manda embora. Aqui é um pouco diferente, rs

Desculpa se fui cringe com Marie Kondo… bom já que estamos falando sobre ela, tem até série no Netflix

A pergunta que precisa ser respondida é simples, como este dado será consumido? As pessoas geralmente querem saber de uma data especifica? Campo especifico?

Exemplo 1, possuímos dados de campanhas de marketing e o time sempre quer saber por dia o resultado da campanha, portanto faz sentido ter 1 gaveta (partição) para cada dia.

Exemplo 2, possuímos dados de campanhas de marketing e o time sempre quer saber por campanha o resultado independente do dia, portanto faz sentido ter 1 gaveta (partição) para cada campanha.

Bonus você também pode combinar partições e existe um nivel mais um pouco avançado que é bucketing, mas não vamos abordar por hoje. Você pode ler um comparativo legal, aqui.

Finalizando…

Quanto mais organizado seus dados estiver e da maneira correta, menos tempo procurando e mais barato fica

Quanto menos organizado seus dados estiverem e de uma maneira não tão correta, mais tempo procurando e mais caro fica.

Ahhh antes que eu me esqueça, algumas soluções cobram por dados pesquisados durante uma consulta (SELECT * FROM…), então amiguinho já sabe, né? Bora arrumaaaar essas gavetaaas!

--

--