01 · O que fazemos
Dados e infraestrutura cloud
Pipelines, warehouses, e a cloud em que correm, para que os números desta manhã venham da carga de ontem à noite.
Construímos o caminho da fonte ao warehouse ao dashboard: ingestão, agendamento, reprocessamento, e o alerta que chama uma pessoa quando uma carga chega tarde, vazia ou duplicada.
O que isto cobre
Pipelines e integrações de dados
Ingestão com transformações, backfills e tentativas, e cargas que se voltam a correr a partir de um ponto na história sem duplicar os dados.
Data warehouses
Desenho de warehouse em BigQuery, Postgres e a cloud à volta, com particionamento e o custo de um scan tratados como input de desenho.
Infraestrutura de relatórios e BI
As tabelas e vistas que os relatórios consultam, no mesmo repositório que o pipeline.
Migração e configuração de cloud
Contas, IAM, rede, e o primeiro ambiente de produção, na vossa cloud, em vosso nome.
Monitorização e alertas
A verificação que chama uma pessoa quando uma carga chega tarde, vazia ou duplicada.
Backups e recuperação
Backups que já foram restaurados pelo menos uma vez, e um caminho escrito para o voltar a fazer.
Entregáveis
Pipelines no vosso repositório
Ingestão, transformações e backfills, re-executáveis a partir de um ponto no histórico.
Um warehouse com donos
Tabelas com granularidade documentada e um dono identificado.
Verificações que notificam um engenheiro
Atrasado, vazio, duplicado ou acima do orçamento, cada uma com runbook.
Tempo e custo por job
Registados a cada execução, para uma regressão aparecer como número.
Um restauro que já viram
O caminho de backup exercitado e cronometrado durante o trabalho.
Exemplo
Exemplo · infraestrutura de dados
Pipelines de telecomunicações à escala nacional
Uma camada de transformação que corria em SQL escrito à mão, substituída por queries geradas e um orquestrador. O tempo de execução caiu cerca de 85 por cento.
Os dados de origem estavam no GCP e no BigQuery, à escala nacional de telecomunicações. A camada de transformação era um conjunto de jobs SQL corridos à mão. Uma falha significava uma pessoa a voltar a correr um passo; o tempo de execução era a restrição à espera da qual o resto da plataforma ficava.
Particionamento e paralelização fizeram parte da mesma mudança. As cargas passaram a poder voltar a correr. Fonte, warehouse e as tabelas que os relatórios consultavam ficaram um só sistema.
A stack era Python, SQL, GCP e BigQuery. O tempo de execução saiu do mesmo job, antes da mudança e depois dela.