Клиент 1
Клиент 2
Клиент IV-1
Клиент N
Серверлік
ҥрдіс 1
Серверлік
ҥрдіс т
Триггер 1
ДҚ
Триггер т
10.10-сур. Көп ағынды мультисерверлі сəулет
Барлық келішу тең қҧқылы (басымдылығы тең) болғанда, жҥйе
қалыпты жҧмыс істейді, алайда арнайы терезеде қызмет көрсетілуі
қажет, басымдығы артық келуші келген кезде проблемалар туындайды.
Клиенттердің басымдылығын есепке алу транзакцияларды жедел өңдеу
жҥйелерінде əсіресе маңызды, алайда диспетчері бар жҥйелер сəулеті
дəл осы мҥмкіндікті бере алмайды.
Мультипроцессорлы платформалар ҥшін ДҚБЖ проблемаларын
уақытында шешу дерекқордың бірнеше серверін жəне əртҥрлі
процессорда іске қосу мҥмкіндігінде. Бҧл ретте əрбір сервер көп
ағынды болу керек. Егер осы екі шарт орындалса, онда 10.10-суретте
келтірілген бірнеше сервері бар көп ағынды сəулет туралы сөз қылу
негізі бар.
Осындай сəулетті кӛп жіпті мультисерверлі сәулет деп те атайды.
Осы сəулет бір пайдаланушылық сҧраныстың бірнеше серверлік
ҥрдіспен орындалуының параллельденуін қамтамасыз етеді.
Бҧл жағдайда пайдаланушы сҧратуы параллельді орындалуы
мҥмкін бірқатар қосалқы сҧраныстарға бөлінеді, ал олардың орындалу
нəтижелері сҧранысты орындаудың ортақ нəтижесіне біріктіріледі.
Сонда сҧраныстардың жылдам орындалуын қамтамасыз ету ҥшін
олардың қосалқы сҧраныстары жекелеген серверлік ҥрдістерге
жіберілуі мҥмкін, содан кейін алынған нəтижелер жалпы нəтижеге
біріктірілу керек (10.11-сур).
u
И
Стандартты
орындау
Кӛлденең
параллелизм
(деректерді
сегменттеу)
Тік параллелизм
(сұраныстардың
декомпозициясы)
Гибридті
сәулет
3 қосалқы
сұрату|
2 қосалқы
сұрату |
1 қосалқы
сұрату |
□
Параллелизм тҥрлері
10.11-сур. Көп жіпті мультисерверлі сəулет
Осы жағдайда серверлік ҥрдістер бҧдан бҧрын қарастырылған тəуелсіз
ҥрдістер болып табылмайды. Осы серверлік ҥрдістерді жіптер (treads)
деп атау қабылданған. Пайдаланушылардың көптеген сҧраныстарының
жіптерін басқару ДҚБЖ-ден қосымша шығындарды талап етеді, алайда
деректер қоймасында ақпаратты жылдам өңдеу кезінде осындай
тəсілдің келешегі бар.
10.7.
Параллелизм тҥрлері
Сҧраныстарды параллелдеудің мынадай бағдарламалық-аппараттық
тəсілдері қарастырылады: көлденең, тік жəне аралас параллелизм.
Кӛлденең параллелизм. Бҧл параллелизм ДҚ-да сақталатын
ақпарат бірнеше физикалық сақтау қҧрылғыларына - бірнеше дискке
бөлінетін жағдайда туындайды. Бҧл ретте бір қатынастың ақпараты
көлденеңінен бөліктерге бөлінеді. Параллелизмнің осы тҥрін кейде
деректерді
параллелдеу
немесе
сегментация
деп
атайды.
Параллельдікке бірдей операцияны орындау арқылы, мысалы, əртҥрлі
физикалық сақталатын деректерді сҥзумен қолжеткізуге болады. Бҧл
операциялар əртҥрлі ҥрдіспен параллельді орындалуы мҥмкін - олар
тəуелсіз.
Біртҧтас
сҧранысты
орындау
нəтижесі
жекелеген
операцияларды орындау нəтижелерінен қҧралады.
Деректерді тиісті сегменттеу кезінде осындай сҧранысты орындау
уақыты осы сҧранысты дəстҥрлі тəсілдермен бір ҥрдіспен орындау
уақытына қарағанда кем.
Тік параллелизм. Бҧл параллелизмге пайдаланушының сҧратуын
қҧрайтын операцияларды конвейермен орындау арқылы қол жеткізуге
болады. Бҧл тəсіл ДҚБЖ өзегімен реляциялық операцияларды орындау
моделін кҥрделендіруді талап етеді. Ол ДҚБЖ өзегі функционалды
компоненттеріне негізделе отырып, сҧранысты декомпозициялай
алатынын болжайды; бҧл ретте бірқатар қосалқы сҧраныс сҧранысты
орындаудың жекелеген қадамдары арасындағы байланысты азайта
отырып, параллельді орындалуы мҥмкін.
10.12-сур. Тік параллелизм кезінде сҧраныс жасау сҧлбасы
• Қосалқы
сұрату
1./
_
Клиент
1
►
Запрос
1
- Қосалқы
сұрату
1.1 -|
- Қосалқы
сұратуN.J
Клиент
N
►
Запрос
N
► Қосалқы
сұратуNA
3 ___
Сервер
Сервер
Тригг
ер
***ДҚ
бӛлімі
Тригг
ер
*ДҚ бӛлімі
10.13-сур. Аралас параллелизм кезінде сҧранысты орындау сҧлбасы
Мысалы, реляциялық алгебра операцияларының келесі реттілігін
қарастырайық:
1. R5 = R1 [ А,С].
2. R6 =R2 [A,B,D].
3. R7 = R5[A > 128].
4. R8 = R5[A]R6.
Онда бірінші жəне ҥшінші операцияны біріктіріп, екінші
операциямен
параллельді
орындауға
болады,
содан
кейін
нəтижелермен соңғы - төртінші операцияны орындауға болады.
Ҧқсас сҧратуды орындаудың жалпы уақыты, əрине, төрт
операциядан тҧратын реттілікті орындаудың дəстҥрлі тəсіліне
қарағанда айтарлықтай кем болады (10.12-сур.).
Аралас параллелизм. Бҧл параллелизм көлденеңінен жəне тік
параллелизмнің гибриді болып табылады (10.13-сур.).
Параллелизмнің барлық тҥрі қосымшаларда қолданылады, онда
олар өте ҥлкен деректер көлемімен кҥрделі сҧраныстарды орындау
уақытын айтарлықтай қысқарту мҥмкіндігін береді.
Бақылау сұрақтары
1. Мына ҧғымдарға анықтама беріңіз:
• ДҚ топологиясы немесе бөлінген ДҚ қҧрылымы;
• жергілікті дербестік;
• қашықтықтан сҧраныс жасау;
• төлінген транзакцияға қолдау көрсету;
• презентациялық логика;
• бизнес-логика.
2. Қандай
екі
деңгейлі
модельдерді
білесіз?
Олардың
артықшылықтары мен кемшіліктерін атаңыз.
3. Дерекқор ҧйымдарының келесі сəулетінің сипаттамаларын
атаңыз:
• көп ағынды бір серверлі сəулет;
• виртуалды сервері бар сəулет;
• көп жіпті мультисерверлі сəулет.
4. Сҧранысты не ҥшін параллельдейді жəне параллелизмнің қандай
тҥрлерін білесіз?
Достарыңызбен бөлісу: |