Thesis · June 021 doi: 10. 5281/zenodo. 4992983 citations reads 1,831 author




Download 1,39 Mb.
Pdf ko'rish
bet7/15
Sana29.11.2023
Hajmi1,39 Mb.
#107891
1   2   3   4   5   6   7   8   9   10   ...   15
Bog'liq
Mijoz-serverarxitekturasikursishi

1.3. Ma’lumotlar bazasi serverlari 
Ma’lumotlar bazasi serverlari kompyuter tarmog‘ida ishlashga mo‘ljallangan 
murakkab dasturiy mahsulotlar qatoriga kiradi. Foydalanuvchining ish stansiyasi 
mijozni (xizmat ko‘rsatuvchi tomonni) ifodalaydi va ma’lumotlar bazasi serverda 
(xizmat ko‘rsatuvchi tomonda) ishlaydi. Bunday tizimda ma’lumotlarni qayta 
ishlash ikkita hisoblash tizimi o‘rtasida taqsimlanadi. 
Ma’lumotlar bazasi server dasturi ma’lumotlarga kirish uchun markaziy 
hisoblanadi. Shuning uchun ma’lumotlar bazasi dasturlarida bajarilishi kerak 
bo‘lgan funksiyalarning aksariyati ma’lumotlar bazasi serveriga to‘g‘ri keladi. 
Ma’lumotlar bazasi server dasturi bajarishi kerak bo‘lgan asosiy funksiyalar: 
- ma’lumotlarni yig‘ish va o‘zgartirish bo‘yicha mijozlarning so‘rovlarini 
bajarish; 
- bir nechta foydalanuvchi ma’lumotlariga bir vaqtning o‘zida kirishni 
ta’minlash; 
- foydalanuvchilarni identifikatsiyalashni va turli xil foydalanuvchilarning 
turli xil ma’lumotlarga kirish huquqlarini farqlanishini ta’minlash; 
- apparat va dasturiy ta’minot ishlamay qolganda ma’lumotlar yaxlitligi va 
izchilligini ta’minlash; 
- ma’lumotlarni ruxsatsiz kirishdan himoya qilish; 
- qo‘shimcha tizim ma’muriyati vositalarini taqdim etish. 
Ma’lumotlar bazasi serverining natijada paydo bo‘ladigan funksiyalariga 
nisbatan ushbu talablarni batafsil ko‘rib chiqamiz. 
Ma’lumotlarni olish va o‘zgartirish uchun mijoz so‘rovlarini bajarish. Bu 
ma’lumotlar bazasi serverining asosiy vazifasi. Ushbu funksiyani amalga oshirish 
mexanizmi foydalanuvchidan yashirin bo‘lishi mumkin, ya’ni foydalanuvchi 
(aniqrog‘i, u bilan ishlaydigan mijoz dasturi) shunchaki kerakli narsani 
shakllantiradi va ma’lumotlar bazasi serveri ushbu so‘rovni bajaradi. 
Bir nechta foydalanuvchilar uchun ma’lumotlarga bir vaqtning o‘zida kirish 
mexanizmini 
taqdim 
etish. 
Mijoz-server 
texnologiyasida 
ishlatiladigan 
ma’lumotlarga bir nechta foydalanuvchi kirish huquqi bilan qo‘shimcha vazifalar 


