Busca em hierarquias de ativos: contribuição no backend de uma funcionalidade compartilhada

Navegar por uma hierarquia grande exigia consultas repetidas e carregava devagar. Contribuí com a travessia recursiva no backend, reduzindo o padrão de N×3 chamadas sequenciais para três consultas. Outro engenheiro fez a maior parte da tarefa final de busca. A funcionalidade trouxe busca contextual e prefetch; a latência antes e depois não foi medida.

impactoO padrão de consultas caiu de N×3 chamadas sequenciais para três na travessia recursiva e nos dados relacionados. A busca foi lançada no fluxo de configuração de rotas. Não há medição comparativa de latência, e o trabalho foi compartilhado.
01

Contexto

Quem configurava rotas de inspeção precisava navegar por hierarquias grandes de ativos. O caminho antigo repetia consultas ao banco, carregava devagar e não oferecia busca.

02

Problema

A busca precisava mostrar cada resultado dentro da hierarquia. Buscar nível por nível deixava a API verbosa; uma lista plana perderia o contexto que ajuda a reconhecer o ativo.

03

Decisão

Contribuí com uma consulta recursiva em PostgreSQL e agrupei consultas relacionadas: três no total em vez de N×3 chamadas sequenciais. A árvore era montada na camada de domínio em O(n). Outro engenheiro concluiu a maior parte da tarefa final de busca.

04

Implementação

A funcionalidade compartilhada adicionou busca contextual, cache em memória e prefetch progressivo atrás de uma feature flag. O caminho legado continuou disponível durante a implantação.

05

Resultado

A travessia recursiva e os dados relacionados passaram de N×3 chamadas sequenciais para três consultas. A busca foi lançada na configuração de rotas. Não há medição comparativa de latência; o trabalho foi compartilhado.

06

Evidências

—Os registros mostram meu trabalho na travessia recursiva e no endpoint, além da contribuição maior de outro engenheiro na tarefa final de busca.
—A comparação registrada é de N×3 chamadas para uma CTE recursiva e duas consultas em lote.
—A funcionalidade foi lançada atrás de uma flag; o caminho legado permaneceu quando ela estava desligada.