2012-06-08 3 views
2

Je suis complètement nouveau pour les bases de données alors pardonnez la simplicité de la question. Nous avons un système Linux embarqué qui doit stocker les données collectées sur une période de plusieurs heures. Les données devront être consultables de manière séquentielle et inclure des données telles que le GPS, les données environnementales, etc. Ces données devront être sauvegardées dans un dossier sur un disque SSD amovible et étiquetées comme "Mission". Plusieurs «missions» peuvent exister sur un seul disque SSD et ne doivent pas être mélangées car elles doivent être copiées et sauvegardées individuellement à la discrétion des utilisateurs sur les supports externes. Les données seront sauvegardées aussi souvent que 10 fois par seconde et doivent être très robustes en raison du risque de pannes de courant.Base de données pour les données séquentielles

Les données doivent pouvoir être recherchées sur le système sur lequel elles sont créées, mais également après que le disque amovible a été transféré vers un autre système (également Linux), il doit également être chargé et utilisé. Dans le passé, nous avons fait des fichiers personnalisés pour stocker les données, mais il semble qu'une base de données pourrait être la meilleure option. Comment portables sont des bases de données comme MySQL? Un utilisateur peut-il facilement retirer un disque contenant une base de données et le brancher sur une nouvelle machine à utiliser sans trop d'efforts? Nos requêtes seront principalement basées sur le temps parce que l'utilisateur "jouera" à travers les données après qu'il a été recueilli dans peut-être 10 fois le taux de collecte. De plus, notre code de base est écrit en Qt (C++) donc nous aurions besoin d'interagir avec la base de données de cette façon.

Répondre

2

J'irais avec SQLite. C'est petit et léger. Il stocke toutes ses données dans un fichier. Vous pouvez copier ou déplacer le fichier sur un autre ordinateur et le lire ici. Votre éditeur de données peut simplement refaire le fichier, vide lorsqu'il détecte que ssd d'aujourd'hui n'a pas déjà le fichier.

Il convient également de mentionner que SQLite est soumis à la norme testing au niveau fourni uniquement par quelques logiciels critiques de sécurité. La suite de tests, bien que partiellement générée, est un incroyable 100 millions de lignes de code. Ce n'est pas du tout quand il s'agit de robustesse. Je ferais confiance à SQLite plus qu'une implémentation de base de données auto-fabriquée au hasard. SQLite est utilisé dans l'avionique certifiée AFAIK

+0

Je devrais mentionner que "intégré" dans ce cas ne signifie pas petite ou limitée dans la puissance de traitement. Le logiciel fonctionne sur une carte mère de station de travail 64 bits coûteuse avec des noyaux double hex et des tonnes de RAM. C'est juste d'être dans un hélicoptère. – Brad

+0

Pourtant, toute la base de données peut vivre dans un fichier, que vous pouvez transporter physiquement vers une nouvelle machine et lire. –

Questions connexes