Foi lançado o SQLite 3.40 com suporte oficial para Wasm, e mais. Confira todas as novidades desse importante lançamento.
SQLite é uma biblioteca em linguagem C que implementa um banco de dados SQL embutido. Entretanto, ele não é uma biblioteca cliente usada para se conectar com um grande servidor de banco de dados, mas sim o próprio servidor.
Os aplicativos que usam a biblioteca SQLite podem ter acesso a banco de dados SQL sem executar um processo SGBD separado. SQLite A biblioteca SQLite lê e escreve diretamente no arquivo de banco de dados no disco.
E, basicamente, o uso do SQLite é recomendado em cenários onde a simplicidade da administração, implementação e manutenção são mais importantes que incontáveis recursos que SGBDs, mais voltados para aplicações complexas, possivelmente implementam.
Em resumo, o SQLite é um mecanismo leve de banco de dados relacional acessível por meio da linguagem SQL.
Mas ao contrário dos servidores de banco de dados tradicionais, como MySQL ou PostgreSQL, sua particularidade não é reproduzir o esquema cliente-servidor usual, mas integrá-lo diretamente aos programas.
Na verdade, todo o banco de dados (declarações, tabelas, índices e dados) é armazenado em um arquivo independente de plataforma.
Felizmente, as situações onde a simplicidade é a melhor escolha são muito mais frequentes do que pode-se imaginar.
Graças à sua extrema leveza, o SQLite é um dos mecanismos de banco de dados mais usados no mundo. É usado em muitos programas de consumo e também é muito popular em sistemas embarcados, incluindo a maioria dos smartphones modernos.
Agora, o SQLite 3.40 é a atualização mais recente para esta biblioteca de banco de dados amplamente usada por inúmeros aplicativos e outros softwares.
Novidades do SQLite 3.40
Nesta nova versão lançada, destaca-se que foi implementado um recurso experimental para compilar o SQLite em um código WebAssembly intermediário que pode ser executado em um navegador da Web e é adequado para organizar o trabalho do banco de dados de aplicativos da Web na linguagem. JavaScript.
Os desenvolvedores da Web têm uma interface orientada a objetos de alto nível para trabalhar com dados no estilo sql.js ou Node.js, vinculando uma API C de baixo nível e uma API baseada no mecanismo Web Worker que permite criar controladores assíncronos que eles são executados em threads separados.
Os dados que os aplicativos da Web armazenam na versão WASM do SQLite podem ser armazenados no lado do cliente usando OPFS (Origin-Private FileSystem) ou a API window.localStorage.
Outra das mudanças que se destacam nesta nova versão é o melhor desempenho do planejador de consultas, além disso, foram eliminadas as restrições ao usar índices com tabelas de mais de 63 colunas (anteriormente não se aplicava indexação para operações com colunas cujo número ordinal excedia 63).
O SQLite 3.40 também apresenta indexação aprimorada de valores usados em expressões, também parou de carregar grandes strings e blobs do disco ao processar os operadores NOT NULL e IS NULL.
Materialização excluída das visualizações para as quais uma varredura completa é executada apenas uma vez.
Verificações adicionais foram adicionadas à implementação do parâmetro “PRAGMA Integrity_check”. Por exemplo, tabelas sem o atributo STRICT não devem conter valores numéricos em colunas de texto e valores string com números em colunas numéricas.
Além disso, também é observado que a extensão de recuperação foi adicionada, projetada para recuperar dados de arquivos de banco de dados danificados. A interface de linha de comando usa o comando “.recover” para restaurar.
Das outras mudanças que se destacam nesta nova versão:
- Na base de código, em vez do tipo “char *”, um tipo separado sqlite3_filename é usado para representar nomes de arquivo.
- Função interna adicionada sqlite3_value_encoding().
- Adicionado o modo SQLITE_DBCONFIG_DEFENSIVE para impedir a alteração da versão do esquema de armazenamento.
- Também adicionado para verificar a exatidão da ordem das linhas nas tabelas com o sinal “WITHOUT ROWID”.
- A expressão “VACUUM INTO” considera as configurações “PRAGMA síncrono”.
- Adicionada a opção de compilador SQLITE_MAX_ALLOCATION_SIZE, que permite limitar o tamanho dos blocos ao alocar memória.
- O algoritmo para gerar números pseudo-aleatórios incorporados ao SQLite foi transferido do uso da cifra de fluxo RC4 para o Chacha20.
- É permitido usar índices com o mesmo nome em diferentes esquemas de dados.
- Otimizações de desempenho foram feitas para reduzir a carga da CPU em aproximadamente 1% durante a atividade típica.
- Por fim, se você tem interesse em poder aprender mais sobre o assunto, saiba que o código SQLite é distribuído em domínio público, ou seja, pode ser utilizado sem restrições e gratuitamente para qualquer finalidade.
Para mais detalhes sobre o SQLite 3.40, consulte a nota de lançamento.
Como instalar ou atualizar o SQLite 3.40
A versão mais recente do SQLite estará disponível em breve nas atualizações da sua distribuição. Quando isso acontecer, atualize imediatamente para usufruir das novidades.