The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск СУБД SQLite 3.39, opennews (??), 25-Июн-22, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


1. "Выпуск СУБД SQLite 3.39"  +10 +/
Сообщение от Аноним (1), 25-Июн-22, 23:32 
Лучшее что придумали за последний десяток лет.
Бэкап файлика вместо дампов - отдельный респект.
Для небольших и не особо требовательных проектов - лучшее решение.
Ответить | Правка | Наверх | Cообщить модератору

2. "Выпуск СУБД SQLite 3.39"  –9 +/
Сообщение от Dzen Python (ok), 25-Июн-22, 23:39 
Именно что для небольших и именно что для нетребовательных.
Чуть дальше выйди за рамки установленных скулёжем - шиш и миннное поле, засеянное порослью костыльных граблей, костылей из грабель и граблекостылей.

А так да, идеальный софт в своей нище.

Ответить | Правка | Наверх | Cообщить модератору

7. "Выпуск СУБД SQLite 3.39"  +2 +/
Сообщение от Аноним (7), 26-Июн-22, 00:33 
Да не, нормально. Главное, добавить слипов, чтобы запись из разных потоков не пересекалась. У меня так сотня тредов запущена и записи даже почти не пересекаются в итоге (а они все много пишут и уходят поспать). Даже вообще не пересекаются больше, без достаточных слипов эта сотня тредов часто долбилась и обламывалась. К тому же, куда надёжнее, скажем leveldb, которая, похоже, умирает и вайпает всё, если её не закрыть при сегфолте. Да, я в курсе, что это разные вещи.

С тех пор, как жсон добавили, вообще годно. Ну, раньше приходилось очень костылять, но в прошлой версии добавили синтаксис для жсона и стало очень хорошо и удобно.

Ответить | Правка | Наверх | Cообщить модератору

9. "Выпуск СУБД SQLite 3.39"  +9 +/
Сообщение от fghj (?), 26-Июн-22, 01:16 
Да, "sleep" для решения проблем с многопоточностью это именно то что нужно,
можно еще разрешить программе использовать одно ядро, тогда точно все многопоточнненко будет работать.
Ответить | Правка | Наверх | Cообщить модератору

11. "Выпуск СУБД SQLite 3.39"  –1 +/
Сообщение от Аноним (7), 26-Июн-22, 01:32 
Если это работает, то это не глупо. Пока потоков было до 20 штук, вообще не сталкивался. На 100 уже пришлось разносить время запуска. Дело в том, что у постгри, вместо которой используется sqlite локально (и в целях экономии), таких проблем нет.
Ответить | Правка | Наверх | Cообщить модератору

13. "Выпуск СУБД SQLite 3.39"  +2 +/
Сообщение от funny.falcon (?), 26-Июн-22, 02:28 
Так а почему мьютекс не добавить?

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

WAL mode то включили?

Ответить | Правка | Наверх | Cообщить модератору

21. "Выпуск СУБД SQLite 3.39"  +/
Сообщение от Аноним (21), 26-Июн-22, 09:03 
Акторный фв не пробовали юзать, для того чтобы лианеризировать записи? sobjectizer, rotor (C++)?
Ответить | Правка | Наверх | Cообщить модератору

28. "Выпуск СУБД SQLite 3.39"  +/
Сообщение от Аноним (7), 26-Июн-22, 14:58 
Потому что это вообще не проблема, только у sqlite претензии. Ну хотя бы можно читать во много тредов. Спасибо, попробую покрутить таймауты при необходимости, правда за 6 месяцев аптайма может быть 1 раз на забитом IO такое внезапно случилось (несколько тредов встретились), поэтому можно не беспокоиться, я думаю.
Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

31. "Выпуск СУБД SQLite 3.39"  –2 +/
Сообщение от _hide_ (ok), 26-Июн-22, 15:56 
Что за бред? Если не хочется синхронизаций, тогда пишем один потоком (типо воркера), а данные для записи генерим в других
Ответить | Правка | Наверх | Cообщить модератору