14 
paydo bo‘ladi, ular hal qilinishi kerak. Bunday vazifalarga, masalan, ma’lumotlarni 
blokirovka qilish kiradi. Qulflash degani, ma’lum bir vaqt ichida ma’lumotlarning 
bir qismi o‘zgartirish yoki hatto boshqa foydalanuvchi tomonidan o‘qilishi uchun 
yopiq bo‘lishi kerak. Ko‘p foydalanuvchidan foydalanishning yana bir jihati - bu 
kirishning parallelligi. Ya’ni ma’lumotlar bazasi serveri bir vaqtning o‘zida bir 
nechta so‘rovlarni bajarishi kerak. Ushbu jihatdan ma’lumotlar bazasi serveri ko‘p 
vazifali operatsion tizimga o‘xshaydi. 
Turli xil foydalanuvchilarning turli xil ma’lumotlarga kirish huquqlarini 
identifikatsiyalash va farqlashni ta’minlash. Ma’lumotlar bazasi tizimlarida 
ma’lumotlarga kirish huquqlari bo‘yicha farqlanish bo‘lishi kerak. Ba’zi 
foydalanuvchilar ma’lumotlarni o‘qishi va o‘zgartirishi mumkin, ba’zi 
foydalanuvchilar faqat o‘qishi mumkin, ba’zilari esa faqat ma’lumotlarni kiritishi 
mumkin, ammo o‘qish huquqi yo‘q. Shunday qilib, ma’lumotlar bazasi serveri, 
birinchidan, huquqlarning bunday farqlanishini tavsiflovchi buyruqlarni tushunishi, 
ikkinchidan, foydalanuvchi so‘rovlariga xizmat ko‘rsatish jarayonida ushbu 
farqlarga rioya qilinishini nazorat qilishi kerak. 
Uskuna va dasturiy ta’minot ishlamay qolganda ma’lumotlar yaxlitligi va 
izchilligini ta’minlash. Ma’lumotlar bazasi serveri ishlayotgan kompyuter to‘satdan 
o‘chib qolsa va keyinchalik qayta ishga tushirilsa, ma’lumot buzilmasligi yoki 
yo‘qolmasligi kerak. Xuddi shu tarzda, agar mijoz dasturida ishlaydigan kompyuter 
tasodifan o‘chirilgan bo‘lsa, ma’lumotlar bazasi serveri ushbu faktni aniqlab olishi 
va mijoz dasturi o‘rnatgan qulflarni bo‘shatishi, bajarilmagan bitimlarni bekor 
qilishi va ehtimol boshqa harakatlarni bajarishi kerak. 
Dasturiy ta’minotdagi nosozliklarga kelsak, bu yerda biz ma’lumotni 
buzishga qasddan qilingan urinishlar yoki bir xil oqibatlarga olib kelishi mumkin 
bo‘lgan dasturlarda tasodifiy xatolarni ajratishimiz kerak. Masalan, pulni bank 
hisobvarag‘idan chiqarish bu summaning boshqa hisob raqamiga yozilishiga yoki 
xarajatlar to‘g‘risidagi hujjatning paydo bo‘lishiga olib kelishi kerak. Ya’ni, siz 
hisobdan pulni o‘chirib tashlashingiz yoki qo‘shishingiz mumkin emas. Bundan 
tashqari, bank tizimini dasturlashda xatolik yuzaga kelishi mumkin, bu esa 


