Aurora DSQL e PostgreSQL
O Aurora DSQL é um banco de dados relacional distribuído, compatível com PostgreSQL, projetado para workloads transacionais. O Aurora DSQL usa os principais componentes do PostgreSQL, como o analisador, planejador, otimizador e sistema de tipos.
O design do Aurora DSQL garante que a sintaxe completa compatível do PostgreSQL apresente um comportamento compatível e produza resultados de consulta idênticos. Por exemplo, o Aurora DSQL fornece conversões de tipo, operações aritméticas e precisão e escala numéricas que são idênticas às do PostgreSQL. Quaisquer desvios são documentados.
O Aurora DSQL também introduz recursos avançados, como controle otimista de simultaneidade e gerenciamento de esquemas distribuídos. Com esses recursos, você pode usar as ferramentas conhecidas do PostgreSQL, bem como se beneficiar do desempenho e da escalabilidade essenciais para aplicações modernas e nativas da nuvem.
Destaques da compatibilidade com o PostgreSQL
Atualmente, o Aurora DSQL baseia-se na versão 16 do PostgreSQL. As principais compatibilidades incluem:
- Protocolo de comunicação
-
O Aurora DSQL usa o protocolo de comunicação padrão PostgreSQL v3. Isso permite a integração com clientes, drivers e ferramentas padrão do PostgreSQL. Por exemplo, o Aurora DSQL é compatível com
psql
,pgjdbc
epsycopg
. - Compatibilidade com SQL
-
O Aurora DSQL oferece suporte a uma ampla variedade de expressões e funções padrão do PostgreSQL comumente usadas em workloads transacionais. As expressões SQL compatíveis produzem resultados idênticos aos do PostgreSQL, incluindo os seguintes:
-
Manipulação de nulos
-
Comportamento da ordem de classificação
-
Escala e precisão para operações numéricas
-
Equivalência para operações de string
Para obter mais informações, consulte Compatibilidade com recursos SQL no Aurora DSQL.
-
- Gerenciamento de transações
-
O Aurora DSQL preserva as características principais do PostgreSQL, como transações ACID e um nível de isolamento equivalente ao Repeatable Read do PostgreSQL. Para obter mais informações, consulte Controle de simultaneidade no Aurora DSQL.
Principais diferenças de arquitetura
O design distribuído e sem compartilhamento do Aurora DSQL resulta em algumas diferenças fundamentais em relação ao PostgreSQL tradicional. Essas diferenças são intrínseca à arquitetura do Aurora DSQL e oferecem muitos benefícios de desempenho e escalabilidade. As principais diferenças incluem:
- Controle de simultaneidade otimista (OCC)
-
O Aurora DSQL usa um modelo de controle de simultaneidade otimista. Essa abordagem sem bloqueios evita que as transações bloqueiem umas às outras, elimina deadlocks e permite a execução paralela de alto throughput. Esses recursos tornam o Aurora DSQL particularmente valioso para aplicações que exigem desempenho consistente em escala. Para obter mais exemplos, consulte Controle de simultaneidade no Aurora DSQL.
- Operações assíncronas de DDL
-
O Aurora DSQL executa operações de DDL de forma assíncrona, o que permite leituras e gravações ininterruptas durante alterações de esquema. Sua arquitetura distribuída permite que o Aurora DSQL faça o seguinte:
-
Execute operações de DDL como tarefas em segundo plano, minimizando interrupções.
-
Coordene alterações do catálogo como transações distribuídas altamente consistentes. Isso garante visibilidade atômica em todos os nós, mesmo durante falhas ou operações concorrentes.
-
Opere de forma totalmente distribuída e sem líderes em várias zonas de disponibilidade com camadas de computação e armazenamento desacopladas.
Para obter mais informações, consulte DDL e transações distribuídas no Aurora DSQL.
-