SQLite с веб-сервисами c # - PullRequest
       2

SQLite с веб-сервисами c #

1 голос
/ 15 декабря 2011

Я не уверен, задан ли этот вопрос раньше или нет (как я его гуглил).

Ну, я написал веб-сервис, который будет размещаться в базе данных SQLite.

Многиеклиенты будут выполнять операции CRUD на нем.Я планировал использовать это только для простоты.

Теперь я написал большинство своих методов, и в то время я думал, что нет СУБД с этим SQLite (я полагаю), поэтому могут возникнуть конфликты и проблемы несоответствия данных, еслидва или более клиентских приложения пишут в мое приложение.

или SQLite поддерживает управление операциями для нескольких соединений?или я должен перейти на SQL Server 2008

Ответы [ 3 ]

1 голос
/ 15 декабря 2011

Краткий ответ - да.Взгляните на эту запись Sqlite FAQ .Более длинный ответ немного сложнее ... Хотите использовать Sqlite в архитектуре, предназначенной для обработки больших транзакционных нагрузок?Возможно нет.Если вы хотите двигаться в этом направлении, я бы предложил начать с SQL Server Express.Если вам нужно перейти на полноценный SQL Server, это вообще не будет проблемой ...

Выдержка Sqlite:

(5) Могут ли несколько приложений или несколько экземпляров одного приложения одновременно обращаться к одному файлу базы данных?

Несколько процессов могут одновременно открывать одну и ту же базу данных.Несколько процессов могут выполнять SELECT одновременно.Однако только один процесс может вносить изменения в базу данных в любой момент времени.

SQLite использует блокировки чтения / записи для управления доступом к базе данных.[...]

1 голос
/ 15 декабря 2011

SQLite «поддерживает управление операциями для нескольких соединений» в том смысле, что он не будет взорван или приведет к повреждению данных.Однако он не настолько эффективен, как MS-SQL Server с высокой нагрузкой параллельных операций.Итак, что сводится к тому, сколько «много клиентов».Если вы говорите о десятках одновременных запросов, с SQLite все будет в порядке.Если вы говорите о сотнях одновременных запросов, вам, вероятно, придется перейти на MS-SQL Server.Обратите внимание, что для одновременного выполнения двух запросов два клиента должны нажать кнопку «Отправить» примерно в одном и том же временном интервале в несколько миллисекунд.Таким образом, требуются сотни одновременно подключенных клиентов, чтобы получить десятки одновременных запросов.

1 голос
/ 15 декабря 2011

Да, SQLite поддерживает параллелизм и блокировку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...