Подходит ли MongoDB для сайта сообщества?

Я создаю сайт сообщества с Node.JS и Express, и почти все экспресс-руководства или примеры используют MongoDB, поэтому я проверил его. из. Единственная БД, которую я использовал до сих пор, - это MySQL, но я не очень хорошо с ней знаком, поэтому мне не мешало бы читать в MongoDB. Mongo выглядит довольно красиво, и модель документа может быть полезной. А с мангустом им легко пользоваться. Но у меня есть несколько вопросов, поэтому я не трачу много времени на изучение MongoDB, если он вообще не подходит:

  1. Я читал, что MongoDB ненадежен, если вы используете его только на одной машине, и вы можете столкнуться с потерей данных. Это правильно? Проект не настолько велик, чтобы я мог позволить себе еще один сервер, и потеря данных абсолютно недопустима! Представьте, что некоторые сообщения на форуме просто исчезают. Но я думаю, что люди не будут использовать его, если это произойдет.

  2. На сайте будет форум самостоятельной сборки, и я не уверен, что лучше использовать реляционную базу данных. Однако вы можете сохранять темы со встроенными сообщениями и так далее. Но понятия не имею, как искать, поскольку Mongo не поддерживает полнотекстовый поиск. Как вы думаете?

  3. Когда использовать встроенные документы в Mongo? Пример: пользователь может публиковать обновления статуса, как в Twitter. Вы бы сохранили эти обновления в пользовательском документе? Обновлений может быть много. Или документ для каждого обновления и связать его с идентификатором пользователя? 3.1 А как делать запросы к нескольким документам? Вы хотите получить последние 10 обновлений статуса ваших друзей. Вы можете сделать это с помощью JOIN в MySQL.

  4. Есть ли способ использовать автоинкрементные идентификаторы для документов, как в MySQL? Например, у пользователя должен быть уникальный целочисленный ключ, но мне не нужно какое-то случайное число, как это делает Mongo, чтобы идентификаторы пользователей были небольшими.

  5. Как вы справляетесь с состоянием гонки в мангусте? Вы загружаете документ из базы данных, что-то редактируете и сохраняете позже. Но, возможно, за это время это уже изменилось.

6
задан Xomby 18 November 2011 в 12:31
поделиться