ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Швидкість обробки запитів на 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 Flagsvar 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; < p>) 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 (); < p>) 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 ))");< br>) 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 = "

    Отримані результати приведемо у таблиці:
    | Тест № | SQL Server 7.0 | Access 97 |
    | 1 | 2,673 | 1,81 |
    | 2 | 7,781 | 5,603 |
    | 3 | 7,356 | 5,211 |
    | 4 | 8,239 | 7,54 |
    | 5 | 0,903 | 0,494 |
    | 6 | 0,345 | 0,231 |
    | 7 | 0,390 | 0,287 |
    | 8 | 11,207 | 7,11 |
    | 9 | 3,843 | 2,53 |
    | 10 | 0,655 | 0,507 |
    | 11 | 11,469 | 9,816 |
    | 12 | 0,3 | 0,285 |
    | 13 | 0,31 | 0,22 |
    | 14 | 55,62 | 34,324 |

    Як видно з результатів проведеного вимірювання запити налокальній базі даних Access опрацьовуються значно швидше ніж насервері.
    Аналізуючи запити 2 і 3, 4 і 5, 6 і 7 бачимо, що обробкаелементів різних типів у однакових запитах має різний час.

    Так наприклад сортувати усіх елементів за значенням у стовбчик
    "String" опрацьовується повільніше ніж у стовбчик "Number" - причина у розміру елементів цих типів.

    Теж саме при обробці запитів 4 і 5 при сумуванні елементівстовбчик "Number" за елементами стовбчіків "String" і "
    Random ".
    Стовбчик" String "зберігає значення типу String і стовбчик" Random "зберігає значення типу Integer, елементи типів мають різний розмірі обробляються з різною швидкістю.
    Розглядаючи швидкість обробки множин елментів зазначимо, що ностібільше елементів обробляє сервер у базі даних тим більше часу наце йде. Так наприклад запит 10 на пошук у базі даних елементатипу String - 'User50000' ззаймає набагато менше часу ніж пошукелементів, що менше 'User50000'. Таких елементів приблизно 50 тисячі їх пошук займає досить довгий час. Пошук елементів, що більше
    'User10000' займає у сервера ще більший час.
    Запити 12,13 визначають час занесення до бази нового рядка івилучення рядка з бази даних.
    Проводячи наведені дослідження за роботою сервера ми отримуємоповну характеристику його роботи.

    Використаємо наведені вище програмні додатки і проведемо вимірина інших SQL-серверах. Порівняємо швидкості роботи SQL Server 7.0 і
    Oracle 8:
    | Тест № | SQL Server 7.0 | Oracle 8 |
    | 1 | 2,673 | 2,71 |
    | 2 | 7,781 | 8,06 |
    | 3 | 7,356 | 8,09 |
    | 4 | 8,239 | 8,75 |
    | 5 | 0,903 | 1,041 |
    | 6 | 0,345 | 0,4 |
    | 7 | 0,390 | 0,432 |
    | 8 | 11,207 | 11,917 |
    | 9 | 3,843 | 4,05 |
    | 10 | 0,655 | 0,78 |
    | 11 | 11,469 | 12,021 |
    | 12 | 0,3 | 0,295 |
    | 13 | 0,31 | 0,291 |
    | 14 | 55,62 | 43,134 |

    Як видно з результатів SQL Server 7.0 працює швидше за Oracle 8 при обробці вибірок, а при вставці і вилученні елементів у Oracle краші результати. Це можна пояснити різною будовою ядер обробкизапитів.

    Проведемо такіж заміри і для SQL сервера Informix.
    | Тест № | SQL Server 7.0 | Informix |
    | 1 | 2,673 | 2,11 |
    | 2 | 7,781 | 6,932 |
    | 3 | 7,356 | 7,138 |
    | 4 | 8,239 | 7,934 |
    | 5 | 0,903 | 0,856 |
    | 6 | 0,345 | 0,456 |
    | 7 | 0,390 | 0,471 |
    | 8 | 11,207 | 13,04 |
    | 9 | 3,843 | 4,41 |
    | 10 | 0,655 | 0,748 |
    | 11 | 11,469 | 12,814 |
    | 12 | 0,3 | 0,315 |
    | 13 | 0,31 | 0,31 |
    | 14 | 55,62 | 51,48 |

    За результатами видно, що SQL Server 7.0 працює повільніше за
    Informix при обробці простих запитів, а при пошуку і порівнянніелементів працює швидше. На запитах по вставці і вилученні елементів у Informix і SQL Server 7.0 майже однакові результати.

    Таким чином ми досягли мети данної роботи - побудувалипрограмні додатки, якими змогли визначити характеристикипрацездатності різних серверних баз даних.

    ВИСНОВОК

    В результаті проведенної роботи було розглянуто різні фактори,що впливають на швидкість роботи системи SQL Server 7.0.

    Були написані дві програми, що дають змогу вимірювати швид-кість обробки запитів багаторівневою серверною системою Microsoft SQL
    Server 7.0 і тим самим дають можливість досліджувати ефективністьнастройки параметрів системи, дають змогу оцінити оптимальністьпобудови бази даних, оптимальність використання індексів, правил,обмежень, ефективність роботи з транзакціями.

    Були розглянуті сильні і слабкі боки технологій роботи зпрограмними додатками - DB-Library та ODBC з DAO.

    Як приклад роботи програмних додатків отримані дані прошвидкодію систем баз даних SQL Server 7.0 та Microsoft Access 97.
    порівняні результати застосування програмних додатків у системах SQL -серверів таких як Oracle та Informix з швидкістю роботи Microsoft
    SQL Server 7.0.

    Використовуючи написані script-и програмісти і розробники систембаз даних типу клієнт/сервер можуть визначати характеристикистворених ними систем з ціллю аналізу і удосконалення.

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

    1. "Використання Microsoft SQL Server 7.0" Стефан Вінкоп вид. Москва 1999 р..
    2. "Teach Yourself Oracle 8 In 21 Days" Cary N. Prague

    3. "Секрети Access 97" Уильям Амо ізд.Діалектіка 1997р.


    4. "Технологія Java" Джо Вебер вид. "BHV" 1996 р..

    5. Журнал "PC World" № 3,7,8 за 97 р., № 1,9 за 98 р..

    6. www.techrepublic.com


         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status