равно можно нечто подобное тут спросить.
Смотрел один из докладов по СУБД со старого хайлоада, вот в ходе просмотра у меня возник вопрос:
Представим ситуацию, у нас есть некоторая соц сеть с табличкой пользователей, в ней есть как минимум 3 поля (id, email, phone_number, все три поля уникальны). Вот, наша соц сеть стала популярной, и мы пошардили эту табличку по разным серверам ( в качестве шардинг кей выбрали id ).
Вот, теперь нужно переделать аутентификацию ( которая работала по email / phone_number). Ранее пользователь присылал креды — я шёл в базу, сверял, и аутентифицировал. Как быть теперь ? Как мне определять в каком шарде лежит этот пользователь ?)
по ключам: email начинается на a - сервер по адресу 10.17.168.24, на b? сервер на 10.17.168.28, c? ...
ок, пошардить по емейлам, я подумал ещё о некотором промежуточном хранилище ( типа redis ) — в котором мы бы могли хранить email / phone_number и шард в котором оно лежит
Это не ты подумал, а тебе написали в пых чате
Обсуждают сегодня