- Resolve a complexidade e a lentidão do desenvolvimento tradicional de backends de dados, permitindo criar rapidamente backends analíticos com TypeScript ou Python
- Inclui uma stack padrão (ClickHouse, Redpanda, Temporal) e há planos de expansão futura para várias plataformas de nuvem
- Simplifica o desenvolvimento local, com testes rápidos e hot reload imediato
- É adequado para a criação de diversos aplicativos intensivos em dados, podendo ser usado para análise em tempo real, migração de dados, streaming de eventos e mais
Moose
- Moose é um framework que permite criar backends analíticos usando apenas código TypeScript ou Python
- Existe para resolver o problema de lentidão e complexidade das ferramentas tradicionais de desenvolvimento de backends de dados
-
Problemas de criar um backend analítico com as ferramentas atuais
- Problema de ferramentas dispersas
Muito tempo é gasto integrando inúmeros serviços como Kafka, ClickHouse, Postgres, dbt e Airflow
- Problema de incompatibilidade de schema
Modelos de código, schemas de banco de dados, validação de API e formatos de mensagem acabam se desencontrando com o tempo
- Dificuldades no fluxo de desenvolvimento
A ausência de testes locais, ciclos longos de deploy e trocas frequentes de contexto reduzem a produtividade do desenvolvimento
- Processamento apenas com SQL
Há o incômodo de ter que usar somente SQL em vez de linguagens de programação mais familiares
-
Problemas ao construir tudo manualmente
- Mesmo para adicionar um campo simples, é preciso fazer manualmente todo o trabalho abaixo
- Modificar os modelos de código em TypeScript/Python
- Alterar o schema do banco de dados
- Atualizar os tópicos do Kafka
- Atualizar a validação em runtime
- Atualizar transformações e consultas
- Leva muito tempo e esforço testar cada mudança com segurança, todas as vezes
Como o Moose resolve isso
-
O que o Moose oferece
- O próprio código em TypeScript ou Python atua como fonte única de verdade para a lógica da aplicação de dados e a infraestrutura
- Com base no código, ele garante o seguinte
- Segurança total de tipos e validação
- Eliminação de código boilerplate
- Detecção antecipada de erros durante o desenvolvimento
-
Eliminação da troca de contexto
- Não é preciso se preocupar com convenções de nomenclatura de tabelas, sincronização entre modelos e campos de tabela, ou se um campo deve ser nullable
-
Desenvolvimento local
- Execução com um clique
É possível rodar toda a infraestrutura de dados localmente com um único comando
- Configuração zero
Todos os componentes já vêm pré-configurados, sem necessidade de setup adicional
- Mesma estrutura do ambiente de produção
Usa a mesma stack tecnológica do ambiente real de deploy
- Feedback em tempo real
As mudanças são refletidas imediatamente em toda a stack
-
Fluxo de desenvolvimento típico
- Ao adicionar ou alterar um modelo, basta salvar para que a infraestrutura local faça hot reload imediatamente
- Ao adicionar um novo campo, ele é aplicado imediatamente à API, aos streams e ao banco de dados
- Também é possível testar pipelines localmente, enviando dados de exemplo para a API de ingestão local e verificando o resultado na hora
-
Fluxo de hot reload
- Depois de modificar um modelo, basta salvar para que as mudanças sejam aplicadas automaticamente
- Os campos adicionados são aplicados automaticamente à validação da API, ao schema do banco de dados e aos streams
-
Modularidade
- É possível montar a configuração escolhendo apenas os componentes necessários
Stack padrão do Moose
- ClickHouse
Banco de dados OLAP ativado por padrão
- Redpanda
Plataforma de streaming de eventos compatível com Kafka (pode ser desativada)
- Temporal
Ferramenta de orquestração de workflows (pode ser desativada)
-
Expansões planejadas
- Snowflake, Databricks, BigQuery
Suporte planejado para data warehouses em nuvem
- Kafka, Kinesis, Pulsar
Suporte planejado para várias plataformas de streaming de eventos compatíveis com Kafka
O que pode ser criado com Moose
- Análises em tempo real para usuários
Integração de leaderboards, gráficos e métricas em apps web e mobile
- BI e data warehouse
Coleta de várias fontes de dados para construir um banco analítico e gerar relatórios
- Migração de dados
Transferência de dados de sistemas legados para um backend de dados moderno
- Streaming de eventos
Processamento de eventos em tempo real em plataformas de streaming como Kafka e Redpanda
- Tarefas de ETL
Coleta periódica de dados de várias fontes e carga no ambiente analítico
Ainda não há comentários.