MongoDB в настольном приложении

Хорошо ли использовать MongoDB в настольном приложении .NET?

2 ответа

Mongo предназначен для запуска на сервере с репликацией. На самом деле он не предназначен как база данных для настольных приложений (если только они не подключаются к базе данных на центральном сервере). Там сообщение в блоге о долговечности в блоге MongoDB, это общий вопрос.

Когда происходит запись и возвращается команда записи, мы не можем быть на 100% что с того момента, все другие процессы только обновленные данные.

В каждом драйвере должна быть опция "безопасной" вставки или обновления, которая ждет ответа базы данных. Я не знаю, какой драйвер вы планируете использовать (для .NET есть несколько, http://github.com/samus/mongodb-csharp является наиболее официально поддерживаемым), но драйвер не предлагает безопасный вариант, вы можете запустить команду getLastError для синхронизации вручную.

MongoDB не будет уверен, что ваши данные находятся на жестком диске немедленно. Как результат, вы можете потерять данные, которые вы мысль была написана, если сервер падает в период между написание и фактическое хранение на жесткий диск.

Существует команда fsync, которую вы можете запустить после каждой операции, если хотите. Опять же, Mongo придерживается философии "безопасности в цифрах" и призывает всех, кто работает в производстве, иметь хотя бы один подчиненный для резервного копирования.


Это зависит от того, что вы хотите сохранить в базе данных.

Согласно Wikipedia;

MongoDB предназначен для проблем без тяжелых транзакционных требования, которые нелегко решить традиционными СУБД, включая проблемы, требующие, чтобы база данных охватывают многие серверы.

Существует .NET драйвер. И здесь - это некоторая информация, которая поможет вам начать работу. Но сначала спросите себя; что вы хотите сохранить и каковы дальнейшие требования. (поддержка хранимых процедур, триггеры, ожидаемый размер и т.д.)

licensed under cc by-sa 3.0 with attribution.