Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1348 connectés 

  FORUM HardWare.fr
  Programmation
  Divers

  Demande de conseil très grosse base de donnée

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Demande de conseil très grosse base de donnée

n°228943
bossamiral​2
Ctrl+Alt+Del
Posté le 16-10-2002 à 20:23:58  profilanswer
 

Voilà, je dois réaliser une application serveur de type agenda.
 
Le seul petit problème, c'est que cette agenda devra pouvoir contenir environ 500 000 personnes, tout en restant rapide.
 
Mon souci est de savoir si une base de donnée de type mysql peut contenir autant d'information, ou je dois utiliser une base de type oracle.
 
A j'oubliais que je construis l'interface en jbuilder de borland, enfin je pense, je ne suis pas trop sure de mon choix.
 
Si vous avez des commentaires allez y.


---------------
Les touches de l'avenir
mood
Publicité
Posté le 16-10-2002 à 20:23:58  profilanswer
 

n°228977
qi130
Posté le 16-10-2002 à 21:07:32  profilanswer
 

Pour toute BD, la limite physique est toujours en dessous de la limite "logique" (=applicative).
 
Tjs pour la limite physique, tu n'es limitée que par les perfs du hardware (capa HD, capa Lan, etc...).
 
Au delà, la problématique rejoint les difficultés qu'on peut trouver sur les GROS systèmes, mais pour te donner un conseil avisé, il faudrait en dire + sur les softs qui attaqueront la BD:
 

  • concurrence d'accès ?
  • nb d'utilisateurs simultanés?
  • quantité de données qui vont transiter entre le client et le serveur à chaque accès ?
  • continuité de service ?
  • taux de mises à jour ?

etc...
 
500000 entrées de 30 octets partagées par 2 postes n'a pas le même niveau de difficulté que 500000 entrées de 4 Ko et 10.000 utilisateurs en concurrence avec un taux de MAJ moyen de 10 ou 20 % et tout ça en 24/24....

n°229014
THE REAL S​MILEY
The Real Résistance!
Posté le 16-10-2002 à 21:44:16  profilanswer
 

:bounce: PostgreSQL :bounce:  
ou si t'as les moyens: Oracle :jap:


---------------
༼ つ ◕_◕ ༽つ
n°229019
antp
Super Administrateur
Champion des excuses bidons
Posté le 16-10-2002 à 21:46:46  profilanswer
 

les infos de 500 000 personnes c'est pas si énorme : ce forum comporte près de 10 000 000 de posts, et tourne sous MySQL :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°229043
MagicBuzz
Posté le 16-10-2002 à 22:11:23  profilanswer
 

Je suis d'accord avec antp.
 
Même si j'aime pas MySQL pour différentes raisons (notamment car il est beaucoup trop limité au niveau du support SQL contrairement à Oracle et MSSQL Server que j'utilise courrament), il est parfait pour ce genre d'application.
 
MySQL, malgré ses limitations importantes est ce qu'il y a de plus rapide sur le marché (c'est d'ailleurs en grande partie parcequ'il est limité qu'il est aussi rapide)
 
Pour info : 500 000 * 4 Ko (ce qui est énorme pour une enrtée d'agenda) représente moins de 2 Go, ce qui est une base conséquente, mais loin d'être énorme...
 
Et pour un agenda, en donnant large :
 
USER_ID : INTEGER(4)
USER_NAME : VARCHAR(32)
USER_LASTNAME : VARCHAR(32)
USER_NICKNAME : VARCHAR(32)
USER_EMAIL : VARCHAR(127)
USER_HOMEPAGE : VARCHAR(127)
USER_ADDRESS1 : VARCHAR(80)
USER_ADDRESS2 : VARCHAR(80)
USER_ADDRESS3 : VARCHAR(80)
USER_ZIPCODE : VARCHAR(8)
USER_CITY : VARCHAR(80)
USER_PHONE : VARCHAR(20)
USER_MOBILE : VARCHAR(20)
USER_FAX : VARCHAR(20)
USER_OFFICE : VARCHAR(20)
Ensuite je commence à sècher...
On va dire que tu es capable d'en mettre le double...
Alors :
 
(4 + 32 + 32 + 32 + 127 + 127 + 80 + 80 + 80 + 8 + 80 + 20 + 20 + 2 + 20) * 2 = 1 524 octets par ligne.
 
Avec des varchars, et sâchant que la plupart des champs seront remplis à moins de la moitiée, ça donne 762 octets par ligne.
 
On est d'accord ?
 
762 * 500 000 = 363 Mo, et là maintenant c'est une toute petite base ridicule.
 
Donc après étude rapide de volumétrie, je peux te dire que la question se pose pas. Tu ne fais aucun calcul dedans on est d'accord ? Bon ben voilà, 2 ms pour récupérer une ligne en comptant une chiée d'accès concurrents ;)

