реферат, рефераты скачать
 

Швидкість обробки запитів на SQL-серверах укр


Швидкість обробки запитів на SQL-серверах укр

МІНІСТЕРСТВО  ОСВІТИ  УКРАЇНИ

КИЇВСЬКИЙ  УНІВЕРСІТЕТ  ІМЕНІ  ТАРАСА  ШЕВЧЕНКА

Факультет  кібернетики

Кафедра  теоретичної  кібернетики

ВИПУСКНА  КВАЛІФІКАЦІЙНА  РОБОТА

БАКЛАВРА

                        На  тему  :      Швидкість  обробки  запитів

                                                        на  SQL-серверах

                                                                  Виконавець:  студент  4  курсу

                                                                   Дима  Павло  Костянтинович

                                       Науковий  керівник :  ассистент  Коваль Ю.В.

Випускна  кваліфікаційна  робота  бакалавра

Рекомендована  до  захисту  в  ДЕК

Протокол  № 10, від  “25”  травня  2000 р.

           Зав.кафедри                       проф. Белов  Ю.А

                                            

м Київ   -  2000

                                           ЗМІСТ

 1.Вступ………..………………………………………………………….2  

2.Швидкість  роботи  SQL сервера…………………………………….5

2.1 Технологія DAO…….………………………………………………6

2.2 Технологія  ODBC…..………………………………………………6

2.3  JSCRIPT……………………………………………………………..7

3. Результати  тестування..…………………………………………….17

Висновок………………………………………………………………..21

Список  використаної  літератури…………………………………….22

Частина  1 :  ВСТУП

         У  світі   сучасних  інформаційних  технологій  особливо  виділяє-ться  всесвітня  мережа  Internet. Опорним  елементом  в  цій  мережі  є  сервера  баз  данних.  Саме  на  сервері  зберігається  інформація  до  якої  можуть  отримати  доступ  користувачі.  При  роботі  користувача  з базою  данних  в  Internet,  він  посилає  запит  до бази  даннихю  цей  запит  сформовано  за  правилами  мови  SQL (Structured  Query  Language) – мова  структурованих  запитів.

  В  мережах  використовуються  такі SQL–сервера  як  Oracle,  Microsoft  SQL Server,  Sybase,  dbase,  Informix,  Progress  та  інші. Як  приклад  SQL – сервера  візьмемо Microsoft  SQL Server  7.0 .

     Система  MS  SQL Server -  це  багаторівнева  система  обміну  данними  від  клієнта  до  сервера,  дозволяє  створювати  і  підтримувати  бази  данних.

    На  відіну  від бази  данних  орієнтованих  на  великі  комп”ютери  та  міні-комп”ютери,  до  серверної бази  данних  користувачі  отримують  доступ  зі  своїх  комп”ютерів,  а  не  з  допомогою  терміналів.  При  цьому  механізми  роботи  SQL-сервера  допомагає  розв”язувати  проблеми,  що  виникають  у  результаті  звернень  до  бази  данних  багатьох  комп”ютерів,  кожен  з  яких  може  незалежно  звертатись  до  різних  частин бази  данних,  що  зберігається  на  сервері.

   Зв”язок  системи  клієнт/сервер  з  комп”ютерами-клієнтами  забезпечу-ється  через  засоби  передачі  данних  і  базової  операційної  системи.  Для  цього  система клієнт/сервер  MS  SQL  Server  7.0  використовує   вбудовані  компоненти  ОС  Windows NT.

   Серверна  СУБД   MS  SQL Server 7.0  добавляє  до  мережевих  компонент  окремі  елементи  сервіса,  такі  як  OLE-DB  відповідає  за  зв”язок  та  упровадження  об”єктів  баз  даних  і  ODBC  - відкритий  інтерфейс  баз  даних.  Ці  компоненти  забезпечують  тісний  зв”язок  необхідного  програмного  забезпечення.

   SQL Server 7.0  має  багато  інструментів,  призначених  для  розробки  зовнішнього  інтерфейсу  бази  даних.  Окрім  мови  SQL  для  зберігання,  вибірки  данних  можна  викоритовувати  додатки [приложения]  з  графічним  інтерфейсом   користувача  GUI.  Це  дуже  спрощує  розробку  баз  даних,  таблиць  і  зв”язків  між  ними.  Зручно  використовувати SQL Server   разом  з  програмами  для  роботи  в  Internet.

   Центральним  компонентом  системи  SQL Server   є  реляційна  база  даних  та  її  структура. В  реляційній  базі  даних  інформація  представляється  в  вигляді  рядків  та  стовбців.  Рядки  не  впорядковані,  крім  випадку,  коли  для  таблиці  створюється  кластерний  індекс.  Сама  структура  операторів  запитів,  з  допомогою  яких  проходять  виборка  даних  з  рядків таблиці, не  залежить  від  того впорядковані  рядки чи  ні.       

  

 Частина  2  :  ШВИДКІСТЬ  РОБОТИ  SQL SERVER 7.0

  В  процесі  роззвитку SQL Server  при  розробці  клієнтських  додатків  використовувалось  декілька  підходів.  Ядром  системи  завжди  був  процессор  обробки  запитів, який  працював  на  сервері.  Запити  писались  на  мові SQL  вводились  і  опрацьовувались  через  утіліти  типу  Query  Analyzer.

  При  написанні  програмних  додатків  для  взаємодії  з SQL Server  частіше  за  усе  використовують :

