2010-07-27 13 views
0

Que feriez-vous recommandé une approche nouvelle de persistance des données pour la situation suivante:application WPF - approche recommandée pour la persistance de ce type de données ...

  • application WPF (bureau)
  • intercepterez informations jamais deuxième (environ) et devra stocker environ 5 valeurs par seconde efficacement.
  • Doit avoir besoin d'enregistrer des données pour jusqu'à 1 mois
  • L'utilisation sera à la fois (a) la visualisation en temps réel des données des dernières heures, + (b) la possibilité d'afficher la vue historique des données pour d'autres données, type de comme une requête ad hoc pour voir les données. Il faudrait être un certain filtrage limité ou l'interrogation sur la banque de données (quel qu'il soit) avant d'être présenté

Quelle approche serait recommandée ici, idéalement qui est plus facile et de garder la simple installation de WPF?

Répondre

1

Vous pouvez le faire en utilisant le nouveau SQL CE de Microsoft (qui permet le multithread). Il est facile à déployer (je pense qu'il est juste une question d'inclure une DLL) ...

http://en.wikipedia.org/wiki/SQL_Server_Compact

Il doit gérer l'amende de charge, en supposant pas un peuple de gezillion utiliseront sur la même machine. Même alors, il serait assez facile de mettre à niveau.

Ainsi, vous devez exécuter une minuterie ou quelque chose pour y insérer votre exploration de données toutes les 5 secondes, puis le client interroge lorsque l'utilisateur charge des écrans dans le client. Plus tard, vous pourriez vouloir le séparer en deux applications, une pour l'exploration de données, peut-être en tant que service et l'autre en tant que «client». Dans ce cas, avoir un serveur dédié à l'exploration de données aiderait.

+0

jusqu'à la sortie de la version CE 4 (qui ne prend pas en charge l'installation) Je souhaite l'éviter - si l'utilisation d'une base de données est la réponse que je souhaiterais probablement garder avec SQLite sans installation je pense - mais base de données par rapport ou non (par exemple, fichier plat, autre technique) sonne comme vous le recommanderiez d'utiliser une base de données légère alors. – Greg

+0

Oui, si vous voulez écrire dans une base de données toutes les 5 secondes et interroger les données des clients, j'utiliserais certainement une base de données. Et parce que c'est seulement une fois toutes les 5 secondes et avec des données de 1-3 mois, une base de données légère devrait faire très bien. À votre santé. – keyle