35. "Выпуск СУБД SQLite 3.39"  –1 +/
Сообщение от Аноним (7), 26-Июн-22, 16:34 
У меня уже есть пул подключений, которым заведует ORM. Любые попытки его уменьшать или как-то твикать, приводили к очень ощутимой просадке производительности у sqlite, но не решали проблему. Вот так вы пишете одним потоком, а потом sqlite тормозит у юзверей (ну и копирования, копирования, копирования тоже). И как вы себе это представляете я не знаю, вот у меня, допустим, в каждом треде есть короутины, и они все работают напрямую с бд, никаких неэффективных промежуточных этапов и никаких внезапных задержек. Кстати, в один тред холодный запуск (с 0) занимает около 10 минут, а в 100 тредов, около 30 секунд. А вы дальше сидите со своим одним потоком.
Ответить | Правка | Наверх | Cообщить модератору

46. "Выпуск СУБД SQLite 3.39"  +/
Сообщение от _hide_ (ok), 28-Июн-22, 09:40 
> У меня уже есть пул подключений, которым заведует ORM. Любые попытки его
> уменьшать или как-то твикать, приводили к очень ощутимой просадке производительности у
> sqlite, но не решали проблему. Вот так вы пишете одним потоком,
> а потом sqlite тормозит у юзверей (ну и копирования, копирования, копирования
> тоже). И как вы себе это представляете я не знаю, вот
> у меня, допустим, в каждом треде есть короутины, и они все
> работают напрямую с бд, никаких неэффективных промежуточных этапов и никаких внезапных
> задержек. Кстати, в один тред холодный запуск (с 0) занимает около
> 10 минут, а в 100 тредов, около 30 секунд. А вы
> дальше сидите со своим одним потоком.

Нда, типо "я выжрал весь IO" и мне в кайф использовать SQLite там где нужна полноценная СУБД. Создать себе проблемы и гордо их решать!

Ответить | Правка | Наверх | Cообщить модератору

47. "Выпуск СУБД SQLite 3.39"  +/
Сообщение от Аноним (7), 28-Июн-22, 10:43 
Да сеть я выжрал, а не IO. Обновить 10000 записей за час (и добавить сотню новых) это не такая уж ресурсоёмкая задача, зачем делать её проблемной и затратной? А sqlite удобен тем, что он компактный и данные из него потом легко экспортируются в postgres (часть данных на самом деле) для прода. Ну и браузер для sqlite мне особенно нравится, нет денег на проприетарные браузеры для postgres (я знаю, они хорошие), да и санкции опять же.
Ответить | Правка | Наверх | Cообщить модератору

48. "Выпуск СУБД SQLite 3.39"  +/
Сообщение от _hide_ (ok), 29-Июн-22, 13:36 
> Обновить 10000 записей за час

Или у Вас очень сильно большие записи (не чай JSON строки по 10 МБ в базе обновляете? для П/Г -- это серьёзная ошибка), либо железо дрянь, либо конфиг пилить.
10К/с в таблицу на железе 2012 года можно даже с учётом связанности (по 10КБ/запись) без каких либо последствий для производительности на чтение.

Ответить | Правка | Наверх | Cообщить модератору

8. "Выпуск СУБД SQLite 3.39"  +/
Сообщение от Аноним (7), 26-Июн-22, 00:36 
Оно довольно тормозное. Программы, которые используют, довольно тормозные. Особенно, на мобилках. Ну, и запись из нескольких потоков придётся организовывать отдельно, понадобится какой-нибудь менеджер с обвязкой из семафоров и это всё конечно будет ещё больше тормозить.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

10. "Выпуск СУБД SQLite 3.39"  +1 +/
Сообщение от fghj (?), 26-Июн-22, 01:22 
А какой смысл многопоточно писать в один небольшой файл даже если бы sqlite поддерживал многопоточность? Физически в один и тот же "erase" сектор NAND одновременно двум и более писать не удаться. Поэтому просто выделите отдельный поток для sqlite и к нему очередь задач и все.
Ответить | Правка | Наверх | Cообщить модератору

