

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Gerenciamento de operações de gravação simultâneas
<a name="c_Concurrent_writes"></a>

Alguns aplicativos exigem não apenas consultas e o carregamentos simultâneos, mas também a capacidade de gravar em várias tabelas ou na mesma tabela simultaneamente. Nesse contexto, *simultaneamente* significa em sobreposição, e não programada para execução precisamente ao mesmo tempo. Duas transações são consideradas simultâneas se a segunda começar antes da confirmação da primeira transação. Operações simultâneas podem originar de sessões diferentes que são controladas pelo mesmo usuário ou por usuários diferentes. 

O Amazon Redshift oferece suporte a esses tipos de aplicativos, permitindo que as tabelas sejam lidas enquanto são carregadas ou modificadas de forma incremental. Consultas simplesmente observam a última versão confirmada, ou *snapshot* dos dados, em vez de esperar pela confirmação da próxima versão. Caso você queira que determinada consulta aguarde a confirmação de outra operação de gravação, você deve programá-la adequadamente.

**nota**  
O Amazon Redshift oferece suporte a um comportamento de *confirmação automática* padrão em que cada comando SQL executado separadamente é confirmado individualmente. Se você inserir um conjunto de comandos em um bloco de transação (definido pelas instruções [BEGIN](r_BEGIN.md) e [END](r_END.md)), o bloco é confirmado como uma transação, de forma que você possa revertê-la se necessário. Exceções a esse comportamento são os comandos TRUNCATE e VACUUM, que confirmam automaticamente todas as alterações pendentes feitas na transação atual.   
Alguns clientes SQL emitem comandos BEGIN e COMMIT automaticamente, de modo que o cliente possa controlar se um grupo de instruções é executado como uma transação ou cada instrução individual é executada como sua própria transação. Verifique a documentação da interface que você está usando. Por exemplo, ao usar o driver Amazon Redshift JDBC, um `PreparedStatement` JDBC com uma string de consulta que contém vários comandos SQL (separados por ponto e vírgula) executa todas as instruções como uma única transação. Por outro lado, se você usar SQL Workbench/J, definir AUTO COMMIT ON e executar várias instruções, cada instrução será executada como sua própria transação. 

Os seguintes tópicos descrevem alguns dos conceitos chave e casos de uso que envolvem transações, snapshots de banco de dados, atualizações e comportamentos concorrentes.

**Topics**
+ [Níveis de isolamento no Amazon Redshift](c_serial_isolation.md)
+ [Operações de gravação e de leitura/gravação](c_write_readwrite.md)
+ [Exemplos de gravações simultâneas](r_Serializable_isolation_example.md)
+ [Solucionar problemas de erros de isolamento serializável](c_serial_isolation-serializable-isolation-troubleshooting.md)