Scenario:
- Ho un semplice post di testo. Quale può ricevere
comments
elikes
. Tutte le entità hanno le proprie tabelle. - Mi piace e commento generano
notifications
.
Base Relazione padre-figlio nel database (RDBMS):
Approccio attuale:
Quando devo eliminare il post, elimino anche i commenti, i mi piace e le loro notifiche.
A causa:
- quando recupero solo le notifiche Non devo controllare i commenti, i like o lo stato per filtrare le notifiche delle entità cancellate.
- quando accedo a un singolo commento (per modificare o eliminare) , non devo controllare lo stato del post.
Questo approccio mi aiuta a velocizzare i dati GET, ma rallenta il processo di cancellazione. E poiché l'uso della transazione, blocca la tabella quando c'è troppa attività sul post.
Domanda:
Devo attenermi a ciò che sto facendo attualmente? o dovrei provare a eliminare velocemente, ed eseguire controlli sui dati GET? o qualsiasi altro approccio?
PS: in realtà non sto eliminando. Sto cancellando lentamente, significa aggiornare una colonna chiamata status
a DELETED
con tempo cancellato. Per mantenerlo per alcuni giorni, elimina definitivamente utilizzando il lavoro.