Релиз БД SQLite 3.7.0 с поддержкой журнала транзакций

22 июля 2010 года

Wikinews-logo-ru.svg

После двух лет разработки представлен релиз новой ветки SQLite 3.7.0, легковесной базы данных, оформленной в виде подключаемой библиотеки. Код SQLite переведен в разряд общественного достояния (public domain), т.е. может использоваться без ограничений и безвозмездно в любых целях. Финансовую поддержку разработчиков SQLite осуществляет специально созданный консорциум, в который входят такие компании, как Adobe, Oracle, Mozilla, Symbian и Bloomberg.

Наиболее значительным улучшением в новой ветке является реализация WAL-журнала транзакций (Write-Ahead Log) в котором отражаются все происходящие с базой данных события, связанные с изменением данных и схемы их хранения. Ведение WAL-лога существенно повышает надежность хранения данных, гарантирует атомарность выполнения транзакций, дает возможность организовать откат изменений на определенное состояние в прошлом.

WAL-лог по сравнению с rollback-журналом повышает скорость выполнения операций, обеспечивает более оптимальный метод обработки конкурирующих запросов (запросы на чтение не блокируют запросы на запись и наоборот, т.е. операции чтения и записи могут выполняться параллельно), снижает число непоследовательных обращений к диску. Тем не менее с целью сохранения полной совместимости с прошлыми версиями по умолчанию в SQLite 3.7.0 по прежнему остается активным rollback-журнал, т.е. допустимо выполнение обновления версии SQLite без изменения формата БД.

Из других улучшений в SQLite 3.7.0 можно отметить:

  • Улучшение работы планировщика запросов.
  • Добавлена поддержка автоматического создания временных переходных индексов, что позволяет сократить время выполнения запросов.
  • Отключение обработки "ORDER BY", когда в запросе уже используется выражение "GROUP BY", что позволяет добиться правильного порядка вывода.
  • Добавлена поддержка параметра SQLITE_DBSTATUS_CACHE_USED для функции sqlite3_db_status(), для получения в реальном режиме времени информации о состоянии распределения памяти для всех областей, ассоциированных с заданным соединением к БД.
  • Логический размер базы данных теперь сохраняется в заголовке, что позволяет добавлять новые данные в конец файла с БД без его повреждения, даже в системах не имеющих поддержки ftruncate().
 

ИсточникиПравить


Эта статья содержит материалы из статьи «Релиз БД SQLite 3.7.0 с поддержкой журнала транзакций», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
 

Комментарии:Релиз БД SQLite 3.7.0 с поддержкой журнала транзакций