O SQLite é um mecanismo de banco de dados relacional leve, acessível através da linguagem SQL . Ao contrário dos servidores de banco de dados tradicionais, como MySQL ou PostgreSQL, sua característica distintiva não é replicar a arquitetura cliente-servidor usual, mas sim integrar-se diretamente aos programas.
Todo o banco de dados (instruções, tabelas, índices e dados) é armazenado em um arquivo independente de plataforma. Graças à sua natureza extremamente leve, entre outros motivos, ele é usado em muitos programas para o consumidor final e também é muito popular em sistemas embarcados, incluindo os smartphones mais recentes.
Diferentemente dos sistemas de gerenciamento de banco de dados cliente-servidor, o mecanismo SQLite não é um processo separado com o qual o programa principal se comunica. Em vez disso , a biblioteca SQLite está vinculada ao programa, tornando-se parte integrante dele.
O programa usa a funcionalidade do SQLite por meio de chamadas simples a sub-rotinas e funções. Isso reduz a latência de acesso ao banco de dados, uma vez que as chamadas de função são mais eficientes do que a comunicação entre processos.
Todo o banco de dados (definições, tabelas, índices e os próprios dados) são salvos como um único arquivo padrão na máquina host. Esse design simples é obtido bloqueando todo o arquivo de banco de dados no início de cada transação.
Sobre a nova versão do SQLite 3.32.0
Recentemente, foi anunciada a versão 3.32.0 do SQLite, que inclui diversas alterações, principalmente uma versão aprimorada do comando ANALYZE . Isso permite a coleta parcial de estatísticas de bancos de dados muito grandes sem a necessidade de uma análise completa do índice. O limite para o número de registros verificados em um único índice é definido pela nova diretiva "PRAGMA analysis_limit".
Outra mudança que chega a esta nova versão do SQLite é uma nova tabela virtual , "bytecode", que fornece informações sobre o bytecode de instruções preparadas.
Além disso, foi adicionada uma camada de checksum VFS, que anexa checksums de 8 bytes ao final de cada página de dados no banco de dados e os verifica sempre que os dados são lidos do banco. Essa camada intermediária permite a detecção de corrupção do banco de dados resultante de distorção aleatória de bits em dispositivos de armazenamento.
Por outro lado, uma nova função SQL iif (X, Y, Z) foi adicionada, retornando o valor Y se a expressão X for verdadeira, ou Z caso contrário.
As expressões INSERT e UPDATE agora sempre aplicam condições de tipo de coluna fixa antes do bloco de cálculo CHECK, e o limite do número de parâmetros foi aumentado de 999 para 32766.
Outras mudanças notáveis nesta nova versão incluem:
- Adicionada a extensão de sequência de classificação UINT com a implementação de sequências de classificação que levam números inteiros no texto em consideração para classificar este texto em ordem numérica.
- Na interface da linha de comando, as opções "–csv", "–ascii" e "–skip" foram adicionadas ao comando ".import".
- O comando ".dump" permite o uso de vários modelos LIKE com mesclagem na saída de todas as tabelas correspondentes às máscaras especificadas. Adicionado comando ".oom" para compilações de depuração.
- A opção –bom foi adicionada aos comandos ".excel", ".output" e ".once". Adicionada a opção –schema ao comando ".filectrl".
- A expressão ESCAPE especificada com o operador LIKE agora substitui os curingas, o que é consistente com o comportamento do PostgreSQL.
Por fim, se você quiser saber mais sobre o lançamento desta nova versão, pode consultar a lista de alterações no seguinte link.
Descarregar
Para aqueles interessados em instalar esta nova versão do SQLite em seus sistemas, os pacotes podem ser obtidos no site oficial , na seção de downloads, onde estão disponíveis tanto o código-fonte (para compilação) quanto os pacotes pré-compilados.