2010-08-11 6 views
1

Un projet sur lequel j'ai travaillé l'année dernière écrit des fichiers journaux sur un lecteur réseau chaque fois qu'une tâche est effectuée. Nous avons actuellement environ 1300 dossiers chacun avec un certain nombre de fichiers et de dossiers. La partie importante ici est que nous avons environ 3-4 fichiers XML en moyenne dans chaque dossier qui contiennent des numéros de série et d'autres données d'identification pour nos produits. Au début, il était facile de simplement utiliser la recherche de fichiers Windows, mais cela peut prendre plus de 10 minutes. Le besoin d'un observateur/chercheur de journal a surgi et j'ai besoin de comprendre comment le rendre rapide. Nous examinons un certain nombre d'idées. L'un étant un fichier d'index XML stocké localement, mais je pense qu'il deviendra trop gros pour être rapide. Deuxièmement, créer un service de surveillance de dossier qui écrira des informations d'index dans une base de données SQL et un lien vers des fichiers. Troisième idée était d'avoir le programme d'écriture des fichiers journaux écrivent également des informations d'index à la base de données. La deuxième option de base de données semble être la meilleure option en ce moment puisque nous avons déjà un tas d'histoire qui devra être indexé, mais pour moi cela semble un peu compliqué. Donc ma question en bref est: Comment puis-je rechercher rapidement des informations contenues dans des fichiers XML dans un grand nombre de répertoires en constante augmentation?Comment rechercher rapidement des données stockées dans un fichier XML dans un grand nombre de répertoires?

Répondre

1

Nous avons fini à l'aide d'une base de données SQL pour le faire, pour de nombreuses raisons:

  1. Il a maintenu beaucoup plus rapidement les temps de requête dans une simulation croissance des données de 10 ans (1,5 mil - 2 entrées de mil avaient encore moins de 2 ans secondes) que XML (environ 20-30 secondes).
  2. Nous pouvons demander à l'application de publier directement des données dans la base de données, ce qui supprime le besoin d'un robot d'exploration (autre que pour les données héritées initiales).
  3. Il pouvait y avoir des problèmes potentiels avec le verrouillage de fichier si nous décidions d'héberger le fichier sur le réseau quelque part.
Questions connexes