Równoważenie obciążenia za pomocą SQL Server

31

To, co istnieje dzisiaj, aby wykonać równoważenie obciążenia Microsoft SQL Server w systemie Windows Server i zapewnia przejrzystość dla dowolnego dostępu programowego. Czy to jest wbudowane, czy trzeba kupić rozwiązanie?

Próbuję dowiedzieć się, czy istnieje dziś rozwiązanie, które sprawia, że ​​jest to bardzo łatwe z punktu widzenia serwerów WWW lub innego dostępu do bazy danych SQL Server.

RolandoMySQLDBA
źródło

Odpowiedzi:

31

Nie ma „standardowego” równoważenia obciążenia dla MS SQL Server, które można uruchomić za pomocą kreatora.

Byłaby to decyzja dotycząca architektury bazy danych i wdrażana na poziomie bazy danych , a nie na poziomie serwera. Techniki to:

  • Skalowanie / federowanie serwerów bazy danych
  • Partycjonowanie
  • Odciąż swoje wymagania dotyczące raportowania
  • Być może replikacja

Jeśli ktoś się nie zgadza, chciałbym zobaczyć artykuł szanowanego znanego znawcy MS SQL, który mówi, że klastrowanie to równoważenie obciążenia. Artykuły cytowane powyżej nie wspominają o równoważeniu obciążenia. Na przykład Microsoftie (Chas Boyd) mówi, że jej tu nie ma .

Moje pytanie do PO brzmiałoby: jakiego rodzaju obciążenia oczekujesz?

Serwery baz danych są zwykle związane z operacjami we / wy i pamięcią, więc odpowiednia konfiguracja dysku (z odpowiednimi aplikacjami) i możliwie jak najwięcej pamięci RAM pójdą znacznie dalej niż jakiekolwiek powyższe rozwiązanie.

Nie zapomnij: SQL Server 2005 / Windows 2003 Enterprise 32-bit przechodzi na 32 GB pamięci RAM (z czego miałbyś 26-28 GB pamięci podręcznej danych) i nie są ograniczone literami dysków z powodu punktów montowania NTFS. Co do x64 ...

gbn
źródło
22

Najpierw chciałbym wyjaśnić kilka rzeczy, jeśli mogę….

Klaster SQL Server to technologia dostępności oparta na klastrowaniu systemu Windows. Zapewnia nadmiarowość na poziomie sprzętowym i nie ma związku z techniką znaną jako równoważenie obciążenia, tj. Rozkład obciążenia przetwarzania.

Co więcej, Mirroring bazy danych i wysyłka logów to także technologie przede wszystkim do implementacji dostępności różnych formularzy.

Przejdźmy teraz do pierwotnego pytania… ..

Niestety nie ma gotowego do użycia rozwiązania „od razu po wyjęciu z pudełka” do równoważenia obciążenia w SQL Server.

Za pomocą technologii replikacji programu SQL Server można wdrożyć środowisko rozproszonej bazy danych, które również wpływa na rozkład obciążenia przetwarzania transakcji, jednak aplikacja musi być „świadoma” architektury bazowej.

Takie podejście wymaga opracowania i dostosowania danej aplikacji w celu dostarczenia usługi, która jest równoważona obciążeniem.

Mam nadzieję, że to, co szczegółowo opisałem, jest jasne i sensowne, ale oczywiście prosimy o bezpośrednie przesłanie mi zapytań.

John Sansom
źródło
-1

Jeśli nie masz bardzo dużej bazy danych zapisu, powiedz 10/90, gdzie tylko 10% twoich transakcji jest zapisywanych, możesz użyć SQL 2005 i wyższej w trybie peer-to-peer na sprzęcie równoważącym obciążenie, aby spełnić twoje potrzeby. Nic z pudełka.


źródło
-1

Grupa AlwaysOn z jedną grupą z zestawem DB działa jako Podstawowa na serwerze A, a druga grupa pozostałych DB działa jako Podstawowa na serwerze B, co mogę uważać za rozwiązanie równoważące obciążenie. Jedyne, czego potrzebujesz, to opracowanie ręcznej synchronizacji obiektów na poziomie serwera, takich jak loginy, połączone serwery, operatorzy, alerty, ustawienia poczty bazy danych.

Bhargaw
źródło
Naprawdę trudno to zrozumieć. Jeśli masz coś nowego do dodania, czy możesz to zrobić jaśniej?
Laurenz Albe
-2

Dostępne są nowe technologie równoważenia obciążenia bazy danych, niezależne od SQL Server. Te rozwiązania programowe integrują się z Always On w 2012 lub 2014 roku i obsługują automatyczne dzielenie odczytu / zapisu oraz inne techniki równoważenia obciążenia. Wyszukaj NetScaler DataStream lub ScaleArc dla SQL Server jako dwa przykłady tego przezroczystego oprogramowania równoważącego obciążenie SQL.

Michelle
źródło