#javascript #php #database #settings #project
#javascript #php #База данных #Настройки #проект
Вопрос:
Я пытаюсь начать разработку большого веб-проекта, который должен использоваться в нескольких поддоменах, где поддомен представляет клиента. Я столкнулся с проблемой, что я не знаю лучшего или рекомендуемого решения для этого типа проекта.
Проект (ЛОГИКА) должен быть чем-то вроде slack.com . Поддомен представляет клиента (clientAlpha.slack.com , clientBeta.slack.com и т.д.). Проблема в том, что я могу представить несколько решений, и все они имеют много недостатков.
Все данные будут храниться на моем сервере — клиент выполняет только регистрацию
- Как организовать структуру БД для нескольких клиентов?
- У каждого клиента есть собственная база данных с именем с некоторым префиксом. Но есть проблема с какой-то «супер-базой данных», которая вызывает необходимость подключения к нескольким базам данных. Несколько баз данных = некрасивая работа при обновлении структуры БД.
- Одна база данных с несколькими «супер-таблицами» и множеством одинаковых таблиц для каждого клиента. Я считаю, что это самое уродливое решение. Та же проблема с обновлением структуры, что и выше.
- «Обычная» БД с «обычными» таблицами, где клиент представлен foreign_key . Это решение влияет на скорость работы БД.
- Какой тип DB лучше всего использовать? Я имею в виду, существуют ли какие-либо ограничения на количество данных (строк)? У меня есть хорошие практики с MySQL и MongoDB. Нет GPS, нет больших двоичных объектов — только «чистые» данные будут храниться в таблицах (числа, строки, логические значения, тексты)
- По-прежнему ли принято использовать 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. спасибо за ваш ответ. Открыть подключение к БД … о, я тупой. Префиксы — это действительно хорошая идея (необходимость изменения структуры БД)?