Com o crescimento contínuo dos conjuntos de dados e o aumento da complexidade do processamento distribuído, os fluxos de trabalho de dados modernos enfrentam desafios cada vez maiores. Muitas organizações descobriram que os sistemas tradicionais de processamento de dados apresentam deficiências significativas em termos de tempo de processamento, limitações de memória e gerenciamento de tarefas distribuídas. Nesse contexto, cientistas e engenheiros de dados costumam gastar muito tempo na manutenção do sistema, em vez de extrair insights valiosos dos dados. Claramente, o mercado precisa urgentemente de uma ferramenta que simplifique os processos sem sacrificar o desempenho.
Recentemente, a DeepSeek AI lançou o Smallpond, um framework de processamento de dados leve, baseado no DuckDB e no 3FS. O Smallpond visa expandir a análise SQL eficiente do DuckDB em processo para ambientes distribuídos. Combinado com o 3FS — um sistema de arquivos distribuído de alto desempenho otimizado para SSDs modernos e redes RDMA — o Smallpond oferece uma solução prática para o processamento de grandes conjuntos de dados, evitando a complexidade e os altos custos de infraestrutura de serviços de longa execução.
O framework Smallpond possui um design simples e modular, compatível com o Python 3.8 a 3.12. Os usuários podem instalá-lo rapidamente via pip e começar a processar dados imediatamente. Um dos principais destaques do framework é o suporte à partição manual de dados, permitindo que os usuários façam a partição com base no número de arquivos, número de linhas ou hash de colunas específicas. Essa flexibilidade permite que os usuários personalizem o processamento de acordo com seus dados e infraestrutura.
Em termos técnicos, o Smallpond utiliza totalmente o desempenho nativo de consultas SQL do DuckDB e integra-se ao Ray para o processamento paralelo de nós de computação distribuídos. Essa combinação não apenas simplifica as operações de escalonamento, mas também garante o processamento eficiente da carga de trabalho entre vários nós. Além disso, ao evitar serviços persistentes, o Smallpond reduz as despesas operacionais normalmente associadas a sistemas distribuídos.
Nos testes de desempenho, o Smallpond apresentou excelente desempenho no benchmark GraySort, classificando 110,5 TiB de dados em pouco mais de 30 minutos, com uma taxa de transferência média de 3,66 TiB por minuto. Esses indicadores de desempenho demonstram que o Smallpond atende às necessidades de organizações que processam dados de terabytes a petabytes. Como um projeto de código aberto, o Smallpond também convida a participação de usuários e desenvolvedores para otimizações e adaptações a cenários de uso diversos.
O Smallpond representa um passo importante no processamento de dados distribuídos. Ao expandir a eficiência do DuckDB para ambientes distribuídos e combinar com a alta capacidade de transferência do 3FS, ele fornece uma ferramenta prática para cientistas e engenheiros de dados. Seja para processar conjuntos de dados menores ou escalonar para operações de petabytes, o Smallpond é um framework eficiente e de fácil acesso.
Projeto: https://github.com/deepseek-ai/smallpond?tab=readme-ov-file
Destaques:
🌟 Smallpond é um framework de processamento de dados leve lançado pela DeepSeek AI, baseado no DuckDB e no 3FS.
⚙️ Compatível com Python 3.8 a 3.12, permitindo instalação rápida e personalização flexível do processamento de dados.
🚀 No benchmark GraySort, o Smallpond demonstrou desempenho excepcional no processamento de dados em escala de terabytes.