Как данные будут храниться в базе данных в случае социальной сети? - PullRequest
2 голосов
/ 10 апреля 2010

В социальной сети у человека есть друзья / подписчики. Существует цепочка отношений. Как данные будут храниться в базе данных в этом сценарии? Это очень большая информация, но результат запроса очень быстро возвращается на эти сайты.

Возможно ли, что кто-то объясняет отношения между различными сущностями? Что делает результат поиска настолько быстрым?

Какой тип алгоритма реализован? Если возможно, приведите пример.

Ответы [ 2 ]

4 голосов
/ 10 апреля 2010

Это может выглядеть как МНОГО-МНОГИЕ Ситуация.

Что-то вроде, где UserRelations.UserID и UserRelations.UserRelatedID должны быть внешними ключами для Users

Users
 - UserID
 - UserName

UserRelations
 -UserID
 -UserRelatedID
 -RelationshipType
3 голосов
/ 10 апреля 2010

Facebook разработала собственную базу данных NoSQL для поиска по входящим сообщениям, которая с тех пор была открыта. http://en.wikipedia.org/wiki/Apache_Cassandra.

На технической странице Facebook есть несколько интересных тем, связанных с вашим вопросом - http://www.facebook.com/Engineering.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...