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

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

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

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

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


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