Отлично работает в масштабе одного сервера при текущей (довольно невысокой) нагрузке, но возникает интерес, как оно будет работать, если вдруг внезапно на нем окажется в тысячу раз больше пользователей
Ответ очень простой - проверить с помощью stress test. То есть проанализировать текущий запросы к базе и симулировать х1000 кол-во пользователей. 90% что можно обойтись без шардинга, но опят покажет.
Плюс - с самого начала пишите аппликацию так, чтобы read-only запросы можно было направлять на отдельный ДБ сервер, это уменьшит нагрузку на master.