Ну, включая простые графовые операции (хотя подход к работе с графами я бы с DBA обсудил, там слишком много внутренних сложностей). Но попробовал бы вообще не реализовывать работу с графами на РСУБД, это не самый подходящий инструмент )
Э, мне вот интересно, а как они это делают по работе с тем же PG. Там же все равно приходится привязывать соединение к корутине и пока транзакцию не закрыли - передавать нельзя. Так что производительность не изменится
Построение иерархий действительно лучше работает в графовой БД, и скорее всего от РСУБД мы туда все рано или поздно уползём. Однако подхода это не меняет ИМХО. Хорошие SQL к графовым БД упакованные в правильные обёртки как раз позволят избежать неправомерного и кривого изменения конститентности данных.
Например построить и вернуть иерархию - вполне себе задачка для хранимки. Вставить объект в иерархию - тоже. Обновить объект иерархии - тоже.
А вот история про реализацию "как менять и зачем" - там я считаю неуместным.
Ну, всюду пул. Но тогда нет разницы между корутинами и тредами в данном сценарии. Все равно реально с БД работает немного потоков, остальные ждут, пока им из пула выдадут. Понятно, что ждать в корутине дешевле, чем в треде, но в данном случае это не очень существенно.
Ну да, я такое тоже обычно делал или хранимками или базовыми процедурами в той же java, которые вызывались остальными разработчиками. Главное - не приводить к тому, что подобные запросы все будут писать сами в меру своего понимания.
Ну, пока самое лучшее - это консалтинг от тех же DataEgret (если PG). Ну или какой-то эксперт на почасовке - для небольших проектов. Если в компани 1000 человек, то для сложных задач уже явно будут специалисты.