Начните с определения того, что вы называете деятельностью на вашем сайте. Деятельность может содержать несколько гиперссылок. Так что здесь может помочь многомерный массив php, который может попасть в таблицу как сериализованный объект.
Скажем, x теперь связан с y, z, a и b. Вы можете определить y, z, a и b как ссылки профиля.
Скажи х прокомментировал у новое фото. В этом случае y становится новой гиперссылкой на фотографию профиля человека.
Скажем, Х стал фанатом группы zoozoo. В этом случае zoozoo становится гиперссылкой на фан-страницу.
Создайте таблицу действий, чтобы увеличить ее, сделайте ее activity_USER_ID, каждый раз, когда пользователь регистрируется, вы создаете эту таблицу и проверяете, что вам не нужно создавать ее снова.
Определите действия, как в пунктах 1, 2, 3, или как вы считаете, это лучшее, что может заинтересовать людей в тех сообществах, которые вы поддерживаете.
структура таблицы должна быть простой: массив php активности, отметка времени. Если вы используете jQuery и Ajax для заполнения действия, как это было сделано в Facebook, с помощью прокрутки мыши, вы всегда можете преобразовать массив php в json и отформатировать его на стороне клиента.
Делайте это всякий раз, когда пользователь входит в систему.
Если пользовательская база велика, скажем, миллион, то вы, возможно, захотите добавить какую-нибудь систему обработки заданий, которая будет помещать события в event_MM_DD_YYYY, и затем вы можете выполнить пакетную обработку этих событий, чтобы сохранить ее в таблице действий.
Никогда не отображать более 10 20 30 последних действий.
Надеюсь, это поможет вам :)