2010-07-29 12 views
0

Je suis actuellement dans la phase de conception d'un système de reporting qui va créer des rapports de comparaison d'écrans pour une flotte de distributeurs automatiques de billets (en cours de développement dans Ruby on Rails).Quelle serait la meilleure solution pour le stockage de rapports?

Les données collectées de chaque ATM sont stockées dans du XML qui contient le nom de fichier, la date de modification, la taille et la somme de contrôle. Ces fichiers sont ensuite comparés avec un fichier maître et rapportent des fichiers supplémentaires, manquants ou incompatibles par ATM.

La question est de savoir comment stocker le rapport généré. Le rapport contiendra un index de tous les guichets automatiques avec un total et ensuite un rapport séparé de détail/liste de fichiers pour chaque guichet automatique (environ 1000). Un rapport sera créé chaque jour avec une rétention de 60 jours.

J'ai envisagé d'utiliser un magasin de documents comme CouchDB ou MongoDB et de stocker toutes les informations en tant que document unique dans la base de données.

Une estimation approximative de 60 jours de données prendra environ 30 Go.

Comment aborderiez-vous cette situation?

+0

Vous plaisantez, n'est-ce pas? Vous ne développez pas sérieusement un ATM où les données sont stockées dans des fichiers XML au lieu d'un SGBDR sécurisé, non? –

+0

Et si vous êtes ... s'il vous plaît nous dire le nom de la Banque que c'est pour que nous ne pouvons jamais ouvrir un compte là-bas. –

+0

Les données XML sont uniquement la liste des noms de fichiers et leurs checksums pour les fichiers d'écran afin de déterminer si les fichiers sont à jour. le fichier est généré en créant une somme de contrôle de chaque fichier dans une structure de fichier donnée. – SiliconChaos

Répondre

1

"Une estimation approximative de 60 jours de données prendra environ 30 Go."

Alors? 30Gb est une taille si petite qu'elle peut être ignorée. À titre d'exemple, 1Tb est une taille où le temps devrait être dépensé en y réfléchissant.

30Gb est une taille si petite que toute solution qui fonctionne est bien. Mettez-le en place rapidement et continuez.