MySQL (RDBMS) для информации о заказе / доставке и MongoDB (NoSQL) для информации о продукте. Может ли это работать? - PullRequest
0 голосов
/ 16 мая 2019

Я пытаюсь создать интегрированный коммерческий бэкэнд, где можно подключить несколько каналов электронной торговли.Этот сервис имеет две основные функции: 1. Он объединяет все заказы всех подключенных клиентов.2. Менеджер регистрирует новый продукт в нашем сервисе один раз.Затем наш сервис регистрирует этот продукт для всех подключенных пользователей.

Я планирую использовать MySQL в качестве основной базы данных.Но когда дело доходит до информации о продукте, я не уверен, что MySQL (или любая другая СУБД) будет разумным выбором.Потому что каждая коммерция, скорее всего, требует какой-то новой информации.Я не хочу добавлять столбцы или создавать новую таблицу каждый раз, когда мы добавляем новые ссылки на нашу платформу.

Поэтому я подумал, что могу использовать MongoDB (NoSQL) применительно к продуктам и использовать MySQL применительно к заказам.Это было бы хорошей идеей?Я беспокоюсь о запросе ограничений и любых других потенциальных проблемах, с которыми я могу столкнуться.

Кстати, я использую node.js для моего бэкэнда.

1 Ответ

1 голос
/ 16 мая 2019

Использование более одной БД - это совсем не плохая идея, однако, когда ваше приложение растет, оно становится необходимостью.Ясно, что вы не можете выбрать MySql для продуктов, так как выполнение изменения таблицы при каждом коммерческом добавлении не является хорошим вариантом.И mongodb - хороший выбор для таких данных, но тогда запрос становится сложным и медленным в монго.Я бы посоветовал не беспокоиться о базе данных с самого начала.Сделайте то, что вам удобнее, а затем, основываясь на том, как растет ваше приложение, примите дальнейшие решения.Напишите свой код таким образом, чтобы в любой момент было легко заменить базу данных, потому что очень трудно понять, как будет развиваться приложение в ближайшем будущем и какая функция потребуется больше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...