Domanda

Ho una domanda che è previsto e ottenere alcuni dati da un altro tabella del database e dump nel mio applicazioni principali tabella di database, il numero di record in questa tabella aumenta ogni giorno e presumo che crescerà ogni giorno in quanto è dati transazioni evento che i dati occur.This è utilizzato per l'elaborazione da parte principale che prende ciascun record e fa l'analisi necessari e contrassegna ogni record come elaborato.

Che tipo di soluzione posso fornire in modo che possa mantenere le dimensioni del database giù in futuro?

Come si va su di esso in questa situazione?

Dalla mia osservazione di alcune applicazioni aziendali, uno fornisce un'opzione che l'utente può documenti d'archivio 'più vecchio di 60 giorni' ecc ... per un testo file.Well ho potuto fornire la possibilità di archiviare i record elaborati in un file di testo ed eliminare i record dal database, il file di testo potrebbe essere successivamente importato, se necessario? Si tratta di una soluzione?

È stato utile?

Soluzione

Se avete bisogno di accedere di tanto in tanto che i dati più vecchi poi la costruzione di un processo per archiviare in testo e poi caricare di nuovo dal testo non è probabilmente una grande soluzione. I dischi rigidi sono a buon mercato.

Si potrebbe aggregare i dati più vecchi. Per esempio, se i dati della transazione è al grano millisecondo ora, ma quando si comunicano i dati relativi anziani si ricevere entro il giorno quindi prendere in considerazione aggregando i dati per "tutti i giorni" come processo di archiviazione. Si può essere in grado di collassare centinaia di migliaia di righe in una solo alcuni per ogni giorno.

Considera anche un buon schema di partizionamento dove è possibile mantenere le transazioni più recenti su un insieme di dischi e dei dati archiviati ad altri dischi, si spera in un processo in cui è possibile aggiungere facilmente nuovi dischi e creare tabelle a tali dischi.

Altri suggerimenti

Che tipo di esigenze passato di reporting dei dati la sua società? Eliminazione di dati archiviati in un file di testo è cosa buona e giusta, a patto che non c'è bisogno di essere in grado di riferire al largo di tali dati in futuro. Tuttavia, avendo in un file di testo significa che avere un processo manuale per importarlo su richiesta in un database quando è necessario.

Una soluzione migliore sarebbe quella di spostare i dati d'archivio fuori in un database di dati che non viene utilizzato per l'elaborazione delle transazioni (OLTP), e invece viene utilizzato come base di una banca dati di elaborazione analitica (OLAP). Quando arriva il momento di segnalare fuori di questi dati archiviati, il suo pronto ad andare. Se si è attenti a come si struttura dei dati nel database di archiviazione, dovrebbe essere molto facile da aggregare tutti i dati in un cubo OLAP, che rende la segnalazione fuori di tali dati molto più veloce e più flessibile.

Ma ancora una volta ... dipende dal fatto di segnalare al largo i dati o no, e quanto indietro nel tempo che la segnalazione potrebbe andare.

E non dipende da quanto l'analisi sarà effettuata sui dati del passato, ma c'è un modo per tenere tutto nel database senza prestazioni diventando un problema.

La soluzione che viene in mente è quello di partizionare le tabelle in questione. La mia azienda ha una tabella di database che contiene i dati partizionati per mese, ognuna delle quali contiene circa 20 milioni di righe. Il partizionamento rende utilizzando questi dati molto più pratico che se fosse memorizzato in una singola tabella. Ora l'unico vero vincolo è lo spazio su disco, che è un non-problema dato come a buon mercato è di questi giorni.

Lo so, però, che alcuni database non supportano il partizionamento. Se questo è il caso, suppongo che la memorizzazione dei dati in un file delimitato sarebbe una soluzione adeguata.

secondo me, dipende di come probabile è che l'utente avrà bisogno di analizzare i dati del passato. Se è probabile, basta creare buoni indici e mantenere tutti i dati nel database principale.

Se non è poi cadere in un TXT. Il tempo in cui accade deve essere configurabile ovviamente.

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