Question

Récemment, je me suis trouvé dans un enchevêtrement de base de données où la direction veut la possibilité de supprimer des données de la base de données, mais encore veut que les données apparaissent dans d'autres endroits. Exemple: Ils veulent supprimer toutes les instances du whizbang produit, mais ils veulent encore whizbang apparaître dans les rapports de vente. (Si on a utilisé un pour une date antérieure).

Maintenant, je peux ajouter un champ, disons is_deleted, qui permettra de suivre si ce produit a été supprimé et donc toujours garder toutes mes références, mais sur une période de temps, je le potentiel de logements beaucoup de données mortes. (Données qui ne sont jamais accéder à nouveau). Comment gérer ce n'est pas ma question.

Je suis curieux de savoir, dans votre expérience, quelle est la durée de vie moyenne des données? C'est, en moyenne, combien de temps les données en vie ou bien pour avant qu'il ne soit soit remplacé ou supprimé? Je comprends que c'est par rapport au type de données que vous êtes un logement, mais certainement toutes les données ont une sorte de durée de vie?

Était-ce utile?

La solution

vit données pour toujours ... ou souvent il se doit. Une pratique courante est d'avoir fin et / ou les dates de début pour un enregistrement. Donc, pour votre whizbang, vous avez une date de début (de sorte qu'il ne sera pas apparaître sur les rapports de vente avant son lancement officiel), et une date de fin (de sorte qu'il ramènera à des rapports après qu'il a été en fin de lifed). En utilisant les dates appropriées comme critères pour vos rapports ainsi que vos applications, vous ne verrez pas le whizbang sauf quand vous devriez, et les données existent toujours (ce qui devrait, théoriquement à l'infini).

Koistya Navin mentionne, le déplacement des données vers un entrepôt de données à un certain point est également une option, mais cela dépend en grande partie sur la taille de vos données « anciens » est, et combien de temps vous avez besoin de le garder facilement disponible pour accès.

Autres conseils

Un grand nombre de nos clients de conserver les données en ligne pendant 2 ans. Après cela, il est déplacé vers des disques de sauvegarde, mais il peut être mis en ligne si nécessaire.

Pensez à ajouter une colonne « expiration » ou « date d'effet ». Cela vous permettra de marquer un produit comme obsolète, mais les rapports retournera ce produit si la plage horaire est satisfaite.

En général, il est préférable de déplacer ces données dans la base de données seporate (entrepôt de données) et de garder la base de données de travail propre. À l'entrepôt de données de vos données peuvent être conservées pendant de nombreuses années sans impact sur votre application.

Référence: Data Warehouse sur Wikipedia

Je suis toujours allé par ce qui est le corps au pouvoir cherche. Exemple l'IRS vous veut garder 7 ans d'histoire ou pour des raisons de sécurité, nous gardons 3 ans d'informations du journal, etc. Je suppose que vous pouvez faire 2 choses, déterminer quelle est la durée de vie de vos données est, je dirais que 3 ans serait assez et vous pouvez ajouter le drapeau is_deleted avec une date de cette façon vous seriez en mesure de signaler des données à supprimer plus tôt que tard.

Oui, toutes les données ont une durée de vie. Et oui, il est par rapport au type de données que vous avez.

Certaines données ont une durée de vie mesurée en secondes (jetons d'authentification, par exemple), d'autres données éternité virtuelle (plus que le support et les formats, il est stocké dans, comme des documents de propriété par exemple).

Vous devez soit être plus précis quant au type de données que vous Envisioning, ou faire un recensement dans votre propre organisation quant à la durée de vie habituelle de choses.

Notre saveur particulière varie. Nous avons des données (une grande majorité) qui rassit après 3 mois (limite de produit dur) mais peut être relancé à une date ultérieure.

Nous avons d'autres données qui est effectivement immortel.

Dans la pratique, la plupart des données que nous servons est frais et souvent demandé pendant quelques semaines, tout au plus un mois, avant de tomber à une utilisation sporadique.

Combien est « un grand nombre de données morts »?

Avec une puissance de traitement

et le stockage de données si pas cher, je ne purger les anciennes données moins qu'il y ait une très bonne raison de. Vous devez également examiner les conséquences juridiques. Large (et même petites) entreprises peuvent avoir des politiques de conservation incroyablement longues pour les anciennes données, pour se sauver des millions sur la route quand ils sont cités à comparaître pour lui par un juge.

Je voudrais vérifier avec ce service juridique que vous avez et savoir combien de temps les données doivent être stockées. C'est le pari le plus sûr.

En outre, demandez-vous ce que l'avantage de supprimer les anciennes données est. Est-ce le seul avantage d'une base de données plus net? Si oui, je ne le ferais pas. Allez-vous voir une augmentation de la performance 10X? Si oui, je le ferais. C'est vraiment une question complexe bien, et il est difficile pour nous d'avoir toutes les informations nécessaires pour vous donner de bons conseils.

J'ai quelques projets où le client souhaite toutes les données historiques (remontant à plus de 19 ans). Un peu de données vraiment vieux est malformé et va être un cauchemar pour importer dans le nouveau système. Nous les avons convaincus qu'ils ne seront pas besoin de dossiers remontant plus loin que 10 ans, mais comme vous l'avez dit est tout par rapport au type de données que vous êtes logement.

Sur une note de côté, le stockage de données est extrêmement pas cher en ce moment, et si elle ne touche pas les performances de votre application, je voudrais juste le laisser où il est.

  

[...] mais certainement toutes les données ont une sorte de durée de vie?

aucune sorte de durée de vie que nous pouvons parler de façon significative. Beaucoup de données ne sert à rien dès qu'il a créé ou enregistré. Ces données pourraient être mis au rebut immédiatement sans effet. D'autre part, certaines données ont une valeur assez qu'il survivra le système actuel qu'il héberge. Si Amazon devait remplacer complètement leur infrastructure actuelle, les histoires des clients qu'ils ont stockés seraient encore une valeur inestimable.

Comme vous l'avez dit, il est relatif. Chaque type de données a sa propre durée de vie qui n'a pas de rapport à un autre type de la durée de vie des données. Il n'y a pas de sens « durée de vie moyenne des données ».

  

J'ai le potentiel de logements beaucoup de données mortes. (Données qui ne sont jamais accéder à nouveau).

Mais ils lorsqu'ils effectuent ces rapports ils accèdent à ces données.

Jusque-là, vous aurez besoin de conserver les données sous une certaine forme. Déplacer vers une autre table ou un commutateur comme vous l'avez mentionné.

euh ... au risque de trop simplifier ... cela ressemble à l'aide DateDeleted au lieu d'un peu résoudrait votre façon longue à garder question.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top