Использование модели базы данных для моего сайта

Я строю сайт социальной сети. я надеюсь на какой-то высокий трафик в нем. Я использую PHP и MySQL в нем. я уже начал с базы данных RDBMS. Я читал, что многие сайты с высоким трафиком используют модель базы данных значений ключей. В какой ситуации мне следует идти? и я думаю, что было бы лучше решить это на самом раннем этапе

2 ответа

Пока придерживайтесь MySQL в традиционном формате RDBMS, если это то, с чем вы больше всего знакомы. Как можно быстрее запустить и запустить ваш сайт, это гораздо важнее, чем беспокоиться о проблемах масштабирования на первых этапах создания сайта.

Это, как говорится, не мешает иметь в виду проблемы масштаба при проектировании частей системы. MySQL уже очень хорошо разбирается в некоторых элементах масштабируемости, таких как шардинг, так что вы, вероятно, довольно долго будете в порядке. Хорошая структура БД с большим количеством индексов также поможет вам работать, если вы достигнете достаточно высоких уровней трафика.

Так как вы ожидаете большой объем трафика (не все ли мы?), Я настоятельно рекомендую регистрировать / отслеживать нагрузку на ваш сервер, чтобы вы могли измерить фактический трафик и определить, действительно ли вам нужно масштабировать (увеличение или уменьшение объема одновременно). хорошие варианты в зависимости от характеристик нагрузки)

Я думаю, что было бы хорошо, если бы у вас были таблицы ключевых значений для отношений между друзьями. Например, у человека a может быть 500 друзей, а у человека b может быть 100. Это означает, что для предотвращения повторного копирования дублированных данных в одну таблицу вы должны получить идентификатор человека 1 и идентификатор его друзей и поместить их в таблице. Это приведет к более быстрому поиску, вставке и обновлению, потому что вы работаете с целыми числами.

Например

таблица friends_relationship id - друг 1 - 2 1 - 3 2 - 4 3 - 4

Вы должны убедиться, что отношения уникальны

Другие вопросы по тегам