Моделът клиент-сървър

Съвременните СУБД трябва да отговарят на редица изисквания, най-важният от които - с висока производителност на сървъра на интелигентна база данни. На следващо място, ние гледаме на основните тенденции на нейното развитие, както и да се обсъдят конкретни договорености, в които те са въплътени.

Процесът на техническото развитие на сървъра на базата данни остава невидима за повечето потребители на модерен СУБД. Затова при избора на система те обикновено не вземат под внимание всички решения техническо ниво, въплътени в механизма на нейното функциониране, нито въздействието на тези решения за цялостното изпълнение на базата данни. В същото време, нейното качество се определя не е богат интерфейс с потребителя, не се поддържа от различни инструменти за развитие, а е преди всичко зависи от особеностите на архитектурата на сървъра на базата данни. Следваща ще бъде считан за "клиент-сървър" технология, определена сървъра на база данни в тези модели, и описва накратко най-важните механизми за сървъри на база данни - процедури, правила (тригери) на събитието. Последното ще бъде илюстрирано с примери, в които се използват на SQL говор, приети в СУБД Ingres.

"Клиент-сървър" технологии и модели.

"Клиент-сървър" - модел на взаимодействие между компютри в мрежата. Обикновено, компютри не са равни. Всеки от тях има свой собствен, различен от другия, с цел да играе роля. Някои от компютри в мрежата, собственост и управлява информацията и изчислителните ресурси, като процесори, файлова система, пощенски услуги, база данни за услуга за отпечатване. Други компютри имат възможност за достъп до тези услуги, като се възползва от първите услуги. Компютърът, който контролира или друг ресурс, наречен сървър на ресурсите, и компютъра, който иска да го използва - на клиента. Специфична сървъра се определя от вида на ресурса, което той притежава. Така че, ако ресурсът е база данни, тогава става въпрос за сървъра на базата данни. чиято цел - да обслужва клиентски запитвания, свързани с обработка на данни; ако ресурсът - файлова система, а след това се говори за файлов сървър. или файлов сървър, и така нататък. г.

В мрежата на същия компютър може да действа като клиент, така и сървър. Така например, в информационната система, включително персонални компютри, мейнфрейм компютри и UNIX-базирани мини-компютър, последният може да действа и като сървър на база данни, обслужваща заявки от клиенти - персонални компютри, както и клиент, изпращане на запитвания мейнфрейм.

Същият принцип важи и за програмите за сътрудничество. Ако някой от тях извършва някои функции, като всеки подходящ набор от услуги, които тази програма действа като сървър. Програми, които използват тези услуги, наречени клиенти. Така че, в основата на релационна SQL ориентирани СУБД често се нарича сървър на база данни или SQL-сървър, както и програма, обърни му за обработка на данни услуги - SQL-клиент.

Първоначално СУБД имат централизирана структура (Фигура 10). В собствените си бази данни и приложения, които работят с бази данни, ние опериран централен компютър (мейнфрейм или мини-компютър). Пак там се намира базата данни. От централния компютър са свързани терминали, обслужващи както потребителски работни станции. Всички процеси, свързани с обработката на данни, като подкрепата за въвеждане, извършвани от страна на потребителя, които са, както и оптимизиране на заявки, обмен с външни запаметяващи устройства и т.н. извършва на централен компютър, който има строги изисквания за нейната ефективност. Първо поколение функции СУБД са пряко свързани с архитектурата на мейнфрейм система и мини-компютри и отразяват адекватно на всички свои предимства и недостатъци. Въпреки това, ние сме по-заинтересовани от сегашното състояние на много потребители на базата данни, за които архитектурата "клиент-сървър" се превърна в де факто стандарт.

Фигура 10 - Системи с централизирана архитектура

За по-ясна представа за това, което предлага трябва да се помисли няколко модела на технологията "клиент-сървър", което ще бъде направено.

Ако се приеме, че проекцията информационна система (IS) ще има технологията "клиент-сървър", това означава, че приложните програми, изпълнявани в своята рамка, ще бъдат разпределени на природата. С други думи, част от функциите на програмата за прилагане (или по-просто, заявление) ще се реализира в клиентската програма, а другият - в сървъра програма, както и някои протокол ще бъде определен за тяхното взаимодействие.

