Я слышал, как техника "осколка" упоминалась несколько раз в отношении решения проблем масштабирования для крупных веб-сайтов. Что это за техника "осколка" и почему она так хороша?
Когда люди говорят о масштабировании веб-сайта с помощью "осколков", что они означают?
Ответ 1
У Karl Seguin есть хороший блог о том, как оштрафовать.
Из сообщения:
Sharding - это разделение вашего данных на нескольких серверах. Как ты отделите свои данные до вас, но как правило, делается на некоторых фундаментальный идентификатор.
Ответ 2
Вкратце представьте, что вы разделите users_tbl на нескольких серверах. Таким образом, пользователи 1-5000 и на сервере 1, пользователи 5000-10000 на сервере 2; и т.д. Если ваша модель данных достаточно абстрактна в коде, это часто не приводит к огромному изменению кода.
Конечно, этот подход становится трудным, если все ваши запросы похожи на "SELECT COUNT (*) FROM users_tbl GROUP BY userType", но когда ваше место "WHERE userid = 5", тогда это имеет смысл.
Ответ 3
Поскольку "sharding" является частью принципов архитектуры для крупных веб-сайтов, вам может быть интересно слушать "Принципы архитектуры eBay с Randy Shoup" здесь.