O Amazon Redshift não permitirá mais a criação de funções definidas pelo usuário (UDFs) do Python a partir de 1.º de novembro de 2025. Se quiser usar UDFs do Python, você deve criá-las antes dessa data. As UDFs do Python existentes continuarão a funcionar normalmente. Para ter mais informações, consulte a publicação de blog
Gerenciamento de operações de gravação simultâneas
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 e END), 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.