scorpion-ds
Новичок
Сервис типа SaaS, очень краткое описание функционала:
"Левая часть":
Каждый клиент сервиса, загружает туда прайсы товаров, от различных поставщиков. Количество товаров в прайсе может достигать 10000 и таких прайсов у клиента может быть много.
После определенной обработки, все обнаруженные товары в прайсах размещаются в таблице БД.
"Правая часть":
У клиента есть свой каталог товаров, который к примеру выгружается из его магазина.
"Связывание":
Клиент привязывает к товарам своего каталога товары поставщика.
"Выход":
На выходе, есть каталог магазина со связанными ценами от поставщиков (есть различные правила формирования наценки на цена поставщиков), эти данные отправляются обратно в магазин клиента.
Техническая часть:
Монолитный вариант очевидно проще реализовать, но есть опасение, что БД очень быстро разрастется, множество клиентов у каждого десятки тысяч товаров.
Возможно, стоит использовать другую БД, которая позволит не бояться разрастания?
Раздельный, сложней в реализации и поддержке (обновление всех копий системы).
Может, есть еще какие-то подходы к реализации?
Сроки очень сжатые, первая версия, может быть без рабочего SaaS, но с рабочим основным приложением до конца лета (2-3 бекенд разработчика, 1 фронтенд), потому ошибок с выбором пути быть не должно.
"Левая часть":
Каждый клиент сервиса, загружает туда прайсы товаров, от различных поставщиков. Количество товаров в прайсе может достигать 10000 и таких прайсов у клиента может быть много.
После определенной обработки, все обнаруженные товары в прайсах размещаются в таблице БД.
"Правая часть":
У клиента есть свой каталог товаров, который к примеру выгружается из его магазина.
"Связывание":
Клиент привязывает к товарам своего каталога товары поставщика.
"Выход":
На выходе, есть каталог магазина со связанными ценами от поставщиков (есть различные правила формирования наценки на цена поставщиков), эти данные отправляются обратно в магазин клиента.
Техническая часть:
- Symfony 3;
- MySQL, MongoDB (только для хранение не обработанных прайсов)
- Монолитный - вся система строится на одной БД (кроме временного хранение прайсов в MongoDB).
- Раздельный - под каждого клиента разворачивается своя копия приложения, со своей БД, также есть "биллинг сервис", который ведет учет клиентов и обеспечивает развертывание копий системы под новых клиентов.
Монолитный вариант очевидно проще реализовать, но есть опасение, что БД очень быстро разрастется, множество клиентов у каждого десятки тысяч товаров.
Возможно, стоит использовать другую БД, которая позволит не бояться разрастания?
Раздельный, сложней в реализации и поддержке (обновление всех копий системы).
Может, есть еще какие-то подходы к реализации?
Сроки очень сжатые, первая версия, может быть без рабочего SaaS, но с рабочим основным приложением до конца лета (2-3 бекенд разработчика, 1 фронтенд), потому ошибок с выбором пути быть не должно.