The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Релиз СУБД SQLite 3.21

27.10.2017 09:30

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

Основные изменения:

  • Поддержка режима атомарной записи для файловой системы F2FS, позволяющего значительно снизить накладные расходы при выполнении транзакций. Для включения режима требуется сборка с опцией SQLITE_ENABLE_BATCH_ATOMIC_WRITE;
  • Внутри транзакций разрешено применение команд ATTACH и DETACH;
  • Обеспечена возможность записи в виртуальные таблицы в режиме "WITHOUT ROWID", если в качестве первичного ключа задан только один столбец;
  • Применение оптимизаций для выражения LIKE расширено использованием LIKE совместно с конструкцией ESCAPE;
  • В PRAGMA integrity_check и PRAGMA quick_check реализовано выявление скрытых повреждений строк;
  • В планировщике запросов для подзапросов в выражении FROM теперь применяются сопрограммы вместо оптимизиации через развёртывание запроса;
  • Включена по умолчанию поддержка использования сопрограмм для подзапросов;
  • При разборе виртуальных таблиц, связанных с файлом CSV, теперь последняя строка учитывается даже если в конце нет символа перевода строки;
  • Удалена система распределения памяти "scratch", вместо которой предлагается набор настроек SQLITE_CONFIG_SMALL_MALLOC для минимизации выделения больших блоков памяти;
  • В расширение с реализацией виртуальных таблиц union добавлена поддержка виртуальных таблиц swarm, отличающихся методом передачи ссылки на файл с БД;
  • Добавлена виртуальная таблица sqlite_dbpage, через которую можно получить прямой доступ к страницам с данными в файле БД. Для активации требуется сборка с опцией "-DSQLITE_ENABLE_DBPAGE_VTAB";
  • Добавлен новый тип виртуальных таблиц fts5vocab - "instance", предоставляющий низкоуровневый доступ к содержимому полнотекстового индекса FTS5;
  • Внесена серия микрооптимизаций, в сумме позволивших снизить нагрузку на CPU примерно на 2.1%.


  1. Главная ссылка к новости (https://www.mail-archive.com/s...)
  2. OpenNews: Релиз СУБД SQLite 3.20.0
  3. OpenNews: Релиз СУБД SQLite 3.19.0
  4. OpenNews: Релиз СУБД SQLite 3.18.0
  5. OpenNews: Релиз СУБД SQLite 3.17.0
  6. OpenNews: Релиз СУБД SQLite 3.16.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/47456-sqlite
Ключевые слова: sqlite
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (30) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, FedeX (ok), 09:54, 27/10/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +13 +/
    SQLite будет жить ВЕЧНО
     
     
  • 2.5, A.Stahl (ok), 10:14, 27/10/2017 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Не будет. Я гарантирую это. Готов поспорить на любую сумму.
     
     
  • 3.7, Аноним (-), 10:47, 27/10/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Как и все формы, что существуют. Но для embedded в грядущие времена IoT нужны будут подобные СУБД, разве что что-то новое вытеснит типа NoSQL.
     
     
  • 4.9, rshadow (ok), 11:48, 27/10/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > что-то новое вытеснит типа NoSQL

    Ну вот опять те же грабли. Теплое с мягким. NoSQL для кеширования, серверов приложений и т.д. Просто хранить список записей и фильтровать их (99% всех задач БД) это удел SQL.

     
     
  • 5.11, Аноним (-), 12:17, 27/10/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Имел в виду гибрид SQL+NoSQL
     
     
  • 6.25, Sabakwaka (ok), 01:11, 28/10/2017 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >> Имел в виду гибрид SQL+NoSQL

    Биг Дата во включаемом СМС-кой на подогрев чайнике?
    4096 байт локальных данных потребуют, я уверен, применения Map-Reduce прямо в нагревательном элементе.

     
     
  • 7.29, пох (?), 11:54, 28/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    >>> Имел в виду гибрид SQL+NoSQL
    > Биг Дата во включаемом СМС-кой на подогрев чайнике?

    конечно. нам же страсть как хочется знать, какой именно температуры кипяток и сколько чашек тебе требуются.
    заодно мы тебя опознаем, когда в гостиннице ты предъявишь чужой паспорт - чайник тебя спалит.

    > 4096 байт локальных данных потребуют, я уверен, применения Map-Reduce прямо в

    он еще в свободное время будет немножечко майнить.

     
     
  • 8.31, Аноним (-), 22:02, 28/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Вместо нагревателя будем использовать чипы для майнинга или GPU, сэкономим на на... текст свёрнут, показать
     
  • 8.35, Ingoa (?), 12:12, 03/11/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Кипяток при н у всегда имеет одну и ту же температуру Так что страсть как не х... текст свёрнут, показать
     
  • 4.13, Аноним (-), 13:13, 27/10/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Есть встраевымые NoSQL если чо.
     
  • 4.15, YetAnotherOnanym (ok), 14:01, 27/10/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > типа NoSQL

    Графовая же!

     

  • 1.2, qsdg (ok), 10:02, 27/10/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как они поддерживают все свои тесты, ведь у них на каждую строчку кода -- 730 строчек тестов. Ясное дело, что далеко не все из них пишутся людьми, но ведь кто-то их поддерживать должен?
     
     
  • 2.3, qsdg (ok), 10:02, 27/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    https://www.sqlite.org/testing.html
     
  • 2.10, пох (?), 12:09, 27/10/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Как они поддерживают все свои тесты, ведь у них на каждую строчку кода -- 730 строчек
    > тестов.

    так же как поддерживается любой другой код.

    За $75k/yr - чего бы не поддержать-то.
    (хотя из коммерческого сайта это неочевидно - возможно, еще и сверх тех 75k придется доплатить - это единственная строчка, где вместо ценника написано 'call' )

     

  • 1.6, anonymoose (?), 10:39, 27/10/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ура, лучшая СУБД в мире!
     
  • 1.8, kleem_head (?), 11:20, 27/10/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    Хочу обновления kripken/sql.js
     
  • 1.12, пох (?), 12:53, 27/10/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    http://sqlite.org/csv.html - вот интересно, кто-нибудь докопался до этой страницы раньше чем ссылка появилась в release notes? Все же, навигация на их чудо-сайте уникально бестолковая.

     
     
  • 2.20, Crazy Alex (ok), 18:22, 27/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    В смысле? На него ж из Extensions ссылка. Я бы сказал, что как раз дока у них вполне логичная, не припомню проблем с ней.
     
     
  • 3.23, пох (?), 20:54, 27/10/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > В смысле? На него ж из Extensions ссылка.

    для этого надо заранее знать что есть такой extension.

    > Я бы сказал, что как раз дока у них вполне логичная, не припомню проблем с ней.

    я обычно гуглем в ней ищу. Но для этого неплохо бы хотя бы знать заранее, что именно.


     

  • 1.14, Аноним (-), 13:56, 27/10/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • –8 +/
    В России её томозит отсутствие кириллицы "из коробки". И это отсутствие похоже пребудет вечно. Аминь.
     
     
  • 2.24, Аноним (-), 22:10, 27/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Я не в теме, но это правда? SQLite не работает с кириллицей? То есть я не могу в поле записать что-то кириллическое (например, своё имя)? Или речь о чём-то другом?
     
     
  • 3.26, Аноним (-), 04:26, 28/10/2017 [^] [^^] [^^^] [ответить]  
  • +1 +/
    SQLite поддерживает только UTF-8 и UTF-16. В 1.14 написана полнейшая чушь.
     
     
  • 4.28, пох (?), 11:20, 28/10/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > SQLite поддерживает только UTF-8 и UTF-16. В 1.14 написана полнейшая чушь.

    sqlite совершенно некритично относится к тому, что ей поддерживать.
    Можешь хоть в cp866 туда складывать - для нее это просто байтики, ничего не сломается и обратно извлечется ровно как положил, даже если это невалидная utf8 последовательность.

    но вот если ты захочешь order by russianfield collate nocase - тебя ждет сюрпризец - utf8 ничего не говорит нам о том, какая буква за какой следует в алфавите мумба-юмба в нее включенном, и какая из этих закорючек там у тебя заглавная - тоже.

    забавно, что при этом sqlite умеет собираться с icu, при его наличии.

     
     
  • 5.32, Вареник (?), 04:34, 29/10/2017 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Это встроенная БД.

    Поставь Postgres и будет тебе счастье с сортировкой языков.

     
     
  • 6.33, пох (?), 21:03, 29/10/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    "встроенность" в общем случае означает просто отсутствие неведомого демона, который (обычно плохо или никак) обеспечивает авторизацию и локинг, а так же торчит в интернет вечнодырявым сокетом, и вдобавок плохо или никак не настраивается для конкретной базы и конкретной программы, все ключевые настройки system-wide.

    но в случае sqlite все несколько сложнее - некоторые вещи в ней принято делать не через sql, а некоторые просто реализованы странно. Плюс, то есть минус, еще и рукожопие собирателей дистрибутивов:

    SQLite version 3.14.1 2016-08-11 18:53:32
    Enter ".help" for usage hints.
    Connected to a transient in-memory database.
    Use ".open FILENAME" to reopen on a persistent database.
    sqlite> select upper('жзийклмнопрстуфхцчшщъыьэюя');  
    ЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ
    sqlite>

    это древняя-древняя freebsd.

    SQLite version 3.6.20                                                        
    Enter ".help" for instructions                                                  
    Enter SQL statements terminated with a ";"                                  
    sqlite> select upper('жзийклмнопрстуфхцчшщъыьэюя');                             жзийклмнопрстуфхцчшщъыьэюя                                                  

    а это, внезапно, RHEL6

    У SLES, помнится, все так же плохо.

    Как там в базальте - сами знаете у кого спросить.

    но upper это еще не collate.

     
  • 3.27, пох (?), 11:01, 28/10/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Я не в теме, но это правда? SQLite не работает с кириллицей?

    не работает, сама по себе. sqlite у нас вообще-то - embedded database, предназначена для встраивания в _твой_ код. Определяешь у себя функции для кириллицы, и дергаешь sqlite3_create_collation.

    > То есть я не могу в поле записать что-то кириллическое

    можешь. но она не будет без посторонней помощи знать о том, что оно - кириллическое.

     
  • 3.34, Кузя (?), 17:32, 30/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Collation для русского не поддерживается. Т.е., к примеру, order by выдаст что попало. Но это неважно совершенно для встраиваемого решения, по-моему.
     
  • 2.30, пох (?), 12:34, 28/10/2017 [^] [^^] [^^^] [ответить]  
  • –1 +/
    кстати, рекомендую всем плавненько валить вот на этот экстеншн:
    https://bitbucket.org/alekseyt/nunicode

    оно умеет нормально работать с европейскими языками, отличает case и caseless like, и просто быстрее icu.
    с fts, afaik, ниалле, но это совсем отдельная тема.

     

  • 1.17, Аноним (-), 14:54, 27/10/2017 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    К слову, использует https://www.fossil-scm.org для распределенной разработки.
     
     
  • 2.18, Аноним (-), 16:20, 27/10/2017 [^] [^^] [^^^] [ответить]  
  • +/
    Да только они и используют. Ну и Tcl ещё.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру