Article View: fr.comp.lang.c
Article #73Re: [HS]Base de donnée en C
From: bruno modulix
Date: Tue, 02 Nov 2004 22:15
Date: Tue, 02 Nov 2004 22:15
55 lines
3697 bytes
3697 bytes
Pascal a �crit : NB : hs ici, donc xpost et fu2 fcdev > James Kanze a �crit : > >> Quel est le but du projet ? C-�-d est-ce que la base de donn�es est >> accessoire, ou est-ce que le but est que tu programmes toi-m�me une >> petite base de donn�es ? Dans le premier cas, l'utilisation d'une > > > Le but est d'impl�menter un agenda r�partie (client et server avec > communication rpc). Donc la base de donn�es est accessoire. Le tout est > de justifier ce qu'on a choisit. > >> Un premier choix de taille : est-ce qu'on peut maintenir toutes les >> donn�es en m�moire ou non ? (Avec des machines modernes, la limite >> pourrait bien �tre � plus d'une million d'enregistrements.) Et quel sont >> les contraints de robustit� : que se passe-t-il par exemple si ton >> programme crashe, ou qu'on tire le cordon de l'ordinateur par erreur ? > > > Ba j'ai choisi un serveur � donn�e r�manente, ce qui me semble le plus > efficace en terme de robustesse. D'ou l'utilisation de fichier. > >> Optimiser quoi dans tout �a ? Le temps de programmation (c'est en > > > Le pb avec un fichier par contact : c'est le nombre d'E/S par fichier, > le gaspillage de m�moire (pour 5 lignes de fichier, on va perdre de la > m�moire pour rien). C'est ce pb que je veux optimiser. Mais le pb d'un > seul fichier, c'est comment faire pour retrouver rapidement un contact? > Avec fgets, je r�cup ligne par ligne. C'est trop lent! Avec un index, g�n�ralement sous forme d'arbre ou de table de hachage - et bien s�r persistant en m�moire secondaire. Utiliser si possible pour les donn�es un fichier avec des enregistrements � taille fixe, pour acc�der directement � l'enregistrement recherch�. Le tout est une recette bien connue, �a s'appelle un fichier s�quentiel index�, ou isam : http://www.webopedia.com/TERM/I/ISAM.html Mais si la base de donn�e n'est pas le but de l'exercice, utiliser plut�t berkeley db (cf lien dans un autre post), qui fait d�j� tout �a tr�s bien. Dernier point : le but de l'exercice est le rpc, donc occupe-toi du rpc et ne perd pas ton temps avec des probl�mes de performance. Eventuellement, d�fini une API simple encapsulant les probl�mes d'acc�s fichier, de sorte � pouvoir changer de mode de stockage par la suite sans retoucher la logique applicative. Bruno
Technical Details
Message-ID:
<418804fd$0$32291$636a15ce@news.free.fr>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!news.glorb.com!proxad.net!infeed-1.proxad.net!news15-e.free.fr!not-for-mailReferences:
<41852848$0$16312$626a14ce@news.free.fr> <41852ab7$0$30713$ba620e4c@news.skynet.be> <41852cd7$0$16311$626a14ce@news.free.fr> <m2654prfmi.fsf@thomas.gabi-soft.fr> <4186b96f$0$17748$626a14ce@news.free.fr>Show Full Headers
Complete Article Headers
X-Google-Thread: f9822,d8ed014b701cb916 X-Google-Thread: 102e15,dc437c1e54a73906 X-Google-Attributes: gidf9822,gid102e15,public X-Google-Language: FRENCH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news1.google.com!news.glorb.com!proxad.net!infeed-1.proxad.net!news15-e.free.fr!not-for-mail Date: Tue, 02 Nov 2004 23:15:28 +0100 From: bruno modulix <onurb@xiludom.gro> Organization: modulix User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20040115 X-Accept-Language: fr, en MIME-Version: 1.0 Newsgroups: fr.comp.lang.c,fr.comp.developpement Followup-To: fr.comp.developpement Subject: Re: [HS]Base de donnée en C References: <41852848$0$16312$626a14ce@news.free.fr> <41852ab7$0$30713$ba620e4c@news.skynet.be> <41852cd7$0$16311$626a14ce@news.free.fr> <m2654prfmi.fsf@thomas.gabi-soft.fr> <4186b96f$0$17748$626a14ce@news.free.fr> In-Reply-To: <4186b96f$0$17748$626a14ce@news.free.fr> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Lines: 55 Message-ID: <418804fd$0$32291$636a15ce@news.free.fr> NNTP-Posting-Date: 02 Nov 2004 23:06:54 MET NNTP-Posting-Host: 82.64.92.14 X-Trace: 1099433214 news15-e.free.fr 32291 82.64.92.14:1078 X-Complaints-To: abuse@proxad.net