Treść książki

Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
OdczasurozpoczęciawsparciadlasystemuLinuxwwersjiSQLServer2017pojawiłsię
kolejnykomponentonazwiePlatformAbstractionLayer(PAL),któryjestpośrednikiem
międzySQLOSasystemamioperacyjnymi.Zawyjątkiemkilkusytuacjizwiązanychzko-
niecznościązapewnieniawysokiejwydajności,SQLOSniewywołujebezpośredniofunkcji
APIsystemuoperacyjnego,aleodwołujesiędowarstwyPAL.Dziękitakiejarchitekturze
kodSQLServerpozostajeniemalidentycznywprzypadkusystemówWindowsiLinux,
coznacznieprzyspieszaprojektowanieiudoskonalanieproduktu.
RozwiązywanieproblemówwśrodowiskuSQLServerróżnisiębardzoniewielewprzy-
padkusystemówWindowsiLinux.PodczasanalizyśrodowiskaSQLServerikonfiguracji
systemuoperacyjnegonależyoczywiścieużywaćróżnychnarzędzi.Jednakobieplatformy
zachowująsiętaksamo,gdyproblemypojawiająsięwewnątrzSQLServer,dlategowtej
książceniebędątraktowaneoddzielnie.Terazprzyjrzyjmysiębardziejdokładniesyste-
mowiSQLOS.
SILOSimodelwykonawczysystemu
SerwerybazdanychpowinnyobsługiwaćdużąliczbężądańodużytkownikówSQL
Serverniejesttuwyjątkiem.ZwysokopoziomowegopunktuwidzeniaSQLServerprzy-
dzielateżądaniadooddzielnychwątków,którewykonywanejednocześnie.Zwyjąt-
kiemprzypadków,gdyserwerjestbezczynny,liczbaaktywnychwątkówprzekraczaliczbę
procesorówwsystemie,awięckluczemdouzyskaniadobrejwydajnościserwerajest
efektywnezarządzanieprocesami.
WczesnewersjeSQLServeropierałysięnamodulezarządzaniaprocesami,dostępnym
wWindows.Niestety,Windows(iLinux)systemamioperacyjnymiogólnegoprze-
znaczenia,cooznacza,żestosująszeregowaniezwywłaszczeniem.Przydzielająinterwał
czasowy(inaczejzwanykwantemczasu)wątkowi,którymazostaćuruchomiony.Gdy
wykorzystaonswójczas,przechodządokolejnego.Takaoperacjajestkosztowna,ponie-
ważwymagaprzełączaniasięmiędzytrybamiużytkownikaijądra,conegatywniewpływa
nawydajnośćsystemu.
WwersjiSQLServer7.0firmaMicrosofużyłaporazpierwszycienkiejwarstwyumiesz-
czonejmiędzysystemamiWindowsaSQLServer,zwanejUserModeScheduler(UMS).
Jestonaodpowiedzialnaprzedewszystkimzazarządzanieprocesami.Zastosowanownim
szeregowaniekooperacyjne,wktórymwątkiSQLServerautomatyczniezawieszająswoje
działanieco4ms,umożliwiającuruchamianieinnych.Takametodaznaczniezmniejsza
kosztowneprzełączaniekontekstuwsystemie.
NiektóreprocesySQLServer,takiejakrozszerzoneproceduryskłado-
wane,proceduryCLR,językizewnętrzneikilkainnych,wciążmogą
działaćwtrybieszeregowaniazwywłaszczeniem.
SILOSimodelwykonawczysystemu
|
29