Шардинг
Шардинг — горизонтальное масштабирование БД: данные разбиваются на части (шарды) и размещаются на отдельных серверах. Один сервер не справляется с миллиардами строк — шардинг позволяет распределить нагрузку.Стратегии разбиенияRange-based — шард 1: id 1–1M, шард 2: id 1M–2M. Просто, но неравномерная нагрузкаHash-based — shard = hash(id) % N. Равномерное распределение, но сложный reshardingDirectory-based — отдельный сервис-каталог знает, где какая запись. Гибко, но дополнительный hopСложностиJOIN между шардами невозможен или очень дорогТранзакции через несколько шардов требуют протоколов distributed transaction (2PC)Resharding при добавлении нового сервера — болезненная операция