n°229051
trictrac
Posté le 16-10-2002 à 22:18:10  profilanswer
 

MagicBuzz a écrit a écrit :

 
Même si j'aime pas MySQL pour différentes raisons (notamment car il est beaucoup trop limité au niveau du support SQL contrairement à Oracle et MSSQL Server que j'utilise courrament), il est parfait pour ce genre d'application.




Si tu te soucier un poil des licences, tu saurais que PostgreSQL vaut largement MSSQLserver au nivo perf (pas d'info par rapport a oracle) pour un prix defiant toute concurence..
En plus, avec postgree sql, tu economise au nivo de l'OS!
Alors pour avoir des perfs au mons aussi bonnes (voir meilleures) pourquoi payer plus ;)

n°229062
MagicBuzz
Posté le 16-10-2002 à 22:27:36  profilanswer
 

meilleures, faut le dire vite, il faut aussi voir dans quelles situations.
 
pour un site ASP, y'a pas photo, MSSQL Server est ce qui va le mieu. et mon boulot c'est de faire des sites en ASP :D

n°229124
izz
NON aux Brevets Logiciels
Posté le 17-10-2002 à 00:11:50  profilanswer
 


en ce qui concerne mysql, fait donc un test avec le projet opensource horde :
 
http://horde.org
 
tu installe la couche horde que tu configure en MySQL (support aussi ProgresSQL je pense, a voir)
puis les morceaux que tu veux,
par ex IMP (ce webmail est utilisé par free, on parle pas d'une petite charge la)
ou Turba qui est le composant carnet d'adresse ...
c'est d'ailleurs aussi un tres bon morceau, import / export CVS  :love:  
 
et la tu vas pouvoir faire tes tests de charge ...
 
 
 :hello:  
 

n°229126
izz
NON aux Brevets Logiciels
Posté le 17-10-2002 à 00:15:29  profilanswer
 

bossamiral2 a écrit a écrit :

Voilà, je dois réaliser une application serveur de type agenda.




 
au fait avec horde + turba, ton apli est deja prete  :D , en plus c'est opensource donc tu as le code, en plus si le projet est tres actif (cf mailing list archive), en plus si tu fais des hack interessants ils seront integres
 
cf les CVS pour la derniere version
 
 :hello:  
 
PS c'est tout du PHP

n°229196
THE REAL S​MILEY
The Real Résistance!
Posté le 17-10-2002 à 09:49:55  profilanswer
 

essaie aussi TUTOS
 
www.tutos.org
 
y'a tout: agenda partagé, gestion des clients, personnel, gestion de projets ....
 
Et c'est en PHP et gratuit bien sur  ;)


Message édité par THE REAL SMILEY le 17-10-2002 à 09:50:29
mood
Publicité
Posté le 17-10-2002 à 09:49:55  profilanswer
 

n°229206
Zzozo
Un peu, passionément, à la fol
Posté le 17-10-2002 à 10:03:28  profilanswer
 

MagicBuzz a écrit a écrit :

meilleures, faut le dire vite, il faut aussi voir dans quelles situations.
 
pour un site ASP, y'a pas photo, MSSQL Server est ce qui va le mieu. et mon boulot c'est de faire des sites en ASP :D




Et pour un site en PHP ?


---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
n°229216
Zzozo
Un peu, passionément, à la fol
Posté le 17-10-2002 à 10:09:45  profilanswer
 

MagicBuzz a écrit a écrit :

Je suis d'accord avec antp.
 
Même si j'aime pas MySQL pour différentes raisons (notamment car il est beaucoup trop limité au niveau du support SQL contrairement à Oracle et MSSQL Server que j'utilise courrament), il est parfait pour ce genre d'application.
 