15 
ma’lumotlarning mos kelmasligiga olib kelishi mumkin. Shuning uchun 
ma’lumotlar bazasi serveri amalga oshirilgan ma’lumotlar bilan ishlashning 
to‘g‘riligini tekshirishi kerak. 
Ma’lumotlarni ruxsatsiz kirishdan himoya qilish. Zamonaviy ma’lumotlar 
bazalari tizimlarida barcha ma’lumotlar yoki hech bo‘lmaganda ularning ko‘pi 
maxfiydir. Ma’lumotlar bazasi serveri foydalanuvchilarning turli toifalari uchun 
foydalanishni farqlashdan tashqari, axborot tizimining foydalanuvchisi bo‘lmagan 
shaxslarning ma’lumotlarga kirish huquqidan himoya qilishni ta’minlashi kerak. 
Ma’muriy vositalarni taqdim etish. Haqiqiy ma’lumotlar bazasida falokatlarni 
tiklash mexanizmi ta’minlanishi kerak. Yig‘ilgan ma’lumotlarni yo‘qotmaslik 
uchun ma’lumotlarni arxivlash va tiklash tartibi bo‘lishi kerak. Bundan tashqari, 
tizimni loyihalash paytida ba’zi bir so‘rov turlari kutilmagan bo‘lishi mumkin va 
ularni amalga oshirish jarayonida ular juda sust ekanligi aniqlandi. Shuning uchun 
ma’lumotlar bazasi serveri resurslarni va ishlashni boshqarishi kerak. Ushbu turdagi 
barcha tadbirlar ma’lumotlar bazasi serverini boshqarish bilan bog‘liq. Ma’lumotlar 
bazasining yuqori sifatli serveri ma’muriy imkoniyatlarning yetarli to‘plamini, ya’ni 
ishlashni sozlash qobiliyatini, so‘rovlar oqimini tahlil qilish va yetarli darajada 
ishlamaslik sabablarini aniqlash vositalarini, zaxira nusxalarini (arxivlarni) yaratish 
va ulardan tiklash vositalarini ta’minlashi kerak. 
Hozirda barcha relyatsion ma’lumotlar bazasi serverlari SQL-serverlar bo‘lib, 
ularning soni juda ko‘p. SQL serverlari - bu SQL tiliga asoslangan mijoz-server 
ma’lumotlar bazasini boshqarish tizimi hisoblanadi. 
Shaxsiy kompyuterlar uchun SQL-serverlar Unix operatsion tizimiga 
asoslangan meynframlar, minikompyuterlar va mikroprotsessor serverlarining 
an’anaviy domeni bo‘lgan ulkan ma’lumotlar bazalari va ko‘p foydalanuvchiga ish 
yuklarini boshqarish uchun qurilgan. Barcha ma’lumotlar ish stansiyasi tarmog‘i 
orqali uzatiladigan ma’lumotlarni qayta ishlashning fayl-server arxitekturasi 
shunchaki bunday kattalikdagi vazifalarni uddalash uchun yetarli darajada samarali 
emas. Mijoz-server texnologiyasi ma’lumotlar bazasining tashqi vositalariga SQL 
ishlov berish funksiyalarini asosiy serverga o‘tkazishga imkon beradi. Faqatgina 


16 
natija mijozga qaytarib yuboriladi, bu esa tarmoqdagi yukni sezilarli darajada 
kamaytiradi. 
Ma’lumotlar bazasi serverining o‘ziga xos xususiyati shundan iboratki, 
ma’lumotlar odatda tranzaksion tarzda qayta ishlanadi, ya’ni tizim oz miqdordagi 
ma’lumotlarni so‘raydi, ular ustida operatsiyani bajaradi va keyin uni saqlaydi. Bu 
ma’lumotlar bazasi serverining apparat qismiga ma’lum talablarni qo‘yadi, ya’ni: 
- ma’lumotlar bazasining eng intensiv foydalaniladigan qismlarini keshlash 
uchun katta miqdordagi RAM; 
- birinchi navbatda vaqt birligida ko‘p sonli kichik so‘rovlarni qayta ishlash 
qobiliyati bilan ajralib turadigan yuqori mahsuldor disk quyi tizimi (IOps – 
inputs/outputs per second); 
- axborotni qayta ishlash uchun yuqori hisoblash quvvati. 
Zamonaviy operatsion tizimlar va dasturlar 64 Gigabaytgacha va undan 
ko‘pgacha manzillarni yechishga qodir. Ikki protsessorli serverlar 128 Gb tezkor 
xotira bilan jihozlanishi mumkin, to‘rt va sakkiz protsessorli serverlar 256 Gb gacha 
bo‘ladi. 
Zamonaviy protsessorlar ko‘p yadroli texnologiyalarni joriy etish evaziga 2-3 
yil oldingiga qaraganda ancha samarali bo‘ldi. Endi 8 yadroli server (aslida 
protsessorlar) deyarli har bir tashkilot uchun mavjud. Shu tufayli nisbatan arzon 
uskunalar bo‘yicha katta miqdordagi ma’lumotlarni qayta ishlash mumkin bo‘ladi. 
Hozirgi vaqtda to‘rtta va hatto oltita yadroli protsessorlarni qo‘llab-quvvatlaydigan 
standart x86 arxitekturasining to‘rtta protsessor va sakkiz protsessorli serverlari 
mavjud bo‘lib, ular bitta tizimda 32 tagacha yadroga ega bo‘lishga imkon beradi. 
Ko‘pgina hollarda, SQL serverlari ma’lumotlar bazasi texnologiyasini amalga 
oshiradigan mahsulotlarning to‘liq seriyasining bir qismi bo‘ladi. 
Masalan, Oracle seriyasiga o‘z resurslarini, ma’lumotlar bazasidagi 
ma’lumotlarni samarali boshqaradigan, ma’lumotlar bazasini so‘rab beradigan va 
tarmoq orqali ma’lumotlarni yuboradigan bir nechta mijozlarga xizmat 
ko‘rsatadigan ma’lumotlar bazasi serverlari kiradi. Oracle ma’lumotlar bazasi 
serveri - bu Oracledan ma’lumotlar bazasini ob’ekt-relyatsion boshqarish tizimidir. 


