Релиз на СУБД SQLite 3.32. Проектът DuckDB развива вариант на SQLite за аналитични заявки

Публикувано релиз SQLite 3.32.0, лекция СУБД, оформена като динамична библиотека. Кодът на SQLite се разпространява като публично достояние, т.е. може да се използва без ограничения и безплатно за всякакви цели. Финансовата подкрепа за разработчиците на SQLite се осигурява от специално създаден консорциум, който включва компании като Adobe, Oracle, Mozilla, Bentley и Bloomberg.

Основни промени:

  • Реализирано аппроксимативен вариант на командата ANALYZE, който позволява в много големи бази данни да се обходи частично събирането на статистика, без пълно сканиране на индексите. Ограничението на броя записи при сканиране на един индекс се задава с новата директива «PRAGMA analysis_limit«.
  • Добавена е нова виртуална таблица «bytecode«, в която е предложена информация за байткода предварително подготвени изрази (prepared statement).
  • Добавен е VFS слой checksum, добавящ 8-байтови контрольни суми в края на всяка страница данни в базата данни и проверяващ ги при всяко четене от базата данни. Този слой позволява да се открият повреди в базата данни в следствие на случайни изкривявания на битовете в устройствата за съхранение.
  • Добавена е нова SQL функция iif(X,Y,Z), която връща стойността Y, ако изразът X е истинен, или Z в противен случай.
  • В изразите INSERT и UPDATE сега винаги се прилага се прилага типово свързване на колоните (column affinity) преди пресмятането на условията в блока CHECK.
  • Ограничението на броя параметри е увеличено от 999 на 32766.
  • Добавено е разширение UINT collation sequence с реализация на сортиране на последователности, отразяваща цели числа в текста за сортиране на този текст в числов ред.
  • В интерфейса на командния ред в командата «.import» са добавени опциите «—csv», «—ascii» и «—skip». В командата «.dump» е разрешено използването на множество LIKE шаблони с обединяване на изхода на всички таблици, които отговарят на зададените маски. Добавена е командата «.oom» за отладъчни сборки. В команди «.excel», «.output» и «.once» е добавена опцията «—bom». В командата «.filectrl» е добавена опцията «—schema».
  • Изразът ESCAPE, зададен с оператора LIKE, сега преопределя символите за заместване, което съответства на поведението на PostgreSQL.

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

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster