Я ищу базы данных для домашнего проекта (ASP.NET MVC), который я мог бы разместить в конечном итоге. Прочитав аналогичный вопрос here о переполнении стека, я решил пойти с MySQL.SQLite-параллелизм выдает прерыватель транзакции?
Однако, простое использование & развертывание SQLite заманчиво, и я хотел бы подтвердить свои причины, прежде чем полностью его отпишу.
Моя цель - поддерживать сообщения о статусе пользователя (например, Twitter). Это означало бы, в основном, одну таблицу с парами идентификаторов пользователя/статуса/сообщения. Операция чтения/вставки/удаления для сообщения о состоянии. Никаких изменений не требуется.
После прочтения следующего абзаца я решил, что SQLite не может работать для меня. У меня есть простая база данных, но поскольку ВСЕ моя транзакция работает с таблицей SAME, я могу столкнуться с некоторыми проблемами.
SQLite использует блокировки чтения/записи для всего файла базы данных. Это означает, что если какой-либо процесс читается из любой части базы данных, все другие процессы не могут писать какую-либо другую часть базы данных. Аналогично, если какой-либо один процесс записывает в базу данных, всем другим процессам препятствует чтение любой другой части базы данных.
Является ли мое понимание наивным? Будет ли SQLite работать отлично для меня? Также MySQL предлагает что-то, что SQLite не будет при работе с ASP.NET MVC? Может быть, простота развития в VS?
Вы рассматривали SQL Server Compact Edition? С некоторой предусмотрительностью вы можете изменить это на полный SQL Server позже, если вам нужно, но SQLCE не имеет проблем с блокировкой, которые делает SQLite. –
@ Lasse Я не смотрел в нее, но сейчас. Спасибо! – Preets
Сколько пользователей будет у вашего приложения? Сколько из них вы ожидаете фактически получить доступ к своему приложению одновременно? – ninjalj