The OpenNET Project / Index page

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

08.06.2018 10:38  Релиз СУБД SQLite 3.24

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

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

  • Добавлена поддержка операции UPSERT (добавить-или-модифицировать), реализованной через выражение "INSERT ... ON CONFLICT DO NOTHING/UPDATE". Операция позволяет игнорировать ошибку или выполнить обновление вместо вставки, в случае невозможности добавления данных через "INSERT", например, из-за нарушения условий уникальности или недопустимости значения одного из полей (т.е. если запись уже существует, вместо INSERT можно выполнить UPDATE). Реализованный синтаксис аналогичен операции UPSERT в PostgreSQL;
  • В CLI-интерфейсе с использованием ASCII-графики реализован наглядный отчёт с анализом плана выполнения запроса, выводимый при выполнении команды "EXPLAIN QUERY PLAN" (CLI автоматически преобразует raw-вывод команды в наглядную форму). Также расширена информация, выдаваемая в raw-выводе "EXPLAIN QUERY PLAN", например, добавлены сведения о связях между элементами плана выполнения запроса.
  • В CLI-интерфейс добавлена новая команда ".dbconfig". В команду ".backup" добавлена опция "--append" для дополнения вместо перезаписи. Обеспечена интерпретация строк, начинающихся с символа '#', как комментариев;
  • В таблицах r-tree обеспечена возможность определения вспомогательных столбцов для хранения произвольных данных;
  • В API для языка Си добавлены функции для определения поддержки заданных ключевых слов (sqlite3_keyword_count(), sqlite3_keyword_name(), sqlite3_keyword_check()), а также использования динамических строк на основе объекта sqlite3_str;
  • В выражении "ALTER TABLE" обеспечена возможность использования аргументов "true" и "false" в секции DEFAULT;
  • Добавлена включаемая на этапе сборки оптимизация сортировки ссылок (включается при указании SQLITE_ENABLE_SORTER_REFERENCES).


  1. Главная ссылка к новости (https://www.mail-archive.com/s...)
  2. OpenNews: Релиз СУБД SQLite 3.21
  3. OpenNews: Релиз СУБД SQLite 3.19.0
  4. OpenNews: Релиз СУБД SQLite 3.18.0
  5. OpenNews: Релиз СУБД SQLite 3.20.0
Лицензия: CC-BY
Тип: Программы
Ключевые слова: sqlite
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Анонимусис (?), 11:57, 08/06/2018 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    >Добавлена поддержка операции UPSERT

    а в чем отличие от уже существующей INSERT OR REPLACE?

     
     
  • 2.2, pmich (ok), 12:29, 08/06/2018 [^] [ответить]    [к модератору]
  • +2 +/
    Это для совместимости с PostgreSQL. Там такая команда есть.
     
     
  • 3.12, mj (??), 16:24, 08/06/2018 [^] [ответить]    [к модератору]
  • –5 +/
    Нет такой команды в PostgreSQL.
     
     
  • 4.14, pmich (ok), 16:54, 08/06/2018 [^] [ответить]    [к модератору]
  • +1 +/
    https://www.sqlite.org/lang_UPSERT.html
    UPSERT in SQLite follows the syntax established by PostgreSQL.
     
  • 3.13, nrv (ok), 16:51, 08/06/2018 [^] [ответить]    [к модератору]
  • +/
    А с какой целью совместимость? Для удобства разработчиков? С трудом представляется, что что-то вдруг начнут переносить с постгре на скуэльлайт.
     
     
  • 4.15, pmich (ok), 16:55, 08/06/2018 [^] [ответить]    [к модератору]  
  • +/
    А если с Sqlite на PostgreSQL?
     
     
  • 5.17, nrv (ok), 17:14, 08/06/2018 [^] [ответить]    [к модератору]  
  • +/
    > А если с Sqlite на PostgreSQL?

    Хм.. все равно - вот у вас было ПО, надо полагать, что когда вы начали его разработку, вы примерно понимали какой объем данных будет, нужен ли отдельный сервак под БД.  В моем понимании sqlite - это типа журнал посещений в браузере хранить, ограничение в фурифоксе по дефолту - 350 мб  - как я понимаю это и есть типичный размер БД на этой СУБД. Не сравнить с постгре. Хотя В КДЕ же, вроде, для какой-то хрени можно использовать майскуэль (на выбор склайт тоже есть) - какая-то непомук - аконади. Но, правда, мб, это сделано, чтобы конфиги всех юзеров хранить на одном серваке. Но в каком-то дистрибе, вроде по дефолту майскуэль в демонах уже был запущен.

     
     
  • 6.21, Crazy Alex (ok), 23:56, 08/06/2018 [^] [ответить]    [к модератору]  
  • +/
    Классический пример - всякие бухгалтерии времён дельфей. Один бухгалтер - используем встроенный firebird. Несколько - подняли серверный вариант. Здесь можно то же самое провернуть. Для вебовских движков - тоже милое дело, если сайти мелкий на три посетителя в час - sqlite хватит, если большое - ставим постгре. Даже смигрироваться можно при нужде.
     
  • 6.22, Аноним (-), 01:43, 09/06/2018 [^] [ответить]    [к модератору]  
  • +3 +/
    Постгрес.
    Не постгре, а постгрес.
     
  • 5.20, trdm (ok), 22:16, 08/06/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    > А если с Sqlite на PostgreSQL?

    это возможно. Прототипирование - распространенная пактика.

     
  • 4.19, пох (?), 22:03, 08/06/2018 [^] [ответить]    [к модератору]  
  • +3 +/
    > С трудом представляется, что что-то вдруг начнут переносить с постгре на скуэльлайт.

    это "в силу того, что ваши представления ограничены".

    Вот этот чувак: https://www.opennet.ru/~MBG мог бы, при желании, кое-что тебе рассказать.
    (он довольно легко гуглится, не так много людей могут похвастаться тем, что существенно что-то улучшили в sqlite)


      

     
     
  • 5.25, MBG (?), 07:33, 11/06/2018 [^] [ответить]    [к модератору]  
  • +/
    Как пример сервис с реалтайм траффиком:

    http://136.243.57.100:8080/#map=12/52.5186/13.4239

    Обрабатывается около 100Гб данных в сутки, поступает несколько миллионов записей ежеминутно (уникальный идентификатор автомобиля - данные GPS и проч.). Да, основная база - эскулайт с расширением spatialite,  администрирование не требуется вообще. Используется полнотекстовый поиск для потайловой выборки данных, хранятся как сырые данные, так и агрегированные потайлово для тайлов всех уровней масштаба. Сервер - Intel(R) Xeon(R) CPU E3-1271 v3 @ 3.60GHz (4 ядра и 8 потоков), использовано 3ГБ ОЗУ, Load average: 3.10.

     
  • 2.3, nobody (??), 12:54, 08/06/2018 [^] [ответить]    [к модератору]  
  • +/
    В наличии ON CONFLICT DO NOTHING ?
     
  • 2.23, Ilya Indigo (ok), 16:24, 09/06/2018 [^] [ответить]    [к модератору]  
  • +/
    INSERT это INSERT. REPLACE это всегда тупо DELETE и INSERT.
    UPDATE-ом тут и не пахнет.
    А UPSERT это или UPDATE или INSERT.
    Так понятнее?
    P.S. INSERT ON DUPLICATE KEY UPDATE это тоже не аналог UPSERT.
    1 Отдельно нужно указывать что и чем обновлать в случае нарушения уникальности.
    2 В случае, если поле NOT NULL и не содержит DEFAULT то INSERT выдаст ошибку при отсутствии значения такому полю, даже если мы хотим обновить его. При UPDATE такого не происходит.
     
  • 1.4, Аноним (-), 13:32, 08/06/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Не подскажет никто gui/webgui для просмотра базы?
     
     
  • 2.5, Аноним (-), 13:39, 08/06/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    https://sqlitebrowser.org/
     
  • 2.6, имя (?), 13:44, 08/06/2018 [^] [ответить]    [к модератору]  
  • +3 +/
    sqlitebrowser
     
  • 2.7, Илья (??), 14:00, 08/06/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    Sqlitestudio
     
     
  • 3.24, AKR (ok), 16:32, 09/06/2018 [^] [ответить]    [к модератору]  
  • +/
    Поддерживаю, пока ничего удобнее чем SQLiteStudio не встречал: https://sqlitestudio.pl
     
  • 2.8, Аноним (-), 14:57, 08/06/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    dbeaver
     
     
  • 3.9, Аноним (-), 15:42, 08/06/2018 [^] [ответить]    [к модератору]  
  • +/
    плюсую. Добротное и универсальное ПО.
     
  • 2.10, Anonymoustus (ok), 15:55, 08/06/2018 [^] [ответить]    [к модератору]  
  • +/
    Фуррифокс, внезапно. С дополнением SQLite Manager:

    https://github.com/lazierthanthou/sqlite-manager

    https://addons.mozilla.org/addon/sqlite-manager

    Not compatible with Firefox Quantum

     
  • 2.11, нах (?), 16:15, 08/06/2018 [^] [ответить]    [к модератору]  
  • +/
    tksqlite forever.

     
     
  • 3.16, Аноним (-), 17:07, 08/06/2018 [^] [ответить]    [к модератору]  
  • +/
    Какой-то китайский ужос.
     
     
  • 4.18, пох (?), 18:46, 08/06/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Copyright (c) 2004 - 2013 OHTSUKA, Yoshio, его прадед на китайцах катану испытывал.
    И главное - ни в коем случае не смотри в исходники самой sqlite. (нет, тебя нае...обманули. sqlite3.c это не исходник, sqlite-autoconf-3240000.tar.gz - тоже не содержит исходников)

     

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


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