2010-10-07 4 views
0

Я создаю социальную сеть и хочу иметь похожую фотогалерею с фотографией facebook. Я предполагаю, что мне нужно использовать AJAX, но я хотел бы иметь раздел комментариев для каждой фотографии. Мне просто интересно, какой лучший способ - создать базу данных вокруг этого. Я просто делаю таблицу комментариев? Я бы столкнулся с проблемами производительности, потому что я уверен, что у каждого пользователя будет больше одной фотографии, поэтому таблицы содержимого получатся довольно большими. Предположим, что у меня было 10 миллионов пользователей, и у каждого было 100 фотографий, каждый из которых состоял из двух комментариев, каждый из которых составлял бы 2 миллиарда записей, а это всего лишь 10 миллионов пользователей, что произойдет, если это число увеличится. Это значительно замедлит работу сайта. Я знаю, что на данный момент я могу просто создать что-то простое, как одну таблицу, но я хотел бы создать что-то быстро и быть хорошо осведомленным в будущем. Если бы кто-то мог мне помочь, я был бы очень благодарен.создание базы данных для фотогалереи с комментариями

+1

«и это только 10 миллионов пользователей» ... Я восхищаюсь ваши амбиции :) – David

ответ

2

Если у вас есть 10 миллионов пользователей, вы будете иметь деньги, чтобы купить больше ресурсов для обработки запросов :)

Я бы проектировать таблицу с комментариями, а другой для фотографий. Разумеется, эти две таблицы связаны с отношением «один ко многим».

Хорошо, правильно настроенный, RDMBS не захочет хранить и выбирать фотографии вместе с комментариями. Это работа db, не волнуйтесь.

0

идет для ассоциативного массива, это то, что большинство сайтов социальных сетей, таких как Facebook и т.д. использовать использовать несколько, как:

photo-gallery: 
{ 
    photo: 
    { 
    id: 
    caption: 
    path: 
    comment: 
    { 
    id: 
    commentor-id: 
    comment-description: 
    } 
    comment: 
    { 
    id: 
    commentor-id: 
    comment-description: 
    } 
    . 
    ....and so on 
    } 
} 
+0

Это разрешает только один комментарий на фотографию (или, кроме того, требуется дублирование заголовка, идентификатора и данных пути для каждого комментария к фотографии). –

+0

отредактировал приведенную выше схему db, теперь мы можем иметь несколько ассоциативных массивов для комментариев внутри каждого элемента массива изображений –

Смежные вопросы