Монго, Экспресс против MySQL

Я в настоящее время сталкиваюсь с вопросом о том, что использовать для создания программного обеспечения. Система должна справляться со сложностью, такой как:
— Управление пользователями (например: логин тренера — логин клиента)

Различные панели (в зависимости от профиля пользователя)

Workout Builder (тренер должен уметь создавать программы тренировки и отправлять (электронная почта) и прикреплять (клиент может видеть программу тренировки в системе) программу к клиенту)

Планы диеты (так же, как выше)

Библиотека тренировок

Бронирование / Календарь (Клиент должен иметь возможность заказать тренера)

Учебные журналы и т.д …


Как вы можете видеть, было бы много связей / привязок и т. Д., А также персонализация (Dashboards) и т. Д. … Я думаю, вы поняли 🙂 — Тем не менее, я разработчик Frontend, у меня есть опыт PHP и MySQL (однако давным-давно) — Итак, вопрос в том … Можно ли полностью построить эту систему с ex: Angular, Express, Mongo и Node — Или мне придется зависеть от системы баз данных, такой как mySQL, и использовать ex: PHP для этой системы? ?

Заранее спасибо за любые ответы 🙂

0

Решение

Да, можно использовать чистый стек JavaScript, такой как MEAN: MongoDB, Angular, Express, Node.js.

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

0

Другие решения

По моему мнению, если ваш практический опыт работы с PHP и MySQL достаточно хорош, вы должны развернуть свое приложение с PHP и MySQL с MongoDB в качестве дополнительной базы данных.

Я понимаю, что MEAN-стек может включить ваше полное приложение, но время разработки было бы больше, и, как я чувствовал, используя MongoDB над петабайтами данных, MongoDB удивительно хорош для хранения сложных данных в плоской архитектуре в большом размере. , Но, как и все базы данных, даже MongoDB имеет определенные ограничения.

Вы должны продолжить использовать MySQL для своих обычных учетных данных для входа в систему и незначительных действий, для хранения планов диеты, библиотеки тренировок используют MongoDB. Потому что это дает вам гибкость изменяющейся структуры документа и высокую доступность. Со временем вам будет легче работать с MongoDB, чем с MySQL.

Использование MEAN Stack — это здорово. Но теперь я предпочитаю использовать смешанную архитектуру MySQL, MongoDB и PostGres. Если вы собираетесь использовать какой-либо фреймворк, он, вероятно, будет содержать ACL или доступен как дополнение, и это может помочь вам в создании разрешений и ролей пользователей.

Кроме того, если вы используете MongoDB, убедитесь, что вы кодируете в соответствии с механизмом MMAP или WiredTiger, мне пришлось сделать серьезную перекодировку из-за изменений в механизме хранения. Просто на голову!

1

По вопросам рекламы [email protected]