1 DB-Library

2 ODBC  і  DAO

DB-Library  являє  собою  специфічний  для SQL Server  інтерфейс  прикладних  програм .  Він  є  менш  зручний  ніж ODBC, для  переносу  програмного  додатку  в  іншу  серверну  систему  але  з  точки  зору  працездатності  він  реалізовує  самий  швидкий  доступ  до  інформації.

Це  забезпечується  не  тільки  тим,  що  він  надає  оптимізований  інтерфейс  API,  але  використовує  в  програмах  особисту  мову  системи SQL Server. ODBC  (як  і  SQL-OLE )  надають  такий  же  рівень  сервісу  але  створюють  додатковий  рівень  абстракції  між  додатком  і  та  процессором   запитів SQL  Server .

  В  DB-Lib  не  підтримується   зв”язок  таблиць  або  автоматичного  оновлення  значень.  Це  можна  розглядати  як  позитив  оскільки  гарантується  повний  контроль  над  взаємодією  програмного  додатку  з  сервером  і  оптимізацією  зв”язків.  Додатково  програмісту  додається  повний  контроль  над  виявденням  і  обробкою  помилок,  пов”язаних  з  транзакціями.

      2.1   ТЕХНОЛОГІЯ    DAO

  (Data  Access  Object – об”єкти  доступу  до  данних)  приззначена  для  викоритання  об”єктів,  методів,  властивотей,  значно  полегшшують  роботу  програмного  додатку  з  базою  даних.  Для  обміну  інформацією  з  SQL сервером  в  об”єктах  DAO  викоритову-ються  рівні  дотупу  Jet і ODBC, одна  вони  утворюють  ще  один  рівень  абстракції  між  додатками  і  викликами  функцій  ODBC,  які  використовуються  при  обробці  запитів. 

 Технологія  DAO  для  роботи  з  базами  даних,  таблицями,  видами  передбачає  викоритання  коллекцій  об”єктів.  Наприклад  для  створення  нової  таблиці  легше  викликати  метод  Add  відповідного  об”єкта,  між  використовувати  стандартний  підхід  технології ODBC.

