powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проектирование БД для чата с комнатами
11 сообщений из 61, страница 3 из 3
Проектирование БД для чата с комнатами
    #39023608
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IceJOKERя же выше дважды по пальцам объяснил разницу:
беседы доступны лишь создателю и тем кого он пригласил, эти беседы никому не видны кроме как участникам беседы и беседы удаляются как только последний человек выйдет оттуда
комнаты доступны всем, в него могут заходить любые пользователи, общаться, выходить, потом снова заходить и комнаты все время будут им доступны, комнаты не удаляются когда последний человек выходит оттуда, пылятся и ждут участников - кто-то зашел - радуется, не зашел - ждет.

Вся эта разница - исключительно в поведении приложения, с точки зрения хранения данных полностью достаточно флага в таблице dialogs.
Кстати, как планируете реализовать "приглашения к беседе"? Флагом в таблице dialogs_users?
...
Рейтинг: 0 / 0
Проектирование БД для чата с комнатами
    #39023624
IceJOKER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот МатроскинIceJOKERя же выше дважды по пальцам объяснил разницу:
беседы доступны лишь создателю и тем кого он пригласил, эти беседы никому не видны кроме как участникам беседы и беседы удаляются как только последний человек выйдет оттуда
комнаты доступны всем, в него могут заходить любые пользователи, общаться, выходить, потом снова заходить и комнаты все время будут им доступны, комнаты не удаляются когда последний человек выходит оттуда, пылятся и ждут участников - кто-то зашел - радуется, не зашел - ждет.

Вся эта разница - исключительно в поведении приложения, с точки зрения хранения данных полностью достаточно флага в таблице dialogs.
Кстати, как планируете реализовать "приглашения к беседе"? Флагом в таблице dialogs_users?

вот я и пока остановился на флаге в users, а не на dialogs(свой выбор недавно объяснял), но пока в тестовом режиме.
Пока думаю без приглашения сделать, т.е. пользователь может сразу добавить своих друзей в беседу.
dialog_users
id, dialog_id, user_id, confirm(можно столбец подтверждения тоже)
...
Рейтинг: 0 / 0
Проектирование БД для чата с комнатами
    #39023625
Фотография bootty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IceJOKERя же выше дважды по пальцам объяснил разницу:
беседы доступны лишь создателю и тем кого он пригласил, эти беседы никому не видны кроме как участникам беседы и беседы удаляются как только последний человек выйдет оттуда
комнаты доступны всем, в него могут заходить любые пользователи, общаться, выходить, потом снова заходить и комнаты все время будут им доступны, комнаты не удаляются когда последний человек выходит оттуда, пылятся и ждут участников - кто-то зашел - радуется, не зашел - ждет.
Нет, я логику действий не совсем понимаю.

Общий чат, он как стена — кто хочешь заходит, смотрит, пишет и отвечает другим, возможно удаляет или исправляет свои сообщения.

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

Кстати, а приватные сообщения в чатах будут доступны? Помнится, когда лет 15 назад сидел в чатах, такой функционал уже был. Как это будет реализовано? У сообщения в комнате будет указан конкретный адресат?

А модерирование будет? Удаление из комнат/бесед пользователей, удаление сообщений, баны и т.п.?
...
Рейтинг: 0 / 0
Проектирование БД для чата с комнатами
    #39023626
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот Матроскина что, есть уверенность что именно быстродействие серверной части является критичным требованием к системе?
Вопрос не столько быстродействия, сколько ресурсов. Эта "серверная часть" будет грузить ввод-вывод там, где этого вообще не требуется. Займёт кучу места на диске, будет туда-сюда шуршать вставками-удалениями...

Кот Матроскинни Вы ни я не знаем какие требования к системе существуют прямо сейчас.
Знаем. Никаких. Если бы существовали какие-то требования, наш друг не занимался бы подобной фигнёй :)
...
Рейтинг: 0 / 0
Проектирование БД для чата с комнатами
    #39023628
IceJOKER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Появилось еще пару вопросов:
1. Как хранить сообщения, чтоб при удалении с одной стороны - они не удалялись у других участников беседы, т.е. человек общается , к примеру, тет-а-тет, решил очистить чат и чат очищается только у него, а не у собеседника
2. И как хранить ответы пользователей? Добавить столбец to_user в messages и заполнять его если пользователь отвечает или как?

p.s. я не новичок в этом деле, но и опыта не так много , поэтому написал с надеждой, что более опытные пользователи предложит варианты по-лучше, дадут рекомендации, вот чего я от вас жду, как лучше сделать, как не стоит, поэтому просьба развернуто объяснить почему стоит или не стоит делать так или иначе, а не просто написать НЕ ДЕЛАЙ ТАК
И спасибо тем, кто уже помог(-ает)
...
Рейтинг: 0 / 0
Проектирование БД для чата с комнатами
    #39023633
IceJOKER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
boottyIceJOKERя же выше дважды по пальцам объяснил разницу:
беседы доступны лишь создателю и тем кого он пригласил, эти беседы никому не видны кроме как участникам беседы и беседы удаляются как только последний человек выйдет оттуда
комнаты доступны всем, в него могут заходить любые пользователи, общаться, выходить, потом снова заходить и комнаты все время будут им доступны, комнаты не удаляются когда последний человек выходит оттуда, пылятся и ждут участников - кто-то зашел - радуется, не зашел - ждет.
Нет, я логику действий не совсем понимаю.

