6 Punkte von GN⁺ 2024-01-16 | 1 Kommentare | Auf WhatsApp teilen

Zusammenfassung des SQLite-Releases

  • SQLite erweitert die Unterstützung für anwendungsdefinierte SQL-Funktionen durch die Ergänzung des Attributs SQLITE_RESULT_SUBTYPE.
  • Die JSON-SQL-Funktionen wurden durch die Verwendung von JSONB, einem neuen internen Parse-Tree-Format, verbessert.
  • Der Query-Planer trifft bei der Indexauswahl bessere Entscheidungen, und die Optimierung SQLITE_DIRECT_OVERFLOW_READ ist standardmäßig aktiviert.
  • Die CLI wurde verbessert, unter anderem durch eine bessere Anzeige von UTF-8-Inhalten und die automatische Erkennung der Wiedergabe von ".dump"-Skripten.

Fehlerbehebungen und Optimierungen

  • Es wurden verschiedene Fehler behoben und Leistungsoptimierungen vorgenommen.
  • Neue C-Sprach-APIs, sqlite3_get_clientdata() und sqlite3_set_clientdata(), wurden hinzugefügt.
  • Der Befehl PRAGMA integrity_check überprüft nun die Konsistenz integrierter virtueller Tabellen.
  • Der Query-Planer verbessert die Verarbeitung von Scans partieller Indizes und von DISTINCT-Subqueries.

Verbesserungen an der SQLite-CLI und weitere Funktionen

  • Die CLI verbessert die Anzeige von UTF-8-Inhalten und beschränkt die Verwendung gefährlicher SQL-Funktionen.
  • Der Befehl PRAGMA integrity_check prüft nun die Übereinstimmung zwischen Textzeichenfolgen und Indizes.
  • Die Schnittstelle sqlite3_stmt_scanstatus_v2() wurde hinzugefügt.
  • Lang laufende Aufrufe ähnlich wie sqlite3_prepare() rufen nun den Fortschritts-Callback auf und reagieren auf sqlite3_interrupt().

Meinung von GN⁺

  • Die kontinuierlichen Verbesserungen von SQLite sind wichtig für die Stabilität und Leistung von Datenbankmanagementsystemen.
  • Die Verbesserungen der JSON-SQL-Funktionen sind besonders nützlich für Webentwickler und Entwickler mobiler Anwendungen.
  • Die Optimierung des Query-Planers kann komplexe Datenbankabfragen effizienter machen und so Systemressourcen sparen.

1 Kommentare

 
GN⁺ 2024-01-16
Hacker-News-Kommentare
  • Ein schneller Weg für alle, die die neue SQLite-Version auf macOS ausprobieren möchten:

    • Es wird ein Link dazu bereitgestellt, wie man die SQLite-Version zusammen mit Python auf macOS verwendet.
    • Es wird erklärt, wie man die SQLite-Bibliothek mit einfachen Befehlen kompiliert und die Version in Python überprüft.
    • Eine Anleitung zum datasette-Befehl, um die Web-UI von SQLite auszuprobieren.
  • Verbesserungen bei JSONB in SQLite:

    • Mit JSONB kann sich die Performance bei JSON-bezogenen Aufgaben verdreifachen.
    • JSONB ist in den meisten Fällen etwa 5 % bis 10 % kleiner als textbasiertes JSON.
    • Da Notion Labs viel JSON verwendet, werden Verbesserungen bei der Reduzierung des Speicherplatzbedarfs erwartet.
  • Interaktive Release Notes zu SQLite Version 3.45:

    • Falls die offiziellen Release Notes zu langweilig sind, wird ein Link zu einer interaktiven Version bereitgestellt.
  • Ein beeindruckendes Beispiel dafür, wie SQLite zukünftige GCC-Compiler-Warnungen vorwegnimmt:

    • Es wird erwähnt, dass SQLite sich im Voraus auf neue Compiler-Warnungen von GCC vorbereitet.
  • Interesse an Cloud-native SQLite und die Bitte um einen Vergleich mit PostgreSQL:

    • Es wird Interesse an Cloud-basierten SQLite-Diensten geäußert.
    • Es wird um Material zum Vergleich von PostgreSQL und SQLite gebeten.
  • Neubewertung von SQLite und ein positiver Wahrnehmungswandel:

    • Man erkennt an, dass SQLite für echte Apps nützlich ist und nicht nur als einfache „Spielzeugdatenbank“ betrachtet werden sollte.
  • Zweifel an der Entscheidung, Ganzzahlen und Fließkommazahlen in JSONB als Text zu speichern:

    • Kritik an der Art der Datenspeicherung, die die Einsatzmöglichkeiten von JSONB einschränken könnte.
  • Die zuvor diskutierte Einführung von JSONB:

    • Es wird erwähnt, dass dies bereits früher auf Hacker News unter dem Titel „JSONB has landed“ diskutiert wurde.
  • Die Herausforderung, JSON-ähnliche Daten in SQLite effizient zu speichern und zu verarbeiten:

    • Es wird erklärt, dass SQLite schon lange JSONB einführen wollte und welcher Ansatz dafür gewählt wurde.
  • Das interne Format von JSONB benötigt weniger Speicherplatz als textbasiertes JSON:

    • Es wird darauf hingewiesen, dass JSONB im Vergleich zu textbasiertem JSON weniger Speicherplatz belegt.