В выпуск новой версии популярной СУБД «SQLite 3.40», облегченная СУБД, выполненная в виде библиотеки плагинов.
SQLite это легкий механизм реляционной базы данных, доступный через язык SQL. В отличие от традиционных серверов баз данных, таких как MySQL или PostgreSQL, его особенностью является не воспроизведение обычной схемы клиент-сервер, а прямая интеграция в программы. Фактически вся база данных (операторы, таблицы, индексы и данные) хранится в независимом от платформы файле.
Благодаря своей чрезвычайной легкости SQLite является одним из наиболее часто используемых механизмов баз данных в мире. Он используется во многих потребительских программах, а также очень популярен во встроенных системах, включая большинство современных смартфонов.
Основные новые возможности SQLite 3.40
В представленной новой версии подчеркивается, что экспериментальная возможность компилировать SQLite в код WebAssembly Промежуточный, который можно запускать в веб-браузере и подходит для организации работы с базой данных из веб-приложений на языке JavaScript.
Веб-разработчики имеют высокоуровневый объектно-ориентированный интерфейс для работы с данными в стиле sql.js или Node.js, связывающий низкоуровневый C API и API на основе механизма Web Worker, позволяющий создавать асинхронные контроллеры что они работают в отдельных потоках. Данные, которые веб-приложения хранят в WASM-версии SQLite, могут храниться на стороне клиента с использованием OPFS (Origin-Private FileSystem) или API-интерфейса window.localStorage.
Еще одним изменением, которое выделяется в этой новой версии, является улучшена производительность планировщика запросов, Кроме того, сняты ограничения при использовании индексов с таблицами из более чем 63 столбцов (ранее индексация не применялась для операций со столбцами, чей порядковый номер превышал 63).
SQLite 3.40 также представляет улучшенная индексация значений, используемых в выражениях, Также остановлена загрузка больших строк и больших двоичных объектов с диска при обработке операторов NOT NULL и IS NULL. Материализация исключена из представлений, для которых полное сканирование выполняется только один раз.
В реализацию параметра "PRAGMA Integrity_check" добавлены дополнительные проверки. Например, таблицы без атрибута STRICT не должны содержать числовые значения в текстовых столбцах и строковые значения с числами в числовых столбцах.
В дополнение к этому также подчеркивается, что добавлено расширение восстановления, предназначенный для восстановления данных из поврежденных файлов базы данных. В интерфейсе командной строки для восстановления используется команда «.recover».
Из других изменений которые выделяются из этой новой версии:
- В кодовой базе вместо типа «char *» для представления имен файлов используется отдельный тип sqlite3_filename.
- Добавлена внутренняя функция sqlite3_value_encoding().
- Добавлен режим SQLITE_DBCONFIG_DEFENSIVE для предотвращения изменения версии схемы хранилища.
- Также добавлена проверка правильности порядка строк в таблицах с признаком "БЕЗ ROWID".
- Выражение "ВАКУУМ В" учитывает настройки "PRAGMA sync".
- Добавлена опция компилятора SQLITE_MAX_ALLOCATION_SIZE, позволяющая ограничить размер блоков при выделении памяти.
- Алгоритм генерации псевдослучайных чисел, встроенный в SQLite, был перенесен с использования потокового шифра RC4 на Chacha20.
- Допускается использование индексов с одинаковым именем в разных схемах данных.
- Оптимизация производительности была сделана для снижения нагрузки на ЦП примерно на 1% во время обычной деятельности.
Наконец, если вам интересно узнать об этом больше Вы должны знать, что код SQLite распространяется в открытом доступе, то есть его можно использовать без ограничений и бесплатно для любых целей.
Финансовую поддержку разработчикам SQLite оказывает специально созданный консорциум, в который входят такие компании, как Adobe, Oracle, Mozilla, Bentley и Bloomberg.
Вы можете проверить более подробную информацию об этом новом выпуске на по следующей ссылке.