2017-07-26 3 views
0

Essayer d'obtenir mes meilleures pratiques pour une mise à jour complète.Mise à jour en masse de toutes les données avec nosql

L'exemple de scénario est si je stocke un document pour chaque fichier sur un disque dur. Un processus exécute quotidiennement la mise à jour de toutes les informations de fichier. Aucun historique doit être conservé des fichiers supprimés, les documents peuvent simplement aller.

L'interrogation claire de chaque enregistrement serait inefficace et ne couvrirait pas les fichiers supprimés (le flux de données est à sens unique).

donc je suppose que les options sont:

1) Conserver tous les enregistrements avec un horodatage, puis supprimez

2 dossiers de tous hier) Supprimer la base de données, mais je perdrais toutes mes vues, etc.

3) Quelque chose d'autre?

Répondre

1

Pas d'historique doit être conservé des fichiers supprimés

Si vous utilisez une base de données, chaque fois que vous supprimez vos documents, il gardera une pierre tombale de vos documents (qui n'utilise pas beaucoup d'espace, mais quand même ...)

Voici la solution que j'utiliserais:

  1. Créer une base de données de modèle avec les documents de conception. Maintenez vos points de vue là-bas.
  2. Créer un script qui effectue les opérations suivantes:

    • Créer une base de données avec la date d'aujourd'hui
    • Répliquez documents _design de la base de données de modèle
    • vos données dans la base de données

Avec cette solution, chaque jour le contenu peut être complètement supprimé de CouchDB.