Общий чат, он как стена — кто хочешь заходит, смотрит, пишет и отвечает другим, возможно удаляет или исправляет свои сообщения.

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

Кстати, а приватные сообщения в чатах будут доступны? Помнится, когда лет 15 назад сидел в чатах, такой функционал уже был. Как это будет реализовано? У сообщения в комнате будет указан конкретный адресат?

А модерирование будет? Удаление из комнат/бесед пользователей, удаление сообщений, баны и т.п.?

пока остановимся на комнатах и беседах (: остальное пока не важно, над этим можно будет потом подумать..
...
Рейтинг: 0 / 0
Проектирование БД для чата с комнатами
    #39023638
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerКот Матроскина что, есть уверенность что именно быстродействие серверной части является критичным требованием к системе?
Вопрос не столько быстродействия, сколько ресурсов. Эта "серверная часть" будет грузить ввод-вывод там, где этого вообще не требуется. Займёт кучу места на диске, будет туда-сюда шуршать вставками-удалениями...

Потребность системы в ресурсах, не выражающаяся в ухудшении производительности - это вообще несерьезно.
Разницу между ситуациями "процессор 99% времени Idle" и "процессор 98% времени Idle" - можно, конечно, характеризовать как "Ужас-ужас, система стала жрать вдвое больше ресурсов!" , но имхо не очень осмысленно ;)
...
Рейтинг: 0 / 0
Проектирование БД для чата с комнатами
    #39023652
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IceJOKERПоявилось еще пару вопросов:
1. Как хранить сообщения, чтоб при удалении с одной стороны - они не удалялись у других участников беседы, т.е. человек общается , к примеру, тет-а-тет, решил очистить чат и чат очищается только у него, а не у собеседника

временной меткой в dialog_users "показывать сообщения с этого момента".


IceJOKER2. И как хранить ответы пользователей? Добавить столбец to_user в messages и заполнять его если пользователь отвечает или как?

А Вы уверены что это нужно? Вы хотите как-то выделять ответы в диалоге/комнате? скайп никак выделяет афаир.
Если нужно - я бы сделал в message ссылку ID_prev_message.
...
Рейтинг: 0 / 0
Проектирование БД для чата с комнатами
    #39023661
IceJOKER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кот МатроскинIceJOKERПоявилось еще пару вопросов:
1. Как хранить сообщения, чтоб при удалении с одной стороны - они не удалялись у других участников беседы, т.е. человек общается , к примеру, тет-а-тет, решил очистить чат и чат очищается только у него, а не у собеседника

временной меткой в dialog_users "показывать сообщения с этого момента".


IceJOKER2. И как хранить ответы пользователей? Добавить столбец to_user в messages и заполнять его если пользователь отвечает или как?

А Вы уверены что это нужно? Вы хотите как-то выделять ответы в диалоге/комнате? скайп никак выделяет афаир.
Если нужно - я бы сделал в message ссылку ID_prev_message.

1. О , отличный вариант, спасибо. Первое, что мне пришло в голову - это дублирование сообщений(не пинайте, не пинайте, т.к. это 1-ое, что пришло в голову).
2. Тоже думал нужно или нет....и на всякий смотрел. Лучше уж сделаю старый добрый ответ - "%username, %
...
Рейтинг: 0 / 0
Проектирование БД для чата с комнатами
    #39023739
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кот МатроскинПотребность системы в ресурсах, не выражающаяся в ухудшении производительности - это вообще несерьезно. Разницу между ситуациями "процессор 99% времени Idle" и "процессор 98% времени Idle" - можно, конечно, характеризовать как "Ужас-ужас, система стала жрать вдвое больше ресурсов!" , но имхо не очень осмысленно ;)
Зато очень осмысленна разница между "нужен отдельный сервер, и диски не SATA" и "да можно впихнуть куда угодно, на загрузку почти не влияет".
...
Рейтинг: 0 / 0
Проектирование БД для чата с комнатами
    #39023995
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarerКот МатроскинПотребность системы в ресурсах, не выражающаяся в ухудшении производительности - это вообще несерьезно. Разницу между ситуациями "процессор 99% времени Idle" и "процессор 98% времени Idle" - можно, конечно, характеризовать как "Ужас-ужас, система стала жрать вдвое больше ресурсов!" , но имхо не очень осмысленно ;)
Зато очень осмысленна разница между "нужен отдельный сервер, и диски не SATA" и "да можно впихнуть куда угодно, на загрузку почти не влияет".

Тоже, в общем-то, нет. Это осмысленно в ситуации "10 серверов в датацентре, 20 разных проектов и надо их комбинировать". А если у Вас 1 сервер и 1 проект, не потребляющий и 10% мощности сервера - для чего Вам высвобождать ресурсы?

Почему-то среди IT-специалистов популярна "оптимизация ресурсов на всякий случай". Имхо это [еще] менее осмысленно, чем "гибкость и расширяемость на всякий случай"
...
Рейтинг: 0 / 0
11 сообщений из 61, страница 3 из 3
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Проектирование БД для чата с комнатами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]