Go Down

Topic: Projet avec "grosse" base de données (Read 1 time) previous topic - next topic

Bonjour à tous,
je fais actuellement des recherches pour remplacer un système existant et obsolète.
Le système analyse des trames séries (une toutes les 5 secondes), et rapproche le code lu (une référence d'équipement) à un autre code en base (la ref "famille").
Je pense que l'Arduino est apte à remplir la tâche.
Le pb est que les ref familles en base sont nombreuses: environ 5000, chaque ref faisant 15 caractères.
Comment puis-je techniquement aborder l'analyse de ces données ?
Actuellement, les ref sont sous la forme d'un fichier txt, qui est ouvert et parsé par le prog. Est-il possible de faire de même avec l'Arduino ?

Y a t-il autrement moyen de joindre la liste sous une forme quelconque (txt brut, tableau ...) comme on le fait pour une lib externe ?

Parser un fichier de 5000 lignes (ou un array) en moins de 5 secondes est-il envisageable ?

Merci pour votre aide.
Tous les jours, je roule en Electrique
Arretons de polluer !

Moi & mon Ardu

Teiva

Quote
grosse base de donnée

Oui c'est vrai pour un Arduino c'est pas mal, alors 15+1x5000 = 80000 bytes, il faut que tu passes à la Mega (128K) ou Mega Uno(256K), MAIS ...
Il y a un gros MAIS, actuellement le compiler ne peut pas faire des programmes de plus de 60K, et donc il ne peut pas utiliser les 128 ou 256K. Tu imagines que ça bosse dur sur le bug ... mais comme ça vient de gcc c'est pas encore résolu.

Sinon : autre solutions
a) prendre un shield avec carte mémoire SD ou autre dans ce cas tu y accède comme un fichier pas de limitation.
b) compacter tes données :
- si ta chaine est de longueur fixe, inutile de rajouter le séparateur
- si ta chaine est purement numérique tu peux coder en 4 bits ( /2 la taille)
- si ta chaine est Ascii 7bits, il y a aussi des algo de compressions ...

Quote
Comment joindre la bdd

Si ta base de donnée ne change pas souvent, tu fais un programme qui converti ta base en source C et tu le compiles avec ton programme Arduino.
Sinon : maj fréquente : prendre la solution carte mémoire.

Quote
5 secondes

Il faut que tu optimises un peu la recherche: du genre ta bdd est organisé comme un b-tree etc..., c'est à expérimenter 'à priori' c'est faisable.

A+ Teiva
--------------------------------------------------------
www.MicroDuino.fr : Votre source Arduino en France


www.Zartronic.fr : Arduino & Robotique

Merci pour ces réponses ...
Il est vrai que j'hésite entre l'Arduino + carte SD ou la méga. Par contre, la limitation est un peu gênante ...
Mes données étant de longueur fixe, il y a en effet moyen d'optimiser le tout.
La BDD change très peu, une a deux fois par an au max.
La sauvegarder sous forme de fichier sur SD serait plus pratique: ça évite une recompilation du prog.

Je vais donc me diriger vers la techno SD, et chercher comment mettre en oeuvre tout ça (accès fichier, ...)

Tous les jours, je roule en Electrique
Arretons de polluer !

Moi & mon Ardu

kafifi

Bonsoir,

Savez-vous ou l'on peut suivre le fix de ce problème ?
Y a-t-il une url, ou une mailing list spécifique ?

Merci d'avance.

Go Up