Разработка веб-приложения в масштабе
При разработке веб-приложения приложение Facebook, чтобы быть точным. Который может быстро расти и расти из-за его жизненной силы и является правильным интенсивным.
О чем нужно помнить при проектировании БД. Например, для каких вещей я должен оставить место, если мне понадобится шард или у меня будет комбинация Master/Slave позже (с memcache)
Учитывая, что я использую реляционную базу данных с MySQL
2 ответа
Помимо обычного "ничего не поделился" на уровне приложения, первое, что я думаю, это "стать неизменным". Это означает, что вы должны пытаться (почти) никогда не изменять запись, а вместо этого писать новую (с новым идентификатором. Вы используете идентификатор для всех таблиц, верно?). Таким образом, вам не нужно беспокоиться об устаревании записей кэша. просто сделайте так, чтобы они набирали одинаковые идентификаторы и позволяли им истечь, когда они больше не используются.
В книге " Масштабируемые интернет-архитектуры " подробно обсуждаются вопросы масштабирования баз данных (и инфраструктуры Интернета в целом). Это необходимо для чтения всем, кто разрабатывает веб-приложения и базы данных, которые должны масштабироваться на разных серверах.