1.2. Loyiha uchun berilganlar bazasi serverlarini sozlash 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 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 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.
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. 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, 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 foydalanishi mumkin, lekin ko’pincha ma’lumotlar bazasi disklarga kirish uchun o’zining past darajadagi vositalariga ega.