Выпуск SQLite 3.8.7 со значительными оптимизациями производительности Печать
19.10.14 09:35

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

В новом выпуске:

  • Проведена большая работа по оптимизации производительности, затронувшая многие части кодовой базы. В результате удалось повысить производительность на 20% по сравнению с прошлой версией. Тестирование проводилось с измерением результатов работы нагрузочного сценария "speedtest1.c" через прокси cachegrind в 64-разрядной сборке Ubuntu 13.10 с gcc 4.8.1 и при указании флага оптимизации "-Os". В реальных приложениях увеличение скорости ожидается на уровне 10%. За последний год отмечается большой прогресс в оптимизации кодовой базы SQLite, например по сравнению с выпуском 3.8.0 при выполнении синтетических тестов производительность возросла на 61%.
  • В сортировщик добавлена поддержка использования вспомогательных обработчиков, выполняемых в отдельных нитях, что позволяет добиться сокращения времени отклика при выполнении сложных запросов. По умолчанию данная возможность отключена и включается через PRAGMA threads или через сборку с опцией SQLITE_DEFAULT_WORKER_THREADS. Для ограничения числа нитей следует использовать опцию SQLITE_LIMIT_WORKER_THREADS в sqlite3_limit();
  • Расширены оптимизации пропуска элементов при сканировании (skip-scan), добавлена возможность пропуска записей в середине индекса, а не только в его начальной части;
  • Улучшена производительность операторов преобразования типов;
  • Внесены улучшения в метод использования статистики sqlite_stat4 при планировании выполнения запроса;
  • Добавлены новые программные интерфейсы, оперирующие 64-разрядными значениями: sqlite3_malloc64(), sqlite3_realloc64(), sqlite3_bind_blob64(), sqlite3_result_blob64(), sqlite3_bind_text64() и sqlite3_result_text64();
  • Добавлен новый программный интерфейс sqlite3_msize(), который возвращает размер памяти, выделенной через sqlite3_malloc64() и подобные функции;
  • В расширении spellfix1 представлена возможность явного приведения rowid для каждой операции INSERT.
  • Добавлено новое расширение user-auth, позволяющее обеспечить применение аутентификации пользователей при доступе к БД;
  • Прекращена поддержка опции SQLITE_ENABLE_TREE_EXPLAIN, вместо которой следует использовать механизм трассировки запроса SELECTTRACE, предоставляющий больше диагностических данных;
  • В интерфейс командной строки добавлены новые опции "--pagecache", "--lookaside" и "--scratch" для настройки использования дополнительной памяти.
  1. Главная ссылка к новости (*http://permalink.gmane.org/gmane.comp.d...)
  2. OpenNews: Релиз БД SQLite 3.8.6
  3. OpenNews: Релиз БД SQLite 3.8.0 с новым планировщиком запросов
Тип: Программы
Ключевые слова: sqlite, (найти похожие документы)
При перепечатке указание ссылки на opennet.ru обязательно
Реклама
id=adv>
  1.1, CrazyAlex25, 13:01, 19/10/2014 [ответить] [смотреть все] +13 +/
Отличные новости! SQLite одна из самых лучших встраиваемых БД!
 
  2.4, Аноним, 14:22, 19/10/2014 [^] [ответить] [смотреть все] [показать ветку] +1 +/
Легко быть лучшим при отсутствии конкурентов В смысле, остальные вообще не зани... весь текст скрыт [показать] [показать ветку]
 
  3.6, angra, 14:45, 19/10/2014 [^] [ответить] [смотреть все]  +/
http://en.wikipedia.org/wiki/Embedded_database
 
3.7, CrazyAlex25, 14:47, 19/10/2014 [^] [ответить] [смотреть все]  
+1 +/
Вот неполный список встраиваемых БД (возможно половина уже мертва):
Accuracer Database System
Advantage Database Server
Oracle Berkeley DB
CSQL
EffiProz
ElevateDB
Empress Embedded Database
Extensible Storage Engine
eXtremeDB
Встраиваемая версия Firebird
HSQLDB
InfinityDB
Встраиваемая версия Informix Dynamic Server
Встраиваемая версия InnoDB
Встраиваемая версия InterBase
ITTIA DB
Kyoto Cabinet
Встраиваемая версия MySQL Embedded
NexusDB
RDM Embedded
ScimoreDB
SolidDB
SQLite
Microsoft SQL Server Compact
TurboDB
Valentina DB
VistaDB

То с чем я работал: Sqlite, Mysql embedded, valentina db, Berkeley DB, leveldb, mssql server compact

 
  4.12, all_glory_to_the_hypnotoad, 17:47, 19/10/2014 [^] [ответить] [смотреть все]  –1 +/
ещё бы понял что из всего этого реляционные БД c SQL. Ещё потом понял бы насколько остаток реально куда-то впилить без мозготраха с лицензированием и проблем прикручивания блоба. Реальных конкурентов у SQLite действительно нет.
 
  5.15, sasku, 18:57, 19/10/2014 [^] [ответить] [смотреть все]  +3 +/
firebird
полноценная SQL, и без проблем лицензирования
 
  6.22, Crazy Alex, 22:26, 19/10/2014 [^] [ответить] [смотреть все]  +/
И при надобности можно перескочить на использование полноценного сервера, поменяв лишь параметры подключения
 
  7.28, Аноним, 03:24, 20/10/2014 [^] [ответить] [смотреть все]  –1 +/
Угу Есть правда одна небольшая проблема - оно абсолютное оно, потому его никто... весь текст скрыт [показать]
 
  8.43, llolik, 10:37, 20/10/2014 [^] [ответить] [смотреть все]    [к модератору]  +1 +/
Специалист по БД? Аргументы-то будут или как?
Сотрудничаю с конторой, где юзают. Не винда и не дельфи - и что из этого?
 
8.44, Аноним, 10:50, 20/10/2014 [^] [ответить] [смотреть все]     [к модератору]  +/ 4.38, Аноним, 10:04, 20/10/2014 [^] [ответить] [смотреть все]     [к модератору]  +/
Молодец, хаотично надергал список наобум, с самыми разными экспонатами Ну скажи... весь текст скрыт [показать]
 2.13, Аноним, 18:25, 19/10/2014 [^] [ответить] [смотреть все] [показать ветку]  +1 +/
Да и как нормальная БД на сервере работает отлично, особенно если нагрузка не бо... весь текст скрыт [показать] [показать ветку]
 
  3.17, anonymous, 20:17, 19/10/2014 [^] [ответить] [смотреть все]  +/
Спасибо, поржал. Кто пустил нуба на Опеннет?!
Во-первых: у встраиваемых БД совсем другое назначение; Во-вторых: нагрузка на СУБД измеряется не в человеках в день; И кроме того: 10000 "человек в день" выдержит любая СУБД, если всё сделано прямыми руками.
 
  4.39, Аноним, 10:09, 20/10/2014 [^] [ответить] [смотреть все]     [к модератору]  +/
Наверное, сам пришел Фэйс контроль отсутствует Как обычно, ваш Капитан Ряд се... весь текст скрыт [показать]
 
1.2, mcshel, 14:19, 19/10/2014 [ответить] [смотреть все]  +1 +/ Если я не ошибаюсь, то Thunderbird использует эту БД.
 
  2.5, Аноним, 14:22, 19/10/2014 [^] [ответить] [смотреть все] [показать ветку]  +3 +/
 
  3.11, тоже Аноним, 16:54, 19/10/2014 [^] [ответить] [смотреть все]  –1 +/
Ну, так Mozilla совсем не зря член того же консорциума. Им сейчас без SQLite никак не прожить.
image
 
  4.40, Аноним, 10:10, 20/10/2014 [^] [ответить] [смотреть все]     [к модератору]  +/
Да вообще-то жили кучу времени, а теперь вот с внедрежкой - стали пхать туда бол... весь текст скрыт [показать]
 
  5.46, тоже Аноним, 10:54, 20/10/2014 [^] [ответить] [смотреть все]    [к модератору]  +/
Я в курсе, потому и говорю о серьезной зависимости. Они уже привыкли все решать через БД, теперь, чтобы сменить технологию, половину кода придется переписать.
image
 
2.24, Анонимус_000, 23:31, 19/10/2014 [^] [ответить] [смотреть все] [показать ветку]  +/ Skype, Chrome, Android, iOS, много их....
 
1.3, mcshel, 14:19, 19/10/2014 [ответить] [смотреть все]  +1 +/ Т.е. ждем ускорения)
image   1.8, Аноним, 14:55, 19/10/2014 [ответить] [смотреть все]  +/ 
  2.9, Аноним, 15:24, 19/10/2014 [^] [ответить] [смотреть все] [показать ветку]  –4 +/
 
