Вопрос всем кто работал с этой компактной СУБД. Есть ли смысл её использовать при написании клиент-серверных приложений где будет задействовано минимум 15-20 клиентов?Или может мне стоит поискать другую СУБД?
Вопросы типа "а нафига это надо?Уж лучше бы поставил полноценный SQL-сервер и не мучался" и им подобные просьба не задавать.
Заранее спасибо.
16 июля 2009 в 20:02
Я всегда думал, что SQLite для локального хранения данных пользователя. Для чего-то вроде библиотеки музыки или каталога фоток.
Использование компактной СУБД на сервере не очень оправдано. Если размер действительно имеет значение, то лучше посмотреть embedded версии MySQL или PostgreSQL
16 июля 2009 в 18:00
Переформулирую:
У SQLite один большой лок-файл на всю базу. Одновременная запись более чем 1 клиентом – невозможна; остальные будут ждать, пока первый допишет.
16 июля 2009 в 17:04
Как и любой инструмент, SQLite имеет свои сильные и слабые стороны. Будучи идеальным решением, для приложений небольших и/или предназначенных главным образом для считывания данных, она не очень хорошо подходит для крупномасштабных приложений, часто выполняющих запись в базу. Это ограничение – следствие того, что архитектура SQLite основана на одном единственном файле, которая не предусматривает распределения данных на многократно создаваемые файлы, а также использует блокировку на запись.
16 июля 2009 в 17:03
) Ну откатишь всю базу назад, ниче страшного.)
16 июля 2009 в 17:03
ROLLBACK – РУЛИТ
16 июля 2009 в 16:03
Не только об этом;)Просто меня периодически мучает вопрос, "а что будет если скажем 2-3 клиента одновременно попытаются записать-что нибудь в базу?или например все 20 клиентов одновременно пошлют запрос на выборку?"Не случится ли чего?
16 июля 2009 в 16:00
Знаю только по наслышке. Однако, думаю, что для 15-20 клиентов это самое то(минимум или максимум?). А ты задумывался, тёзка, о вопросах масштабирования? Встанет такая проблема когда-нибудь или нет?