с pgx/sql, бд Postgres соответственно?
1. Написать миллион методов для маппинга вложенных структур и рекурсивно их вызывать
2. Написать запрос, возвращающий JSON?
Не очень понял, почему миллон методов для маппинга
Потому что есть большая иерархичность структур (LMS: Школа > Этап > Шаг > Мероприятие > Проведение > Участие) и необходимость их все просматривать в определенный момент с частью их потомков (т.е. Школа + Этапы + Шаги + Мероприятия; Мероприятие + Проведения + Участия и т.п.), соответственно по мапперу на каждую структуру, когда в варианте с JSON'ами, подойдёт и стандартная библиотека
а почему не воспользоваться стандартным реляционным способом? обычно в той таблице, где хранятся сущности, которые "many", заводится поле с ID сущности, которая одна. например user (1)-> pet(M) users: ID pets: ID user_id = users.id
если цель именно хранить большую вложенную иерархию и оставать на PostgreSQL, то можно еще попробовать JSONB тип и его операции
Вы имеете в виду два запроса: один фетчит пользователей, а другой животных? Сейчас так и есть, но не очень нравится, что для большой вложенности приходится делать по три-четыре хопа на выделенный сервер, где живёт постгря Но это скорее профилировать надо
Не нравится, потому что вы по метрикам не укладываетесь в нужные тайминги, или в нужный процент ошибок, или что-то подобное? Или просто выглядит неидеально?
По метрикам, но это просто решается кешом, но хочется так же деплой по минимуму пока усложнять и не плодить бд
Обсуждают сегодня