|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 11 ![]() |
Coucou à tous,
Je poste dans la section décision mais ma requête ne concerne pas quel SGBDR je compte utiliser mais comment vais-je organiser sa structure. Pour le SGBDR, j'ai choisi PostgreSQL. Que ce soit pour ses performances, ses nombreuses fonctionnalités, sa capacité de gérer des grosses base de donnée et enfin sa gratuité. Comme vous pouvez le remarquer, mon choix est bel et bien fait. Cependant, je galère pour construire ma base de données. Je compte développer un service de créations d'espaces pour des utilisateurs pour ensuite tous les référencer et les rendre disponible à travers un réseau communautaire. Seulement, je ne sais pas comment organiser ma ou mes tables. J'aimerai bien penser mon système pour qu'il puisse facilement évoluer dans le cas où il y ait de plus en plus d'utilisateurs. Comment dois-je procéder ? Créer une base de donnée pour chaque espace ? Mettre tous les espaces dans une seule base de données et ensuite trier les informations par requête SQL ? Est-ce qu'il ne risque pas d'y avoir beaucoup trop d'enregistrements du coup ? Comment puis-je répartir mes données pour que les bases de données ne soient pas trop surchargées. De telle façon à garder un lien entre chaque espace. J'espère avoir été assez clair. J'espère avoir vos conseils si vous vous êtes plus expérimentés. Merci d'avance. |
|
|
00
|
|
|
#2 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 950 ![]() |
1) une seule base de données est toujours mieux que plusieurs sauf s'il n'existe aucune interdépendance entre les différentes bases.
A lire : http://blog.developpez.com/sqlpro/p9...u-plusieurs-1/ 2) il faut commencer par modéliser votre base au niveau conceptuel. Aidez vous d'un outil de modélisation de données comme Power AMC. Je sais c'est très cher, mais il n'existe aucun outil gratuit pour faire un MCD. Vous pouvez cependant l'essayer gratuitement pendant 15 jours ! A lire : http://sqlpro.developpez.com/cours/modelisation/merise/ 3) une fois le MCD établis, transformez le en MPD et générez le cript SQL. (Power AMC fait tout cela) SI vous n'êtes pas familiarisé avec la modélisation des données, offrez vous un cours. Ce n'est jamais du temps perdu. Car un mauvais modèle de données c'est à coup sûr une appli non évolutive et aux performances catastrophiques lors de la montée en charge ! A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#3 |
![]() ![]() |
Il existe Open Modelsphere qui n'est pas aussi complet que PowerAMC mais qui est gratuit et permet de faire des MCD assez correctement.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#4 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 950 ![]() |
sauf que cet outil ne fait pas le modèle conceptuel... Donc outil totalament inutile ! Et pire encore modéliser sa base au niveau physique est le plus sur moyen d'aller à la catastrophe !
A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#5 |
![]() ![]() |
Si si !
Je pense d'ailleurs qu'il y en a un exemple dans cette discussion toute fraîche. J'ai déjà fait plusieurs MCD et généré le schéma entity/relation ensuite. Il peut aussi générer un script SQL mais il faut l'adapter au SGBD choisi. Du moins n'avais-je pas trouvé la manip pour configurer le logiciel en ce sens et le connecter au SGBD. Il fait aussi les MCT. Il est juste un peu délicat à faire fonctionner sous Linux.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 11 ![]() |
Merci pour vos réponses, le premier lien que m'as cité SQLPRO m'a un peu aiguillé.
Pour la modélisation Merise, je connais et j'en ai déjà faite une d'ailleurs. C'est clair que c'est une méthode indispensable pour créer une base de données intègre. Pour les outils, je connais ceux que vous avez cité, c'est-à-dire PowerAMC et OpenModelSphere. Il est clair que le premier est beaucoup plus complet mais il est très cher. En revanche le deuxième, qui est moins complet, dispose cependant de nombreuses fonctionnalités et permet de faire des MCD/MLD/MPD. Je te rectifie donc sur ce point. J'ai déjà essayé PowerAMC dans un autre contexte mais je préfère utiliser Open ModelSphere car mon application pourrait être utilisée commercialement et je ne veux pas aller à l'encontre de problème de licence. Pour en revenir au sujet initial, les entités de ma base de données sont modélisées. Mais comme je l'ai dit mon projet est de créer un service web qui offrira un espace web CMS (forum, gestion de contenu) pour des groupes d'utilisateurs. C'est-à-dire qu'un espace contiendra l'ensemble des entités. Il pourra y en avoir beaucoup des espaces. Donc ma question est justement de savoir, si je dois regrouper tous mes espaces dans une seule base de données ou alors les mettre dans des basses de données différentes. J'ai trouvé peut-être une solution, ce serait de répartir mes espaces en plusieurs base de données par thème et d'ensuite compartimenter chaque espace dans des schémas postgreSQL. Comme ça, je pourrai mettre beaucoup d'espace dans une même base de données tout en les gardant confiné. Cependant, je ne sais pas si cette méthode est la meilleure et si ça me bloquera à devoir utiliser à jamais postgreSQL. (Qui me convient tout à fait cela dit.) Mais bon, c'est juste que je n'ai pas envie que mon système soit fermé, je veux qu'il puisse évoluer et je pouvais l'adapter dans les cas qu'il y ait beaucoup d'utilisateurs. Voilà, un peu le topo. |
|
|
00
|
|
|
#7 | |||
![]() ![]() |
Citation:
Pour autant que tu n'aies pas piraté le logiciel, tu ne dois pas de redevance à Microsoft parce que tu as rédigé un document commercial avec Word ! Citation:
D'ailleurs, n'essaierais-tu pas de réinventer la roue avec ton projet ? Citation:
Je n'ai vu qu'un seul cas où l'utilisation de plusieurs BDD était assez justifié. il s'agit d'une application de statistiques dans laquelle les utilisateurs peuvent télécharger des données qui leur appartiennent et dont ils gèrent les droits d'accès à travers le logiciel. Un utilisateur ayant le profil requis peut ainsi créer des projets dans lesquels il peut constituer une BDD avec des tables alimentées par des fichiers texte de données externes. Les BDD des projets sont ainsi seulement des espaces de stockage brut de données et il peut même ne pas y avoir de structure relationnelle entre les tables. Par contre, l'application était organisée autour d'une seule BDD contenant toutes les méta-données sur les projets, les données importées, les études statistiques réalisées... Pour revenir au cas du CMS, il existe des plugins qui privatisent l'espace de stockage des fichiers uploadés par les utilisateurs. Nul besoin pour cela de une table par utilisateur pour référencer ces espaces de stockage et ces fichiers. Si tu veux que ton système soit dynamique, regarde du côté de la modélisation par méta-données, en ayant conscience que c'est à utiliser à bon escient. Mais comme ton besoin ne concerne qu'une seule application, ne fait qu'une BDD, ce sera beaucoup plus facile à gérer.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
|||
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 11 ![]() |
Merci de ta réponse détaillée. En réalité, il ne s'agit pas d'un simple CMS, c'est plus dans un contexte d'espaces communautaires. Ce que je compte développer dans un domaine particulier n'existe pas encore exactement comme j'en ai la vision. Je ne souhaite pas donner trop d'informations à ce sujet, je préfère le garder confidentiel avant la naissance du site web. ^^
Donc s'il vaut mieux que j'utilise une seule base de données, ne risque t'elle pas d'atteindre une limite en taille et ainsi consommer trop de ressources ? À partir de quelle taille en enregistrement vaut-il mieux utiliser plusieurs bases pour ne pas en avoir une trop surchargée ? Comment font ces sites web qui ont des bases de données gigantesques ? |
|
|
00
|
|
|
#9 | ||
![]() ![]() |
Citation:
Voire centaines de millions même ! Et à ce moment là, tu seras assez riche pour te payer un nouveau serveur à la hauteur ! Citation:
Le plus important est de normaliser le modèle de données à fond, de bien choisir le type de ses colonnes et de commencer avec une bonne indexation de base. Avant que ton serveur soit à la rue, tu as de la marge. Il y a bien sûr des techniques pour gérer les BDD gigantesques mais en la matière, le gigantisme commence je pense au teraoctet. Avec un modèle de données solide, tu t'en sortiras toujours et il se passera un bout de temps avant de devoir le dénormaliser pour des problèmes de performances.
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique. Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework... « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau) À la maison comme au bureau, j'utilise Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française ! Linuxiens, comptez-vous ! |
||
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : février 2011 Messages : 11 ![]() |
Apparemment, après avoir lu le lien de SQLPRO, l'utilisation des schémas semble la meilleure solution pour mon problème.
À la limite, même si j'utilise un seule base de donnée pour le moment, je peux toujours quand même renseigner pour chaque espace, le nom de la base de données utilisée, comme si plus tard j'en utilise une autre, je pourrai changer le nom de la base de donnée à utilisée par une autre. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com