17 
Oracle MBBTning asosiy xususiyatlariga o‘zaro faoliyat platforma, ishonchlilik va 
samaradorlik kiradi. Oracle Database ma’lumotlar bazasini boshqarish tizimiga 
emas, balki mijoz-server ma’lumotlar bazasini hisoblashda muvaffaqiyatli 
ishlatilishi mumkin bo‘lgan ajoyib ma’lumotlar bazasi serveriga aylanadigan 
ko‘plab muhim xususiyatlarga ega. Eng so‘nggi versiya 5 barobar tezroq tarmoq 
tezligini va ko‘p serverli yordamni ta’minlaydi. Tizim o‘z-o‘zini moslashtiradigan, 
moslashuvchan ko‘p tipli arxitektura asosida qurilgan. 
Ma’lumotlar bazalarining juda ko‘p serverlari alohida dasturiy mahsulot 
sifatida ishlab chiqilmoqda, masalan, Microsoft SQL Server, MySQL va boshqalar. 
Microsoft SQL Server bu Microsoft korporatsiyasi tomonidan ishlab 
chiqilgan ma’lumotlar bazasini boshqarish bilan bog‘liq bo‘lgan ma’lumotlar 
bazasini boshqarish tizimidir. So‘rovlarning asosiy tili - Microsoft va Sybase 
hammualliflari bo‘lgan Transact-SQL. Transact-SQL - bu kengaytmali ANSI / ISO 
Structured Query Language (SQL) standartini amalga oshirish. Shaxsiy 
ma’lumotlardan tortib to yirik korxona miqyosidagi ma’lumotlar bazalariga qadar 
bo‘lgan ma’lumotlar bazalari bilan ishlash uchun foydalaniladi; ushbu bozor 
segmentida boshqa MBBTlar bilan raqobatlashadi. 
MySQL - bu erkin ma’lumotlar bazasini boshqarish tizimi. MySQL ni Oracle 
korporatsiyasi ishlab chiqaradi va qo‘llab-quvvatlaydi, u MySQL ning asl nusxasini 
ishlab chiqqan MySQL AB shved kompaniyasini sotib olgan Sun Microsystems ni 
egallash orqali savdo belgisiga bo‘lgan huquqlarni qo‘lga kiritgan. 
Ma’lumotlar bazasi serverlarining jismoniy tashkil etilishini ko‘rib chiqish. 
Odatda, ular quyidagi tarkibiy qismlarni o‘z ichiga oladi: 
- mijoz dasturi bilan o‘zaro aloqaning quyi tizimi. Ushbu modul mijoz bilan 
aloqani ta’minlash uchun javobgardir. Odatda, uning ishlash mexanizmi 
quyidagicha. Aloqa quyi tizimi mijozning ulanish uchun so‘rovlarini kutib, tarmoqni 
“tinglaydi”. Bunday so‘rov aniqlanganda, ushbu mijoz bilan aloqani ta’minlaydigan 
yangi jarayon paydo bo‘ladi. Mijozga ushbu jarayonning identifikatori to‘g‘risida 
ma’lumot beriladi, keyin mijoz o‘z so‘rovlarini yuboradi va ushbu interfeys jarayoni 
bilan o‘zaro aloqada bo‘lib ma’lumotlarni oladi. Mijoz ulanishni yopgandan so‘ng, 


