Motores disponíveis
Configurando 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()) - Valores distintos (
distinct(),drop_duplicates()) - Limitação de resultados (
limit(),head(),tail())
Operações executadas no pandas
- Funções
applypersonalizadas (apply(custom_func)) - Tabelas dinâmicas complexas com agregações customizadas
- Operações que não podem ser expressas em SQL
- Quando a entrada já é um
DataFramedo pandas
Exemplo
Modo chDB
Quando usar
- Processamento de grandes volumes de dados (milhões de linhas)
- Cargas de trabalho com muita agregação
- Quando você quer 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 ser compatíveis
- 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 no formato do pandas
Características de desempenho
Motor entre DataStores
Exemplo
Lógica de seleção do motor
Árvore de decisão do modo automático
Override em nível de função
Comparação de desempenho
Principais conclusões:
- o chDB se destaca em agregações e pipelines complexos
- o pandas é um pouco mais rápido em operações simples e isoladas
- use o modo
autopara aproveitar o melhor dos dois