Sto sviluppando un'applicazione web e l'API utilizzata dall'applicazione web. Sto cercando di determinare se è meglio registrare gli eventi (per determinare il percorso che porta a un errore e per determinare se il sito è stato compromesso) in un database o semplicemente scrivendo su un file.
Da un lato, non voglio rovinare il mio database con una query ogni volta che devo registrare un errore. D'altra parte, non voglio dover scavare attraverso un gigantesco file di eventi / errori. Sto pensando di passare alla modalità di riscrittura quando il file / tabella raggiunge 10.000 o 100.000 eventi.
Conosco i fattori generali che dovrei prendere in considerazione:
- Performance (sia DB che generale - nel mio caso sto usando PHP e Postgres)
- Facilità di trovare il percorso che un utente ha intrapreso per creare un bug o un errore (sono quasi certo che DB è meglio per questo)
- Scalabilità - È la stessa soluzione che userò con 20 utenti come lo sono con 100.000 utenti?
Puoi dirmi in che modo queste due possibili soluzioni si adattano a quanto sopra - in realtà, penso che la cosa più importante per me sia la performance. Quanto è impegnativo scrivere su un file anziché scrivere su un DB e se ogni singolo evento e comando inviato dall'utente (e ce ne saranno molti) viene registrato (prima di un limite di riscrittura), quale soluzione finirà per essere più veloce?