1 votes

Une ou plusieurs instances de base de données sur un serveur SQL

Si j'ai deux ensembles de tables de base de données utilisés par un système

  • Tableaux qui rassemblent les résultats de certains traitements de données. La plupart du temps, il y a beaucoup d'opérations INSERT.
  • Les tableaux utilisés par l'application web pour générer des pages et des rapports.

Pour cette question, supposons que les ensembles de tables s'excluent mutuellement (il existe peut-être un processus qui migre périodiquement les données du premier vers le second ensemble).

Verrai-je une différence de performance entre les deux configurations suivantes ?

  • Les deux ensembles de tables sont dans une DB
  • Les deux ensembles de tables se trouvent dans deux bases de données distinctes sur le même serveur SQL.

5voto

Dr Zimmerman Points 136

Je dirais une seule base de données. Vous voulez que les ensembles de tables soient synchronisés en ce qui concerne l'état de la sauvegarde/restauration, la sécurité de l'accès des utilisateurs, la disponibilité et ainsi de suite. Les tables séparées posent également des problèmes avec les solutions de mise en miroir et d'expédition de journaux.

Comme vous vous attendez à un schéma d'accès E/S très différent, vous devez placer les tables sur des groupes de fichiers différents. Vous pouvez ensuite déployer chaque groupe de fichiers sur le disque approprié pour votre modèle d'E/S.

Avec les deux ensembles de tables dans une seule BD, certains points de contention sont partagés, comme les écritures dans les journaux. Mais ce n'est pas un problème dans le cas que vous décrivez car seule la partie OLTP de l'application se préoccupe du journal.

1voto

Aaron N. Tubbs Points 1019

Oui. Vous voulez l'option B, pour que le système d'exploitation fasse référence à deux fichiers disques différents. Un BD peut être optimisé pour l'écriture, l'autre pour la lecture.

Vous pouvez aussi faire la même chose avec une seule base de données, en répartissant vos tables dans des groupes de fichiers/ fichiers distincts.

0voto

Scott Whigham Points 141

Verrai-je une différence de performance ? entre les deux configurations suivantes

* The two sets of tables are in one DB
* The two sets of tables are in two separate DBs on the same SQL

serveur

Non - sauf si vous séparez les bases de données sur des disques durs différents (et même cela est discutable quant à l'impact sur les performances étant donné que nous n'avons pas d'autres informations).

Supprimez donc la "performance" de votre liste de contrôle mental des éléments à prendre en compte dans cette conception. Cela signifie que la question est la suivante domaine - "Dois-je les placer dans la même base de données ou dans des bases de données différentes" devrait dépendre de leur degré de parenté.

Si j'ai deux ensembles de tables de base de données utilisées par un système

* Tables that collect results of some data processing. Most of the time

reçoit beaucoup d'opérations INSERT. * Les tables qui sont utilisées par l'application web pour générer des pages et des rapports

Pour cette question, supposons que le ensembles de tables sont mutuellement exclusifs (il y a peut-être un processus qui migre les données du premier vers le le second ensemble périodiquement).

Je ne comprends pas ce que vous entendez par "les ensembles de tables s'excluent mutuellement". D'après la description, les tables semblent effectivement être liées (et par "liées", j'entends qu'elles devraient être regroupées dans la même base de données) puisque les données peuvent migrer périodiquement entre elles. En tant que tel, je pense que vous avez probablement besoin d'une seule base de données.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X