The OpenNET Project / Index page

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

Релиз СУБД SQLite 3.30

05.10.2019 07:36

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

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

  • Добавлена возможность применения выражения "FILTER" с агрегатными функциями, дающего возможность ограничить охват данных, обрабатываемых агрегатной функцией только записями, удовлетворяющими заданному условию;
  • В блоке "ORDER BY" обеспечена поддержка флагов "NULLS FIRST" и "NULLS LAST" для определения расположения элементов со значением NULL при сортировке;
  • В интерфейс командной строки добавлена команда ".recover" для восстановления содержимого повреждённых файлов с БД;
  • В расширение RBU добавлена поддержка индексирования выражений;
  • PRAGMA index_info и PRAGMA index_xinfo расширены для предоставления информации о раскладке хранения таблиц, созданных в режиме "WITHOUT ROWID";
  • Добавлен API sqlite3_drop_modules(), позволяющий запретить из приложения автоматическую загрузку виртуальных таблиц;
  • Парсер схемы БД изменён для вывода ошибки при повреждении типа, имени и столбцов tbl_name в таблице sqlite_master при подключении не в режиме writable_schema;
  • Активированы по умолчанию команды PRAGMA function_list, PRAGMA module_list и PRAGMA pragma_list. Для изменения поведения по умолчанию при сборке необходимо явно указать "-DSQLITE_OMIT_INTROSPECTION_PRAGMAS";
  • Для определяемых приложением SQL-функций предложен флаг SQLITE_DIRECTONLY, позволяющий запретить использование данных функций внутри триггеров и представлений.


  1. Главная ссылка к новости (https://www.sqlite.org/changes...)
  2. OpenNews: Доступен Dqlite 1.0, распределённый вариант SQLite от компании Canonical
  3. OpenNews: Представлена новая техника эксплуатации уязвимостей в SQLite
  4. OpenNews: Релиз СУБД SQLite 3.29
  5. OpenNews: Уязвимость в СУБД SQLite
  6. OpenNews: Удалённо эксплуатируемая уязвимость в SQLite, затрагивающая браузеры на базе Chromium
Лицензия: CC-BY
Тип: Программы
Ключевые слова: sqlite, database
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (38) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, zo0M (ok), 08:16, 05/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –23 +/
    Достойный соперник Oracle Database. Эта битва будет легендарной!
     
     
  • 2.3, Аноним (3), 08:41, 05/10/2019 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Той самой орацле-датабазе, что использует BerkleyDB для хранения своих метаданных, кстати.
     
     
  • 3.5, Аноним (5), 09:01, 05/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Тот самый оракл что продает BerkleyDB как отдельный продукт https://www.oracle.com/database/technologies/related/berkeleydb.html
     
     
  • 4.7, x3who (?), 11:49, 05/10/2019 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Тот самый Oracle, что участвует в финансировании СУБД SQLite
     
  • 2.4, Аноним (5), 08:59, 05/10/2019 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Ну это наверняка оракл капец пришел.
     
  • 2.30, Учоная Жывотная (?), 05:49, 07/10/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > соперник Oracle Database

    Ви унилый поц. Жить в 46 лет с мамочкой нормально. Но когда мама в 46 ваших лет ставит вам клизмачки, этого таки я немогу одобрить!

     

  • 1.2, Аноним (2), 08:17, 05/10/2019 Скрыто модератором [﹢﹢﹢] [ · · · ]
  • +3 +/
     
  • 1.6, Murz (ok), 09:16, 05/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –8 +/
    Bentley? Это которая недорогие автомобильчики делает, работающие на sqlite и бабле? ;)
     
     
  • 2.8, Michael Shigorin (ok), 12:51, 05/10/2019 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Гм, речь явно не за gegl.org/babl :]
     
     
  • 3.9, urandon (?), 13:30, 05/10/2019 [^] [^^] [^^^] [ответить]  
  • –3 +/
    для тех кто в танке - это была шутка
     

  • 1.10, Аноним (10), 14:15, 05/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    Паблик домейн и есть истинная свобода эс ин фридом.
     
     
  • 2.11, Аноним (11), 15:11, 05/10/2019 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Не нужна нам такая свобода, завтра автора не будет и корпорации с чистой совестью наклепают своих несовместимых проприетарных форков. И ладно бы до пользователей не дошло, так они ж продавать начнут.
     
     
  • 3.12, Аноним (12), 16:26, 05/10/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Во-первых, отучаемся говорить за всех.
    Во-вторых, учимся адекватно воспринимать реальность: "корпорациям" и сейчас ничего не мешает так поступить. Вместо этого они совместно финансируют разработку.
     
     
  • 4.17, Аноним (17), 19:53, 05/10/2019 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Не,я конечно не за всех говорю, только за здравомыслящих. Уже сегодня есть всякие сторонние проприетарные расширения типа вот этой шляпы https://www.sqlite.org/see/doc/release/www/index.wiki но эти ещё спасибо хоть исходники дают вроде (т.е. никаких проблем с гпл, если только покупатель не решит "улучшить").
     
     
  • 5.18, Аноним (17), 19:55, 05/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ещё есть вот это https://www.sqlite.org/cerod/doc/trunk/www/readme.wiki
     
  • 5.24, Аноним (12), 07:35, 06/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Не,я конечно не за всех говорю, только за здравомыслящих.

    То есть ты не понял, что манипуляции в данном случае не прокатывают, и продолжаешь выдавать примитив.

    > Уже сегодня есть
    > всякие сторонние проприетарные расширения типа вот этой шляпы

    И что?

     
  • 3.14, Ан (??), 18:09, 05/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И то бы ладно. Да запатентуют потом наработки и потеряют все.
     
  • 2.26, Аноним (26), 15:42, 06/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Это да, но с SQLite есть одна огромная проблема - автор не принимает запросы на слияние вообще. Нужна фича - либо заплати автору за её реализацию, либо поддерживай свой форк до тех пор, пока не решишь, что лучше забить. Аргументация автора в том, что он продаёт бумажки о том, что код не нарушает ни чей копирайт за круглую сумму (потому что если код нарушает копирайт, даже если техногиганты не виноваты, им придётся его исключить, а это многомиллиардные убытки, а те смехотворные для гигантов суммы, какие автор запрашивает они бы всё равно бы дали и даже больше, потому что зависят от продукта и им невыгодно, чтобы он заглох), и что единственный способ это гарантировать - иметь только код, написанный лично.
     
     
  • 3.29, Аноним (29), 21:14, 06/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > автор не принимает запросы на слияние вообще

    Никакая лицензия не заставляет авторов принимать пулл-реквесты,

     
  • 3.32, MBG (?), 11:48, 07/10/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Зато автор рассматривает присылаемые патчи и переписывает их сам, если удастся убедить, в чем их польза. В свое время я достаточно долго с Ричардом обсуждал добавление сжатия FTS-индекса и он это реализовал в коде - хотя и не так, как было сделано в моих патчах, но какая разница.
     

  • 1.13, Нуб (?), 17:53, 05/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    поясните новичку, в каких условиях требуется использования сабжа? Когда жсон уже тормозит, а здоровенные бд не имеют смысла (ибо клиентское приложение)?
     
     
  • 2.15, Аноним (15), 18:29, 05/10/2019 [^] [^^] [^^^] [ответить]  
  • +4 +/
    У електронщиков бытует легенда, что когда жсон начинает тормозить, пора менять датацентр.
     
  • 2.16, Доброжелатель (??), 19:48, 05/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    В Android оно очень в тему
     
  • 2.19, Pofigist (?), 20:37, 05/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Когда на хостинге не охота платить за полноценную БД...
     
     
  • 3.20, Аноним (17), 20:49, 05/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >хостинге
    >БД

    как оно там в 90х?

     
  • 3.28, Аноним (26), 15:50, 06/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > не платить за хостинг
    > потом хостинг начинает шантажировать владельцев приложений, а сайты тех, кто не заплатил, удаляет вместе с базой, не дав выгрузить данные. В лучшем случае.
     
  • 2.22, Аноним (10), 22:45, 05/10/2019 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Извините, я новичок. Что это за база данных - "САБЖ"? И чем он лучше sqlite?
     
  • 2.23, Аноним (23), 03:04, 06/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Когда жсон уже тормозит

    когда ещё не успел подцепить и интернетах жсон головного мозга, а локальная база нужна.

     
  • 2.25, Онаним (?), 11:33, 06/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Когда ты хочешь SQL, но без гребли и охоты с внешним сервером.
     
  • 2.27, Аноним (26), 15:44, 06/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Когда нужна быстрая встраиваемая база данных с SQL. Когда нужно мегатупое key-value хранилище, то есть и получше альтернативы.
     

  • 1.31, Аноним (31), 08:44, 07/10/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    SQLite, расшаренная на десrтопе на SSD в типичном режиме работы:
    - 1 поток записи (5% времени)
    - 4 потока чтения по сети 1GB LAN через ODBC/JDBC (20% времени)
    - простой (75% времени)
    оказывается в 3-4 раза быстрее по отклику и скорости выполнения SQL-запросом чем в тех же условиях та же база на MS Access, HSQLDB, MySQL, PostgreSQL, FireBird. База 1 Гб, 100 полей х 3000000 строк
    Работа с SQLite с WAL из Python - оказывается еще быстрее раза в два. Честно говоря, ничего быстрее я не знаю и скорее всего что быстрее ничего нет. Все дело в указателях файла. IN-MEMORY она тоже умеет, но это не в счет.
     
     
  • 2.33, MBG (?), 11:51, 07/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это у вас 1GB сеть тормозит :) Ну или Btree  индексы слишком активно используете...
     
     
  • 3.34, Аноним (31), 13:05, 07/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Сеть не тормозит, один сегмент. Индексы используем обычные (аналитика бухучета по субконто - названия Контрагентов, Материалов итп). Серверные СУБД медленнее SQLite просто потому что заняты предотвращением конфликтов записи и проверкой типов. SQLite если и читает во время записи - просто шлет таймаут клиенту на 1 сек. и всё.  
     
     
  • 4.35, MBG (?), 20:27, 07/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    "в 3-4 раза быстрее" - это ерунда, потому что на сложных селектах из многих таблиц можно и на 3-4 порядка (десятичных) выигрыш получить. При условии, что статистика таблиц собрана правильно или сгенерирована (эскулайт умеет сохранить и загрузить статистику для планировщика). А вот в постресе, к примеру, объединение десятков таблиц или сложные коррелированные подзапросы требуют шаманства для получения правильного плана выполнения. Особенно, когда речь идет о пространственных данных и модулях PostGIS vs Spatialite.
     
  • 4.36, MBG (?), 20:39, 07/10/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Медленнее, но не поэтому. При доступе только на чтение без блокировок нет никаких "конфликтов записи".

    > "SQLite если и читает во время записи - просто шлет таймаут клиенту на 1 сек. и всё. "

    Не обязательно, есть разные варианты работы. Смотрите WAL-режим, чтение "грязных" данных и проч. настройки. Так что можно и без таймаутов обходиться.

    Рекомендую вот это почитать:
    https://www.sqlite.org/queryplanner-ng.html
    Ну и вдобавок
    https://sqlite.org/optoverview.html

    В рунете вообще не встречал обсуждений того, насколько хорош планировщик запросов эскулайт. Помнится, на форуме sql.ru Олег Бартунов на мой вопрос о возможности создания детерминированного планировщика для постгреса счел это невозможным. Хотя в эскулайте детерминированный планировщик практически полностью решает все проблемы с планами выполнения - в самых сложных случаях достаточно правильную статистику собрать/сгенерировать.

     
     
  • 5.38, Аноним (31), 12:38, 08/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Прочитаю, спасибо! Оптимизировать запросы пока нет необходимости, итак всё "летает". Таймауты ловятся редко и не парят совершенно. А WAL-режим разве работает при доступе к файлу по сети LAN? По-моему он только при чтении на той же машине работает.
     
     
  • 6.40, MBG (?), 08:45, 13/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Предпочтительнее простенький REST API сделать, чем сетевые файловые системы использовать. Или, как вариант, работать с копиями базы локально и время от времени синхронизировать с основной базой. Все зависит от задачи.
     
  • 2.39, me (??), 23:46, 09/10/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Скрипт бд, запросы и свои замеры в студию.
     

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



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

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