Я пишу приложение, которое не обязательно должно масштабировать способности, поскольку оно не будет собирать данные больших объемов в начале. (Однако, если мне повезет, я мог бы спуститься вниз по дороге.)
Я буду запускать свой веб-сервер и базу данных в том же поле (пока).
Говоря, я ищу производительность и эффективность.
Основная часть моего приложения будет загружать статьи в блогах. Используя RDBMS (MySQL), я сделаю 6 запросов (2 из входящих запросов), чтобы загрузить одну страницу статьи блога.
select blog
select blog_album
select blog_tags
select blog_notes
select blog_comments (join with users)
select blog_author_participants (join with users)
Однако MongoDB Я могу де-нормализовать и свернуть 6 таблиц всего на 2 таблицы/коллекции и минимизировать мои запросы потенциально просто один запрос,
users
blogs
->blog_album
->blog_tags
->blog_notes
->blog_comments
->blog_author_participants
Теперь, перейдя к схеме MongoDB, будет избыточность данных. Однако пространство на жестком диске дешевле, чем CPU/серверы.
1.) Будет ли это хорошим сценарием для использования MongoDB?
2.) Вы используете только преимущества при использовании MongoDB при масштабировании за пределами одного сервера?
3.) Существуют ли риски устойчивости при использовании MongoDB? Я слышал, что есть потенциал для потери данных при выполнении вставок - поскольку вставка сначала записывается в память, а затем в базу данных.
4.) Должно ли это остановить меня от использования MongoDB в производстве?