Назад | Перейти на главную страницу

Разработка масштабируемого веб-приложения

При разработке веб-приложения, если быть точным, приложение facebook. Которая может быстро расти и расти из-за своей жизненной силы и очень интенсивна.

О чем следует помнить при проектировании БД. Например, для чего я должен оставить место, если мне понадобится шард или комбинация Master / Slave позже (с memcache)

Учитывая, что я использую реляционную базу данных с mySQL

Помимо обычного «ничего не разделяют» на уровне приложения, первое, что я думаю, это «сделать неизменным». Это означает, что вы должны стараться (почти) никогда не изменять запись, вместо этого писать новую (с новым идентификатором. Вы используете идентификатор на все столы, правда?). Таким образом, вам не придется беспокоиться об устаревании записей кеша. просто сделайте их привязанными к одним и тем же идентификаторам и дайте им истечь, когда они больше не будут использоваться.

Книга Масштабируемые Интернет-архитектуры имеет большое обсуждение и разбивку по соображениям масштабирования баз данных (и инфраструктуры Интернета в целом). Это обязательное чтение для всех, кто разрабатывает веб-приложения и базы данных, которые необходимо масштабировать между серверами.