DataLakes & DataWarehouses: Como eles são usados em SEO
Publicados: 2021-02-16Embora os conceitos de DataWarehouses e DataLakes tenham se tornado parte da linguagem cotidiana de Analistas de Dados e Cientistas de Dados há muito tempo, só ouvimos falar deles em outros setores nos últimos anos.
Por exemplo, analistas da web e especialistas em SEO estão começando a olhar seriamente para esses conceitos, devido à natureza de seus trabalhos e à forte conexão que existe entre o que fazem e a manipulação de dados. Muitos artigos recentes falam sobre o interesse de implementar um SEO DataLake ou um SEO DataWarehouse, tratando os dois termos como intercambiáveis e sem fazer distinção entre os dois.
Neste artigo, vamos orientá-lo na determinação das diferenças entre DataLakes e DataWarehouses para entender seus propósitos e seus casos de uso em SEO e análise da web.
DataWarehouse: armazém estruturado para dados
O primeiro uso do termo “DataWarehouse” remonta a 1988 em um artigo de Paul Murphy e Barry Delvin, An architecture for a business and information systems . Este artigo nos dá uma primeira definição do conceito como um ambiente de banco de dados relacional de fácil acesso, reunindo todos os dados de negócios úteis para a tomada de decisões estratégicas.
O que contém um DataWarehouse?
O DataWarehouse é utilizado para reunir em um único local os dados de negócios úteis para a tomada de decisões estratégicas da empresa. Estamos falando de dados comerciais que podem abranger desde dados de clientes, informações de inventário, até conversões em um site comercial ou visitas orgânicas (de um mecanismo de pesquisa como o Google, por exemplo).
É comumente aceito que os dados enviados para um DataWarehouse são dados estruturados e pré-processados usados para descarregar bancos de dados operacionais, o que, em última análise, permite que esses bancos de dados operacionais sejam solicitados o mínimo possível para fins de consulta.
O principal objetivo de um DataWarehouse e daqueles que o administram é compilar dados de várias fontes heterogêneas (tanto internas quanto externas) para padronizá-los para que as várias fontes possam se comunicar entre si. O objetivo final é usar esses dados para realizar análises, relatórios, suporte à tomada de decisões, etc.
Quem são os usuários diários de um DataWarehouse?
Devido à natureza do DataWarehouse e ao formato e tipo de dados que ele contém, é um playground ideal para analistas de dados e web.
O Data Analysts trabalha junto com o administrador do DataWarehouse (ou equipe de administração). Eles definem as necessidades de negócios e os casos de uso. Eles identificam as fontes de dados e as ações necessárias para processar os dados upstream. Esses dados serão então usados pelos Analistas de Dados no final da cadeia.
Como os usuários se comunicam com um DataWarehouse?
Uma vez que as fontes de dados tenham sido identificadas e os dados processados, ingeridos e vinculados no DataWarehouse, o Analista de Dados pode usar esses dados em análises e para criar novas combinações de dados. Esse processo pode ser usado para manter painéis de relatórios, painéis de alertas, etc.
A linguagem de programação mais comumente usada para consulta em um DataWarehouse é SQL (ou linguagens semelhantes a SQL). O SQL permite que Analistas de Dados manipulem e processem dados para atender às necessidades do negócio: monitoramento, tomada de decisões estratégicas, etc.
Quais casos de uso e tipos de projeto os DataWarehouses atendem?
É impossível elaborar uma lista exaustiva de casos de uso envolvendo o uso de um DataWarehouse. No entanto, aqui estão alguns exemplos de projetos nos quais um analista de dados provavelmente trabalhará:
Melhoria de um DataWarehouse:
Esse tipo de projeto é frequentemente encontrado ao configurar um DataWarehouse, mas também quando uma nova necessidade ou caso de uso de negócios é identificado.
Trata-se aqui de adicionar novos dados a um DWH (de novo, podem ser dados internos ou externos).
Neste caso, muitas vezes falamos de um processo ETL (Extraction-Transformation-Loading):
- Extração:
Um primeiro passo consiste na identificação e recolha de dados das várias fontes necessárias para as operações posteriores. - Transformação:
Esta segunda etapa é muito importante, pois sem ajuste, sem padronização, geralmente é impossível utilizar novos dados e fazê-los se comunicar com os já existentes no DWH.
Trata-se, portanto, de uma fase de padronização necessária que às vezes pode ser complicada pela rigidez imposta pelo DWH em termos de formatação e esquema de tabelas. - Carregando:
Fase de ingestão dos dados processados (e assim estruturados) no DWH.
Realização de análises estatísticas:
Este é um uso muito frequente de DWHs. O objetivo pode ser provar X ou Y através dos dados, produzir estatísticas com base nos dados históricos disponíveis ou estabelecer ligações causais para explicar uma descoberta, etc.
Relatórios e alertas:
Este é, mais uma vez, um caso de uso muito frequente. Na verdade, como os dados em um DWH são altamente estruturados e formatados (compartilhando um esquema fixo e predefinido), tudo é adequado para enviar dados para relatórios ou painéis de alerta.
Essa é uma solicitação recorrente da alta direção, que precisa acompanhar as equipes operacionais e a saúde dos resultados, vendas etc. da forma mais simples e rápida possível.
Se resumirmos tudo isso, temos mais ou menos 2 tipos de projetos: projetos de aquisição e integração de dados (que também podem ser comparados a uma forma de armazenamento e histórico de dados) e projetos de análise e avaliação de dados (através de monitoramento/dashboard e alertas ).
O conceito de DWH está presente na linguagem cotidiana de quem trabalha com dados há muito tempo. Como funciona e seus inúmeros casos de uso já foram confirmados há muito tempo, e os DWHs podem ser encontrados em muitas empresas de maturidade variável em questões de gerenciamento de dados.
Este é menos o caso do conceito de DataLakes, que é muito mais jovem e muito menos difundido.
Dados de rastreamento³
DataLake: lago de megadados (BigData)
A origem deste conceito é atribuída a James Dixon, CTO da Penthao, que o define como uma solução para armazenamento e exploração de grandes volumes de dados, sem pré-processamento e sem necessariamente um caso de uso específico... Diferentemente dos DWHs, que são muito orientados para a ativação imediata.
O DL tenta preencher a lacuna, cada vez mais importante com o surgimento do BigData, do que fazer com toda essa massa de dados que hoje podemos coletar e como aproveitá-la.
O que contém um DataLake?
Começo citando James Dixon que usa uma comparação muito sugestiva, servindo tanto de explicação para o nome “lago” de seu conceito quanto de diferenciação com o DWH:
“Se você pensar em um datamart como um depósito de água engarrafada – limpa, embalada e estruturada para fácil consumo – o data lake é um grande corpo de água em um estado mais natural. O conteúdo do lago de dados flui de uma fonte para preencher o lago, e vários usuários do lago podem examinar, mergulhar ou coletar amostras.”
Essa citação ilustra perfeitamente a diferença entre o tipo de dado contido em um DWH, que é estruturado e organizado em tabelas com padrões precisos e fixos, e o tipo de dado contido em um DataLake, que é bruto, sem processamento prévio, disponível para amostras conforme necessário, sejam exploratórias ou não.
Onde um DWH é restrito para acomodar dados estruturados, o DataLake é feito para armazenar todos os tipos de dados brutos (estruturados ou não). Um debate entre Tamara Dull (Amazon Web Service) e Anne Buff (Microsoft SAS) nos dá uma visão um pouco mais concreta do conteúdo de um DataLake:
“Um data lake é um repositório de armazenamento que contém uma grande quantidade de dados brutos em seu formato nativo, incluindo dados estruturados, semiestruturados e não estruturados. A estrutura de dados e os requisitos não são definidos até que os dados sejam necessários.”
Quem são os usuários diários do DataLakes?
Onde um analista de dados era perfeitamente adequado para trabalhar com os dados estruturados contidos em um DHW, os dados brutos são a especialidade dos cientistas de dados, que geralmente estão mais bem equipados para manipular esse tipo de dados.
Essa mudança no perfil de dados e no usuário principal também resulta em diferentes linguagens de programação e casos de uso.
Quais casos de uso e tipos de projeto o DataLakes atende?
Devido à sua natureza não estruturada e ao volume considerável de dados que um DataLake pode conter, os casos de uso podem ser muito diferentes daqueles encontrados anteriormente no framework DWH, por exemplo:
- A implementação de algoritmos de aprendizado de máquina para criar valor agregado para BigData:
Costumamos falar aqui sobre análise preditiva, baseada em algoritmos de aprendizado de máquina que exploram todos os tipos de dados.
Para dar um exemplo mais concreto, vamos imaginar que uma empresa do setor financeiro (bancos e seguros) queira determinar a probabilidade de uma transação financeira X ser fraudulenta. Isso pode recorrer a Cientistas de Dados, capazes de criar algoritmos de aprendizado de máquina que treinarão a quantidade astronômica de dados contidos no DataLake (quantidade, data, frequência, perfil usual de transações realizadas pelo titular da conta etc.). O objetivo é realizar um estudo preditivo que será utilizado para identificar transações potencialmente fraudulentas e, assim, permitir que a empresa reduza seu tempo de reação em detectá-las e, em última análise, evitar grandes prejuízos para ela e seus clientes.
Este é um exemplo simples que é usado regularmente para ilustrar o interesse e o valor agregado do aprendizado de máquina, mas existem muitos outros, como você pode imaginar. - DataLakes como fonte de dados para um DataWarehouse:
Muito simplesmente, um DataLake pode atuar como uma zona de trânsito entre suas várias fontes de dados internas e externas e seu DWH. O próprio princípio de um DataLake é centralizar todo tipo de dados, estruturados ou não estruturados, para realizar estudos preditivos via ML, ou para extração como amostras para análise. O DWH, portanto, parece muito adequado para esta segunda categoria de projeto e se beneficia de um DataLake como fonte potencial (desde que os dados do DataLake sejam importados de forma estruturada via pré-processamento, se necessário). - Do DataLake ao software de BI (Business Intelligence):
Podemos ver isso como um uso semelhante ao que vimos com DataWarehouses, embora existam certas especificidades em usar um DataLake para esse fim. Um DataLake permitirá que você faça visualizações um pouco mais exóticas (devido à variedade de dados que contém), por meio de ferramentas como Tableau, Qlikview, Google Data Studio, Microstrategy, etc.
Como os usuários se comunicam com um DataLake?
Dados os casos de uso e usuários (Cientistas de Dados), muitas vezes encontraremos linguagens de programação como Python, Java, R, Scala, etc…
Em sua maioria, essas linguagens estão presentes no campo da ciência de dados há muito tempo.
Um DataLake é, portanto, uma ferramenta para gerenciar BigData. Ele se baseia no armazenamento massivo de dados brutos para fins avançados de análise e visualização, permitindo assim o aprimoramento de dados que antes não eram muito utilizados.
Para resumir, aqui está uma tabela dos elementos diferenciadores estabelecidos desde o início deste artigo:
Armazém de dados | DataLake | |
---|---|---|
Tipo de dados | Dados estruturados, pré-processados, organizados em tabelas com esquemas definidos | Dados brutos, armazenados de forma estruturada ou não estruturada |
Usuários | Analistas de dados, analistas da Web | Cientistas de dados (às vezes analistas de dados) |
Volume de dados | Pequeno grande (Dependendo da necessidade e caso de uso) | Potencialmente muito grande (Big Data) |
Linguagem de programação usada | SQL ou semelhante a SQL | Python, R, Java, Scala, entre outros |
Tipo de projeto | Projetos analíticos e estatísticos, relatórios, alertas, projetos do tipo ELT (exportar, transformar, carregar), algumas análises preditivas e orientadas por dados | Análise preditiva, aprendizado de máquina, zona de trânsito entre fontes de dados e DWH, visualização avançada – BI, análise orientada por dados |
Análise preditiva, aprendizado de máquina, zona de trânsito entre fontes de dados e DWH, visualização avançada – BI, análise orientada por dados
São essas diferenças que tornam esses dois conceitos ferramentas complementares. Em muitos casos, dependendo da maturidade da governança e do gerenciamento de dados de uma empresa, ela pode contar com uma combinação dessas duas ferramentas.
Um DWH é usado principalmente para relatórios e análises tradicionais, enquanto um DataLake serve como fonte de dados antes de atingir todo o seu potencial à medida que a empresa se aproxima da maturidade em assuntos de dados.
Na minha opinião, os DataLakes são mais uma resposta às novas questões de dados do século XXI, especialmente com o surgimento do BigData e o aumento da capacidade das empresas de coletar dados, do que um substituto para os DWHs, como alguns podem pensar.
Ambos têm suas vantagens, desvantagens, pontos fortes e fracos. A melhor maneira de tirar o máximo proveito de ambos ainda é usá-los juntos para poder lidar com qualquer eventualidade e atender a uma maior variedade de necessidades.
Agora que definimos claramente os conceitos, vamos finalmente nos concentrar no uso de DataWarehouses e DataLakes para marketing e mais especificamente para SEO (mesmo que em muitos casos, o que é verdade para o primeiro será verdade para o segundo, e vice-versa vice-versa).
DataWarehouse e DataLake SEO
Falaremos aqui de um DataWarehouse ou um DataLake (ou ambos) onde pelo menos parte dos dados presentes podem ser usados para casos de uso de SEO.
Por que associar DataLakes e DataWarehouses com Marketing e SEO?
O SEO (e, de forma mais geral, o marketing) já deu uma guinada muito marcante em relação aos dados nos últimos anos. Cada vez mais tarefas exigem o uso de várias fontes de dados:
- Dados analíticos (Google Analytics, AT internet, etc.)
- Dados de desempenho (Google Search Console, Analytics)
- Dados de log, uma “fonte” de dados muito grande para alguns sites, que requer uma alta frequência de atualização e uma grande capacidade de armazenamento.
- Dados de netlinking (Majestic, Ahrefs, Babbar)
- Dados de posicionamento (SEMRush, Monitorank, etc.)
- Dados de rastreamento (OnCrawl etc.)
- Às vezes, dados de negócios/indústria também
A esta lista devemos acrescentar também o uso de APIs de ferramentas como Search Console, Majestic, Google Analytics por exemplo, o que naturalmente nos empurra para o tipo de soluções descritas anteriormente neste artigo.
É essa forte conexão entre SEO e dados que leva cada vez mais analistas da Web e especialistas em SEO a aprender sobre novas maneiras de organizar seu pipeline de dados.
No entanto, os impulsionadores dessa transição não são apenas o potencial e a interconectividade de SEO e dados. Muitos casos de uso diário ressoam com os tipos de projeto listados acima para DWHs e DLs.
Os casos de uso de um SEO DataWarehouse ou um SEO DataLake.
Vou começar pelos pontos problemáticos comumente encontrados pelos especialistas em SEO antes de explicar como o uso de um DataLake ou um DataWarehouse é uma resposta a ser considerada ao abordá-los.
Entre os principais pontos de dor, destacam-se:
- A multiplicação de arquivos do Excel (o papel de folha solta da nossa década) e o copiar e colar associado:
Para muitos SEO isso ainda é a norma, mas sejamos honestos, é demorado, restritivo e muito propício ao erro humano. Para isso, um DataWarehouse é uma solução perfeita. Os DataWarehouses não só permitem que todos os KPIs necessários para realizar esta ou aquela auditoria/análise sejam coletados das várias fontes de dados disponíveis, mas também permitem que o processamento necessário para alcançar o resultado esperado seja automatizado.
À medida que um DataWarehouse é construído, mais e mais casos de uso são identificados e mais e mais problemas são resolvidos, levando a uma economia de tempo cada vez mais significativa ao longo do tempo. - Limites de capacidade (como lembrete, o Excel só pode abrir um arquivo inteiro se não exceder 1.048.576 linhas. Isso parece muito, mas na verdade não é tanto nos volumes de hoje): Não há realmente nenhum caso de uso específico aqui, porque em em geral, tanto DataLakes quanto DataWarehouses não sofrem com esse tipo de limite. Ambos oferecem meios para solicitar grandes volumes de dados para qualquer tipo de necessidade. Para este caso específico, é importante ter em mente que, dependendo da necessidade, um ou outro permitirá que você se liberte dos limites de capacidade e, em última análise, atenda a essas situações com mais facilidade.
- Responda a uma necessidade de histórico de dados
Spoiler: um dos casos de uso pode ser, por exemplo, salvar um histórico dos dados do Google Search Console em um SEO DataWarehouse, em vez de copiar e paginar seus dados em um Google Sheets toda semana para manter um painel do Data Studio. Na minha opinião, temos aqui um dos casos de uso mais comuns entre SEO Experts, seja em agências ou in-house: o histórico de dados. De fato, muitos analistas de SEO analisam dados históricos e tiram conclusões a partir deles.
O exemplo que pode ter vindo diretamente à sua mente é o caso do Google Search Console. Ele só fornece acesso a 16 meses de história hoje (mesmo via API). E se uma lista de pendências manual continuar sendo possível por meio de exportações a serem coladas no Planilhas Google toda semana (ou outros métodos obscuros), é uma perda de tempo considerável, além de ser doloroso e chato.
Isso é bom porque é um problema relativamente simples de resolver com um DataWarehouse. Tudo o que você precisa fazer é configurar uma conexão automática com a API do Google Search Console, definir as várias combinações possíveis de pré-processamento e dados necessárias para obter dados com valor agregado real e, finalmente, automatizar as chamadas da API. - O desejo de levar as análises adiante, de mesclar ou “analisar cruzadamente” dados de rastreamento, dados de audiência, logs etc. de maneira industrializada.
Porque uma pequena vantagem competitiva nunca é demais. As descrições que demos de um DataWarehouse e um DataLake falam por si aqui. Um dos principais objetivos de ambas as ferramentas é abrir novas possibilidades de análise, por meio de coleta de dados e análise cruzada e/ou aprendizado de máquina.
Para citar apenas um exemplo muito representativo; o uso de algoritmos de aprendizado de máquina, como Random Forest ou XG-Boost, para fazer previsões de classificação no Google.
Muito simplesmente, a ideia é treinar um algoritmo em um grande número de SERPs do Google (páginas de resultados) e todas as métricas de SEO colhidas para essas SERPs para determinar, com base nessas mesmas métricas, o potencial de classificação de uma determinada URL (e portanto, ainda mais particularmente, para determinar as métricas mais importantes para classificar em um determinado setor/tema).
→ Você encontrará a metodologia completa no artigo de Vincent Terrasi, Diretor de Produto da Oncrawl, “Successfully predicting Google rankings at the cut edge of data science” , 2018. - O desejo de automatizar os relatórios o máximo possível, a fim de se concentrar em tarefas de alto valor agregado. Novamente, isso se enquadra literalmente nos casos de uso clássicos de um DataWarehouse. Oferece a possibilidade de automatizar toda a recuperação e processamento das várias fontes de dados e trata perfeitamente desse ponto problemático. Uma vez configurada, uma tabela será automaticamente alimentada no DWH e poderá ser usada como uma conexão ao software de BI para dashboarding, seja para monitoramento, alerta, etc. Claro que a automação não se limita apenas a relatórios de projetos. Tanto um DWH quanto um DL podem ser usados para muitas otimizações automatizadas de SEO. Por exemplo, atualizações dinâmicas para blocos de links internos na classificação, no orçamento de rastreamento, no público de SEO etc. (todos os dados contidos no DWH).
- O desejo de acabar de uma vez por todas com as preocupações de segurança (sabemos quem fez o quê e onde encontrá-las) e evitar perder tempo com manutenção.
Tanto os DataLakes como os DataWarehouses implicam a implementação de processos particulares que podem ser apresentados da seguinte forma simplificada:- O ponto de partida é uma observação que se desdobra numa declaração de necessidades (equipe de negócio/SEO – Analista de Dados).
- Então, isso é transformado em uma especificação mais técnica que permitirá à equipe que administra a ferramenta entender o que precisa ser feito e como precisa ser feito.
- Essa mesma equipe de administração realiza a solicitação.
- A equipe de negócios e os analistas de dados produzem um caso de uso processual para o trabalho realizado.
- Existe um processo contínuo em que as duas pontas da cadeia (equipe de negócios e equipe de administração do DataWarehouse ou DataLake) garantem que nada mude em termos de entrada e saída.
Este é particularmente o caso de um DWH, que rejeitará quaisquer dados que não façam parte da estrutura (o esquema pré-definido).
Novamente, esta é uma lista não exaustiva de pontos problemáticos e possíveis casos de uso para DataWarehouse – DataLake SEO. Os limites são encontrados mais pela falta de imaginação de quem os utiliza do que nas próprias ferramentas.
Escolhendo um DataWarehouse ou DataLake para seus usos de SEO
Para concluir, ao contrário do que muitas vezes você pode ouvir ou ler, DataWarehouses e DataLakes são estruturas separadas para armazenamento e coleta de dados, e não são incompatíveis. Não há necessidade de escolher um sobre o outro, muito pelo contrário. Ambos têm casos de uso diferentes e existem até algumas adesões.
O caso do SEO é um exemplo revelador, e reforça a necessidade de DataWarehouses e DataLakes em geral. Os dados são onipresentes em SEO: temos que manipular grandes quantidades de dados de diferentes fontes. Portanto, não é de surpreender que falemos sobre DataWarehouses e DataLakes neste contexto. Podemos imaginar muitos casos de uso de DataWarehouses ou DataLakes em SEO, seja para fins de automação, para realizar análises “aumentadas” por meio de dados ou simplesmente para resolver problemas recorrentes (pontos problemáticos).