Как настроить базу данных для проекта, используемого в нескольких поддоменах, и какую технологию лучше всего использовать?

#javascript #php #database #settings #project

#javascript #php #База данных #Настройки #проект

Вопрос:

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

Проект (ЛОГИКА) должен быть чем-то вроде slack.com . Поддомен представляет клиента (clientAlpha.slack.com , clientBeta.slack.com и т.д.). Проблема в том, что я могу представить несколько решений, и все они имеют много недостатков.

Все данные будут храниться на моем сервере — клиент выполняет только регистрацию

  1. Как организовать структуру БД для нескольких клиентов?
    • У каждого клиента есть собственная база данных с именем с некоторым префиксом. Но есть проблема с какой-то «супер-базой данных», которая вызывает необходимость подключения к нескольким базам данных. Несколько баз данных = некрасивая работа при обновлении структуры БД.
    • Одна база данных с несколькими «супер-таблицами» и множеством одинаковых таблиц для каждого клиента. Я считаю, что это самое уродливое решение. Та же проблема с обновлением структуры, что и выше.
    • «Обычная» БД с «обычными» таблицами, где клиент представлен foreign_key . Это решение влияет на скорость работы БД.
  2. Какой тип DB лучше всего использовать? Я имею в виду, существуют ли какие-либо ограничения на количество данных (строк)? У меня есть хорошие практики с MySQL и MongoDB. Нет GPS, нет больших двоичных объектов — только «чистые» данные будут храниться в таблицах (числа, строки, логические значения, тексты)
  3. По-прежнему ли принято использовать PHP для сервера или PHP мертв для создания нового проекта? / Или хорошо использовать JavaScript (node.js )?

Я пытался найти некоторую информацию об этом, но тысяча человек = тысяча мнений :/

Спасибо за ваше руководство и рекомендации.

Комментарии:

1. «По-прежнему ли принято использовать PHP для сервера или PHP мертв для создания нового проекта?» . PHP очень живой, и это лучший язык на свете…

2. @Dharman Спасибо тебе. Я должен сменить своих друзей 🙂

3. Почему люди продолжают ненавидеть PHP, я только что видел сообщение, в котором пользователь Python утверждал, что PHP является устаревшим устаревшим языком, однако PHP имеет надлежащие ограничения по типу, чего Python немного не хватает …. в любом случае. Я не разбираюсь в Python, я не знаю python, но люди, которые не знают современный PHP, тоже не должны его разбивать.

Ответ №1:

Некоторые заметки, много для комментариев:

  • Открытое соединение с базой данных может получить доступ не только к базе данных по умолчанию. Используется datbase.table для доступа к другим базам данных.
  • Используйте либо разные (и уникальные) префиксы, либо разные базы данных. Не смешивайте их.
  • При использовании разных баз данных используйте одну специальную базу данных для глобальных данных (ваши супер-таблицы).
  • Всегда есть ограничения базы данных. Лучше всего оценить ваши требования, умножить их на 10 и заглянуть в описания базы данных. В любом случае, большая часть дискового пространства и памяти являются ограничениями.
  • Создайте чистый макет базы данных с оптимальными элементами (например, выберите smallint , храните ли вы только значения от 0 до 1000), создайте схемы для доступа к базе данных для определения ключей. Сделайте оба перед началом реализации.

Комментарии:

1. спасибо за ваш ответ. Открыть подключение к БД … о, я тупой. Префиксы — это действительно хорошая идея (необходимость изменения структуры БД)?