Продвинутый
Как правильно выбрать Shard Key (Ключ шардирования)?
Shard Key определяет, на какой физический сервер ляжет строка данных.
Правила хорошего ключа:
1. Высокая кардинальность: Много уникальных значений (например, user_id). Если взять country (всего 200 стран), данные распределятся неравномерно.
2. Равномерное распределение: Хэш от ключа должен размазывать данные по серверам поровну.
3. Совпадение с паттернами запросов: Если 90% запросов идут с фильтром WHERE user_id = ?, то user_id — идеальный ключ. Запрос пойдет ровно в один шард. Если искать по email, СУБД придется опрашивать ВСЕ шарды (Scatter-Gather), что убьет производительность.