Para obter resultados rápidos em consultas analíticas complexas no RDS PostgreSQL, use o mecanismo de aceleração rds_duckdb. Baseado no DuckDB, ele oferece armazenamento orientado a colunas e execução vetorizada sem exigir alterações no SQL.
Visão geral
Por padrão, o RDS PostgreSQL usa armazenamento baseado em linhas. Essa abordagem é adequada para buscas pontuais e atualizações frequentes em cenários de processamento transacional online (OLTP), mas apresenta limitações quando consultas de processamento analítico online (OLAP) precisam varrer grandes volumes de dados. A extensão rds_duckdb integra o DuckDB ao RDS PostgreSQL para acelerar consultas complexas com os seguintes recursos:
Armazenamento orientado a colunas: organiza e armazena dados por coluna. Em consultas que agregam informações de um subconjunto de colunas, esse método lê apenas as colunas relevantes e reduz significativamente a sobrecarga de I/O.
Execução vetorizada: processa dados em lotes e aproveita ao máximo as instruções SIMD da CPU e a localidade de cache. Isso proporciona desempenho várias vezes superior à execução tradicional linha a linha (modelo Volcano).
Uso não intrusivo: não exige modificações nas instruções SQL originais, o que permite migrar a aplicação para o caminho acelerado de forma transparente.
Casos de uso
Relatórios complexos e consultas ad-hoc com JOINs entre múltiplas tabelas, cláusulas GROUP BY e cálculos de agregação.
Análise de dados e estatística em tabelas extensas cujas consultas acessam apenas um subconjunto de colunas.
Cargas de trabalho de processamento transacional e analítico híbrido (HTAP) que exigem suporte simultâneo a transações online e consultas analíticas no mesmo conjunto de dados.
Opções de ativação
Antes de usar a aceleração de análise, configure a instância e escolha uma das opções abaixo conforme sua carga de trabalho:
|
Método de ativação |
Modo de recurso |
Cenários recomendados |
Documentação |
|
Ative aceleração de análise na instância primária |
O PostgreSQL e o DuckDB compartilham os recursos da instância primária. Esta opção é simples de implantar e econômica. |
Negócios com carga de trabalho TP leve ou que toleram consumo parcial dos recursos da instância primária por consultas AP. Também é ideal para validar rapidamente o desempenho da aceleração. |
|
|
Instância de análise baseada em DuckDB |
Uma instância de análise dedicada, baseada em DuckDB, é implantada separadamente e sincroniza dados com a instância primária. Isso garante isolamento físico total de recursos entre as cargas de trabalho AP e TP. |
Negócios essenciais sensíveis à latência de serviços online que exigem estabilidade garantida do TP durante consultas AP em grande escala. |
Se não tiver certeza sobre qual opção escolher, comece pela instância de análise baseada em DuckDB. Essa abordagem isola a carga de trabalho analítica das transações online e evita que consultas AP afetem o desempenho e a estabilidade do negócio principal.
Como usar
Após ativar a aceleração de análise, use a extensão rds_duckdb para crie tabelas orientadas a colunas, importar dados e execute consultas. Para obter detalhes sobre sintaxe e operações, consulte Mecanismo de aceleração AP (rds_duckdb).
Teste de desempenho
Avalie a aceleração do rds_duckdb com o benchmark padrão TPC-H, que abrange preparação de dados de teste, execução de consultas e comparação de resultados. Para mais informações, consulte Teste de desempenho do mecanismo de aceleração AP (rds_duckdb).
Teste gratuito
Experimente o rds_duckdb gratuitamente para validar a aceleração de consultas AP sem adquirir recursos adicionais. Para mais informações, consulte Teste gratuito do mecanismo de aceleração AP do RDS PostgreSQL (rds_duckdb).