Pages: [1]   Go Down
Author Topic: Projet avec "grosse" base de données  (Read 1167 times)
0 Members and 1 Guest are viewing this topic.
Cergy
Offline Offline
Full Member
***
Karma: 0
Posts: 137
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

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

Moi & mon Ardu

France, Nice
Offline Offline
Full Member
***
Karma: 3
Posts: 194
www.Zartronic.fr
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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
Logged


www.Zartronic.fr : Arduino & Robotique

Cergy
Offline Offline
Full Member
***
Karma: 0
Posts: 137
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

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, ...)

Logged

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

Moi & mon Ardu

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 94
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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.
Logged

Pages: [1]   Go Up
Jump to: