01-03-2013, 08:38 PM
Heu, perso, les données "quasi-statiques", genre les textes de localization (c'est à dire les textes du site), je ne les colle pas en BDD, pour plusieurs raisons:
- Cela oblige à se connecter à la BDD, ce qui n'est pas une bonne chose car le nombre de connexions simultané est limité
- Les données changent peu, les BDD sont plutôt faites pour ce qui change
- Les données prennent beaucoup de place
Je les case donc dans des fichiers XML, que je pré-traite pour en faire un fichier php qui contient des constantes (par exemple, mon xml contient le noeud "localization/fr/menu/connexion", dont la valeur est le texte du menu de connexion. Ensuite, je traite ce xml pour en faire un PHP dans lequel j'ai une constante (type "const localization_fr_menu_connexion, en pratique, j'utilise des namespaces, mais l'idée est la même).
Ainsi, si j'ai besoin de ce texte (donnée "quasi-"constante), je n'ai qu'à inclure le fichier php: c'est rapide, ca ne demande pas d'accès à la BDD, et c'est flexible (il suffit d'éditer le xml et de re-compiler le xml en php).
Pour en revenir aux BDD, je pense que ce n'est pas utile d'en avoir plusieurs, sauf si elles n'ont que de très rares communications entre elles, voire (idéalement), pas de communication du tout. En effet:
- Si la plupart des pages a besoin des deux bases de données, il faudra ouvrir deux connexions: c'est moins bien qu'une seule pour la page, et pour chacune des BDD, ca change rien, donc autant en avoir qu'une seule
- Si tu as besoin de faire de la maintenance, la question "zut, c'est dans quelle BDD au fait?" se posera vite et souvent
- De même, la question "flûte, c'est quoi le mot de passe?" reviendra
Ne fais plusieurs BDD que si les BDD ne communiquent pas entre elles.
Si tes données dépassent la limite de l'hébergeur, soit tu changes de formule pour un plus gros, soit tu réduis ta BDD, mais ne "split" pas sur 2 BDD dans ce cas. Idem pour des soucis de performances. Pour les performances, tu peux scinder en deux BDD si elles sont vues comme une seule. En d'autres mots, tu as 2 hardwares qui tournent, mais tu ne vois que 1 software: une seule connexion suffit à accéder à toute la BDD (je ne pense pas que tu sois dans ce cas).
- Cela oblige à se connecter à la BDD, ce qui n'est pas une bonne chose car le nombre de connexions simultané est limité
- Les données changent peu, les BDD sont plutôt faites pour ce qui change
- Les données prennent beaucoup de place
Je les case donc dans des fichiers XML, que je pré-traite pour en faire un fichier php qui contient des constantes (par exemple, mon xml contient le noeud "localization/fr/menu/connexion", dont la valeur est le texte du menu de connexion. Ensuite, je traite ce xml pour en faire un PHP dans lequel j'ai une constante (type "const localization_fr_menu_connexion, en pratique, j'utilise des namespaces, mais l'idée est la même).
Ainsi, si j'ai besoin de ce texte (donnée "quasi-"constante), je n'ai qu'à inclure le fichier php: c'est rapide, ca ne demande pas d'accès à la BDD, et c'est flexible (il suffit d'éditer le xml et de re-compiler le xml en php).
Pour en revenir aux BDD, je pense que ce n'est pas utile d'en avoir plusieurs, sauf si elles n'ont que de très rares communications entre elles, voire (idéalement), pas de communication du tout. En effet:
- Si la plupart des pages a besoin des deux bases de données, il faudra ouvrir deux connexions: c'est moins bien qu'une seule pour la page, et pour chacune des BDD, ca change rien, donc autant en avoir qu'une seule
- Si tu as besoin de faire de la maintenance, la question "zut, c'est dans quelle BDD au fait?" se posera vite et souvent
- De même, la question "flûte, c'est quoi le mot de passe?" reviendra
Ne fais plusieurs BDD que si les BDD ne communiquent pas entre elles.
Si tes données dépassent la limite de l'hébergeur, soit tu changes de formule pour un plus gros, soit tu réduis ta BDD, mais ne "split" pas sur 2 BDD dans ce cas. Idem pour des soucis de performances. Pour les performances, tu peux scinder en deux BDD si elles sont vues comme une seule. En d'autres mots, tu as 2 hardwares qui tournent, mais tu ne vois que 1 software: une seule connexion suffit à accéder à toute la BDD (je ne pense pas que tu sois dans ce cas).