1.1, Аноним (1), 23:32, 25/06/2022 [ответить] [﹢﹢﹢] [ · · · ]
| +10 +/– |
Лучшее что придумали за последний десяток лет.
Бэкап файлика вместо дампов - отдельный респект.
Для небольших и не особо требовательных проектов - лучшее решение.
| |
|
2.2, Dzen Python (ok), 23:39, 25/06/2022 [^] [^^] [^^^] [ответить]
| –9 +/– |
Именно что для небольших и именно что для нетребовательных.
Чуть дальше выйди за рамки установленных скулёжем - шиш и миннное поле, засеянное порослью костыльных граблей, костылей из грабель и граблекостылей.
А так да, идеальный софт в своей нище.
| |
|
3.7, Аноним (7), 00:33, 26/06/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
Да не, нормально. Главное, добавить слипов, чтобы запись из разных потоков не пересекалась. У меня так сотня тредов запущена и записи даже почти не пересекаются в итоге (а они все много пишут и уходят поспать). Даже вообще не пересекаются больше, без достаточных слипов эта сотня тредов часто долбилась и обламывалась. К тому же, куда надёжнее, скажем leveldb, которая, похоже, умирает и вайпает всё, если её не закрыть при сегфолте. Да, я в курсе, что это разные вещи.
С тех пор, как жсон добавили, вообще годно. Ну, раньше приходилось очень костылять, но в прошлой версии добавили синтаксис для жсона и стало очень хорошо и удобно.
| |
|
4.9, fghj (?), 01:16, 26/06/2022 [^] [^^] [^^^] [ответить]
| +9 +/– |
Да, "sleep" для решения проблем с многопоточностью это именно то что нужно,
можно еще разрешить программе использовать одно ядро, тогда точно все многопоточнненко будет работать.
| |
|
5.11, Аноним (7), 01:32, 26/06/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
Если это работает, то это не глупо. Пока потоков было до 20 штук, вообще не сталкивался. На 100 уже пришлось разносить время запуска. Дело в том, что у постгри, вместо которой используется sqlite локально (и в целях экономии), таких проблем нет.
| |
|
6.13, funny.falcon (?), 02:28, 26/06/2022 [^] [^^] [^^^] [ответить]
| +2 +/– |
Так а почему мьютекс не добавить?
И, если память не изменяет, в какой-то из последних версий добавили отключение тайм-аута, чтобы писатель ждал бесконечно другого писателя. Могу ошибаться.
WAL mode то включили?
| |
|
7.21, Аноним (21), 09:03, 26/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Акторный фв не пробовали юзать, для того чтобы лианеризировать записи? sobjectizer, rotor (C++)?
| |
7.28, Аноним (7), 14:58, 26/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Потому что это вообще не проблема, только у sqlite претензии. Ну хотя бы можно читать во много тредов. Спасибо, попробую покрутить таймауты при необходимости, правда за 6 месяцев аптайма может быть 1 раз на забитом IO такое внезапно случилось (несколько тредов встретились), поэтому можно не беспокоиться, я думаю.
| |
|
8.31, _hide_ (ok), 15:56, 26/06/2022 [^] [^^] [^^^] [ответить] | –2 +/– | Что за бред Если не хочется синхронизаций, тогда пишем один потоком типо ворке... текст свёрнут, показать | |
|
9.35, Аноним (7), 16:34, 26/06/2022 [^] [^^] [^^^] [ответить] | –1 +/– | У меня уже есть пул подключений, которым заведует ORM Любые попытки его уменьша... текст свёрнут, показать | |
|
|
|
|
|
|
|
2.8, Аноним (7), 00:36, 26/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Оно довольно тормозное. Программы, которые используют, довольно тормозные. Особенно, на мобилках. Ну, и запись из нескольких потоков придётся организовывать отдельно, понадобится какой-нибудь менеджер с обвязкой из семафоров и это всё конечно будет ещё больше тормозить.
| |
|
3.10, fghj (?), 01:22, 26/06/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
А какой смысл многопоточно писать в один небольшой файл даже если бы sqlite поддерживал многопоточность? Физически в один и тот же "erase" сектор NAND одновременно двум и более писать не удаться. Поэтому просто выделите отдельный поток для sqlite и к нему очередь задач и все.
| |
|
4.12, Аноним (7), 01:43, 26/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Смысл в том, чтобы писать многопоточно. Он поддерживает многопоточность, например, чтений там производится куда больше, чем записей, и с этим никаких проблем. А насчёт ссд, я думаю, контроллер должен с этим разбираться, но это не самое узкое место -- с сетью дела куда хуже обстоят. Я не знаю, как прикрутить очередь задач к ORM, поэтому вряд ли. А вот блокировать, пока кто-то уже пишет, вполне себе вариант, но это, опять же, приведёт к лишним усложнениям, специально для sqlite, ну т.е. роллбэк и повторить коммит это не такие ужасные усложнения по сравнению с синхронизацией асинхронного приложения.
| |
|
5.19, Аноним (19), 08:27, 26/06/2022 [^] [^^] [^^^] [ответить]
| +5 +/– |
Пиши просто: ты не знаешь. Ни как он работает, ни чем его заменить "более производительным". И если софт ты пишешь задницей, то он будет тормозить на чём угодно
| |
|
6.27, Аноним (7), 14:47, 26/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Почему не знаю? Это же просто. Переключаешь тип дб и настройки, и используешь ту же схему с постгрей. Для 1 пользователя, очевидно, оверкил. А тормозит то не мой софт, мой как раз не тормозит.
| |
|
|
|
3.30, Тот Самый (?), 15:52, 26/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
>Программы, которые используют, довольно тормозные. Особенно, на мобилках.
Есть альтернативы sqlite для организации локальных хранилищ на мобилках? Поделись.
| |
|
4.32, Аноним (32), 16:13, 26/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Нет альтернатив, вот я хочу ,GlueSQL попробовать прикрутить к React Native.
| |
|
|
4.44, Аноним (7), 11:08, 27/06/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Конечно, есть. Только закоммитить данные из 2 потоков одновременно нельзя.
| |
|
|
2.25, pashev.ru (?), 10:41, 26/06/2022 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Бэкап файлика вместо дампов - отдельный респект.
Лол. Ты делаешь это не правильно. RTFM.
| |
|
3.45, topin89 (ok), 02:28, 28/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
"Ты неправ, как надо не объясню, читай тонны текста в поисках истины". Ну это просто грубо.
Да, если попытаться просто скопировать на горячую, выйдет битая копия, проверено.
Да, нужно запускать
sqlite3 my_database.sq3 ".backup 'backup_file.sq3'"
или делать подобный запрос в своём коде.
Но если 100% база закрыта, можно и файлами (включая всякие .wal, если write-ahead включен).
| |
|
|
1.3, Аноним (32), 23:45, 25/06/2022 [ответить] [﹢﹢﹢] [ · · · ]
| –4 +/– |
Хорошая БД, но я жду развития новой GlueSQL embedded БД, написанной на Rust.
| |
|
2.4, Аноним (32), 23:48, 25/06/2022 [^] [^^] [^^^] [ответить]
| +1 +/– |
Пишите, пожалуйста, новости и про эту БД. Она по сути прямой конкурент.
| |
|
|
|
5.34, Бывалый смузихлёб (?), 16:26, 26/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
сабж десятилетиями гонялся на огромном количестве разных устройств, разной конфигурации и под разными ОСями
и попутно допивался под энные требования и условия, правились баги
Это с одной стороны
С другой - штуковина, вчера появившаяся, без каких-либо конкретных запросов со стороны бизнеса
| |
|
6.36, Аноним (32), 17:41, 26/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Обожаю "экспертов" opennet)))
Ага, ага, конечно, десятилетиями гонялся, миллионы устройств протестировано, не трогайте идеальный софт!
https://www.sqlite.org/src/rptview?rn=1
ALTER TABLE DROP COLUMN may corrupt data
Incorrect query result due to the SeekScan optimization
Incorrect LIKE result
и так далее.
Такое может написать только человек в глаза не видевший SQLite и его код (неподдерживаемый).
| |
|
7.38, Бывалый смузихлёб (?), 18:08, 26/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
> Такое может написать только человек в глаза не видевший SQLite и его
> код (неподдерживаемый).
Такое может написать только человек в глаза не видевший разработки под мобильные платформы и их код, а впрочем. и под встройщину тоже
Причём, речь не о том, что код sqlite изначально был годным - он был гамном и его долго пинали корпорасты и вообще все кому не лень, допиливали проггеры итд итп. И в итоге получалось что-то, что даже более-менее работает и обычно есть на множестве платформ.. так или иначе
А новой СУБД предстоит примерно то же самое но с самого начала и это процесс совсем небыстрый
И, в отличие от sqlite, теперь у сабжа будут вполне серьезные аналоги, которые уже работают
| |
|
8.39, Аноним (32), 18:26, 26/06/2022 [^] [^^] [^^^] [ответить] | +/– | Ясно, по сути ответить то и нечего SQLite в основном пилится 1 человеком-авторо... текст свёрнут, показать | |
|
|
|
|
|
|
2.6, Dzen Python (ok), 23:59, 25/06/2022 [^] [^^] [^^^] [ответить]
| +5 +/– |
Очередной такой же как sqlite и embed-движки, но другой, да? И это будет снова программная революция, меняющая рынок embed-движков на время хайпа?
Эх, история спиральна. Раньше мы потешались над майрософт, как они писали новый COM+, такой же как DDE, но другой; как они писали, а затем огребали в судах, потом переписывали j# - такой же как java, но другой. Теперь мы потешаемся на растерами, которые пишут такие же coreutils, но другие.
| |
|
3.17, Аноним (17), 07:10, 26/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Завтра выйдет язык ИМЯКАКОЕТО и опять на тебе грабли наступят. Будут пытаться свои студенческие поделки продвигать вместо текущих поделок. Так м живём.
Вангаматор говорит, что ржавчина так и останется в малой нише, из которой так и не выйдет, а через лет 5 появится новый язык "убийца" сишки. И повторится то, что сейчас происходит.
| |
|
4.18, Аноним (18), 07:43, 26/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Ну повторится и что? По-твоему все обязаны в легаси коде постоянно копаться?
| |
|
5.22, Аноним (17), 09:17, 26/06/2022 [^] [^^] [^^^] [ответить]
| +/– |
Одно дело когда у тебя система с 1-10 миллионами строк, а другое утилита с 1-10 тысячами, в которой ничего не нужно трогать, так как за 100500 лет она уже достигла пика своего развития. Не нужно исповедовать для такого ПО принцип "Когда коту делать нечего, он намывает свои...".
| |
|
|
|
|
|