Domanda

Di recente ho mi sono trovato in un groviglio database in cui il management vuole la possibilità di rimuovere i dati dal database, ma vuole comunque che i dati vengano visualizzati in altri luoghi. Esempio: Vogliono rimuovere tutte le istanze del whizbang prodotto, ma vogliono comunque whizbang ad apparire in rapporti di vendita. (Se correvano uno per una data precedente).

Ora posso aggiungere un campo, dire is_deleted, che traccia se tale prodotto è stato eliminato e quindi ancora mantenere tutti i miei riferimenti, ma per un periodo di tempo, ho la possibilità di ospitare una grande quantità di dati morti. (Dati che non è mai accede di nuovo). Come gestire questa non è la mia domanda.

Sono curioso di scoprire, nella vostra esperienza che cosa è la vita media di dati? Vale a dire, in media, quanto tempo è un dato vivo o buono per la prima che venga sostituito o cancellato? Capisco che questo è relativo al tipo di dati di sei alloggi, ma certamente tutti i dati ha una sorta di ciclo di vita?

È stato utile?

Soluzione

Dati vive per sempre ... o spesso dovrebbe. Una pratica comune è quella di avere fine e / o le date di inizio per un record. Quindi per la vostra whizbang, si dispone di una data di inizio (in modo che non apparirà sul report di vendita, prima che sia lancio ufficiale), e una data di fine (in modo che cade fuori di rapporti dopo che è stato end-of-lifed). Utilizzando le date corrette come criteri per la tua segnalazione, così come le applicazioni, non si vedrà il whizbang tranne quando si dovrebbe, ei dati esiste ancora (cosa che dovrebbe, teoricamente all'infinito).

Come Koistya Navin menziona, lo spostamento dei dati a un data warehouse ad un certo punto è anche un'opzione, ma questo dipende in gran parte da quanto grande i dati 'vecchio' è, e per quanto tempo è necessario mantenere più facilmente accessibile per l'accesso.

Altri suggerimenti

Molti dei nostri clienti mantenere i dati on-line per 2 anni. Dopo che è trasferita a dischi di backup, ma può essere messo on-line, se necessario.

Considerare l'aggiunta di una colonna "scadenza" o "data effettiva". Questo vi permetterà di contrassegnare un prodotto obsoleto, ma i rapporti restituirà quel prodotto, se l'intervallo di tempo è soddisfatto.

Di solito è meglio spostare tali dati nel database seporate (magazzino database) e mantenere database di lavoro pulito. Alla data warehouse i dati possono essere conservati per molti anni, senza impattare la vostra applicazione.

Riferimento: Data Warehouse su Wikipedia

sono sempre andato da quello che è l'organo di governo cercando. Esempio l'IRS si vuole mantenere 7 anni di storia o per motivi di sicurezza continuiamo a 3 anni di informazioni di registro, ecc Quindi penso che si potrebbe fare 2 cose, determinare ciò che la durata della vita dei tuoi dati è Direi 3 anni sarebbero abbastanza e quindi si potrebbe aggiungere il flag is_deleted insieme a una data in questo modo si sarebbe in grado di segnalare alcuni dati da eliminare prima che poi.

Sì, tutti i dati ha una durata. E sì, è relativo al tipo di dati di cui si dispone.

Alcuni dati ha una durata in secondi (token di autenticazione, per esempio), alcuni altri dati eternità virtuale (più della media e formati è memorizzato in, come ad esempio i record di proprietà).

Si dovrà neanche essere più specifico per quanto riguarda il tipo di dati che si sta immaginando, o fare un censimento nella propria organizzazione come al solito la durata della vita di roba.

Il nostro gusto particolare varia. Abbiamo alcuni dati (la stragrande maggioranza) che va stantio dopo 3 mesi (limite prodotto duro), ma può essere ripreso in qualsiasi momento successivo.

Abbiamo altri dati che è effettivamente immortale.

In pratica, la maggior parte dei dati che servono è fresco e spesso richiesto per un paio di settimane, al massimo un mese, prima di cadere a uso sporadico.

Quanto è "un sacco di dati morto"?

Con la potenza di elaborazione e memorizzazione dei dati così a buon mercato, non vorrei eliminare i vecchi dati a meno che non ci sia una buona ragione per farlo. È inoltre necessario considerare le implicazioni legali. Grandi (e anche le piccole) imprese possono avere criteri di conservazione incredibilmente lunghi per i vecchi dati, per salvare se stessi milioni lungo la strada quando sono citato in giudizio per esso da un giudice.

Vorrei verificare con qualunque ufficio legale che hai e scoprire quanto tempo i dati devono essere memorizzati. Questa è la scommessa più sicura.

Inoltre, chiedetevi cosa il vantaggio di rimuovere i vecchi dati è. È l'unico vantaggio di un database più ordinato? Se è così, io non lo farei. Stai andando a vedere un aumento delle prestazioni 10 volte? Se è così, lo farei. Questa è davvero una domanda complessa, però, ed è difficile per noi avere tutte le informazioni necessarie per dare buoni consigli.

Ho un paio di progetti in cui il cliente vuole che tutti i dati storici (che risale a 19 anni). Un bel po 'di veramente vecchio di dati non è valido e sta andando ad essere un incubo da importare nel nuovo sistema. Li abbiamo convinti che essi non avranno bisogno di record che risale ulteriormente di 10 anni, ma come hai detto tu è tutto relativo al tipo di dati di sei abitazioni.

Una nota a parte, la memorizzazione dei dati è estremamente a buon mercato in questo momento, e se non sta interessando le prestazioni della vostra applicazione, vorrei solo lasciarlo dove si trova.

  

[...] ma certamente tutti i dati ha una sorta di ciclo di vita?

Non ogni tipo di vita si può parlare di significato. Un sacco di dati è inutile, non appena è stato creato o registrato. Tali dati potrebbero essere eliminati immediatamente senza alcun effetto. D'altra parte, alcuni dati ha abbastanza valore che essa sopravviverà l'attuale sistema che lo ospita. Se Amazon dovesse sostituire completamente la loro attuale infrastruttura, le storie dei clienti che hanno memorizzati sarebbe ancora enorme valore.

Come hai detto tu, è relativo. Ogni tipo di dati ha una sua durata di vita che non ha alcuna relazione con un altro tipo di vita dei dati. Non c'è significativa "vita media dei dati".

  

Ho il potenziale delle abitazioni un sacco di dati morti. (Dati che non è mai accede di nuovo).

Ma saranno quando eseguono tali relazioni poi accedono i dati.

Fino ad allora avrete bisogno di mantenere i dati in qualche forma. Sposta in un'altra tabella o di avere un interruttore, come lei ha citato.

uh ... a rischio di semplificare eccessivamente ... suona come usando DateDeleted invece di un po 'avrebbe risolto il problema quanto a lungo a mantenere.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top