Pregunta

Recientemente me he encontrado en una maraña de gestión de base de datos donde desea que la capacidad de eliminar los datos de la base de datos, pero todavía quiere que los datos que aparecen en otros lugares. Ejemplo: quieren eliminar todas las instancias de la whizbang producto, pero todavía quieren whizbang a aparecer en los informes de ventas. (Si es que corrían uno para una fecha anterior).

Ahora puedo agregar un campo, is_deleted decir, que hará un seguimiento de si dicho producto ha sido borrada y por lo tanto aún mantener todas mis referencias, pero durante un período de tiempo, que tienen el potencial de albergar una gran cantidad de datos muertas. (Datos que no se accede de nuevo). Cómo manejar este no es mi pregunta.

Tengo curiosidad por descubrir, en su experiencia de lo que es el promedio de vida de los datos? Es decir, en promedio cuánto tiempo son datos vivos o bien para antes de que se sea reemplazado o eliminado? Entiendo que esto es en relación con el tipo de datos que se encuentra la vivienda, pero sin duda todos los datos tiene algún tipo de esperanza de vida?

¿Fue útil?

Solución

Datos vive siempre ... o frecuencia con que debe. Una práctica común es tener fin y / o las fechas de inicio para un registro. Así que para su whizbang, que tiene una fecha de inicio (para que no aparecerá en los informes de ventas antes de su lanzamiento oficial), y una fecha final (de modo que deja de informes después de haber sido al final de su lifed). El uso de las fechas adecuadas como criterios para su notificación, así como sus aplicaciones, que no verán la whizbang a excepción de cuando debe hacerlo, y todavía existe los datos (que debería, teóricamente infinito).

Como Koistya Navin menciona, el movimiento de datos a un almacén de datos en un momento determinado es también una opción, pero esto depende en gran medida del tamaño de los datos de 'viejo' es, y cuánto tiempo se necesita para mantenerlo fácilmente disponible para el acceso.

Otros consejos

Muchos de nuestros clientes para mantener la información en línea por 2 años. Después de que se ha movido a los discos de copia de seguridad, pero se puede poner en línea si es necesario.

Considerar la adición de una columna de "caducidad" o "fecha efectiva". Esto le permitirá marcar un producto como obsoletas, pero los informes devolverá ese producto si el intervalo de tiempo está satisfecho.

Por lo general es mejor mover dichos datos en la base de datos seporate (almacén de base de datos) y mantener la base de datos de trabajo limpio. En el almacén de datos sus datos pueden mantenerse durante muchos años sin que ello afecte su aplicación.

Referencia: de almacenamiento de datos en Wikipedia

Siempre he ido por lo que es el cuerpo gobernante buscando. Ejemplo el IRS le quiere mantener los 7 años de la historia o por razones de seguridad mantenemos 3 años de información de registro, etc Así que supongo que se podría hacer 2 cosas, determinar cuál es la vida útil de sus datos es Diría 3 años serían lo suficiente y entonces se podría añadir la bandera is_deleted junto con una fecha de esa manera usted sería capaz de marcar algunos datos para eliminar más pronto que tarde.

Sí, todos los datos tiene una vida útil. Y sí, es en relación con el tipo de datos que tiene.

Algunos datos tiene una vida útil medido en segundos (tokens de autenticación, por ejemplo), algunos otros datos eternidad virtual (más que el medio y los formatos se almacena en, como por registros de propiedad ejemplo).

Usted tiene que ser más específico, ya sea en cuanto al tipo de datos que se están imaginando, o hacer un censo en su propia organización en cuanto a la vida útil normal de las cosas.

Nuestro sabor particular varía. Tenemos algunos datos (la gran mayoría), que se estropea después de 3 meses (límite de producto duro), pero puede ser revivida en cualquier fecha posterior.

Tenemos otros datos que efectivamente es inmortal.

En la práctica, la mayor parte de los datos que entregamos es fresco y con frecuencia solicitado por algunas semanas, a lo sumo un mes, antes de caer al uso esporádico.

¿Cuánto es "una gran cantidad de datos muerto"?

Con capacidad de procesamiento y almacenamiento de datos tan barato, no me purgar datos antiguos a menos que haya una muy buena razón para hacerlo. También es necesario tener en cuenta las implicaciones legales. Grandes (e incluso pequeñas) empresas pueden tener políticas de retención muy largos para los datos antiguos, para salvarse millones por la carretera cuando son citados por ella por un juez.

Me gustaría comprobar con cualquier departamento legal que tiene y averiguar cuánto tiempo necesita los datos a almacenar. Esa es la apuesta más segura.

Además, hágase lo que el beneficio de la eliminación de los datos anteriores es. Es el único beneficio una base de datos más ordenado? Si es así, yo no lo haría. ¿Se va a ver un aumento de rendimiento 10X? Si es así, lo haría. Esto realmente es una cuestión compleja, sin embargo, y es difícil para nosotros tener toda la información necesaria para darle un buen consejo.

Tengo un par de proyectos donde el cliente quiere que todos los datos históricos (que se remonta más de 19 años). Un poco de los datos muy viejo está mal formado y va a ser una pesadilla para importar en el nuevo sistema. Los convencimos de que no necesitarán registros que se remonta más allá de 10 años, pero como usted ha dicho que todo es relativo al tipo de datos que está la vivienda.

En una nota, el almacenamiento de datos es muy barato en este momento, y si no está afectando al rendimiento de la aplicación, simplemente me iría donde está.

  

[...] pero sin duda todos los datos tiene algún tipo de esperanza de vida?

No es cualquier tipo de esperanza de vida se puede hablar de manera significativa. Una gran cantidad de datos es inútil, tan pronto como se crea o se registra. Tales datos podrían ser desechados inmediatamente sin efecto. Por otra parte, algunos datos tiene un valor suficiente que sobrevivirá al actual sistema que lo hospeda. Si Amazon eran para reemplazar por completo su infraestructura actual, las historias de clientes que han almacenado todavía serían inmensamente valioso.

Como usted ha dicho, es relativo. Cada tipo de datos tiene su propio tiempo de vida que no tiene relación con otro tipo de vida útil de datos. No hay "tiempo de vida promedio de los datos" significativa.

  

Tengo el potencial de albergar una gran cantidad de datos muertas. (Datos que no se accede de nuevo).

Pero ellos cuando realizan esos informes a continuación, que están accediendo a los datos.

Hasta entonces tendrá que mantener los datos en alguna forma. Cambiar a otra mesa o tener un interruptor como usted ha mencionado.

uh ... a riesgo de simplificar demasiado ... suena como el uso de DateDeleted en lugar de un poco resolvería el problema de cómo de largo a mantener.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top