Bilanciamento del carico con SQL Server


31

Cosa esiste oggi per eseguire il bilanciamento del carico di Microsoft SQL Server su Windows Server ed essere trasparente a qualsiasi accesso programmatico. È integrato o deve essere acquistata una soluzione?

Sto cercando di scoprire se esiste una soluzione oggi che lo rende molto facile dal punto di vista dei server Web o di altri accessi al database di SQL Server.

Risposte:


31

Non esiste un bilanciamento del carico "standard" impostato per MS SQL Server che è possibile eseguire tramite una procedura guidata.

Questa sarebbe una decisione sull'architettura del database e implementata a livello di database e non a livello di server. Le tecniche sarebbero:

  • Ridimensionamento / federazione dei server di database
  • partizionamento
  • Scarica i tuoi requisiti di segnalazione
  • Forse la replica

Se qualcuno non è d'accordo, mi piacerebbe vedere un articolo di un rispettato personaggio MS SQL noto che dice che il clustering è il bilanciamento del carico. Gli articoli sopra citati non menzionano il bilanciamento del carico. Ad esempio, A Microsoftie (Chas Boyd) afferma che non è qui .

La mia domanda all'OP sarebbe quale tipo di carico ti aspetti?

I server di database sono generalmente associati a I / O e memoria, quindi una corretta configurazione del disco (con filegroup appropriati) e quanta più RAM possibile andrà molto più in là di qualsiasi soluzione sopra.

Non dimenticare: SQL Server 2005 / Windows 2003 Enterprise a 32 bit passa a 32 GB di RAM (di cui avresti 26-28 GB di cache di dati) e non sei limitato dalle lettere di unità a causa dei punti di montaggio NTFS. Per quanto riguarda x64 ...


22

Per prima cosa vorrei chiarire alcune cose se potessi….

Il clustering di SQL Server è una tecnologia di disponibilità basata su Windows Clustering. Fornisce ridondanza a livello hardware e non ha alcuna relazione con la tecnica nota come bilanciamento del carico, ovvero la distribuzione di un carico di elaborazione.

Inoltre, il mirroring del database e il log shipping sono anche tecnologie per implementare principalmente la disponibilità di moduli diversi.

Ora sulla domanda originale ...

Sfortunatamente non esiste una soluzione pronta all'uso per il bilanciamento del carico in SQL Server.

È possibile utilizzare le tecnologie di replica di SQL Server per implementare un ambiente di database distribuito che influisce anche sulla distribuzione del carico di elaborazione delle transazioni, tuttavia l'applicazione deve essere "a conoscenza" dell'architettura sottostante.

Questo approccio richiede lo sviluppo e la personalizzazione di una determinata applicazione al fine di fornire un servizio con bilanciamento del carico.

Spero che ciò che ho dettagliato sia chiaro e sensato, ma naturalmente non esitare a inviarmi le tue domande direttamente.



-1

Se non si dispone di un database di scrittura molto elevato, ad esempio 10/90 in cui viene scritto solo il 10% delle transazioni, è possibile utilizzare la replica peer-to-peer sql 2005 e superiore su un bilanciamento del carico hardware per soddisfare le proprie esigenze. Niente fuori dagli schemi.


-1

Il gruppo AlwaysOn con un gruppo con set di DB funge da primario sul server A e l'altro gruppo di DB rimanenti funge da primario sul server B, che posso pensare a una soluzione di bilanciamento del carico. È necessario solo sviluppare la sincronizzazione manuale di oggetti a livello di server come accessi, server collegati, operatori, avvisi, impostazioni della posta del database.


Questo è davvero difficile da capire. Se hai qualcosa di nuovo da aggiungere, puoi farlo in modo più chiaro?
Laurenz Albe,

-2

Sono disponibili nuove tecnologie per il bilanciamento del carico del database, separate da SQL Server. Queste soluzioni software si integrano con Always On nel 2012 o 2014 e supportano la divisione automatica in lettura / scrittura e altre tecniche di bilanciamento del carico. Cerca NetScaler DataStream o ScaleArc per SQL Server come due esempi di questo software di bilanciamento del carico SQL trasparente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.