2.10, CrazyAlex25, 15:28, 19/10/2014 [^] [ответить] [смотреть все] [показать ветку]  –1 +/ А зачем когда есть leveldb?
 
    4.36, Аноним, 05:56, 20/10/2014 [^] [ответить] [смотреть все]  +/
Два огромных плюса ... весь текст скрыт [показать]
 
  5.41, Аноним, 10:11, 20/10/2014 [^] [ответить] [смотреть все]     [к модератору]  +/
Leveldb - кусок горбыля какой-то, как обычно у гугли Если уж SQL не надо - токи... весь текст скрыт [показать]
 
1.18, Аноним, 21:05, 19/10/2014 [ответить] [смотреть все]  +/
Лишь бы не переросла в монструозную поделку, как стало с MySQL ... весь текст скрыт [показать]
 
  2.21, Аноним, 22:23, 19/10/2014 [^] [ответить] [смотреть все] [показать ветку]  +/
Тебе для чего ее в паблик домейн перевели Чтобы ты смог даже не форкать, а прос... весь текст скрыт [показать] [показать ветку]
 
  3.27, Аноним, 00:30, 20/10/2014 [^] [ответить] [смотреть все]  +/
И я бы добавил, никому бы их не показывал Никогда Лучший ваирант развития мног... весь текст скрыт [показать]
 
