Une question difficile - mais je vais partager mon expérience et vous laisser décider si cela aide.
Si vous devez conserver la sortie de traitement du fichier source, et que vous utilisez que pour produire plusieurs vues des données dérivées, alors vous pourrait envisager d'utiliser une base de données intégrée. Les raisons d'utiliser une base de données intégrée (à mon humble avis):
- Pour tirer parti des fonctionnalités de SGBDR (ACID, les relations, les clés étrangères, les contraintes, les triggers, agrégation ...)
- Pour faciliter l'exportation de la les données de manière flexible
- pour permettre l'accès à vos données traitées à des clients externes (format connu)
- pour permettre une transformation plus souple des données lors de la préparation pour la visualisation
facteurs qui vous devrait prendre en compte lors de la prise de décision:
- Quelle est la plate-forme (s) cible (Windows, Linux, Android, iPhone, PDA)?
- Quelle base technologique? (Java, .Net, C, C++, ...)
- À quelles contraintes de ressources sont prévues ou doivent être conçues? (RAM, CPU, espace HD)
- Quels comportements opérationnels avez-vous besoin de prendre en compte (connecté au réseau, déconnecté)?
Sur le bureau moderne standard, la capacité de réserve est suffisante pour gérer la plupart des opérations. Sur les eeePC, PDA et autres appareils portables, peut-être pas. Sur les appareils intégrés, très probablement pas. Le langage que vous utilisez peut avoir des fonctions intégrées pour vous aider à gérer la mémoire - peut-être pouvez-vous en profiter. L'aspect de la connectivité (état/état/etc.) peut avoir une incidence sur la quantité de mémoire que vous devez garder à un moment donné. Si vous traitez avec fichiers vraiment gros, alors vous pourriez envisager une approche de processus de streaming afin que vous ayez seulement en mémoire une petite partie des données globales à la fois - mais cela ne veut pas vraiment dire que vous devriez (ou ne devrait pas) utiliser une base de données intégrée. Le texte droit ou les fichiers binaires peuvent aussi bien fonctionner (basés sur les enregistrements, basés sur les colonnes, basés sur les lignes, etc.).
Certaines bases de données vous permettront d'interagir plus efficacement avec les données une fois qu'elles sont stockées - cela dépend du moteur. Je trouve que si vous avez beaucoup d'agrégation requise dans vos fichiers de base (je veux dire les fichiers que vous générez initialement à partir de la source d'origine) alors un moteur de SGBDR peut être très utile pour simplifier votre logique. Les autres options incluent la construction de votre transformation de base, puis l'ajout d'étapes supplémentaires pour traiter celle-ci dans d'autres magasins temporaires pour chaque vue spécifique, qui sont ensuite traitées pour le rendu au format cible (rapport?).
Juste une réponse de flux de conscience - l'espoir qui aide un peu.
Edit:
par votre plus de précisions, je ne suis pas sûr d'une base de données intégrée est la direction que vous voulez prendre. Vous devez soit faire des suppositions simplificatrices pour rendre vos graphiques ou étudier des méthodes comme la segmentation (rendre les sections du graphique puis mettre en cache la sortie avant de rendre la section suivante).
Est-ce que ma réponse n'a pas résolu votre question? –