Привет, есть один вопрос, пишу срм систему в которой зарегатся

может каждый, и при регистрации ему создается магазин, так вот вопрос в том как хранить допустим товары,заказы и тд, под каждый магазин? Создавать под каждый магазин новую БД? Или лучше допустим в таблице товаров просто добавлять id магазина которому принадлежит этот товар?

2 ответов

27 просмотров

Отдельную таблицу.

Есть два варианта: 1. Мультитенантная архитектура. Это когда одна база и общий код обслуживают множество организаций (твоих клиентов). 2. Мультиинстанс архитектура. Это когда под каждого клиента создаётся отдельная база и копия кода (!). То что ты описала, множество баз и одна копия кода - так нельзя делать. Нужно или делать для каждого клиента отдельную базу и код, или для всех пользователей одну базу и общий код, который умеет разделять данные пользователей. Например, по колонке в базе. Код который будет скакать по базам - это источник проблем и багов. Плюсы мультитенантного подхода: меньше администрирования, проще горизонтально масштабировать, равномерно распределять нагрузку. Плюсы мультиинстанс подхода: можно для конкретного клиента в его копии ПО делать изменения, которые не затронут других пользователей, выделать данные пользователя на отдельную машину или вовсе передать код и базу под управление клиента. Геораспределение проще. Например, клиентов из ЕС разворачивать на серверах в ЕС, а клиентов из России в России, при этом копии кода могут иметь небольшие различия для удовлетворения законодательств разных регионов. Насколько мне известно, bitrix24 использует мультиинстанс архитектуру (когда у каждого своя база и копия кода). Но могу ошибаться. Что ещё нужно предусмотреть? То что магазин и CRM - это две разные вещи. Их нужно независимо друг от друга разрабатывать. Связь между сервисом магазинов и CRM должна быть минимальна.

Похожие вопросы

Обсуждают сегодня

Hi! Could you please upvote my new notebook? thanks a lot. https://www.kaggle.com/code/melissamonfared/anime-character-generation-dsgan-gan
məru
4
upvote plz https://www.kaggle.com/code/bassetkerouche/swapping-face?scriptVersionId=207300096
benkerrouche Statoinary
1
-- Привет всем. -- Есть csv, проблема в том что он содержит очень много повторов по столбцам и по строкам. -- Решил перекинуть это в базу данных, чтобы было проще. Но я не ша...
Oleg Ivanov
1
Как считаете - вопрос на собесе: «Как быстрее всего запустить ec2 машину в aws (в чистом аккаунте) и показать вывод от любой команды с нее» не очень ли сложный для условного м...
Sergey
50
Господа, у меня вопрос. Что вообще такое этот ваш data science и data scientists? А то гуглю, а мне какую-то расплывчатую фигню говорят.
Inkosta
44
Hi could you please help me with my two new projects? https://www.kaggle.com/code/hesankazemnia/rice-image-classification-cnn-pytorch https://www.kaggle.com/code/hesankazemnia...
Hesan
6
Исходя из ваших комментариев, получается, что чтобы получить марты в CH из данных в PG, неправильно тянуть сырые данные в CH и там их обрабатывать, лепить справочники и джойни...
unhingedlunatic
42
hi, Can you upvote? https://www.kaggle.com/code/durjoychandrapaul/rag-q-a-system-by-langchain-huggingface-for-pdf?scriptVersionId=204704280
A
1
Could you upvote and comment please? https://www.kaggle.com/code/tatianapetrushkevich/beginner-images https://www.kaggle.com/code/tatianapetrushkevich/python-for-beginners1 ...
Tazziyana
7
Коллеги, приветствую! Появилась не совсем тривиальная задача реализовать в nginx редирект HTTPS —> HTTP. Да, именно так, а не наоборот. Мы разрабатываем embedded устройство,...
Никита
24
Карта сайта