2010-08-03 5 views

Répondre

2

Tout est question d'évolutivité. Si vous avez une application avec une très petite base d'utilisateurs, une petite base de données avec seulement un peu de données, et une logique applicative basique (comme la simple fonctionnalité CRUD), vous n'aurez probablement pas beaucoup à gagner en les séparant. Dans un environnement d'entreprise, avec une grande base d'utilisateurs, une base de données gigantesque et une logique d'application complexe, il y aura certainement un avantage à les séparer physiquement.

1

Cela dépend entièrement de votre environnement, du matériel dont vous disposez et de la charge que vous anticipez sur votre base de données. Le serveur SQL est très gourmand en ressources et, selon les circonstances, il peut être utile de les séparer.

2

Je mets toujours l'application et la base de données sur différents serveurs pour la production. Cela évite qu'une charge élevée d'une partie de la structure ne se répercute en cascade sur l'autre partie, ce qui ne fait que commencer à se répercuter sur elle-même et à arrêter brutalement tout le système.

+1

Cela met un réseau entre les deux. Même Gb-réseau est beaucoup plus lent qu'un disque moderne. Les réseaux sont également une source d'erreur supplémentaire. –

+0

Le stockage de la base de données est toujours sur la machine de la base de données. Donc, l'accès au disque dur n'est pas sur le réseau. Généralement, vous ne devriez pas récupérer ce volume de données, de toute façon. Le réseau ne devrait pas être un problème. En outre, si votre site est si occupé que vous devez vous soucier de la capacité du réseau, vous aurez besoin de deux serveurs pour gérer le volume. Je ne suis pas d'accord sur le fait que les réseaux sont une source d'erreur importante. TCP/IP est un ancien standard et a généralement une implémentation solide. Si votre serveur Web rencontre des problèmes de réseau, vous avez de gros problèmes. –

1

Dans des environnements tels que les serveurs LAMP ou WAMP (Linux/Windows + Apache + MySQL + PHP), ils sont généralement tous sur la même machine. Comme l'a dit le commentateur précédent, il s'agit davantage de votre charge prévue.

Une autre raison pour laquelle la base de données est souvent divisée est pour des raisons de sécurité. De nombreuses architectures de sécurité ont les serveurs DB cachés derrière un pare-feu séparé (PCI le requiert).

Et une autre raison (il est tôt et je fais cela comme je vais) est si votre serveur de base de données sera utilisé par plusieurs applications, ou peut-être votre application s'exécutant sur plusieurs serveurs. Généralement, un serveur de base de données bien construit peut gérer facilement plusieurs serveurs d'applications et machines clientes.

Questions connexes