12. "Выпуск СУБД SQLite 3.39"  +/
Сообщение от Аноним (7), 26-Июн-22, 01:43 
Смысл в том, чтобы писать многопоточно. Он поддерживает многопоточность, например, чтений там производится куда больше, чем записей, и с этим никаких проблем. А насчёт ссд, я думаю, контроллер должен с этим разбираться, но это не самое узкое место -- с сетью дела куда хуже обстоят. Я не знаю, как прикрутить очередь задач к ORM, поэтому вряд ли. А вот блокировать, пока кто-то уже пишет, вполне себе вариант, но это, опять же, приведёт к лишним усложнениям, специально для sqlite, ну т.е. роллбэк и повторить коммит это не такие ужасные усложнения по сравнению с синхронизацией асинхронного приложения.
Ответить | Правка | Наверх | Cообщить модератору

19. "Выпуск СУБД SQLite 3.39"  +5 +/
Сообщение от Аноним (19), 26-Июн-22, 08:27 
Пиши просто: ты не знаешь. Ни как он работает, ни чем его заменить "более производительным". И если софт ты пишешь задницей, то он будет тормозить на чём угодно
Ответить | Правка | Наверх | Cообщить модератору

27. "Выпуск СУБД SQLite 3.39"  +/
Сообщение от Аноним (7), 26-Июн-22, 14:47 
Почему не знаю? Это же просто. Переключаешь тип дб и настройки, и используешь ту же схему с постгрей. Для 1 пользователя, очевидно, оверкил. А тормозит то не мой софт, мой как раз не тормозит.
Ответить | Правка | Наверх | Cообщить модератору

30. "Выпуск СУБД SQLite 3.39"  +/
Сообщение от Тот Самый (?), 26-Июн-22, 15:52 
>Программы, которые используют, довольно тормозные. Особенно, на мобилках.

Есть альтернативы sqlite для организации локальных хранилищ на мобилках? Поделись.

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

32. "Выпуск СУБД SQLite 3.39"  +/
Сообщение от Аноним (32), 26-Июн-22, 16:13 
Нет альтернатив, вот я хочу ,GlueSQL попробовать прикрутить к React Native.
Ответить | Правка | Наверх | Cообщить модератору

41. "Выпуск СУБД SQLite 3.39"  +/
Сообщение от Бывалый смузихлёб (?), 27-Июн-22, 07:05 
> вот я хочу ,GlueSQL попробовать прикрутить к React Native

Но зачем ?

Ответить | Правка | Наверх | Cообщить модератору

43. "Выпуск СУБД SQLite 3.39"  +/
Сообщение от Совершенно другой аноним (?), 27-Июн-22, 10:31 
> Ну, и запись из нескольких потоков придётся организовывать отдельно, понадобится какой-нибудь менеджер с обвязкой из семафоров и это всё

Вообще-то поддержка многопоточности в SQLite есть - https://sqlite.org/threadsafe.html

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

44. "Выпуск СУБД SQLite 3.39"  +1 +/
Сообщение от Аноним (7), 27-Июн-22, 11:08 
Конечно, есть. Только закоммитить данные из 2 потоков одновременно нельзя.
Ответить | Правка | Наверх | Cообщить модератору

25. "Выпуск СУБД SQLite 3.39"  –1 +/
Сообщение от pashev.ru (?), 26-Июн-22, 10:41 
> Бэкап файлика вместо дампов - отдельный респект.

Лол. Ты делаешь это не правильно. RTFM.

Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

45. "Выпуск СУБД SQLite 3.39"  +/
Сообщение от topin89 (ok), 28-Июн-22, 02:28 
"Ты неправ, как надо не объясню, читай тонны текста в поисках истины". Ну это просто грубо.

Да, если попытаться просто скопировать на горячую, выйдет битая копия, проверено.
Да, нужно запускать

sqlite3 my_database.sq3 ".backup 'backup_file.sq3'"

или делать подобный запрос в своём коде.
Но если 100% база закрыта, можно и файлами (включая всякие .wal, если write-ahead включен).

Ответить | Правка | Наверх | Cообщить модератору

29. "Выпуск СУБД SQLite 3.39"  +/
Сообщение от анонимиус (?), 26-Июн-22, 15:31 
Access лучшее решение для небольших и не особо требовательных проектов :)
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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