Quelle base de donnees choisir ?

jothecracker Messages postés 26 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 9 mars 2011 - 31 mars 2009 à 07:05
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 2 avril 2009 à 15:46
Bonjour,

   Je suis actuellement entrain de travailler sur un projet de base de donnée, le principe est de récupérer quelques 6500 fichiers CSV et de les importer dans une base.

   J'ai effectuer le programme sans difficulté, mais jusqu'à présent je n'avais travailler que sur des bases Access, très petite.

   Ce projet me pose un problème, après avoir consulter quelques topics sur le sujet, le moteur d'Access trouverais ses limites au environ des 100000Lignes toutes tables confondu.

   Dans mon cas chaque fichiers CSV contient environs 1000Lignes d'evenement et les 6500 sont exostifs.

   Je voudrais savoir si vous pouvez me conseiller sur un moteur de BD plus pousser, gratuis et si possbile dans le meme type que access (fichier local)

   Apres quelques recherche, j'ai denicher SQLite et le SQL Server Express de microsoft.

   SQLite est t-il un bon choix ? Pourrait-il supporter les plusieurs milliers de lignes que je doit traiter ?

Cordialement,

Syl

3 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
31 mars 2009 à 10:21
Salut
Les bases de données Access ne sont limitées que par :
- la taille de la DB : 2 Go maxi
- 255 champs par table
- 2048 tables ouvertes
- 2Go maxi pour une seule table
(Voir "caractéristiques mdb" dans l'aide de Access)
Les bases Access ont tendance à gonfler même quand on supprime des enregistrements

Avec SQL Server Express (gratuit), cette limitation passe à 4 Go.
Le moteur peut rester le même, il n'y a que la ConnectionString à modifier.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
jothecracker Messages postés 26 Date d'inscription jeudi 26 décembre 2002 Statut Membre Dernière intervention 9 mars 2011 1
31 mars 2009 à 13:06
C'est bizarre je ne comprend pas pour ca 'lag'....

La taille de ma base atteint les 15Mb et ca commence déjà a ralentir sévèrement.... du genre ajout d'une ligne toute les 3sec.... donc sur un fichier de plus de 1000lignes ca me fait du 15min par fichier * 6500 fichiers.....

Je croyer que cela provenais d'access mais apparament pas aux vue des caracteristiques.

A partir de 3Mb avec 27000lignes dans la table c'est deja lent....

Est-ce que cela pourrait provenir de l'update du DataSet ? enfaite du fait de passer par un DataSet ?

Apres avoir annaliser le code etape par etape de probleme vient vraiment de la mise a jour des nouvelles lignes, le DataSet ajoute toutes mes lignes presque instantanement, mais une fois qu'il se recopie sur la base, ca prend 15min...

Si tu as une idee...
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
2 avril 2009 à 15:46
Re
Là, c'est côté programme.
Si tu as des composants qui affichent le contenu de tes tables, oui, il y a un risque que ces composants demandent à être rafraichis après chaque insersion --> lenteurs.
Mais de là à prendre 3 secondes, ça me parait beaucoup.
Fais-tu du triturage de données avant insersion ?
Est-ce le triturage ou l'insersion qui dure longtemps ?
Combien de champs et de quels types dans chaque fiche ?
Combien de tables sont-elles touchées par une insersion ?
Y a t-il des liens entre les champs de ces tables ?
Quel est la puisssance de ton PC, en therme de processeur, de saturation de disque, de mémoire disponible ?
"mémoire disponible" : Vérifie si ton application gonfle au fur et à mesure qu'elle travaille (gestionnaire des tâches). Si elle gonfle, il y a un problème de données stockées et jamais vidées ...

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
Rejoignez-nous