Équilibrage de charge avec SQL Server

31

Ce qui existe aujourd'hui pour faire l'équilibrage de charge Microsoft SQL Server sur Windows Server et être transparent à tout accès programmatique. Est-ce intégré ou faut-il acheter une solution?

J'essaie de savoir s'il existe aujourd'hui une solution qui rend cela très facile du point de vue des serveurs Web ou d'un autre accès à SQL Server.

RolandoMySQLDBA
la source

Réponses:

31

Il n'y a pas d'équilibrage de charge «standard» configuré pour MS SQL Server que vous pouvez exécuter via un assistant.

Ce serait une décision d'architecture de base de données et implémentée au niveau de la base de données et non au niveau du serveur. Les techniques seraient:

  • Extension / fédération des serveurs de base de données
  • Partitionnement
  • Déchargez vos exigences en matière de rapports
  • Peut-être la réplication

Si quelqu'un n'est pas d'accord, j'aimerais voir un article d'une figure MS SQL connue et respectée disant que le clustering est un équilibrage de charge. Les articles cités ci-dessus ne mentionnent pas l'équilibrage de charge. Par exemple, A Microsoftie (Chas Boyd) dit qu'il n'est pas là .

Ma question au PO serait à quel type de charge vous attendez-vous?

Les serveurs de base de données sont généralement liés aux E / S et à la mémoire, donc une configuration de disque appropriée (avec les groupes de fichiers appropriés) et autant de RAM que possible ira beaucoup plus loin que toute solution ci-dessus.

N'oubliez pas: SQL Server 2005 / Windows 2003 Enterprise 32 bits passe à 32 Go de RAM (dont vous disposez d'un cache de données de 26 à 28 Go) et vous n'êtes pas limité par les lettres de lecteur en raison des points de montage NTFS. Comme pour x64 ...

gbn
la source
22

J'aimerais d'abord clarifier certaines choses si je peux….

Le clustering SQL Server est une technologie de disponibilité basée sur le clustering Windows. Il fournit une redondance au niveau matériel et n'a aucun rapport avec la technique connue sous le nom d'équilibrage de charge, c'est-à-dire la distribution d'une charge de traitement.

De plus, la mise en miroir de bases de données et l'envoi de journaux sont également des technologies permettant principalement de mettre en œuvre la disponibilité de formes variées.

Passons maintenant à la question d'origine… ..

Malheureusement, il n'y a pas de solution prête à l'emploi pour l'équilibrage de charge dans SQL Server.

Vous pouvez utiliser les technologies de réplication SQL Server pour implémenter un environnement de base de données distribuée qui prend également en compte la distribution de la charge de traitement des transactions. Cependant, votre application doit être «consciente» de l'architecture sous-jacente.

Cette approche nécessite le développement et la personnalisation d'une application donnée afin de fournir un service à charge équilibrée.

J'espère que ce que j'ai détaillé est clair et logique, mais bien sûr, n'hésitez pas à m'envoyer vos questions directement.

John Sansom
la source
-1

Si vous ne disposez pas d'une base de données d'écriture très élevée, par exemple 10/90, où seulement 10% de vos transactions sont en écriture, vous pouvez utiliser SQL 2005 et au-dessus de la réplication d'égal à égal au-dessus d'un équilibreur de charge matériel pour répondre à vos besoins. Rien hors de la boîte.


la source
-1

AlwaysOn Group avec un groupe avec un ensemble de bases de données agit comme principal sur le serveur A et l'autre groupe de bases de données restantes agit comme principal sur le serveur B que je peux considérer comme une solution d'équilibrage de charge. Seules les choses dont vous avez besoin pour développer une synchronisation manuelle des objets de niveau serveur comme les connexions, les serveurs liés, les opérateurs, les alertes, les paramètres de messagerie de la base de données.

Bhargav
la source
C'est vraiment difficile à comprendre. Si vous avez quelque chose à ajouter, pouvez-vous le faire plus clairement?
Laurenz Albe
-2

De nouvelles technologies d'équilibrage de charge de base de données, distinctes de SQL Server, sont disponibles. Ces solutions logicielles s'intègrent à Always On en 2012 ou 2014 et prennent en charge le fractionnement automatique en lecture / écriture et d'autres techniques d'équilibrage de charge. Recherchez NetScaler DataStream ou ScaleArc pour SQL Server comme deux exemples de ce logiciel d'équilibrage de charge SQL transparent.

Michelle
la source