powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Организация хранения баз друзей и групп друзей в LiveJournal
8 сообщений из 8, страница 1 из 1
Организация хранения баз друзей и групп друзей в LiveJournal
    #34866044
Babutta_84
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
то-нибудь может знает или может подсказать, где посмотреть. Как организовано хранение данных о друзьях и группах друзей в LiveJournal?
Проблема в том, что в теории у каждого пользователя может быть неограниченное число друзей и групп друзей. Т.е. мы можем иметь 10000 друзей и столько же групп, и в каждой группе будут все эти 10000 друзей.
Непонятно, как наиболее рационально организовать хранение этих данных в базе MySQL. Думаю, это как-то должно размещаться в 2-3 таблицах всё. Разумеется, объёмы данных будут в разы меньше чем на LiveJournal - думаю, не более 10 000 пользователей всего будет зарегистрировано.
...
Рейтинг: 0 / 0
Организация хранения баз друзей и групп друзей в LiveJournal
    #34866085
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не вижу особой проблемы.
Таблица "Пользователь" (User_Id, ....)
Таблица "Друг" (FriendRelation_Id, User_id, FrendUser_Id, ...)
Таблица "Группа" (Group_Id, User_Id ...)
Таблица "Друг в группе" (Group_Id, FriendRelation_Id,....).
...
Рейтинг: 0 / 0
Организация хранения баз друзей и групп друзей в LiveJournal
    #34866152
Babutta_84
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нашёл стурктуру таблиц на LiveJournal http://www.livejournal.com/doc/server/ljp.dbschema.ref.html

Таблицы friendgroup, friendgroup2, friends. Но вот не пойму что в поле groupmask в таблице friends. Оно как-то связывет friendgroup и friends - вопрос, как.

А таблица friendgroup2, судя по всему, вообще лишнее.
...
Рейтинг: 0 / 0
Организация хранения баз друзей и групп друзей в LiveJournal
    #34869074
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Babutta_84Но вот не пойму что в поле groupmask в таблице friends. Оно как-то связывет friendgroup и friends - вопрос, как.
Номер бита в поле groupmask - это номер группы (groupnum) из friendgroup.

ЗЫ. Я-бы лучьше сделал связь через отдельную таблицу - "членство в френдгуппах".
...
Рейтинг: 0 / 0
Организация хранения баз друзей и групп друзей в LiveJournal
    #34876704
Фотография Ursego
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поэтому и охреневаешь ожидая пока лайв джорнал загрузится...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Организация хранения баз друзей и групп друзей в LiveJournal
    #37902424
Neftedollar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Господа, а как можно убрать избыточность хранения друзей?
я так понимаю, что запись в таблице
user_id friend_id
12 51
должна быть продублирована
user_id friend_id
51 12
так?
...
Рейтинг: 0 / 0
Организация хранения баз друзей и групп друзей в LiveJournal
    #37902505
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NeftedollarГоспода, а как можно убрать избыточность хранения друзей?

А зачем её убирать? Чтобы слоники бегали?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Организация хранения баз друзей и групп друзей в LiveJournal
    #37902566
Фотография Сергей Васкецов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Neftedollarкак можно убрать избыточность
Это не избыточность. Как и всё субъективное, понятие дружбы не коммутативно: если Петя считает Васю своим другом, Вася не обязан считать Петю своим другом.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Организация хранения баз друзей и групп друзей в LiveJournal
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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