Вкратце, представьте себе разделение вашего users_tbl на несколько серверов. Таким образом, пользователи 1-5000 и на сервере 1, пользователи 5000-10000 на сервере 2; и т. д. Если ваша модель данных достаточно абстрактна в коде, это часто не значительное изменение в коде.
Конечно, такой подход становится трудным, если все ваши запросы похожи на «SELECT COUNT (*) FROM users_tbl GROUP BY userType», но когда ваш запрос «WHERE userid = 5», тогда он имеет больше смысла.