18 
unga xizmat ko‘rsatgan jarayon tugatiladi. Old jarayonlarning xarakteristikalari 
ma’lumotlar bazasi serveri ishlayotgan operatsion tizimga bog‘liq; 
- so‘rovlarni tahlil qilish uchun kichik tizim. Ushbu modul interfeys 
jarayonlari orqali mijozlarning so‘rovlarini server tomonidan bajariladigan ichki 
kodga kompilyatsiya qilish uchun javobgardir. Kompilyatsiya xatolarida mijozga 
tegishli xabarlar yuboriladi. Ko‘pgina zamonaviy MBBT lar sizga tuzilgan so‘rovlar 
kodini bir muncha vaqt saqlashga imkon beradi. Mijoz so‘rovni qayta yuborganida, 
bu kompilyatsiya bosqichidan qochadi; 
- so‘rovlarni bajarilishini rejalashtirish uchun kichik tizim. Ushbu modul iloji 
boricha tezroq ishlov berilishi uchun so‘rovni bajarish uchun shunday reja tuzishi 
kerak. Buning uchun tanlov va qo‘shilish shartlari tahlil qilinadi va ularni bajarish 
tartibi belgilanadi. Masalan, bitta xodimni ishchilar ro‘yxatidan chiqarish kerak, 
deylik, uning ismi va familiyasi qidiruv mezonlari sifatida ko‘rsatilgan. So‘rovlarni 
bajarishning ikkita mumkin bo‘lgan rejalari mavjud: birinchi navbatda, ushbu ismga 
ega bo‘lgan barcha xodimlardan namuna olinadi va ushbu familiyani o‘z ichiga 
olgan yozuvlar olinadi; aksincha, namuna avval familiya bilan, so‘ngra ism bilan 
amalga oshiriladi. Ismlar to‘plami, qoida tariqasida, familiyalar to‘plamidan kam 
bo‘lganligi sababli, ikkinchi holda so‘rov tezroq ko‘rib chiqiladi, chunki ikkinchi 
bosqichda biz bu yerda kichikroq namuna olamiz. Yetakchi MBBTlarning 
so‘rovlarni rejalashtiruvchilari jadvallardagi qiymatlarning taqsimlanishini kuzatib 
boradilar. So‘rovlarni bajarish rejasi uning tuzilgan kodiga kiritilgan; 
- operatsiyalarni amalga oshirish uchun kichik tizim. Bu yerda 
optimallashtirilgan so‘rovlar kodi bajariladi, indekslar yangilanadi, triggerlar va 
saqlangan protseduralar kerak bo‘lganda bajariladi. Qoida tariqasida, bir nechta 
so‘rovlar parallel ravishda bajarilishi mumkin, shu bilan birga ularni zarur 
darajadagi izolyatsiyasi ta’minlanadi. Shuningdek, bitimlar jurnali yuritiladi
ularning bajarilishi va to‘g‘ri qaytarilishi ta’minlanadi; 
- xotirani boshqarish quyi tizimi. Ushbu komponent diskdan RAMga 
ma’lumotlarni o‘qish, yangilanishlarni diskdagi ma’lumotlar bilan sinxronizatsiya 
qilish va boshqalar uchun javobgardir, u operatsion tizimning fayl funksiyalaridan 


19 
foydalanishi mumkin, lekin ko‘pincha ma’lumotlar bazasi disklarga kirish uchun 
o‘zining past darajadagi vositalariga ega. 


20 

Download 1,39 Mb.
1   2   3   4   5   6   7   8   9   10   ...   15




Download 1,39 Mb.
Pdf ko'rish

Bosh sahifa
Aloqalar

    Bosh sahifa



Thesis · June 021 doi: 10. 5281/zenodo. 4992983 citations reads 1,831 author

Download 1,39 Mb.
Pdf ko'rish