LexanderХм… Разработка… :-) Выборки там всякие… Даже не знаю, что на это ответить.
ОК, а какого рода действия выполнялись на БД? Т.е. на основании чего сделан такой вывод?
ZZZЯ, собственно, прошу поделить опытом, чтобы учитывать его в будущих разработках.
Хм… Разработка… :-) Выборки там всякие… Даже не знаю, что на это ответить.
ZZZЯ для работы с sqlite вообще использую отдельный класс с очередью запросов, поэтому таких проблем нет. А вот использование sqlite несколькими процессами действительно требует костыля, от которого я бы отказался в пользу полноценной сетевой СУБД (пусть даже она используется только локально).
Нормальная транзакционность – можно писать одновременно с нескольких потоков;
Lexanderне знаю как в остальных ос, а в linux sqlite нормально пашет при записи от нескольких процессов, при изменении данных происходит локирование базы.ZZZ… А вот использование sqlite несколькими процессами действительно требует костыля, от которого я бы отказался в пользу полноценной сетевой СУБД (пусть даже она используется только локально).
Нормальная транзакционность – можно писать одновременно с нескольких потоков;
LexanderЯ понимаю, что тебе надо, но ответить на это не могу. Просто общее субъективное ощущение тормознутости sqlite меня не оставляет.
Меня, в частности, интересовали типы операций, характер нагрузки, приблизительные соотношения разных типов, даже нюансы вроде описанных в скобках:
LexanderНе соглашусь. Это удобно.
Вот, например, указанная возможность написания своих функций - очень хороший аргумент. Но только не для встраиваемой СУБД, т.к. в этом случае нет необходимости (и преимущества) в централизованном хранилище таких объектов.
LexanderМне лично не приходилось, но сталкивался с приложением, которое умело работать как локально, так и как клиент-сервер. Лично мне очень понравилась идея архитектуры. Хотя там такая фирма была… И такие “программисты”… Страшно вспоминать…
Ведь нечасто требуется предусмотреть переход на сетевую СУБД со встраиваемой - задачи совсем разные.
LexanderЯ думаю, что все рано или поздно приходят к этому. :-)
Я для работы с sqlite вообще использую отдельный класс с очередью запросов, поэтому таких проблем нет.
EdТак оно и есть. Если нужен portable вариант базы с лучшим быстродействием – опять же файрбёрд.
Пришли к выводу, что это нельзя использовать, если происходит интенсивная запись в базу.
EdО, уже что-то.
Пришли к выводу, что это нельзя использовать, если происходит интенсивная запись в базу
ZZZВ чем удобство выражается?
Не соглашусь. Это удобно.
ZZZНе совсем. Одноногий ходит с костылем, т.к. без костыля ходить не может, это замена ноги.
И это костыль.
LexanderБыстрее питьоньего кода. Иногда очень важно оптимизировать работу с базой, когда она является узким местом.
чем удобство выражается?
Надеюсь, не только принципе: вся логика в одном месте?
LexanderЭэээ… Нет. Самое главное тут то, что запросы к базе синхронны, а вот траблы при несинхронных изменениях известны – лично я сталкивался с повреждениями базы при множественных инсертах в несколько потоков (но там было всё сложно и я решил перейти на постгри).
Не совсем. Одноногий ходит с костылем, т.к. без костыля ходить не может, это замена ноги.
Костыль - это если по другому никак. Выделить всю работу с СУБД в отдельный класс - это просто удобство работы с кодом, сопровождения и т.п., но никак не замена безальтернативе.
LexanderА как же ORM? :-)
Выделить всю работу с СУБД в отдельный класс - это просто удобство работы с кодом, сопровождения и т.п.