При  роботі  з  базою  даних  можна  використати  стандартний  підхід  для  доступу  до  майже  будь-якого  сховища  даних,  що  підтриимується  засобоми ODBC.

   Але  треба  відмітити,  що  технологія  DAO  поступово  витісняється  більш  прогресивною  технологією  ADO(ActiveX  Data  Object – об”єкти  данх ActiveX ) .

     2.2   ТЕХНОЛОГІЯ  ODBC

   З  метою  можливого  встановлення  зв”язку  з   різними  СУБД  фірмою  Microsoft  була  розроблена  технологія  ODBC .  Вона  забезпечує  створення  додаткового  рівня  абстракції  між  програмним  додатком  і  СУБД.  Даний  рівень  дозволяє  створити  одну  команду  Select  і  використовувати  її  для  виборки  даних  з  будь-яких  підтримуємих  типів  баз  даних,  враховуючи  ті  випадки,  коли  СУБД  взагалі  не  підтримує  мову  SQL.

   Служби  ODBC  являють  собою  окремий  рівень  доступу  до  файлів  баз  даних.  ODBC  бере  на  себе  відповідальністьза  отримання  від  до-датків  запитів  на  вибірку  інформації  і  переведення  їх  на  мову,  що  використовує  ядро  база  даних,  для  обробки  запиту.  Гарним  прикладом  використання ODBC  технології  є  СУБД  Access  фірми  Microsoft.  Головна  різниця  між ODBC  і  BD-Lib  полягає  у  тому,  що ODBC  вимагає  побудови  і  передачі  йому  лише  стандартних  SQL  команд,  а  BD-Lib    вимагає  особливого  синтаксису  при  побудові  у  буфері  команд,  що  напрравляються  безпосередньо  у  серверне  середовище.

  Головним  недоліком ODBC є  необхідність  в  трансляції  запитів.  Проведення  цієї  додаткової  роботи  відповідно  відображається  на  швидкості  доступу  до  даних.  При  роботі  з ODBC  можна  отримати  суттєвий   виграш  у  швидкості  обробки  даних,  якщо  в  системі  клі-єнт/сервер  саме  на  сервері  системи  SQL Server  буде  оброблятись  запит, а  не  на  клієнтському  комп”ютері.  Також  приріст  у  швидкості  роботи ODBC  дає  використання  встроєнних  процедур.

     2.3  JSCRIPT

   Тепер  перейдемо  до  процесів,  що  пов”язані  з  вимірюванням  швидкості  системи  SQL Server 7.0 .  У  данній  роботі  прпонується  написання  програмного  додатку  на  встроєнному  shell  OS  Windows  NT  -  Java  Script .  Сам  програмний  додаток  це  програма  написана  для  інтерпритуюча  мова.  Файл  з  розширенням   . js  буде  виконавчим  для OS  Windows  NT.  Спочатку  напишемо Script  для  створення  бази  даних  :

// ADO Flags

var adLockOptimistic = 3;

var adOpenStatic = 3;

var  SQL_DataBase = "DSN=OTSt;UID=sa;PWD=;DATABASE=OTSt"

//var  SQL_DataBase = "DSN=OTStt;UID=;PWD="

var oConn;          

var oRs;                              

               function db_Connect(){

                              // Create ADO Connection Object.  Use IISSDK OBDC Souce with

                              // default sa account and no password

               oConn = new ActiveXObject("ADODB.Connection");

                              oConn.Open(SQL_DataBase);

                              oConn.CommandTimeout=600;

               }

               function db_Record(SQL){

                              var oRs;

                              // Create ADO Recordset Component, and associate it with ADO              

                          connection

                              oRs = new ActiveXObject("ADODB.Recordset");

                              oRs.ActiveConnection = oConn; 

                              // Get empty recordset

                              oRs.Source = SQL;

                              oRs.CursorType = adOpenStatic;                                    // use a cursor                 

                                                                                          other than Forward Only

                              oRs.LockType = adLockOptimistic;                             // use a locktype

                                                                                               permitting insertions

                              oRs.Open();

                              return oRs;

               }

               function db_Close(){

                              oConn.Close();

               }

               function db_Requery(Rec,SQL){

                              Rec.Close();

                              Rec.Source = SQL;

                              Rec.Open();

               }

db_Connect();

try {

               oRs=db_Record("CREATE TABLE dbo.DBTEST ( String char (30) NULL, Number int NOT NULL DEFAULT (0), Random int NOT NULL DEFAULT (0))");

} catch (e) {

}

oRs=db_Record("SELECT * FROM DBTEST WHERE 0=1");

for(i=0;i ' User10000 ' ) "- визначити  усі  елементи  з  множини  елементів, у  яких  значення  у стовбчику “String “ > ' User10000' ;

       

 Частина 3 :   РЕЗУЛЬТАТИ  ТЕСТУВАННЯ

 

 Для  наведення  прикладу  універсальності  при  використанні  написан-ного  script  при  вимірюванні  швидкодії,  виміряємо  швидкість  обробки  запитів  у  системі  SQL Server  7.0  та  Microsoft  Access 97.

   Щоб script  сприймався  системою Access  без  суперечень  треба  змінити  параметри ідентифікації :

   //var  SQL_DataBase = "DSN=OTSt;UID=sa;PWD=;DATABASE=OTSt"

     var  SQL_DataBase = "DSN=OTStt;UID=;PWD="

   Отримані  результати  приведемо  у  таблиці  :

Тест  №

ИНТЕРЕСНОЕ



© 2009 Все права защищены.