Завантажте балансування за допомогою SQL Server


31

Що існує сьогодні, щоб зробити Microsoft SQL Server балансування завантаження на Windows Server і бути прозорим для будь-якого програмного доступу. Це вбудовано чи потрібно придбати рішення?

Я намагаюся з'ясувати, чи існує рішення, яке робить це дуже просто з точки зору доступу до веб-серверів чи інших баз даних до SQL Server.

Відповіді:


31

Немає "стандартного" налаштування балансування навантаження для MS SQL Server, яке можна запустити за допомогою майстра.

Це було б рішення архітектури бази даних та реалізовувалося б на рівні бази даних, а не на рівні сервера. Методики:

  • Масштабування / федерація серверів баз даних
  • Розмежування
  • Завантажте свої вимоги до звітування
  • Можливо, тиражування

Якщо хтось не погоджується, то я хотів би побачити статтю відомого відомого діяча MS SQL, який говорить про те, що кластеризація - це балансування навантаження. У цитуваних статтях не згадується балансування навантаження. Наприклад, Microsoftie (Chas Boyd) каже, що його тут немає .

Моє запитання до ОП: яке навантаження ви очікуєте?

Сервери баз даних, як правило, пов'язані IO та пам'яттю, тому правильна конфігурація диска (з відповідними групами файлів) та якомога більше оперативної пам’яті піде набагато далі, ніж будь-яке рішення вище.

Не забувайте: 32-розрядний SQL Server 2005 / Windows 2003 Enterprise має 32 Гб оперативної пам’яті (з них у вас є кеш даних 26-28 ГБ), і ви не обмежуєтесь літерами диска через точки монтажу NTFS. Що стосується x64 ...


22

По-перше, я хотів би прояснити кілька речей, якщо я можу…

Кластеризація сервера SQL - це технологія доступності, побудована на основі кластеризації Windows. Він забезпечує надмірність на апаратному рівні і не має відношення до методики, відомої як балансування навантаження, тобто розподіл навантаження на обробку.

На додаток до цього, дзеркальне відображення баз даних та доставка журналів - це також технології, що в основному реалізують доступність різних форм.

Тепер на початкове запитання… ..

На жаль, не існує готового рішення «вийти з коробки» для балансування навантаження в SQL Server.

Ви можете використовувати технології SQL Server Replication Technologies, щоб реалізувати середовище розподіленої бази даних, яка також впливає на розподіл навантаження на обробку транзакцій, проте ваше додаток повинно бути «обізнане» про базову архітектуру.

Цей підхід вимагає розробки та налаштування даної програми, щоб забезпечити збалансованість навантаження.

Я сподіваюся, що я детально зрозумів, є зрозумілим і має сенс, але, звичайно, не соромтеся направляти свої запити безпосередньо мені.


1

Ознайомтеся з рішенням Native SQL Load для балансування від Cirtrix NetScaler або цього .


-1

Якщо у вас немає дуже високої бази даних запису, скажімо, 10/90, де лише 10% ваших транзакцій є записом, ви можете використовувати sql 2005 і вище реплікації однорангових вершин поверх балансира завантаження обладнання, щоб досягти ваших потреб. Нічого не вийшло.


-1

Група AlwaysOn з однією групою з набором БД виступає як Первинна на сервері A, а інша група решти БД виступає як Первинна на сервері B, що я можу вважати рішенням балансування навантаження. Вам потрібно лише розробити вручну синхронізацію об'єктів рівня сервера, таких як входи, пов’язані сервери, оператори, сповіщення, налаштування пошти бази даних.


Це насправді важко зрозуміти. Якщо у вас є щось нове, чи можете ви зробити це більш чітко?
Лоренц Альбе

-2

Доступні нові технології збалансування завантаження бази даних, окремі від SQL Server. Ці програмні рішення інтегруються з програмою Always On у 2012 або 2014 роках та підтримують автоматичне розділення / запис читання та інші методи балансування навантаження. Шукайте NetScaler DATASTREAM або ScaleArc для SQL Server в якості двох прикладів цієї прозорої балансування навантаження SQL програмного забезпечення.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.