Lançamento do SGBD Firebird 5.0

Após dois anos e meio de desenvolvimento, o lançamento do SGBD relacional Firebird 5.0 foi apresentado. O Firebird continua a evolução do código do SGBD InterBase 6.0, liberado em 2000 pela Borland. O Firebird é distribuído sob a licença livre MPL e suporta os padrões ANSI SQL, incluindo recursos como gatilhos, procedimentos armazenados e replicação. Compilações binárias estão disponíveis para Linux, Windows, macOS e Android.

Principais inovações:

  • Foi implementada a possibilidade de executar operações em modo multithreading. A paralelização em múltiplos threads é aplicável durante a criação de índices, coleta de lixo (operações automáticas e manuais de sweep), criação de backups e recuperação a partir deles. gfix -sweep -parallel 4 dbname gbak -b -par 4 -user username -pass password dbname backupname
  • Adicionada a suporte a índices parciais, que incluem apenas registros seletivos que correspondem às condições especificadas na criação do índice. CREATE INDEX IT1_COL ON T1 (COL) WHERE COL < 100;
  • Na expressão SELECT WITH LOCK, UPDATE e DELETE, foi implementada a sintaxe ‘SKIP LOCKED’, permitindo excluir registros para os quais, no momento do envio da solicitação, um bloqueio foi aplicado (por exemplo, para não ter que esperar o desbloqueio em caso de sobreposição com outra transação).
  • Adicionada a possibilidade de atualizar o banco de dados para a versão intermediária mais recente da estrutura de armazenamento (ODS — On-Disk-Structure) em execução (atualização inline) sem a necessidade de criar e restaurar um backup. Por exemplo, agora é possível converter em execução um banco de dados no formato Firebird 4.0 (ODS 13.0) para o formato Firebird 5.0 (ODS 13.1).
  • Foi implementado um cache de expressões SQL compiladas, gerido automaticamente (os registros obsoletos são limpos conforme necessário). O tamanho do cache é definido pelo parâmetro MaxStatementCacheSize no firebird.conf.
  • Adicionado um interface para a profilação de SQL e PSQL, permitindo avaliar o tempo de execução de cada consulta, acumular estatísticas sobre o número de consultas e identificar problemas de desempenho.
  • Na expressão MERGE, adicionada a suporte para o bloco condicional 'WHEN NOT MATCHED BY SOURCE', que é ativado quando o registro original não corresponde a nenhum registro no conjunto de destino. MERGE INTO customers c USING new_customers nc ON (c.id = nc.id) WHEN MATCHED THEN UPDATE SET name = nc.name WHEN NOT MATCHED BY SOURCE THEN DELETE
  • Assegurada a possibilidade de retornar várias linhas por meio da expressão RETURNING, se a expressão DML especificada abranger várias linhas (antes, nesse tipo de situação, uma mensagem de erro 'multiple rows in singleton select' era exibida).
  • Novas funções internas adicionadas: UNICODE_CHAR para retornar o caractere unicode correspondente ao código fornecido, e UNICODE_VAL para retornar o código para um caractere dado. Na função EXTRACT, foram adicionados os parâmetros FIRST_DAY e LAST_DAY para determinar o número do trimestre.
  • Pacote de sistema novo RDB$BLOB_UTIL adicionado com um conjunto de operações para BLOBs em módulos PSQL.
  • O algoritmo de compressão de registros foi aprimorado, agora aplicando um contador de comprimento variável para embalar de forma mais eficiente sequências de dados repetidas. A otimização permitiu um aumento significativo na taxa de compressão de campos VARCHAR longos não totalmente preenchidos com dados codificados em UTF-8.
  • Adicionada a capacidade de trabalhar com cursores bidirecionais (scrollable) durante chamadas remotas à base de dados.
  • Otimização no desempenho da cópia de blobs realizada.
  • Suporte completo para a sintaxe de definição de strings, conforme descrito no padrão SQL, foi adicionado. Por exemplo, as strings agora podem ser interrompidas por comentários ou espaços: select ‘ab’ comment * ‘cd’ from RDB$DATABASE; select ‘ab’ ‘cd’ from RDB$DATABASE;

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster