Я разрабатываю программу на C #, которая использует LiteDB для хранения данных.На этапе проектирования мне сказали, что это будет однопользовательское приложение, поэтому LiteDB показалось мне довольно хорошим решением.Раньше у меня не было опыта работы с LiteDB.
Однако недавно мне сообщили, что программе необходимо поддерживать доступ нескольких пользователей к одной базе данных и запись в нее по компьютерной сети.Я знаю, что LiteDB не был разработан для такого использования, поэтому очевидным решением было бы переключиться на любую другую серверную СУБД, такую как MySQL.
Теперь я знаю, что LiteDB поддерживает одновременный доступ, поэтому я оценил всеоперации с базой данных в моей программе.Эти операции не являются непрерывными и не требуют постоянного доступа к базе данных.
Мой первый вопрос: будет ли возможным следующее с LiteDB:
- До 20 экземпляров программыдоступ к файлу базы данных по сети примерно в одно и то же время и получение данных.После получения данных соединение с базой данных закрывается.В базу данных не вносятся изменения.
- До 20 экземпляров программы примерно одновременно получают доступ к файлу базы данных по сети и фиксируют изменения.После записи данных соединение с базой данных закрывается.Нет чтения каких-либо данных из базы данных.
Я хочу знать, возможен ли хотя бы один из этих двух вариантов.И если нет, что я должен использовать в качестве альтернативы?Я работаю в компании, так что это может быть истолковано как коммерческое использование, которое ограничивает диапазон СУБД, которую я могу использовать.
LiteDB чрезвычайно привлекателен для меня, поскольку позволяет очень легко хранить данные, которые находятся в моемcase являются экземплярами классов, которые включают в себя другие экземпляры классов в качестве свойств.
Лучшей альтернативой будет портативный сервер базы данных с простыми в настройке и минимальными функциями, поддерживающими одновременный доступ.