MySQL, malgré ses limitations importantes est ce qu'il y a de plus rapide sur le marché (c'est d'ailleurs en grande partie parcequ'il est limité qu'il est aussi rapide)
 
Pour info : 500 000 * 4 Ko (ce qui est énorme pour une enrtée d'agenda) représente moins de 2 Go, ce qui est une base conséquente, mais loin d'être énorme...
 
Et pour un agenda, en donnant large :
 
USER_ID : INTEGER(4)
USER_NAME : VARCHAR(32)
USER_LASTNAME : VARCHAR(32)
USER_NICKNAME : VARCHAR(32)
USER_EMAIL : VARCHAR(127)
USER_HOMEPAGE : VARCHAR(127)
USER_ADDRESS1 : VARCHAR(80)
USER_ADDRESS2 : VARCHAR(80)
USER_ADDRESS3 : VARCHAR(80)
USER_ZIPCODE : VARCHAR(8)
USER_CITY : VARCHAR(80)
USER_PHONE : VARCHAR(20)
USER_MOBILE : VARCHAR(20)
USER_FAX : VARCHAR(20)
USER_OFFICE : VARCHAR(20)
Ensuite je commence à sècher...
On va dire que tu es capable d'en mettre le double...
Alors :
 
(4 + 32 + 32 + 32 + 127 + 127 + 80 + 80 + 80 + 8 + 80 + 20 + 20 + 2 + 20) * 2 = 1 524 octets par ligne.
 
Avec des varchars, et sâchant que la plupart des champs seront remplis à moins de la moitiée, ça donne 762 octets par ligne.
 
On est d'accord ?
 
762 * 500 000 = 363 Mo, et là maintenant c'est une toute petite base ridicule.
 
Donc après étude rapide de volumétrie, je peux te dire que la question se pose pas. Tu ne fais aucun calcul dedans on est d'accord ? Bon ben voilà, 2 ms pour récupérer une ligne en comptant une chiée d'accès concurrents ;)




S'il est si rapide, c'est pas tant parce qu'il est limité ... mais plutot par certains choix qu'ont fait ses "géniteurs" ... notamment celui de travailler par défaut sur des tables SANS support de transactions (même si le choix existe, il suffit juste de changer le type de la table avant création), choses qui accélère énormément les lectures et écritures ... mais tout ceci a un prix ... la sécurité ... Maintenant, c'est un choix à faire en fct d'un certains nombre de paramètres ...


---------------
« Ce qui ne vous tue pas vous rend plus fort » F. Nietzsche | « Vise_ la Lune. Si tu rates, au pire, t'es dans la merde » Un poète disparu dans le cercle
n°229218
darklord
You're welcome
Posté le 17-10-2002 à 10:12:10  profilanswer
 

bossamiral2 a écrit a écrit :

Le seul petit problème, c'est que cette agenda devra pouvoir contenir environ 500 000 personnes, tout en restant rapide.
 
Mon souci est de savoir si une base de donnée de type mysql peut contenir autant d'information, ou je dois utiliser une base de type oracle.
 
A j'oubliais que je construis l'interface en jbuilder de borland, enfin je pense, je ne suis pas trop sure de mon choix.
 
Si vous avez des commentaires allez y.




 
probablement déjà dit mais j'ai la flemme. 500 000 enregistrements c'est rien du tout. La base de ce forum est une base mysql et contient plus que 500 000 messages ...


---------------
Just because you feel good does not make you right
n°229396
qi130
Posté le 17-10-2002 à 13:42:10  profilanswer
 

D'accord avec Zzozo.....
 
Note à ceux qui disent "c'est mon métier" :
 
On commence par poser le pb avant de commencer à le résoudre.
 