1.23, Нанобот, 23:18, 19/10/2014 [ответить] [смотреть все]  +/ я б не назвал +10-20% прироста "значительными оптимизациями производительности"
 
  2.25, CrazyAlex25, 23:35, 19/10/2014 [^] [ответить] [смотреть все] [показать ветку]  +3 +/
По современным меркам, когда софт почти вообще не оптимизируют это очень даже хорошая цифра. А если учесть что к sqlite уделяется много внимания, полное покрытие тестами и то что она используется многими приложениями, то профит в 10-20%  очень даже хорошо :)  Учитывая что ты скорее всего ни строчки кода не написал для sqlite
 
2.26, CrazyAlex25, 23:36, 19/10/2014 [^] [ответить] [смотреть все] [показать ветку]  +/ Как с оптимизировать оптимизированное?
 2.30, Аноним, 03:30, 20/10/2014 [^] [ответить] [смотреть все] [показать ветку]  +3 +/
Ну это потому что когда учитель правит что то в _твоих_ поделках они начинают ле... весь текст скрыт [показать] [показать ветку]
 2.45, Аноним, 10:53, 20/10/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  +/
Наоборот, с учётом возраста и применяемости проекта, очень подозрительно ... весь текст скрыт [показать] [показать ветку]
 
  3.48, тоже Аноним, 10:55, 20/10/2014 [^] [ответить] [смотреть все]    [к модератору]  +/
Приглядитесь к формулировке. Прирост отмечается на "том же количестве процессоров".
Проще говоря, оптимизировались алгоритмы распараллеливания.
image
 
1.31, arisu, 03:57, 20/10/2014 [ответить] [смотреть все]  +/ когда проект уже переименуют? какой он, нафиг, lite сейчас?!
 
  2.34, CrazyAlex25, 04:35, 20/10/2014 [^] [ответить] [смотреть все] [показать ветку]  +/
Это стоит расценивать как lite=embedded :)  Или потому что имеет не полный синтаксис sql (в 3.6 добавили поддержку sql-99)
 
  3.35, arisu, 05:07, 20/10/2014 [^] [ответить] [смотреть все]  +/
ну дай поехидничать!
 
2.37, F, 09:23, 20/10/2014 [^] [ответить] [смотреть все] [показать ветку]  +/ 1.91Mb архив исходников - просто сравни с MySQL (44.4Mb v5.7.5-m15) или PostgreSQL (21.7Mb v9.4b3), или пресловутый Firebird (~20Mb v2.5.3 - если прикинуть конверсию bz2->gz).

Разница не то, что в разы - на десятичный порядок минимум. Так что лайт.

 2.42, Аноним, 10:13, 20/10/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  +/
Как ни странно - размер либы все еще достаточно скромный по сравнению с многими ... весь текст скрыт [показать] [показать ветку]
 2.47, Аноним, 10:54, 20/10/2014 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  +/ 

Ваш комментарий  

Read more http://www.opennet.ru/opennews/art.shtml?num=40865