[Backend] Otimizar banco de dados

Aperta
#86 0 commenti 0 reazioni 1 assegnatario Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@CLQueirozz ci sta già lavorando.

Dal 9/11/2026.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Refactoring
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
postgresql, python
Ambito
backend, databases

Direzione di ricerca

Start by inspecting the database table definitions and pagination routes, then check how asyncpg handles UUID columns and how the RAWG API supplies tag IDs. The issue names UUID columns for users, reviews, and lists, missing pagination indexes, and auto-incrementing tag IDs as examples to investigate. Done means identifying and correcting these inconsistencies and other database choices that impair backend performance; the issue does not specify exact files or tests.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Tem algumas partes das nossas tabelas de dados que estão "desatualizadas" em relação às regras de negócio do backend, ou então poderiam usar melhor as ferramentas disponíveis para postgres.

Alguns exemplos:

  • Os ids de user, review e list, que estão todos no formato uuid, são declarados como varchar(36) nas tabelas, mas existem jeitos mais otimizados do postgres e do asyncpg (biblioteca do python que usamos para codar em postgres) lidarem com uuid (vale uma pesquisa sobre como ajeitar isso)

  • Para as rotas de paginação ficarem mais rápidas, é necessário criar mais indices auxiliares que permitem buscas mais diretas sobre os dados. Criar mais índices significa que inserção, atualização e deleção ficam mais devagar (dá pra ver isso na prática porque os testes de follow/block, que já tem índices, rodam bem mais lentamente do que os de lista, que ainda não tem indices), mas como o gamerboxd é para ser uma "rede social", nós devemos trabalhar com o princípio que os usuários consomem (rotas get) muito mais conteúdo do que eles criam/alteram (rotas post, put, delete).

  • Na tabela de tags, os ids são números inteiros auto incrementados, mas na verdade esses ids devem vir da rawg api (a api já tem definido qual valor corresponde a qual tag), então auto incrementar eles não faz muito sentido porque vamos essencialmente copiar os pares id - valor da API

Busque corrigir essas inconsistências e achar outras que também podem estar comprometendo o desempenho do backend.

Lingua principale
JavaScript
Stelle
1
Fork
0
Merge medio
17h 39m
PR unite (30g)
4

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di USPCodeLabSanca/Gamerboxd

Tutte le issue di USPCodeLabSanca/Gamerboxd

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.