Ce qui se conçoie bien s'énonce clairement.... l'aspect technique vient après la conception de la solution.

n°229716
bossamiral​2
Ctrl+Alt+Del
Posté le 17-10-2002 à 19:48:32  profilanswer
 

Merci les gars vous m'avez été dans grand secours.
 
Pour répondre en deux mots aux différentes questions posées :
 
Le nombre d'utilisateur ne sera pas plus que 20. Ce qui est pas des plus problématiques.
 
c'est une application intranet, donc je ne n'ai pas de problème de bande passante ( toute la boîte est en 100 mb et les serveurs en 1 gb).
 
Je pense prendre une base de données de type postgreSQL, car c'est gratuit.
 
Pour la programmation, j'hesite encore un max entre du java, php ou autre.


---------------
Les touches de l'avenir
n°229741
izz
NON aux Brevets Logiciels
Posté le 17-10-2002 à 20:26:25  profilanswer
 

bossamiral2 a écrit a écrit :

Pour la programmation, j'hesite encore un max entre du java, php ou autre.
 




 
si tu fais des tests avec horde/turba je veux bien que tu me tienne au courant  :)  (rappel c'est du php + mysql tout opensource ...)

n°230211
bossamiral​2
Ctrl+Alt+Del
Posté le 18-10-2002 à 16:59:41  profilanswer
 

izz a écrit a écrit :

 
 
si tu fais des tests avec horde/turba je veux bien que tu me tienne au courant  :)  (rappel c'est du php + mysql tout opensource ...)




 
je ne vais pas pouvoir, car mon système tourne sous win2k serveur

n°230217
izz
NON aux Brevets Logiciels
Posté le 18-10-2002 à 17:04:04  profilanswer
 

bossamiral2 a écrit a écrit :

 
 
je ne vais pas pouvoir, car mon système tourne sous win2k serveur




 
ha, je savais pas que c'était incompatible ... moi je fais tourner MySQl, Apache avec PHP, Horde et Turba en local sur mon 98se ...

n°230221
bossamiral​2
Ctrl+Alt+Del
Posté le 18-10-2002 à 17:07:07  profilanswer
 

izz a écrit a écrit :

 
 
ha, je savais pas que c'était incompatible ... moi je fais tourner MySQl, Apache avec PHP, Horde et Turba en local sur mon 98se ...




 
tu as trouvé des sources horde qui fonctionnent sous windows.
 
oups, j'ai pas du faire attention en allent sur leur site.
 
Je n'ai vue que les packages pour linux

n°230280
izz
NON aux Brevets Logiciels
Posté le 18-10-2002 à 19:35:14  profilanswer
 

bossamiral2 a écrit a écrit :

 
 
tu as trouvé des sources horde qui fonctionnent sous windows.
 
oups, j'ai pas du faire attention en allent sur leur site.
 
Je n'ai vue que les packages pour linux




 
horde c'est du php ...
 
apache tourne sous windows
php est parsé par apache
=> horde tourne sous windows ...
 
mais bien sur si tu veux faire de la qualite (stabilite securite) un bon nux est un regal  :)
 
PS easyphp est pas un environement de probuction !
sinon horde se place tres facilement sur un serveur web ... a voir si tu as deja un hebergement ...
sachant que chez ovh la place des bases de donnees est pas prise en compte pour 25 euros PAR AN tu peux foutre horde et turba  :D


Message édité par izz le 18-10-2002 à 19:59:14

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Divers

  Demande de conseil très grosse base de donnée

 

Sujets relatifs
Question de base : CLASSPATH ....Pb tres complexe (enfin pour moi)
Transférer l'intégralité d'une base de donnée [résolu]AIDEZ MOI SVP, C'EST TRES IMPORTANT POUR MON GRADUAT
[JAVA] pd d'espace dans base accesfaire un Dbexport sur base SQL, avec la base ouverte ??
[MFC] comment ouvrir une base access 2000 ?Pour ceux qui save programmer...G une demande d'aide...SVP
[mysql/php] architecture de site et gestion dune base de donnée 
Plus de sujets relatifs à : Demande de conseil très grosse base de donnée


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR