Motores disponíveis
Definindo o motor
Configuração global
Verificando o motor atual
Modo automático
auto (padrão), o DataStore seleciona o motor mais adequado para cada operação:
Operações executadas no chDB
- Filtragem compatível com SQL (
filter(),where()) - Seleção de colunas (
select()) - Ordenação (
sort(),orderby()) - Agrupamento e agregação (
groupby().agg()) - Junções (
join(),merge()) - Distinct (
distinct(),drop_duplicates()) - Limite (
limit(),head(),tail())
Operações executadas no pandas
- Funções
applypersonalizadas (apply(custom_func)) - Tabelas dinâmicas complexas com agregações personalizadas
- Operações que não podem ser expressas em SQL
- Quando a entrada já é um DataFrame do pandas
Exemplo
Modo chDB
Quando usar
- Processamento de grandes volumes de dados (milhões de linhas)
- Workloads de agregação intensiva
- Quando você busca o máximo de otimização de SQL
- Comportamento consistente em todas as operações
Características de desempenho
Limitações
- Funções personalizadas em Python podem não ter suporte
- Alguns recursos específicos do pandas exigem conversão
Modo pandas
Quando usar
- Testes de compatibilidade com o pandas
- Uso de funcionalidades específicas do pandas
- Depuração de problemas relacionados ao pandas
- Quando os dados já estão em formato pandas
Características de desempenho
Motor de Cross-DataStore
Exemplo
Lógica de seleção do motor
Árvore de decisão do modo automático
Sobrescrita em nível de função
Comparação de desempenho
Principais conclusões:
- chDB se destaca em agregações e pipelines complexos
- pandas é um pouco mais rápido em operações simples e isoladas
- Use o modo
autopara aproveitar o melhor dos dois