Основният принцип на технологията "клиент-сървър" е да се разделят на стандартните интерактивни функции за кандидатстване в четири групи с различен характер. Първата група - функция на въвеждане и показване на данни. Втората група се състои от чист заявление функционалност, специфични за вашия домейн (например за банковата система - откриване на банкови сметки, прехвърляне на пари от една сметка в друга, и т.н.). Третата група включва основните функции на съхранението и управлението на информационните ресурси (бази данни, файлови системи, и т.н.). И накрая, четвърта група на функция - функция за обслужване (играе ролята на ставните връзки между функциите на първите три групи.

Съответно, следните логически елементи са разпределени във всяко приложение:

- представяне компонент, който изпълнява функциите на първата група;

- компонент приложение, което поддържа функцията на втората група;

- компонент достъп до информационни ресурси, поддържа функцията на третата група, и са вписани и рафинирани споразумение методи за тяхното взаимодействие (протокол за комуникация).

Разликите в прилагането на технологията "клиент-сървър", определен от четири фактора. На първо място, тези, при които видове софтуер, интегрирани в един от тези компоненти. На второ място, от това, което механизмите за софтуерни, използвани за изпълнение на функциите на трите групи. В третата, като логическите елементи са разпределени между компютри в мрежа. Четвърто, какви механизми се използват за свързване на компонентите заедно.

Има четири подходи, прилагани в моделите:

· Модел File Server (File Server - FS);

· Модел на дистанционно за достъп до данни (Remote Access данни - RDA);

· Database модел на север (Database Server - DBS);

· Приложение модел сървър (Application Server - AS).

FS-модел е основата за локални мрежи на персонални компютри. Не толкова отдавна, че е изключително популярен сред местните предприемачи, които са използвали тези системи, FoxPro, Clipper, Clarion, Paradox, и т.н. Същността на този модел е прост и познат на всички. Един от компютри в мрежата, се счита за файлов сървър, и предоставя услуги за обработка на файлове с други компютри. файлов сървър работи с операционна система мрежа (например, Novell NetWare) и действа като компонент на достъп до информационни ресурси (т.е. файлове). На други компютри в функцията приложение мрежа, в която кодира са комбинирани компоненти представяне и компоненти на приложения (Фигура 11). Комуникационният протокол е набор от ниско ниво разговори, съдържа приложения, които имат достъп до файловата система на сървъра на файла.

Фигура 11 - Модел File Server

FS-модел служи като основа за разширяване на личните данни от възможности в посока на поддръжка на много потребители. В такива системи, на няколко персонални компютри, работещи при подаването на молба, както и копие на базата данни и базата данни, съдържаща се в споделените файлове, които са на файловия сървър. Когато някое приложение има достъп до база данни, базата данни изпраща заявка за файлов сървър. Тази заявка описва файловете в които е разположен исканата информация. В отговор на искането на файлов сървър по мрежата изпраща искания блок данни. СУБД получаване тя изпълнява действието на данните, които са били обявени в програмата за прилагане.

Чрез технологичните недостатъци на модела включват високоскоростен мрежов трафик (прехвърляне на множество файлове изисква за кандидатстване), един тесен кръг от операции за манипулиране на данните ( "данни - са файловете"), липсата на достатъчно средства за осигуряване на достъп до данните (защита само на ниво файлова система) и така нататък. г. Всъщност, това не е в списъка има и недостатъци, но - в резултат на присъщите ограничения на модела FS-определено му характер. Неразбиране възникват, когато FS-модел се използва за други цели, например, като се опитва да тълкува сървър модел на база данни. Място FS-модел в йерархия от модели "клиент-сървър" - място на сървъра модел на файла, и нищо повече. Поради това е обречено на неуспех опитите да се създаде на базата на FS-голям корпоративни системи на модела - опити, които са направени в близкото минало и сега често се вземат.

По-тек RDA-modelsuschestvenno различава от FS-модел достъп характер компонент към информационни ресурси. Обикновено, SQL-сървър. Представянето на RDA-модел и прилагане компонент код компонента се комбинират и се изпълнява на клиентския компютър. Последното поддържа и двата входа и дисплея функции и чисто функции приложение. Достъп до информационни ресурси се предоставя или (SQL език, например, когато става дума за бази данни), специално езикови оператори или функция изисква специална библиотека (ако има съответен интерфейс за приложно програмиране - API).

Клиентът изпраща искания до информационните ресурси (например, бази данни) на отдалечен компютър мрежа. Той работи машината на базата данни, която обработва исканията, изпълнявайки предписания към тях и връща резултата към клиента, проектирана като информационен блок (фигура 12). В този случай, инициатор на манипулиране на данните са програмите, които се изпълняват на клиентски компютри, докато машината на базата данни пасивна роля - заявки за услуги и обработка на данни.

Фигура 12 - дистанционно Данните за достъп модел

RDA-модел да елиминира недостатъците на двете системи с централизирана структура, система и файлов сървър.

На първо място, прехвърлянето на компонент компонент и прилагане на клиентски компютри значително облекчава сървъра на базата данни, свеждане до минимум на общия брой на процеси на операционната система. сървъра на базата данни, той е оправдан от неосновните функции към него; процесор или сървърни процесори напълно заредени за обработка на данни операции, заявки и транзакции. Това става възможно чрез премахване на терминалите и оборудване на работните места с компютри, които имат свои собствени локални компютърни ресурси, напълно използвани челни програми. От друга страна, това е рязко намаляване на натоварването на мрежата, тъй като чрез нея се предават от клиента към сървъра не са искания за вход и изход (както в сървъра на файловата система), и по SQL заявки, обемът им е много по-малък.

Основното предимство на RDA-модел - обединението на интерфейс "клиент-сървър" под формата на SQL. Наистина, компонент за кандидатстване взаимодействие с машината на базата данни не е възможно без стандартизиран средства за комуникация. Заявките към основната програма, трябва да са ясни и за двете. За да направят това, те трябва да бъдат формулирани в специален език. Но в базата данни вече съществува SQL език, който вече е бил обсъден. Поради това е препоръчително да се използва не само като средство за достъп до данни, но също така и към стандартния клиент и сървър комуникация.

Тази връзка може да се сравни с разговора на няколко души, когато човек отговаря на въпросите на другите (се задават въпроси по същото време). И той го прави толкова бързо, че времето за реакция е близо до нула. Висока скорост на комуникация се постига главно поради ясната формулировка на въпроса, когато въпроси и отговори не се нуждаят от по-нататъшни консултации по предмета. Разговорът размениха няколко кратки изречения двусмислени, те не трябва да се разработят.

За съжаление, RDA-модел не е без някои недостатъци. На първо място, клиент и сървър взаимодействието с SQL-заявките натоварвания значително мрежа. На второ място, задоволително управление на приложения в RDA-модела е почти невъзможно, защото на комбинацията в една единствена програма на различните функции на природата (представяне и приложни функции).

Заедно с RDA-модел става все по-популярен като обеща DBS-модел (фигура 13). Последното се осъществява в някои релационна база данни (Informix, Ingres, Sybase, Oracle). Тя се основава на механизма на съхранени процедури - средство за програмиране SQL-сървър. Процедури се съхраняват в базата данни речника поделя между няколко клиента и се изпълнява на същия компютър, където SQL-сървър работи. Езикът, на който са разработени за запомнени процедури, представлява процесуално език разширение SQL заявка и е уникален за всеки конкретен база данни.

Фигура 13 - модел база данни на сървъра

представяне компонент DBS-модел работи на клиента, докато компонентът на приложение е проектиран като комплекс от съхранени процедури и функции на сървъра на базата данни на компютъра. Има също така извършва компонент достъп до данните, които е основната база данни. Предимства на DBS-модел са очевидни: тя позволява централизирано управление на функциите за кандидатстване, както и намаляване на трафика (обръщения към запомнени процедури са изпратени вместо SQL-заявки в мрежата), както и възможността за процедурите за отделяне между множество приложения, както и спестяване на ресурси на компютъра чрез използване на едно и също време, за да се създаде план за процедурата , Недостатъците на модела включват ограничените средства, които се използват за писане на съхранени процедури, които представляват различни процесуално разширението на SQL, не могат да бъдат сравнени с помощта на визуални и функционални възможности с езици от трето поколение, като например C или Pascal. Обхватът на тяхното използване е ограничено до определен СУБД, повечето DBMSs не отстраняване на грешки и тестване разработен съхранени процедури.

На практика често се използва смесен модел, където целостта на базата данни да поддържа и някои прости функционалност приложение поддържа съхранени процедури (DBS-модел) и по-разширени функции се изпълняват директно в приложната програма, която работи на клиентския компютър (ПДП-модел). Както и да е, модерен мулти-база данни въз основа на RDA- и DBS-модел при създаването на IP е да се използва само в базата данни, изберете един от тези два модела или тяхната разумна комбинация.


модел на сървър за приложения.

Процесът на AS-модел (Фигура 14), работещ на клиента отговаря както обикновено за интерфейс с потребителя (т.е., тя изпълнява първата функционална група). В обръщението си към изпълнението на услуги на компоненти на приложенията на този процес играе ролята на клиентското приложение (Application Клиент - AC). Компонентът на приложение е изпълнен като група от процеси, изпълняващи функциите на приложение, и се нарича сървър приложение (Application Server - AS). Всички операции се извършват на информационните ресурси на съответния компонент, във връзка с която AS играе ролята на клиент. От компонентите на приложенията наличните ресурси от различни видове - бази данни, опашки, пощенски услуги и др.

RDA- и DBS-модели са базирани на схема с двустепенна на разделение на труда. Функциите на RDA-модел за кандидатстване се отнасят по съответната програма, клиентът, в отговорността на DBS-модел за тяхното изпълнение се приема, машината на базата данни. В първия случай, компонент за кандидатстване се слива с компонент на презентация във втория случай - интегрирани в компонент достъп до информационни ресурси. AS-изпълняват функциите разделяне модел диаграма на трислойни, когато прилагането избрани като основен компонент приложението изолиран елемент, за определянето му използване универсални механизми многозадачна операционна система, и стандартизирани интерфейси с две други компоненти. AS-модел е в основата на монитора обработка на транзакции (за обработване на транзакции монитори - TPM), или по-просто, сделки монитори, които се открояват като специален вид софтуер.

В заключение, ние се отбележи, че често, говорейки за сървъра на базата данни, се разбира като компютър и софтуер - за бази данни. При описанието на архитектурата "клиент-сървър" на сървъра на базата данни имахме предвид компютъра. На следващо място, сървърът на базата данни ще се разбира като софтуер - база данни на двигателя.