La domanda può essere riepilogata come:
In a database (regardless of type), would it be considered a good practice to always include
updated
,created
(and possiblydeleted
) properties, for all entities, regardless of nature?The question is asked in the abstract, but I'm looking for real life answers, common - and hopefully good practices here.
Is there a name for this convention?
Nelle applicazioni della vita reale, i dati sono spesso al centro di un servizio. I dati sono ciò che è importante, il resto dell'applicazione è solo vari modi di presentare quei dati. Parlo principalmente dal punto di vista di uno sviluppatore web, visto che è l'industria in cui lavoro.
Molto spesso la registrazione e il tracciamento dei dati possono essere più importanti del payload che trasporta, cioè; è corretto scambiare pochi byte di larghezza di banda e spazio su disco per sapere quando l'ultimo 'hunk of data' è stato aggiornato. Avere dati persistenti, è anche comunemente di grande importanza (parlando principalmente per deleted
-property qui). Come sapere quando qualcosa è stato cancellato, spesso è sempre meglio che avere ... "alcuni ID mancanti" in una tabella, al massimo. - Ovviamente fai, salva un po 'di spazio su disco.
La larghezza di banda e lo spazio di archiviazione stanno diventando molto economici, basta cercare su Google costo per gigabyte nel tempo e simili per larghezza di banda; praticamente parla la stessa lingua Il trasferimento e la memorizzazione dei dati sono economici e stanno diventando più economici.
Alcuni database eseguono anche il timestamp come parte dell'ID, sto parlando ovviamente di MongoDB , anche se probabilmente non erano i primi a percorrere quest'area.
Tenendo presenti le cose precedenti, sarebbe una 'cattiva idea', implementare una politica / pratica per mantenere sempre i dati e implementare sempre 'autoaggiornamento' (se possibile) created
, updated
e % proprietàdeleted
?