URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 107977
[ Назад ]

Исходное сообщение
"Выпуск СУБД SQLite 3.13.0"

Отправлено opennews , 19-Май-16 11:26 
Состоялся (http://permalink.gmane.org/gmane.comp.db.sqlite.announce/60) релиз SQLite 3.13.0 (http://sqlite.org/), легковесной базы данных, оформленной в виде подключаемой библиотеки. Код SQLite распространяется как общественное достояние (public domain), т.е. может использоваться без ограничений и безвозмездно в любых целях. Финансовую поддержку разработчиков SQLite осуществляет специально созданный консорциум, в который входят такие компании, как Adobe, Oracle, Mozilla, Bentley и Bloomberg.

Основные новшества (http://sqlite.org/releaselog/3_13_0.html):


-  В основную ветку принято расширение session (http://sqlite.org/sessionintro.html), позволяющее сохранять отдельно изменения в таблицах, а затем на основе сохранённых данных формировать "патч" для обновления другой БД с аналогичной схемой и совместимыми стартовыми данными. Иными словами, предоставляется аналог patch или "git merge" для БД;
-  Связанный с временными файлам ввод/вывод теперь откладывается и осуществляется только в крайних случаях;
-  В интерфейс командной строки (http://sqlite.org/cli.html) добавлена команда ".auth ON|OFF", включающая отображение запросов от систем авторизации;
-   В интерфейс командной строки добавлена опция "--indent" для команд  ".schema" и ".fullschema", включающая расстановку отступов для улучшения читаемости вывода;
-   В интерфейс командной строки добавлена опция ".eqp full", применяющая к выполняемым выражениям дополнительно вызовы EXPLAIN и "EXPLAIN QUERY PLAN";
-  В интерфейсе командной строки улучшена поддержка Unicode в именах файлов в окружении Windows;

-  Добавлена функция sqlite3_db_config(db, SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION) (http://sqlite.org/c3ref/db_config.html), позволяющая активировать загрузку расширений на базе C-API через sqlite3_load_extension(), из соображений безопасности оставив при этом отключенной загрузку функций SQL через load_extension();

-  Изменён алгоритм поиска временной директории на Unix-системах, которая должна иметь установленные флаги исполнения и записи, но не допускать чтения содержимого.


URL: http://permalink.gmane.org/gmane.comp.db.sqlite.announce/60
Новость: http://www.opennet.me/opennews/art.shtml?num=44459


Содержание

Сообщения в этом обсуждении
"Выпуск СУБД SQLite 3.13.0"
Отправлено fleonis , 19-Май-16 11:26 
ух ты, а я и не знал про session - пришлось делать свой велосипед. сделал кучу тригеров, чтобы велась история :)

"Выпуск СУБД SQLite 3.13.0"
Отправлено chinarulezzz , 19-Май-16 14:15 
а я крутил педали через связку с inotify)

Справедливости ради, session только в этом релизе появилось. Как можно было знать?


"Выпуск СУБД SQLite 3.13.0"
Отправлено ананим.orig , 19-Май-16 18:01 
а надо было через fanotify
> $ man fanotify
> fanotify - отслеживание событий в файловой системе
> ОПИСАНИЕ
>     Программный  интерфейс fanotify уведомляет о событиях в файловой системе и перехватывает их. Например, его можно использовать для сканирования…
>     Дополнительные  возможности  по  сравнению  с  программным  интерфейсом  inotify(7): способность  отслеживать  все   объекты в смонтированной  файловой  системе,  давать  права  на  доступ  и  читать  или  изменять файлы перед тем как доступ получат другие приложения.

как-то так.


"Выпуск СУБД SQLite 3.13.0"
Отправлено vn971 , 19-Май-16 12:36 
fleonis, ещё для некоторых видов данных прокатывает подход "никогда не менять строки в БД, только добавлять новые". Типа, если надо что-то изменить, то добавляешь новый элемент с обновлённым временем. Если нужно получить значение - берёшь наиболее новый элемент.

Прокатывает, прямо скажем, не всегда. Но при этом иногда хорошо ложится на монгу/кассандру.


"Выпуск СУБД SQLite 3.13.0"
Отправлено Аноним , 19-Май-16 13:46 
> Прокатывает, прямо скажем, не всегда.

Не прокатывает, очевидно, когда записей больше 100?


"Выпуск СУБД SQLite 3.13.0"
Отправлено Crazy Alex , 19-Май-16 14:49 
Чепуха. Для тех же биллингов это штатый режим работы, а уж там-то строк поболе будет. Но не SQLite, конечно.

"Выпуск СУБД SQLite 3.13.0"
Отправлено _ , 19-Май-16 17:16 
Чепуха. В том же биллинге только resource use log так работает, остальное - нет.

"Выпуск СУБД SQLite 3.13.0"
Отправлено Crazy Alex , 19-Май-16 18:23 
В тех, что я видел - так работало всё - от финансов (само собой) до состояния файрволла. UTM тот же.

"Выпуск СУБД SQLite 3.13.0"
Отправлено Аноним , 19-Май-16 18:35 
> Для тех же биллингов это штатый режим работы

Да как хоть?! Оно ж таким макаром тормозить должно через пару месяцев/лет работы! :(


"Выпуск СУБД SQLite 3.13.0"
Отправлено Аноним , 20-Май-16 03:25 
с денормализацией (хотя бы через material views) и партиционированием - не должно

"Выпуск СУБД SQLite 3.13.0"
Отправлено Аноним , 19-Май-16 22:13 
Именно этим первые социальные сети объясняли то, что их данные не исчезают даже после удаления.

"Выпуск СУБД SQLite 3.13.0"
Отправлено Аноним , 21-Май-16 18:01 
> Именно этим первые социальные сети объясняли то, что их данные не исчезают
> даже после удаления.

Потому что там не идиoты разрабатывали. Ну-ка, попробуй удалить - даже с использованием индекса - одну строку из таблицы 100 млн строк. И-да, учти, это _маленькая_ таблица, а даже не средняя.

Вставлять строки - дешево, выбирать - по B-tree индексам - быстро, а удалять - дорого песдетс.

Что вам, краем уха слышавшим, о RDBMS, еще объяснить?


"Выпуск СУБД SQLite 3.13.0"
Отправлено Анон вроде , 20-Май-16 02:49 
При этом уникальные ключи становятся неуникальными и прочий головняк

"Выпуск СУБД SQLite 3.13.0"
Отправлено Аноним , 21-Май-16 18:01 
> При этом уникальные ключи становятся неуникальными и прочий головняк

Это смотря кто пишет.

Ошибка всегда в генах, вопрос лишь - в чьих.