Вопрос о БД сайтов социальных сетей - PullRequest
0 голосов
/ 16 августа 2010

Как и в Facebook, у всех есть сообщения на стене. Все ли сообщения хранятся только в одной таблице? И будут ли отображаться только сообщения принадлежащие идентификатору пользователя при загрузке страницы? И если это так, то в этой таблице будет так много строк. Есть ли предел строк в одной таблице?

Или у каждого пользователя в одной таблице хранятся только собственные сообщения?

Ответы [ 2 ]

2 голосов
/ 16 августа 2010

Стена Facebook, насколько я знаю, вообще не хранится в MySQL.Они используют Cassandra - базу данных NoSQL от Apache, я думаю, и, будучи NoSQL, она использует совершенно иную философию, чем относительные реляционные базы данных (например, MySQL)

http://en.wikipedia.org/wiki/Apache_Cassandra

Онииспользуйте MySQL для других данных.

Также см. аналогичный вопрос (ответ) здесь:

Структура базы данных стены Facebook

1 голос
/ 16 августа 2010

Или у каждого пользователя есть только один магазин свои собственные сообщения?

Это не очень хорошая идея, у вас может получиться много столов. Много строк лучше.

Я бы просто использовал "таблицу", которая связывает message_id с user_id с соответствующими индексами для быстрого поиска сообщений, приписанных конкретному пользователю.

Есть ли предел строк в одном таблица

Цитата из Особенности MySQL 5.1 :

Поддержка больших баз данных. Мы используем MySQL Server с базами данных, которые содержит 50 миллионов записей. Мы тоже знать пользователей, которые используют MySQL Server с 200 000 таблиц и около 5 000 000 000 строк.

...