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.
|