O SQLite, o superleve motor SQL baseado em linguagem de programação C que está embarcado em muitas aplicações mundo afora, acaba de receber uma atualização para a versão 3.7.17 com suporte para memory-mapped I/O, o que pode permitir (potencialmente falando) o dobro da performance atual e menor uso da memória RAM do sistema. A nova fucnionalidade adiciona os métodos xFetch() e xUnfetch() que são chamados de forma automática caso o memory-mapped I/O seja ativado para mapear os dados presentes na memória. Os desenvolvedores também apontam que existem desvantagens no uso dessa técnica, que necessita decoders utilizando as funções para serem mais robustos em como eles manuseiam os ponteiros e erros, assim como a possibilidade de não ser possível presenciar esse ganho de performance em certos casos de testes.Entretanto, por padrão, o memory-mapped I/O fica desligado. Os programadores que desejem explorar essa funcionalidade devem consultar a respectiva documentação.
Demais Novidades
Outras melhorias incluem a adição de uma função de englonbamento em cadeia, relatórios de recuperação via rollback, além do risco de uso de arquivos de base de dados sem efetuação de link ou alias em logs de erros, além de uma funcionalidade de teste para verificação de como múltiplos processos manuseiam o acesso a uma base de dados por vez. O SQLite 3.7.17 também vem embarcado com melhorias no planejamento de requisições quando se lida com joins.
Também existe o suporte para armazenamento de um Application ID no header do banco de dados, permitindo assim que aplicações possam determinar se uma base de dados é para eles. Isso também permite que o comando file possa verificar para qual aplicação uma base de dados pertence ao consultar um arquivo estendido magic.txt.
Para saber mais sobre essa nova versão veja as notas de lançamento, incluindo as informações sobre uma grande quantidade de bugs corrigidos como o que possuia o potencial de corromper dados no banco. A nova versão é recomendada para todos os usuários do SQLite e pode ser baixada como código fonte ou arquivos binários para Linux, Mac OS X, Windows, Windows Phone 8 e Windows RT. O desenvolvimento do SQLite é patrocinado em parte pela Adobe, Bloomberg, Mozilla, Bentley, Oracle e Nokia, e seu código é de domínio público.
Saiba Mais:
- Heise Online: SQLite gets memory-mapped I/O (em Inglês)
Mensagem do Sistema