Реліз СУБД SQLite 3.32. Проект DuckDB розвиває варіант SQLite для аналітичних запитів

Опубліковано реліз SQLite 3.32.0, легковажний СУБД, оформлений у вигляді бібліотеки, що підключається. Код SQLite поширюється як суспільне багатство (public domain), тобто. може використовуватися без обмежень та безоплатно в будь-яких цілях. Фінансову підтримку розробників SQLite здійснює спеціально створений консорціум, до якого входять такі компанії, як Adobe, Oracle, Mozilla, Bentley та Bloomberg.

Основні зміни:

  • Реалізовано апроксимований варіант команди ANALYZE, який дозволяє дуже великих БД обійтися частковим збором статистики, без повного сканування індексів. Обмеження на кількість записів при скануванні одного індексу задається за допомогою нової директиви.PRAGMA analysis_limit".
  • Додано нову віртуальну таблицю «байт-код«, в якій запропоновано інформацію про байткод заздалегідь підготовлених виразів (підготовлена ​​заява).
  • Додано VFS-прошарку контрольна сума, що додає 8-байтові контрольні суми в кінець кожної сторінки даних БД і перевіряє їх при кожному читанні з БД. Прошарок дозволяє виявляти пошкодження БД внаслідок випадкового спотворення бітів у пристроях зберігання.
  • Додана нова SQL-функція iif(X,Y,Z), що повертає значення Y, якщо вираз X є істинним, або Z, інакше.
  • У виразах INSERT та UPDATE тепер завжди застосовується закріплення типів стовпців (column affinity) перед обчисленням умов у блоці ПЕРЕВІРКА.
  • Ліміт на кількість параметрів підвищено з 999 до 32766 XNUMX.
  • Додано розширення UINT collating sequence з реалізацією сортування послідовностей, що враховує цілі числа у тексті для сортування цього тексту у числовому порядку.
  • В інтерфейсі командного рядка до команди «.import» додано опції «-csv», «-ascii» і «-skip». У команді ".dump" дозволено використання декількох LIKE-шаблонів зі злиттям на виході всіх таблиць, що відповідають заданим маскам. Додано команду «.oom» для налагоджувальних зборок. У команди .excel, .output і .once додана опція bom. У команду ".filectrl" додана опція "-schema".
  • Вказаний з оператором LIKE вираз ESCAPE тепер перевизначає символи підстановки, що відповідає поведінці PostgreSQL.

Додатково можна відзначити розвиток нової СУБД DuckDB, в якій розробляється варіант SQLite, оптимізований для виконання аналітичних запитів.
Крім коду оболонки з SQLite проектом використовується винесений в окрему бібліотеку парсер із PostgreSQL, компонент Date Math з MonetDB, своя реалізація віконних функцій (на базі алгоритму Segment Tree Aggregation), векторизований движок виконання запитів (на базі алгоритму Hyper-Pipelining Query Execution), обробник регулярних виразів на основі бібліотеки RE2, власні оптимізатор запитів та MVCC-механізм управління одночасним виконанням завдань (Multi-Version Concurrency Control).
Код проекту поширюється під ліцензією MIT. Розробка поки що знаходиться на стадії формування експериментальних випусків

Джерело: opennet.ru

Додати коментар або відгук