w_b_x
@w_b_x

Как выглядит правильная архитектура чата?

Доброго времени суток!

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

Уже есть таблица users, в которой есть email, nickname, данные для входа и т.п
Стоит ли делать, например, отдельную таблицу с сообщениями и отдельную таблицу для связывания сообщения с пользователем (в итоге 3 таблицы)?

Вроде бы тогда некоторые дублированные данные смогут пропасть, но при выдёргивании данных надо будет использовать Left Join, что достаточно тяжело для БД (на сколько я понимаю).

В общем как правильно хранить данные чата?
  • Вопрос задан
  • 1674 просмотра
Решения вопроса 2
Immortal_pony
@Immortal_pony Куратор тега MySQL
надо будет использовать Left Join, что достаточно тяжело для БД (на сколько я понимаю)

Ничего тяжелого в LEFT JOIN для БД нет. Не бойтесь JOIN'ов - это абсолютно стандартный механизм.

Стоит ли делать, например, отдельную таблицу с сообщениями и отдельную таблицу для связывания сообщения с пользователем (в итоге 3 таблицы)?

Зачем вам в данном случае дополнительная таблица для связи? Вы можете сделать колонку "user_id" в таблице сообщений.
Ответ написан
@Levhav
Возьмусь за разработку проектов любой сложности.
Вот пример того какую структуру бд использую для чата я в своих проектах. За почти год использования в 4 разных проектах структура бд принципиально не менялась. По ней и поиск нормально делать, в том числе и на sphinxsearch, и в целом мне удобно с такой работать.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы