Я пытаюсь начать разработку большого веб-проекта, который должен использоваться в нескольких поддоменах, где поддомен представляет клиента. Я сталкиваюсь с проблемой, что я не знаю лучшего или рекомендуемого решения для этого типа проекта.
Проект (ЛОГИКА) должен быть чем-то вроде slack.com. Субдомен представляет клиента (clientAlpha.slack.com, clientBeta.slack.com и т. Д.). Проблема в том, что я могу представить несколько решений, и все они имеют много недостатков.
Все данные будут храниться на моем сервере - клиент только регистрируется
Как организовать структуру БД для нескольких клиентов?
- У каждого клиента есть своя собственная база данных с некоторым префиксом. Но есть проблема с каким-то «супер-дБ», который вызывает необходимость подключения нескольких дБ. Несколько БД = ужасная работа при обновлении структуры БД.
- Одна БД с несколькими "супер-таблицами" и множеством одинаковых таблиц для каждого клиента. Я это самое уродливое решение. Та же проблема обновления структуры, что и выше.
- «Обычная» БД с «обычными» таблицами, где клиент представлен Foreign_key. Это решение влияет на скорость DB.
Какой тип БД лучше использовать? Я имею в виду, есть ли ограничения по количеству данных (строк)? У меня есть хорошие практики с MySQL и MongoDB. Нет GPS, нет блобов - в таблицах будут храниться только «чистые» данные (числа, строки, логические значения, тексты)
По-прежнему ли распространено использование PHP для сервера или PHP мертв для создания нового проекта? / Или хорошо использовать JavaScript (node.js)?
Я пытался найти какую-то информацию об этом, но тысячи людей = тысячи мнений: /
Спасибо за ваше руководство и рекомендации.