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

Исходное сообщение
"Релиз СУБД SQLite 3.21"

Отправлено opennews , 27-Окт-17 09:54 
Представлен (http://www.mail-archive.com/sqlite-announce@sqlite.org/...) релиз SQLite 3.21.0 (http://sqlite.org/), легковесной СУБД, оформленной в виде подключаемой библиотеки. Код SQLite распространяется как общественное достояние (public domain), т.е. может использоваться без ограничений и безвозмездно в любых целях. Финансовую поддержку разработчиков SQLite осуществляет специально созданный консорциум, в который входят такие компании, как Adobe, Oracle, Mozilla, Bentley и Bloomberg.

Основные изменения (https://sqlite.org/releaselog/3_21_0.html):


-  Поддержка режима атомарной записи для файловой системы
F2FS, позволяющего значительно снизить накладные расходы при выполнении транзакций. Для включения режима требуется сборка с опцией  SQLITE_ENABLE_BATCH_ATOMIC_WRITE;
-  Внутри транзакций разрешено применение команд  ATTACH (http://sqlite.org/lang_attach.html) и DETACH (http://sqlite.org/lang_detach.html);
-  Обеспечена возможность записи в виртуальные таблицы в режиме "WITHOUT ROWID (http://sqlite.org/vtab.html#worid)", если в качестве первичного ключа задан только один столбец;
-  Применение оптимизаций (http://sqlite.org/optoverview.html#like_opt) для выражения LIKE расширено использованием LIKE совместно с конструкцией ESCAPE (http://sqlite.org/lang_expr.html#like);
-  В PRAGMA integrity_check (http://sqlite.org/optoverview.html#like_opt) и PRAGMA quick_check (http://sqlite.org/pragma.html#pragma_quick_check) реализовано выявление скрытых повреждений строк;
-  В планировщике запросов для подзапросов в выражении FROM теперь применяются сопрограммы вместо оптимизиации через развёртывание запроса;
-  Включена по умолчанию поддержка использования сопрограмм для подзапросов;

-  При разборе виртуальных таблиц, связанных (http://sqlite.org/csv.html) с файлом CSV, теперь  последняя строка учитывается даже если в конце нет символа перевода строки;
-  Удалена система распределения памяти  "scratch", вместо которой предлагается набор настроек SQLITE_CONFIG_SMALL_MALLOC (http://sqlite.org/c3ref/c_config_covering_index_scan.html#sq...) для минимизации выделения больших блоков памяти;

-  В расширение с реализацией виртуальных таблиц union  добавлена поддержка виртуальных таблиц swarm (https://sqlite.org/src/file/ext/misc/unionvtab.c), отличающихся методом передачи ссылки на файл с БД;
-  Добавлена виртуальная таблица sqlite_dbpage (https://sqlite.org/src/file/src/dbpage.c), через которую можно получить прямой доступ к страницам с данными в файле БД. Для активации требуется сборка с опцией "-DSQLITE_ENABLE_DBPAGE_VTAB";
-  Добавлен новый  тип виртуальных таблиц fts5vocab - "instance", предоставляющий низкоуровневый доступ к содержимому полнотекстового индекса FTS5;
-  Внесена серия микрооптимизаций, в сумме позволивших снизить нагрузку на CPU примерно на 2.1%.

URL: https://www.mail-archive.com/sqlite-announce@sqlite.org...
Новость: http://www.opennet.me/opennews/art.shtml?num=47456


Содержание

Сообщения в этом обсуждении
"Релиз СУБД SQLite 3.21"
Отправлено FedeX , 27-Окт-17 09:54 
SQLite будет жить ВЕЧНО

"Релиз СУБД SQLite 3.21"
Отправлено A.Stahl , 27-Окт-17 10:14 
Не будет. Я гарантирую это. Готов поспорить на любую сумму.

"Релиз СУБД SQLite 3.21"
Отправлено Аноним , 27-Окт-17 10:47 
Как и все формы, что существуют. Но для embedded в грядущие времена IoT нужны будут подобные СУБД, разве что что-то новое вытеснит типа NoSQL.

"Релиз СУБД SQLite 3.21"
Отправлено rshadow , 27-Окт-17 11:48 
> что-то новое вытеснит типа NoSQL

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


"Релиз СУБД SQLite 3.21"
Отправлено Аноним , 27-Окт-17 12:17 
Имел в виду гибрид SQL+NoSQL

"Релиз СУБД SQLite 3.21"
Отправлено Sabakwaka , 28-Окт-17 01:11 
>> Имел в виду гибрид SQL+NoSQL

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


"Релиз СУБД SQLite 3.21"
Отправлено пох , 28-Окт-17 11:54 
>>> Имел в виду гибрид SQL+NoSQL
> Биг Дата во включаемом СМС-кой на подогрев чайнике?

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

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

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


"Релиз СУБД SQLite 3.21"
Отправлено Аноним , 28-Окт-17 22:02 
Вместо нагревателя будем использовать чипы для майнинга или GPU, сэкономим на нагревателях, поддержим электронную промышленность, и кипяток у нас будет постоянно, а возможно, и обогрев всего дома, который теперь окажется бесплатным, потому что отопительная система будет сама платить за электричество криптовалютой, которую сама же намайнила :)

"Релиз СУБД SQLite 3.21"
Отправлено Ingoa , 03-Ноя-17 12:12 
Кипяток при н.у. всегда имеет одну и ту же температуру. Так что страсть как не хочется.

"Релиз СУБД SQLite 3.21"
Отправлено Аноним , 27-Окт-17 13:13 
Есть встраевымые NoSQL если чо.

"Релиз СУБД SQLite 3.21"
Отправлено YetAnotherOnanym , 27-Окт-17 14:01 
> типа NoSQL

Графовая же!


"Релиз СУБД SQLite 3.21"
Отправлено qsdg , 27-Окт-17 10:02 
Как они поддерживают все свои тесты, ведь у них на каждую строчку кода -- 730 строчек тестов. Ясное дело, что далеко не все из них пишутся людьми, но ведь кто-то их поддерживать должен?

"Релиз СУБД SQLite 3.21"
Отправлено qsdg , 27-Окт-17 10:02 
https://www.sqlite.org/testing.html

"Релиз СУБД SQLite 3.21"
Отправлено пох , 27-Окт-17 12:09 
> Как они поддерживают все свои тесты, ведь у них на каждую строчку кода -- 730 строчек
> тестов.

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

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


"Релиз СУБД SQLite 3.21"
Отправлено anonymoose , 27-Окт-17 10:39 
Ура, лучшая СУБД в мире!

"Релиз СУБД SQLite 3.21"
Отправлено kleem_head , 27-Окт-17 11:20 
Хочу обновления kripken/sql.js

"Релиз СУБД SQLite 3.21"
Отправлено пох , 27-Окт-17 12:53 
http://sqlite.org/csv.html - вот интересно, кто-нибудь докопался до этой страницы раньше чем ссылка появилась в release notes? Все же, навигация на их чудо-сайте уникально бестолковая.


"Релиз СУБД SQLite 3.21"
Отправлено Crazy Alex , 27-Окт-17 18:22 
В смысле? На него ж из Extensions ссылка. Я бы сказал, что как раз дока у них вполне логичная, не припомню проблем с ней.

"Релиз СУБД SQLite 3.21"
Отправлено пох , 27-Окт-17 20:54 
> В смысле? На него ж из Extensions ссылка.

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

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

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



"Релиз СУБД SQLite 3.21"
Отправлено Аноним , 27-Окт-17 13:56 
В России её томозит отсутствие кириллицы "из коробки". И это отсутствие похоже пребудет вечно. Аминь.

"Релиз СУБД SQLite 3.21"
Отправлено Аноним , 27-Окт-17 22:10 
Я не в теме, но это правда? SQLite не работает с кириллицей? То есть я не могу в поле записать что-то кириллическое (например, своё имя)? Или речь о чём-то другом?

"Релиз СУБД SQLite 3.21"
Отправлено Аноним , 28-Окт-17 04:26 
SQLite поддерживает только UTF-8 и UTF-16. В 1.14 написана полнейшая чушь.

"Релиз СУБД SQLite 3.21"
Отправлено пох , 28-Окт-17 11:20 
> SQLite поддерживает только UTF-8 и UTF-16. В 1.14 написана полнейшая чушь.

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

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

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


"Релиз СУБД SQLite 3.21"
Отправлено Вареник , 29-Окт-17 04:34 
Это встроенная БД.

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


"Релиз СУБД SQLite 3.21"
Отправлено пох , 29-Окт-17 21:03 
"встроенность" в общем случае означает просто отсутствие неведомого демона, который (обычно плохо или никак) обеспечивает авторизацию и локинг, а так же торчит в интернет вечнодырявым сокетом, и вдобавок плохо или никак не настраивается для конкретной базы и конкретной программы, все ключевые настройки 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.


"Релиз СУБД SQLite 3.21"
Отправлено пох , 28-Окт-17 11:01 
> Я не в теме, но это правда? SQLite не работает с кириллицей?

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

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

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


"Релиз СУБД SQLite 3.21"
Отправлено Кузя , 30-Окт-17 17:32 
Collation для русского не поддерживается. Т.е., к примеру, order by выдаст что попало. Но это неважно совершенно для встраиваемого решения, по-моему.

"Релиз СУБД SQLite 3.21"
Отправлено пох , 28-Окт-17 12:34 
кстати, рекомендую всем плавненько валить вот на этот экстеншн:
https://bitbucket.org/alekseyt/nunicode

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


"Релиз СУБД SQLite 3.21"
Отправлено Аноним , 27-Окт-17 14:54 
К слову, использует https://www.fossil-scm.org для распределенной разработки.

"Релиз СУБД SQLite 3.21"
Отправлено Аноним , 27-Окт-17 16:20 
Да только они и используют. Ну и Tcl ещё.