[ BDD ] Comment travailler sur une BDD non chargee en memoire ?

Comment travailler sur une BDD non chargee en memoire ? [ BDD ] - Algo - Programmation

Marsh Posté le 28-03-2004 à 15:23:59    

[:zytra]
 
Je me reattaque a mon petit logiciel de classement de document. Apres Delphi, j'essaye en C++. Sous delphi ca marchait bien, mais je mettais la totalite de la base de donnee en memoire ; pratique pour la manipuler, mais tres usant pour la RAM des que le nombre d'entrees augmente un peu.
 
J'ai par ailleur (a titre de comparaison) remarque que le sympatique lecteur audio foobar2000 avait une tres faible utilisation memoire comparee a mon programme pour sensiblement la meme quantite de fichiers dans la BDD.
 
Je me demandais donc si il existait un moyen qui m'echapperait de travailler sur une BDD (ajouter, retirer des entrees) qui n'est jamais qu'un fichier texte sans le charger entierement en memoire d'une facon ou d'une autre ?
 
Idees, suggestions ?
 


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
Reply

Marsh Posté le 28-03-2004 à 15:23:59   

Reply

Marsh Posté le 28-03-2004 à 15:36:09    

ciler a écrit :

[:zytra]
 
Je me reattaque a mon petit logiciel de classement de document. Apres Delphi, j'essaye en C++. Sous delphi ca marchait bien, mais je mettais la totalite de la base de donnee en memoire ; pratique pour la manipuler, mais tres usant pour la RAM des que le nombre d'entrees augmente un peu.
 
J'ai par ailleur (a titre de comparaison) remarque que le sympatique lecteur audio foobar2000 avait une tres faible utilisation memoire comparee a mon programme pour sensiblement la meme quantite de fichiers dans la BDD.
 
Je me demandais donc si il existait un moyen qui m'echapperait de travailler sur une BDD (ajouter, retirer des entrees) qui n'est jamais qu'un fichier texte sans le charger entierement en memoire d'une facon ou d'une autre ?
 
Idees, suggestions ?
 
 

1/ utiliser un vrai SGBD
2/ mapper une plage mémoire dans un fichier (j'ai deja vu faire sous windows mais je me souviens plus comment)
3/ concevoir un système complexe à base de fichiers/format de ficheirs/caches... (comme un vrai SGBD quoi)


---------------
Au royaume des sourds, les borgnes sont sourds.
Reply

Marsh Posté le 28-03-2004 à 16:18:26    

Donc a priori, il n'y a pas de methode "simple" ?


---------------
And I looked, and behold a pale horse: and his name that sat on him was Death, and Hell followed with him. Revelations 6:8
Reply

Marsh Posté le 28-03-2004 à 20:12:42    

R3g a écrit :


2/ mapper une plage mémoire dans un fichier (j'ai deja vu faire sous windows mais je me souviens plus comment)


 
c'est à dire? [:meganne]


---------------
yvele n'est plus.
Reply

Marsh Posté le 28-03-2004 à 20:19:12    

Mr yvele a écrit :


 
c'est à dire? [:meganne]

Il me semble qu'il y a une API windows qui permet de créer un heap, sauf que les données sont dans un fichier sur le disque au lieu d'être en RAM. J'ai jamais trop bien compris à quoi ça servait, mais bon...


---------------
Au royaume des sourds, les borgnes sont sourds.
Reply

Marsh Posté le 30-03-2004 à 03:08:10    

Sinon sous unix c'est mmap/shmat.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed