> Иными словами, если я запущу 100 корутин которые дергают БД
У меня будет 100 потоков которые ожидают ответа от БД?
или это будет 100 корутин которые шарят один нативный поток?
Корутины обычно ранаются поверх диспетчера ( ~= пул обычный), сейчас стандартным решением для работы с IO запустить поверх
Dispatchers.IO где по дефолту 64 потока. Вот в 64 потока ты сможешь ходить в базу, при этом если пул забьется то корутины начнут выстраиваться в очередь. Чтобы очередь не росла можно прикрутить SLA, типо ожидание не больше 1 секунды (withTimeout), таким образом отстреливать запросы которые база не обсужит скорее всего нормально