6 pontos por GN⁺ 2024-01-16 | 1 comentários | Compartilhar no WhatsApp

Resumo da versão do SQLite

  • O SQLite reforça o suporte a funções SQL definidas por aplicações ao adicionar o atributo SQLITE_RESULT_SUBTYPE.
  • As funções SQL de JSON foram aprimoradas com o uso do JSONB, um novo formato interno de árvore de parsing.
  • O planejador de consultas passa a tomar decisões melhores na seleção de índices, e a otimização SQLITE_DIRECT_OVERFLOW_READ agora vem ativada por padrão.
  • A CLI foi melhorada, incluindo melhor exibição de conteúdo UTF-8 e automação da detecção de reprodução de scripts ".dump".

Correções de bugs e otimizações

  • Foram feitas várias correções de bugs e otimizações de desempenho.
  • Novas APIs em C, sqlite3_get_clientdata() e sqlite3_set_clientdata(), foram adicionadas.
  • O comando PRAGMA integrity_check agora valida a consistência de tabelas virtuais embutidas.
  • O planejador de consultas melhorou o tratamento de varreduras de índices parciais e de subconsultas DISTINCT.

Melhorias na CLI do SQLite e outros recursos

  • A CLI melhora a exibição de conteúdo UTF-8 e restringe o uso de funções SQL perigosas.
  • O comando PRAGMA integrity_check agora verifica a correspondência entre strings de texto e índices.
  • A interface sqlite3_stmt_scanstatus_v2() foi adicionada.
  • Chamadas de longa duração semelhantes a sqlite3_prepare() agora invocam callbacks de progresso e respondem a sqlite3_interrupt().

Opinião do GN⁺

  • As melhorias contínuas no SQLite são importantes para a estabilidade e o desempenho dos sistemas de gerenciamento de banco de dados.
  • As melhorias nas funções SQL de JSON são especialmente úteis para desenvolvedores web e de aplicativos móveis.
  • As otimizações no planejador de consultas tornam consultas complexas de banco de dados mais eficientes, ajudando a economizar recursos do sistema.

1 comentários

 
GN⁺ 2024-01-16
Comentários no Hacker News
  • Uma forma rápida para quem quiser testar a nova versão do SQLite no macOS:

    • Fornece um link sobre como usar uma versão do SQLite com Python no macOS.
    • Explica como compilar a biblioteca SQLite com um comando simples e verificar a versão no Python.
    • Indica o comando datasette para experimentar a interface web do SQLite.
  • Melhorias no JSONB do SQLite:

    • Usar JSONB pode aumentar em 3x o desempenho de operações relacionadas a JSON.
    • Na maioria dos casos, o JSONB tem tamanho cerca de 5% a 10% menor que JSON em texto.
    • Como a Notion Labs usa muito JSON, espera-se uma melhoria na redução do uso de disco.
  • Notas de lançamento interativas da versão 3.45 do SQLite:

    • Se as notas de lançamento oficiais forem entediantes, há um link para uma versão interativa.
  • Um caso impressionante de o SQLite antecipar avisos futuros do compilador GCC:

    • Menção ao fato de o SQLite se preparar antecipadamente para novos avisos do compilador GCC.
  • Interesse em SQLite cloud-native e pedido de comparação com PostgreSQL:

    • Expressa interesse em serviços de SQLite baseados em nuvem.
    • Pede materiais de comparação entre PostgreSQL e SQLite.
  • Reavaliação do SQLite e mudança positiva de percepção:

    • Reconhece que o SQLite é útil em aplicativos reais, deixando para trás a visão de que seria apenas um “banco de dados de brinquedo”.
  • Dúvidas sobre a decisão de armazenar inteiros e números de ponto flutuante como texto no JSONB:

    • Crítica ao método de armazenamento de dados, que pode limitar os casos de uso do JSONB.
  • A introdução do JSONB já havia sido discutida antes:

    • Menciona que isso já foi discutido antes no Hacker News com o título "JSONB has landed".
  • O desafio de armazenar e processar com eficiência dados como JSON no SQLite:

    • Explica o desejo antigo do SQLite de adotar JSONB e a abordagem usada para tornar isso realidade.
  • O formato interno do JSONB usa menos espaço em disco do que JSON em texto:

    • Compartilha a informação de que o JSONB ocupa menos espaço em disco do que JSON em texto.