Release of DBMS SQLite 3.32. DuckDB project develops SQLite variant for analytical queries

Published Release SQLite 3.32.0, a lightweight DBMS packaged as a plug-in library. The SQLite code is distributed in the public domain, i.e. can be used without restrictions and free of charge for any purpose. Financial support for SQLite developers is provided by a specially created consortium, which includes companies such as Adobe, Oracle, Mozilla, Bentley and Bloomberg.

All changes:

  • Implemented approximated a variant of the ANALYZE command, which allows for very large databases to get by with partial collection of statistics, without a full index scan. The limit on the number of records when scanning one index is set using the new directive "PRAGMA analysis_limitΒ«.
  • Added new virtual table "bytecode", which provides information on bytecode prepared expressions (prepared statement).
  • Added VFS layer checksum, which adds 8-byte checksums to the end of each page of data in the database and checks them on every read from the database. The layer allows you to detect damage to the database as a result of random distortion of bits in storage devices.
  • Added new SQL function if(X,Y,Z)A that returns Y if X evaluates to true, or Z otherwise.
  • In INSERT and UPDATE expressions now always applies pinning column types (column affinity) before evaluating the conditions in the block CHECK.
  • Stat limit increased from 999 to 32766.
  • Added extension UINT collating sequence with a sequence sorting implementation considering integers in text to sort that text in numerical order.
  • In the CLI, the "--csv", "--ascii", and "--skip" options have been added to the ".import" command. In the ".dump" command, the use of several LIKE patterns is allowed, with the output merging of all tables matching the given masks. Added ".oom" command for debug builds. Added "--bom" option to ".excel", ".output" and ".once" commands. Added "--schema" option to ".filectrl" command.
  • The ESCAPE expression specified with the LIKE operator now overrides wildcards, which is consistent with PostgreSQL behavior.

Additionally, we can note the development of a new DBMS DuckDB, which develops a variant of SQLite that is optimized to run analytical queries.
In addition to the shell code from SQLite, the project uses a parser from PostgreSQL that has been moved to a separate library, the Date Math component from MonetDB, its own implementation of window functions (based on the Segment Tree Aggregation algorithm), vectorized query execution engine (based on the Hyper-Pipelining Query Execution algorithm), regular expression engine based on the library RE2, own query optimizer and MVCC mechanism for managing the simultaneous execution of jobs (Multi-Version Concurrency Control).
Project Code spreads under the MIT license. Development is still in progress formation experimental releases.

Source: opennet.ru

Add a comment