group-telegram.com/solo_teach/352
Last Update:
Привет, будущие архитекторы аппетитных систем!
После кофе и библиотек Ванечка проголодался. Но что, если он не один такой?
Сегодня разберем шардирование на примере пиццерии, которая выросла из одной точки в сеть!
▪︎ Быстро печет пиццу (данные локальны!)
▪︎ Доставляет за 15 минут (запрос не летит через весь город!)
▪︎ Не перегружен, ведь заказы из других районов идут в их филиалы.
▪︎ 500 заказов в час → печи дымятся, повара паникуют
▪︎ Курьер едет из центра в «Зеленый Бор» 40+ минут (сильные задержки!)
▪︎ Заказ Ванечки теряется в очереди...
Так в чем фокус?
Шардирование (Sharding) – это распределение данных по независимым серверам (шардам) на основе ключа (например, user_region).Каждый шард – как филиал пиццерии: автономный и ближе к своим клиентам!
Как «делим» клиентов? Решаем как владелец сети!
▪ По гео/району (Geo Sharding):
Район "Зеленый Бор"
→ Шард 3 (как в примере выше). ▪ По диапазону ID (Range Sharding): Клиенты с
ID 1-50000
→ Шард 1, 50001-100000
→ Шард 2. ▪ По хэшу (Hash Sharding): Хэш от
user_id
определяет шард (заказы равномерно распределены, но найти всех из района сложно). ▪ По типу заказа (Entity Sharding): Все данные заказа
#12345
→ на одном шарде (удобно для транзакций: оплата + доставка). Зачем это аналитикам?
Шардирование – рецепт для систем, где данные не помещаются на один сервер или нужно уменьшить задержки. Это про распределение, близость к пользователю и горизонтальный рост.
Запомни разницу:
Плохое шардирование – как пиццерия, где все заказы везут через весь город. Хорошее – когда Ванечка быстро получает горячую пиццу из ближайшего филиала!
Участвую в конкурсе от @systems_education
#продолжи_мысль_SE
#системный_анализ #шардирование #sharding #базы_данных #scalability #распределенные_системы #архитектура #оптимизация #аналитик #юмор #Ванечка #itтерминология #ГоризонтальноеМасштабирование