Release der DBMS SQLite 3.32. Das Projekt DuckDB entwickelt eine Variante von SQLite für analytische Abfragen.

Veröffentlicht Release SQLite 3.32.0, eine leichtgewichtige DBMS, die als Plug-in-Bibliothek implementiert ist. Der Code von SQLite wird als Gemeinbesitz (public domain) verbreitet, d.h. er kann ohne Einschränkungen und kostenlos für beliebige Zwecke verwendet werden. Die finanzielle Unterstützung der SQLite-Entwickler erfolgt durch ein speziell gegründetes Konsortium, zu dem Unternehmen wie Adobe, Oracle, Mozilla, Bentley und Bloomberg gehören.

Haupt- Änderungen:

  • Implementiert approximiert Die Variante des Befehls ANALYZE, die es ermöglicht, in sehr großen Datenbanken mit teilweise gesammelten Statistiken auszukommen, ohne die Indizes vollständig zu scannen. Die Einschränkung der Anzahl der Datensätze beim Scannen eines Index wird durch eine neue Direktive festgelegt.PRAGMA analysis_limit«.
  • Eine neue virtuelle Tabelle „bytecode„, die Informationen über Bytecode vorab vorbereiteter Ausdrücke (prepared statement).
  • Eine VFS-Schicht wurde hinzugefügt checksum, die 8-Byte-Prüfziffern am Ende jeder Datenseite in der DB hinzufügt und diese bei jedem Lesen aus der DB überprüft. Die Schicht ermöglicht die Erkennung von DB-Schäden aufgrund zufälliger Bitverschiebungen in Speichergeräten.
  • Eine neue SQL-Funktion wurde hinzugefügt iif(X,Y,Z), die den Wert Y zurückgibt, wenn der Ausdruck X wahr ist, oder Z andernfalls.
  • In den INSERT- und UPDATE-Ausdrücken wird jetzt immer angewendet Spaltentypbefestigung (column affinity) vor der Berechnung der Bedingungen im Abschnitt CHECK.
  • Das Limit für die Anzahl der Parameter wurde von 999 auf 32766 erhöht.
  • Eine Erweiterung wurde hinzugefügt UINT collating sequence mit einer Implementierung, die die Sortierung von Reihenfolgen berücksichtigt und Texte in numerischer Reihenfolge sortiert.
  • Im CLI-Interface wurden der Befehl „.import“ um die Optionen „—csv“, „—ascii“ und „—skip“ erweitert. Im Befehl „.dump“ ist die Verwendung mehrerer LIKE-Muster mit der Ausgabe aller Tabellen, die den angegebenen Mustern entsprechen, erlaubt. Der Befehl „.oom“ wurde für Debug-Builds hinzugefügt. In die Befehle „.excel“, „.output“ und „.once“ wurde die Option „—bom“ hinzugefügt. Im Befehl „.filectrl“ wurde die Option „—schema“ hinzugefügt.
  • Der mit dem LIKE-Operator angegebene Ausdruck ESCAPE überschreibt jetzt die Platzhalterzeichen, was dem Verhalten von PostgreSQL entspricht.

Zusätzlich kann die Entwicklung einer neuen DBMS DuckDB, in der eine angepasste Version von SQLite entwickelt wird, erwähnt werden. analytische Anfragen.
Neben dem SQLite Shell-Code verwendet das Projekt einen separaten Parser aus PostgreSQL, das Date Math-Modul aus MonetDB, eine eigene Implementierung von Fensterfunktionen (basierend auf dem Segmentbaum-Aggregationsalgorithmus), eine vektorisierte Abfrageausführungs-Engine (basierend auf dem Hyper-Pipelining-Abfrageausführungsalgorithmus), einen Regex-Handler, der auf der Bibliothek RE2, einem eigenen Abfrageoptimierer und einem MVCC-Mechanismus zur Verwaltung der gleichzeitigen Ausführung von Aufgaben (Multi-Version Concurrency Control).
Der Projektcode wird verbreitet steht unter der MIT-Lizenz. Die Entwicklung befindet sich derzeit in der Phase der Bildung experimenteller Releases.

Quelle: opennet.ru

60GB SSD 8Gb DDR4