Distribuția resurselor în sistemele informaționale. Clasificarea rețelelor de transmitere a informațiilor fără fir. Tehnologii client-server

MINISTERUL EDUCAȚIEI ȘI ȘTIINȚEI AL RUSIEI

Bugetul federal de stat instituție educațională studii profesionale superioare

„Universitatea Națională de Cercetare Tehnologică din Kazan”

(FSBEI HPE KNRTU)

Institutul de Control, Automatizare și Tehnologii Informaționale

Facultatea de Control și Automatizare

Departamentul " Sisteme automatizate colectarea și prelucrarea informațiilor”

Eseu

Subiect: Clasificare generalaşi caracteristicile tehnologiilor sistemelor informaţionale distribuite

Kazan – 2015

1. Introducere……………………………………………………………………………….…………..3

1.1 Condiții preliminare pentru crearea sistemelor informaționale………………..…3

1.2. Conceptul de sisteme informatice distribuite……………………………4

2. Tehnologii informaţionale în sistemele distribuite…………..6

2.1. Sistem distribuit de prelucrare a datelor………………………………7

2.2. Tehnologii și modele „Client-Server”………………………………………………………………………..9

2.3. Tehnologii de legare a datelor obiect……………………………………………..13

2.4. Tehnologii de replicare a datelor……………………………………………………15

3. Instrumente pentru lucrul cu date distribuite…………………………………..16

3.1. Baze de date distribuite……………………………………………………..17

3.2. Tipuri de baze de date distribuite……………………………………………...20

3.3. Scopul și principiile de funcționare a bazelor de date distribuite……………….20

4. Exemple de sisteme distribuite……………………………………………………………..22

Bibliografie………………………………………………………..25

INTRODUCERE

Relevanța acestui subiect al eseului constă în faptul că procesele de globalizare și integrare a informațiilor au loc în economia mondială. Au afectat și țara noastră, care, datorită amplasării geografice și dimensiunii sale, este nevoită să utilizeze sisteme informatice distribuite (IS). Sistemele de informații distribuite oferă lucru cu date situate pe diferite servere, diverse platforme hardware și software și stocate în diverse formate. Ele sunt ușor de extins, pe baza standarde deschiseși protocoale, asigură integrarea resurselor lor cu alte sisteme informaționale, oferă utilizatorilor interfețe simple.

Există o cantitate imensă de informații și resurse de calcul gata de utilizare în lume. Au fost creați în timp diferit, pentru dezvoltarea lor au fost folosite abordări diferite. Aproape întotdeauna, atunci când dezvoltați un nou sistem de informații, puteți găsi componente gata făcute care sunt potrivite pentru funcțiile lor. Problema este că atunci când au fost create nu au fost luate în considerare cerințele de incompatibilitate. Aceste componente nu se înțeleg, nu pot lucra împreună. Este de dorit să existe un mecanism sau un set de mecanisme care să facă interoperabile astfel de informații și resurse de calcul dezvoltate independent.

Această lucrare examinează informațiile de bază despre un sistem informațional distribuit: descrie condițiile preliminare pentru dezvoltarea acestuia, mijloacele de lucru cu date, introduce conceptul de bază de date distribuită, precum și tipurile și principiile de bază ale acesteia. Al treilea capitol prezintă exemple de sisteme informatice distribuite, cum ar fi: - Informix On-Line de la Informix Software - Ingres Intelligent Database de la Ingres Corp - Oracle (versiunea 7) de la Oracle Corp;

Scopul studiului este de a studia fundamentele teoretice ale sistemelor informatice distribuite, precum și de a dezvolta cunoștințe despre principiile funcționării acestuia.

Această distribuție a datelor permite, de exemplu, stocarea într-un nod de rețea a datelor care sunt cele mai des folosite în acest nod. Această abordare face mai ușor și mai rapid lucrul cu aceste date și oferă posibilitatea de a lucra cu restul datelor din baza de date.

1. CONCEPTUL DE SISTEME DE INFORMAȚII DISTRIBUITE

1.1. Condiții preliminare pentru crearea sistemelor informaționale distribuite

De la începutul dezvoltării tehnologia calculatoarelor Au apărut două direcții principale de utilizare a acestuia.

Prima direcție- utilizarea tehnologiei informatice pentru a efectua calcule numerice care durează prea mult sau sunt imposibil de efectuat manual. Apariția acestei direcții a contribuit la intensificarea metodelor de rezolvare numerică a problemelor matematice complexe, la dezvoltarea unei clase de limbaje de programare axate pe înregistrarea convenabilă a algoritmilor numerici și la stabilirea feedback-ului de la dezvoltatorii de noi arhitecturi computerizate.

A doua direcție- este utilizarea tehnologiei informatice în sisteme informatice automate sau automatizate. De obicei, volumele de informații cu care se confruntă astfel de sisteme sunt destul de mari, iar informațiile în sine au o structură destul de complexă. Una dintre cerințele naturale pentru astfel de sisteme este viteza medie a operațiunilor și siguranța informațiilor.

Dar, din moment ce sistemele informaționale necesită structuri complexe de date, aceste persoane fonduri suplimentare managementul datelor era o parte esențială a sistemelor informaționale și se repeta practic de la un sistem la altul. Dorința de a evidenția și generaliza partea generală a sistemelor informaționale, responsabil de gestionarea datelor structurate complex și a fost, aparent, primul motiv motivant pentru crearea diferitelor sisteme de management.

Foarte curând a devenit clar că era imposibil să te descurci cu o bibliotecă comună de programe care implementau metode mai complexe de stocare a datelor pe lângă sistemul standard de fișiere de bază, de exemplu, stocarea informațiilor în mai multe fișiere. Astfel, toate acestea au contribuit la crearea sistemelor informatice distribuite.

De fapt, dacă un sistem informațional acceptă stocarea consecventă a informațiilor în mai multe fișiere, se poate spune că suportă o bază de date. Dacă un sistem auxiliar de gestionare a datelor vă permite să lucrați cu mai multe fișiere, asigurând consistența acestora, îl puteți numi un sistem de gestionare a bazelor de date. Simpla cerință de a menține consistența datelor în mai multe fișiere nu permite o bibliotecă de funcții: un astfel de sistem trebuie să aibă unele dintre propriile date (metadate) și chiar cunoștințe care determină integritatea datelor.

Există o cantitate imensă de informații și resurse de calcul gata de utilizat în lume. Au fost create în momente diferite și au fost folosite abordări diferite pentru a le dezvolta. Aproape întotdeauna, atunci când dezvoltați un nou sistem de informații, puteți găsi componente gata făcute care sunt potrivite pentru funcțiile lor.

1.2. Conceptul de sisteme informatice distribuite

De obicei, Un sistem în care funcționează mai mult de un server de baze de date este considerat distribuit.. Acesta este folosit pentru a reduce sarcina de pe server și pentru a asigura funcționarea departamentelor aflate la distanță geografică. Complexitatea variabilă a creării, modificării, întreținerii, integrării cu alte sisteme face posibilă împărțirea IP în clase: mici,

sisteme distribuite medii și mari.

IP-uri mici au un mic ciclu de viață(LC), orientare spre utilizare în masă, preț scăzut, imposibilitate de modificare fără participarea dezvoltatorilor, folosind în principal sisteme desktop de gestionare a bazelor de date (DBMS), hardware și software omogene, fără caracteristici de securitate.

Mare SI corporative, sistemele la nivel federal și altele au un ciclu lung de viață, migrarea sistemelor moștenite, diversitatea hardware și software, amploarea și complexitatea sarcinilor rezolvate, intersecția multor domenii, prelucrare analitică date, distribuția teritorială a componentelor.

Funcțiile unor astfel de sisteme informatice includ, în primul rând, lucrul cu date distribuite situate pe diferite servere fizice, diferite platforme hardware și software și stocate în diferite formate interne. În acest caz, sistemul trebuie să ofere informatii complete despre tine și despre toate resursele tale, ușor de extins, să se bazeze pe standarde și protocoale deschise, oferă posibilitatea de a integra resursele tale cu resursele altor sisteme informaționale. Pentru utilizatori, sistemul ar trebui să ofere diferite niveluri de privilegii de utilizator și să ofere interfețe simple pentru a accesa informații.

Datele din sisteme eterogene sunt de obicei combinate în grupuri logice cărora li se adresează interogările. Un sistem de interogare abstract presupune că sistemul operează nu cu o sintaxă de interogare specifică, ci cu esența sa logică bazată pe atribute abstracte.
La construirea sistemelor informatice distribuite, de regulă, se folosesc două arhitecturi de bază: Client/server și Intranet Internet.
IP de întreprindere construit de arhitectură Client server , oferă clienților o gamă largă de aplicații și instrumente de dezvoltare care se concentrează pe maximizarea capacităților de calcul ale desktop-urilor client. Resursele serverului sunt folosite în principal pentru stocarea și schimbul de documente, precum și pentru accesarea mediului extern. Această arhitectură vă permite să protejați mai bine partea de server a aplicațiilor, oferind în același timp posibilitatea aplicațiilor de a se adresa direct altora aplicații server, sau trimiteți cererile către ei. Cu toate acestea, apelurile frecvente ale clientului către server reduc performanța rețelei. Problemele de securitate ale rețelei trebuie rezolvate deoarece aplicațiile și datele sunt distribuite între mai mulți clienți. Natura distribuită a construcției sistemului face dificilă configurarea și întreținerea

SI bazat pe Internet Intranet se bazează pe principiul " arhitectura deschisa". Software-ul IS este implementat sub formă de applet-uri sau servlet-uri (programe în limbajul JAVA) sau sub formă de module cgi (programe în Perl sau C). IS-ul acestei arhitecturi include Web-yinh\, implementat folosind CORBA Enterprise JavaBeans, tehnologii ActiveX 1X" OM, aplicații pe mai multe niveluri activate Bazat pe Javași XML, conceptul .Net cu XML, în care schimbul între diverse servere (depozite de date, aplicații de afaceri, servere pentru clienți mobili etc.) se realizează folosind XML neutru din punct de vedere arhitectural.

Sub baza de informații distribuite se referă la un număr nelimitat de baze de date, la distanță distanță unele de altele și având un număr de caracteristici generale:

Funcționează conform regulilor uniforme definite central pentru toate bazele de date incluse în cele distribuite baza de informatii;

Schimbul de date se realizează conform regulilor definite și central.

Organizarea unei baze de date distribuite este necesară pentru companiile care desfășoară diverse tipuri de activități, dacă acestea Munca zilnica există o nevoie rezolvarea urmatoarelor probleme:

Necesitatea consolidării într-o singură bază de date a informațiilor din bazele de date ale persoanelor juridice incluse în structura societății, pentru analiza ulterioară a datelor și obținerea de rapoarte dintr-o singură bază de date, atât pentru societate în ansamblu, cât și pentru fiecare persoană juridică separat;

Necesitatea de a limita și controla modificările de date în diviziile aflate la distanță ale companiei (sucursale).

2. TEHNOLOGII INFORMAȚIILOR ÎN SISTEME DISTRIBUITE

Tehnologii de calcul distribuite (DC) Producție modernă necesită viteze mari de procesare a informațiilor, forme convenabile de stocare și transmitere a acesteia. De asemenea, este necesar să existe modalități dinamice de acces la informații, modalități de căutare a datelor la intervale de timp date pentru a implementa procesarea complexă a datelor matematice și logice. Conducerea întreprinderilor mari și gestionarea economiei la nivel de țară necesită participarea unor echipe destul de mari la acest proces. Astfel de grupuri pot fi localizate în diferite zone ale orașului, în diferite regiuni ale țării și chiar în diferite țări. Rezolvarea problemelor de management care asigură implementarea strategiei economice, rapiditatea și comoditatea schimbului de informații, precum și posibilitatea unei interacțiuni strânse între toți cei implicați în procesul de dezvoltare, devin importante și relevante. decizii de management. În epoca utilizării centralizate a computerelor cu procesare a informațiilor în serie, utilizatorii de computere preferau să achiziționeze computere care le puteau rezolva aproape toate clasele de probleme. Cu toate acestea, complexitatea problemelor în curs de rezolvare este invers proporțională cu numărul acestora, iar acest lucru a condus la utilizarea ineficientă a puterii de calcul a computerului la costuri materiale semnificative. Nu se poate ignora faptul că accesul la resursele computerului a fost dificil din cauza politicii existente de centralizare a resurselor de calcul într-un singur loc. Principiul prelucrării centralizate a datelor (Fig. 5.1) nu a îndeplinit cerințele ridicate pentru fiabilitatea procesului de prelucrare, a împiedicat dezvoltarea sistemelor și nu a putut oferi parametrii de timp necesari pentru prelucrarea interactivă a datelor în modul multi-utilizator. O defecțiune pe termen scurt a computerului central a dus la consecințe fatale pentru întregul sistem. I Fig. 5.1 - Sistem centralizat de prelucrare a datelor Aspect calculatoare personale a necesitat o nouă abordare a organizării sistemelor de prelucrare a datelor și a creării de noi tehnologii informaționale.

A apărut o cerință justificată logic de a trece de la utilizarea computerelor individuale în sistemele centralizate de procesare a datelor la prelucrarea distribuită a datelor.

2.1. Sistem distribuit de prelucrare a datelor.

Procesarea distribuită a datelor este o prelucrare a datelor efectuată pe calculatoare independente, dar interconectate, reprezentând un sistem distribuit. Calculul distribuit se bazează pe două idei principale: mulți utilizatori distribuiți din punct de vedere organizațional și fizic care lucrează simultan cu date partajate - bază comună date (utilizatori cu nume diferite, care pot fi amplasate pe diferite instalații de calcul, cu puteri și sarcini diferite); Date distribuite logic și fizic, care totuși compun și formează o bază de date comună (tabelele, înregistrările și chiar câmpurile individuale pot fi localizate pe diferite instalații de calcul sau incluse în diferite baze de date locale). În ziua implementării procesării distribuite a datelor au fost create asociații multi-mașină, a căror structură se dezvoltă în una dintre următoarele domenii: sisteme de calcul multi-mașină (MCC); rețele de calculatoare (calculatoare). Un complex de calcul cu mai multe mașini este un grup de calculatoare instalate în apropiere, unite folosind instrumente speciale de interfață și realizează împreună un singur proces de informare și de calcul. Un proces este înțeles ca o anumită secvență de acțiuni pentru a rezolva o problemă, definită de program. Sistemele de calcul multimașină pot fi: locale, cu condiția ca calculatoarele să fie instalate în aceeași încăpere și să nu necesite echipamente speciale și canale de comunicație pentru interconectare; la distanță, dacă unele calculatoare ale complexului sunt instalate la o distanță considerabilă de calculatorul central și se folosesc canale de comunicație telefonică pentru transmiterea datelor.

Exemplul 1. Trei computere sunt combinate într-un complex pentru a distribui sarcinile primite pentru procesare. Unul dintre ele îndeplinește o funcție de dispecerare și distribuie sarcini în funcție de ocuparea unuia dintre celelalte două computere de procesare. Acesta este un complex local cu mai multe mașini.

Exemplul 2. Un computer care colectează date pentru o anumită regiune efectuează o prelucrare preliminară și le transmite pentru utilizare ulterioară către computerul central printr-un canal de comunicare telefonică. Acesta este un complex multi-mașină la distanță. Rețea de computere (calculatoare) - un sistem de calcul care include mai multe computere, terminale și alte componente hardware conectate între ele prin linii de comunicație care asigură transferul de date. Constă dintr-un dispozitiv de intrare (cel mai adesea o tastatură) și unul sau mai multe dispozitive de ieșire (afișaj, imprimantă etc.).

Baze de date distribuite Sistemele de calcul distribuite apar în primul rând pentru că în sistemele informatice automate mari construite pe baza rețele corporative, nu este întotdeauna posibil să se organizeze o plasare centralizată a tuturor bazelor de date și SGBD-uri pe un singur nod de rețea. Prin urmare, sistemele de calcul distribuite sunt strâns legate de sistemele de management al bazelor de date distribuite.

O bază de date distribuită este o colecție de baze de date interconectate logic distribuite într-o rețea de calculatoare.

Un sistem de gestionare a bazelor de date distribuite este un sistem software care asigură gestionarea unei baze de date distribuite și transparența distribuirii acesteia către utilizatori. O bază de date distribuită poate combina baze de date care acceptă orice model (baze de date ierarhice, de rețea, relaționale și orientate pe obiecte) într-o singură schemă globală. Această configurație ar trebui să ofere tuturor aplicațiilor acces transparent la orice date, indiferent de locația sau formatul acesteia. Principii de bază ale creării și exploatării bazelor de date distribuite: transparența locației datelor pentru utilizator (cu alte cuvinte, pentru utilizator, o bază de date distribuită ar trebui să apară și să arate exact la fel ca una nedistribuită); izolarea utilizatorilor unul de celălalt (utilizatorul nu trebuie să „simtă”, „să nu vadă” munca altor utilizatori în momentul în care schimbă, actualizează, șterge datele); sincronizarea și consistența (coerența) stării datelor în orice moment. Din cele de bază rezultă o serie de principii suplimentare: autonomia locală (nicio instalație de calcul nu trebuie să depindă de nicio altă instalație pentru funcționarea ei cu succes); absenta instalatie centrala(consecința paragrafului anterior); independența locației (utilizatorului nu îi pasă unde sunt localizate fizic datele, funcționează ca și cum ar fi pe instalația sa locală); continuitatea funcționării (fără opriri planificate ale sistemului în ansamblu, de exemplu pentru conectare instalatie noua sau actualizarea versiunii SGBD); independență față de fragmentarea datelor (ca și de fragmentarea orizontală, atunci când diferite grupuri de înregistrări ale aceluiași tabel sunt situate pe instalații diferite sau în diferite baze de date locale oh, și de la fragmentarea verticală, când sunt plasate diferite câmpuri de coloană dintr-un tabel diferite instalatii); independență față de replicarea datelor (duplicare) (când orice tabel de bază de date (sau o parte a acestuia) poate fi reprezentat fizic prin mai multe copii situate pe diferite instalații); procesare distribuită a interogărilor (optimizarea interogărilor ar trebui să fie distribuită în natură - mai întâi optimizare globală, apoi optimizare locală pe fiecare dintre instalațiile implicate); control distribuit tranzacții (într-un sistem distribuit, o singură tranzacție poate necesita acțiuni care trebuie efectuate pe diferite instalații; o tranzacție este considerată finalizată dacă este finalizată cu succes pe toate instalațiile implicate); independență față de hardware (este de dorit ca sistemul să poată funcționa pe instalații care includ computere de diferite tipuri); independență față de tipul de sistem de operare (sistemul trebuie să funcționeze indiferent de posibilele diferențe de OS pe diferite instalații de calcul); independență față de rețeaua de comunicații (capacitatea de a opera în diferite medii de comunicare); independență față de SGBD (diferite tipuri de SGBD pot funcționa pe diferite instalații, în practică limitate la gama de SGBD-uri care suportă SQL).

În viața de zi cu zi, SGBD-urile, pe baza cărora sunt create sisteme de informații distribuite, sunt de asemenea caracterizate de termenul de „SGBD distribuite” și, în consecință, este folosit termenul de „baze de date distribuite”. Implementarea practică a calculului distribuit se realizează printr-o abatere de la unele dintre principiile discutate mai sus pentru crearea și funcționarea sistemelor distribuite. În funcție de ce principiu este sacrificat (lipsa unui set central, continuitatea funcționării, starea consecventă a datelor etc.), mai multe direcții independenteîn tehnologiile sistemelor distribuite:

- tehnologii „client-server”,

- tehnologii de replicare,

- tehnologii de legare a obiectelor.

Sistemele informatice distribuite reale, de regulă, sunt construite pe baza unei combinații a tuturor celor trei tehnologii, dar din punct de vedere metodologic este recomandabil să le luăm în considerare separat.

2.2. Tehnologii și modele „Client-server”

Tehnologii și modele „Client-server” Sistemele bazate pe tehnologii „Client-server” au crescut din punct de vedere istoric de la primele sisteme informatice automatizate centralizate multi-utilizator care s-au dezvoltat intens în anii '70 (sisteme mainframe), și sunt probabil cele mai utilizate pe scară largă în domeniul tehnologiei informației, oferind întreprinderilor și corporațiilor mari. Tehnologiile client-server se abat de la unul dintre principiile principale de creare și operare a sistemelor distribuite - absența unei instalări centrale. Prin urmare, putem distinge două idei principale care stau la baza tehnologiilor client-server: date comune tuturor utilizatorilor de pe unul sau mai multe servere; mulți utilizatori (clienți), pe diferite instalații de calcul, prelucrează în comun (în paralel și simultan) date comune. Cu alte cuvinte, sistemele bazate pe tehnologii Client-Server sunt distribuite doar în raport cu utilizatorii, astfel încât adesea nu sunt clasificate ca sisteme distribuite „adevărate”, ci sunt considerate o clasă separată de sisteme multi-utilizator.

Conceptele de server și client sunt importante în tehnologiile Client-Server. Sub server în sens larg se referă la orice sistem, proces, computer care deține orice resursă de calcul (memorie, timp, performanță procesor etc.). Client numit și orice sistem, proces, computer, utilizator care solicită orice resursă de la server, utilizează orice resursă sau este servit de server în orice alt mod. În dezvoltarea sa, sistemul Client-Server a trecut prin mai multe etape, în timpul cărora s-a format diverse modele Sisteme „client-server”. Implementarea lor și, prin urmare, intelegere corecta se bazează pe împărțirea structurii SGBD în trei componente: o componentă de prezentare care implementează funcțiile de introducere și afișare a datelor, uneori numită simplu interfață cu utilizatorul; o componentă de aplicație, inclusiv un set de interogări, evenimente, reguli, proceduri și alte funcții de calcul care implementează scopul unui sistem informatic automatizat într-un domeniu specific; o componentă de acces la date care implementează funcțiile de stocare și regăsire, actualizare fizică și modificare a datelor. Pe baza caracteristicilor implementării și distribuției în sistem a acestor trei componente, acestea se disting patru modele de tehnologii Client-Server:

- model server de fișiere(Server de fișiere - FS);

- model acces de la distanță la date (Remote Data Access - RDA);

- model de server de baze de date (DataBase Server - DBS);

- model de server de aplicații (Application Server - AS).

Model de server de fișiere este cel mai simplu și caracterizează nu atât metoda de creare a unui sistem informațional, cât modul general de interacțiune a calculatoarelor într-o rețea locală. Unul dintre calculatoarele din rețea este alocat și desemnat de serverul de fișiere, adică. stocare partajată orice date. În modelul FS, toate componentele majore sunt găzduite pe instalarea clientului. La accesarea datelor, nucleul DBMS, la rândul său, face cereri de intrare/ieșire a datelor pentru serviciul sistemului de fișiere. Folosind funcțiile sistemului de operare, un fișier de bază de date este copiat în RAM-ul instalării clientului, integral sau parțial, pe durata sesiunii de lucru. Astfel, serverul în acest caz îndeplinește o funcție pur pasivă. Avantajul acestui model este simplitatea sa, absența cerințelor ridicate pentru performanța serverului (cel mai important, volumul necesar spatiu pe disc). De asemenea, trebuie remarcat faptul că componentele software DBMS în acest caz nu sunt distribuite, adică. nicio parte a SGBD nu este instalată sau găzduită pe server. Dezavantajele acestui model sunt traficul ridicat de rețea, care atinge valorile de vârf în special în momentul conectării în masă a utilizatorilor la sistem, de exemplu la începutul zilei de lucru. Cu toate acestea, un dezavantaj mai semnificativ, din punctul de vedere al lucrului cu o bază de date comună, este lipsa mecanismelor speciale de securitate pentru fișierul (fișierele) bazei de date din partea SGBD. Cu alte cuvinte, partajarea datelor între utilizatori (lucrare paralelă cu un fișier de date) se realizează numai prin intermediul sistemului de fișiere OS pentru munca simultana mai multe aplicații cu un singur fișier.

În ciuda deficiențelor evidente, modelul serverului de fișiere este un mijloc natural de extindere a capabilităților SGBD-urilor personale (desktop) în direcția suportării modului multi-utilizator și, evident, în acest sens își va păstra în continuare importanța.

Model de acces la distanță la date se bazează pe luarea în considerare a specificului plasării și manipulării fizice a datelor în memorie externa pentru SGBD relațional. ÎN Modele RDA Componenta de acces la date dintr-un SGBD este complet separată de celelalte două componente (componenta de prezentare și componenta de aplicație) și se află pe serverul de sistem. Componenta de acces la date este implementată ca o parte software independentă a SGBD, numită server SQL, și este instalată pe instalația de calcul a serverului de sistem. Funcțiile unui server SQL sunt limitate la operațiuni de nivel scăzut pentru organizarea, plasarea, stocarea și manipularea datelor în memoria de disc a serverului. Cu alte cuvinte, serverul SQL joacă rolul unei mașini de date. Fișierul (fișierele) bazei de date aflat(e) pe serverul de sistem conține și directorul bazei de date a sistemului, care conține, printre altele, informații despre clienții înregistrați, puterile acestora etc. La instalarea clientului, sunt instalate părți software DBMS care implementează interfața Și funcțiile aplicației. Utilizatorul, care intră în partea client a sistemului, se înregistrează prin aceasta pe serverul de sistem și începe prelucrarea datelor. Componenta de aplicație a sistemului (biblioteci de interogări, proceduri de prelucrare a datelor) este complet găzduită și executată pe instalarea clientului. La implementarea funcțiilor sale, componenta aplicației generează instrucțiunile SQL necesare trimise către serverul SQL. Serverul SQL, care este o componentă software specială axată pe interpretarea instrucțiunilor SQL și execuția de mare viteză a operațiunilor de date de nivel scăzut, primește și coordonează instrucțiunile SQL de la diverși clienți, le execută, verifică și impune constrângerile de integritate a datelor și trimite rezultatele. de procesare SQL către clienți, care, după cum este cunoscut, reprezintă seturi (tabele) de date. Astfel, comunicarea dintre client și server are loc prin instrucțiuni SQL și numai rezultatele procesării sunt transferate de la server la instalațiile client, adică seturi de date care pot fi semnificativ mai mici ca dimensiune decât întreaga bază de date. Ca urmare, sarcina rețelei este redusă drastic, iar serverul dobândește o funcție centrală activă. În plus, nucleul DBMS sub forma unui server SQL oferă și funcții tradiționale și importante pentru asigurarea integrității datelor și a restricțiilor de securitate atunci când mai mulți utilizatori lucrează împreună. Alții, poate avantajul implicit al modelului RDA este unificarea interfeței pentru interacțiunea componentelor aplicației sistemelor informaționale cu date comune. O astfel de interacțiune este standardizată în limbajul SQL printr-un protocol special ODBC (Open Database Connectivity - acces deschis la bazele de date), care joacă un rol important în asigurarea interoperabilității (multi-protocol), i.e. independență față de tipul de SGBD pe instalările client în sistemele distribuite. Interoperabilitatea (multi-protocol) a unui SGBD este capacitatea unui SGBD de a servi programe de aplicație care vizează inițial diferite tipuri de SGBD. Cu alte cuvinte, o componentă specială a nucleului SGBD de pe server (așa-numitul driver ODBC) este capabilă să primească, să proceseze interogări și să trimită rezultatele prelucrării acestora către instalațiile client care operează sub controlul SGBD-urilor relaționale ale altor SGBD-uri, care nu -tipuri native. Această oportunitate crește semnificativ flexibilitatea în crearea sistemelor de informații distribuite bazate pe integrarea bazelor de date locale existente deja în orice organizație aflată sub controlul desktop-ului sau a altui tip de SGBD relațional. Dezavantajele modelului RDA Instalațiile de calcul ale clientului pot fi impuse cerințe mari, deoarece pe acestea sunt executate programe de aplicație de prelucrare a datelor, determinate de specificul domeniului de studiu al sistemului informatic. Un alt dezavantaj este traficul de rețea semnificativ cauzat de faptul că seturi (tabele) de date sunt trimise de la serverul bazei de date către clienți, care anumite cazuri poate ocupa un volum destul de important.

Model de server de baze de date (model DBS). O dezvoltare a modelului PDA a fost modelul serverului de baze de date. Miezul său este mecanismul procedurii stocate. Spre deosebire de RDA- modelele definite pentru un domeniu specific al unui sistem informatic, evenimentele, regulile și procedurile descrise prin intermediul limbajului SQL sunt stocate împreună cu datele pe serverul de sistem și executate pe acesta. Cu alte cuvinte, componenta aplicației este complet găzduită și executată pe serverul de sistem. Model de server de baze de date (model DBS) La instalările client, modelul DBS găzduiește doar componenta front-end (componenta de prezentare), ceea ce reduce semnificativ cerințele pentru instalarea de calcul a clientului. Utilizatorul, prin interfața sistemului de pe instalarea clientului, trimite către serverul bazei de date doar apeluri la procedurile necesare, interogări și alte funcții pentru prelucrarea datelor. Toate operațiunile costisitoare de accesare și prelucrare a datelor sunt efectuate pe server și doar rezultatele procesării sunt trimise către client, și nu seturi de date, ca în modelul RDA. Acest asigură o reducere semnificativă a traficului de rețeaîn modelul DBS comparativ cu modelul RDA. Trebuie remarcat faptul că pe serverul de sistem procedurile sarcinilor aplicației sunt executate simultan de toți utilizatorii sistemului. Ca urmare, cerințele pentru instalarea de calcul a unui server sunt în creștere bruscă, atât în ​​ceea ce privește spațiul pe disc și RAM, cât și în ceea ce privește performanța. Acesta este principalul dezavantaj al modelului DBS. Avantajele modelului DBS Pe lângă descărcarea rețelei, există și un rol mai activ al serverului de rețea, plasarea, stocarea și execuția mecanismului evenimentului, regulile și procedurile pe acesta, capacitatea de a „ajusta” mai adecvat și mai eficient sistemul de informații distribuit la toate nuanțele materiei. Consecvența stării și a modificărilor datelor este, de asemenea, asigurată mai fiabil și, ca urmare, fiabilitatea stocării și procesării datelor este crescută, iar munca colectivă a utilizatorilor cu date partajate este coordonată eficient.

Model de server de aplicații (modele AS). Pentru a distribui cerințele de resurse de calcul ale serverului în termeni de performanță și memorie în diferite instalații de calcul, este utilizat un model de server de aplicații. Esența modelului AS este de a transfera componenta aplicativă a sistemului informațional la unul specializat în raport cu resurse sporiteîn ceea ce privește performanța, un server de sistem suplimentar. Ca și în modelul DBS, doar partea de interfață a sistemului, adică componenta de prezentare, este localizată pe instalațiile client. Cu toate acestea, apelurile la funcțiile de procesare a datelor sunt direcționate către serverul de aplicații, unde aceste funcții sunt partajate între toți utilizatorii sistemului. Pentru a efectua operațiuni de nivel scăzut pentru accesarea și modificarea datelor, serverul de aplicații, ca în modelul RDA, contactează serverul SQL, trimițându-l apeluri la procedurile SQL și, în consecință, primind seturi de date de la acesta. După cum știți, un set secvențial de operații asupra datelor (instrucțiuni SQL), care are o semnificație semantică separată, se numește tranzacție. În acest sens, serverul de aplicații gestionează generarea tranzacțiilor pe care le execută serverul SQL. Prin urmare, componenta software DBMS instalată pe serverul de aplicații se mai numește și monitor de procesare a tranzacțiilor (Transaction Processing Monitors - TRM), sau pur și simplu monitor de tranzacție. AS-model, economisire punctele forte Modelul DBS vă permite să construiți în mod optim un circuit de calcul pentru un sistem informațional, totuși, ca și în cazul modelului RDA, crește traficul în rețea. În cazuri practice, se folosesc modele mixte, când cele mai simple funcții de aplicație și constrângeri de asigurare a integrității datelor sunt susținute de proceduri stocate pe server (model DBS), iar funcții de domeniu mai complexe (așa-numitele reguli de afaceri) sunt implementate de programe de aplicație. pe instalații client (model RDA) sau pe serverul de aplicații (model AS).

2.3. Tehnologii de legare a datelor obiect.

Unificarea interacțiunii componentelor aplicației cu nucleul sistemelor informaționale sub formă de servere SQL, dezvoltate pentru sisteme client-server, a făcut posibilă dezvoltarea unor soluții similare pentru integrarea bazelor de date locale disparate controlate de SGBD-uri desktop în complexe eterogene descentralizate. sisteme distribuite. Această abordare se numește legarea de date obiect. Dintr-un punct de vedere restrâns, tehnologia de legătură a datelor obiect rezolvă problema asigurării accesului dintr-o bază de date locală, deschisă de un utilizator, la date dintr-o altă bază de date locală (într-un alt fișier), eventual aflate pe o altă instalație de calcul, deschisă și operată de alt utilizator. Soluția la această problemă se bazează pe suportul SGBD-urilor moderne „desktop” ( MS Access, MS FoxPro, dBase etc.) tehnologii de „obiecte de acces la date” - DAO.

Trebuie remarcat faptul că un obiect este înțeles ca integrarea datelor și metodelor, prelucrarea lor într-un întreg (obiect), pe care se bazează programarea orientată pe obiect și mediile de operare moderne orientate pe obiecte. Cu alte cuvinte, SGBD-urile care suportă DAO sunt capabile să implementeze și să opereze în bazele de date locale obiecte de acces la date care se află fizic în alte fișiere, eventual pe alte instalații de calcul și sub controlul altor SGBD. Din punct de vedere tehnic, tehnologia DAO se bazează pe protocolul ODBC deja menționat, care este adoptat ca standard pentru accesul nu numai la datele de pe serverele SQL ale sistemelor client-server, ci și ca standard de acces la orice date gestionate de SGBD relațional. Pentru a accesa direct datele bazate pe protocolul ODBC, se folosesc componente software speciale numite drivere ODBC (inițializate pe instalațiile în care se află datele). În primul rând, SGBD-urile desktop moderne oferă posibilitatea de a accesa direct obiectele (tabele, interogări, formulare) ale bazelor de date externe cu formatele „lor”. Cu alte cuvinte, utilizatorul are posibilitatea de a insera legături de obiecte speciale în baza de date deschisă în sesiunea curentă și de a opera cu date dintr-o altă bază de date (externă, adică nedeschisă în mod specific în această sesiune). Obiectele dintr-o bază de date externă care sunt inserate în baza de date curentă se numesc legate și au de obicei notații speciale pentru a le distinge de obiectele interne. Trebuie subliniat faptul că datele în sine nu sunt plasate fizic în fișierul (fișierele) bazei de date curente, ci rămân în fișierele bazelor de date ale acesteia. Toate informațiile despre obiectele înrudite necesare pentru acces sunt plasate în directorul de sistem al bazei de date curente - nume internși extern, adică numele adevărat al obiectului din baza de date externă, calea completă către fișierul bazei de date extern, etc. Obiectele asociate pentru utilizator nu sunt diferite de obiectele interne. De asemenea, utilizatorul poate deschide tabele de date legate în baze de date externe, poate căuta, modifica, șterge și adăuga date, construi interogări pe astfel de tabele etc. Obiectele înrudite pot fi integrate în schema internă a bazei de date, adică să stabilească conexiuni între tabelele interne și cele asociate. Din punct de vedere tehnic, operarea obiectelor înrudite din baze de date externe cu un format „propriu” diferă puțin de operarea cu date din baza de date curentă. Nucleul DBMS, atunci când accesează datele unui obiect înrudit în directorul de sistem al bazei de date curente, găsește informații despre locația și alți parametri ai fișierului (fișierelor) corespunzători din baza de date externă și în mod transparent (adică, invizibil pentru utilizator) deschide acest fișier (fișiere). Apoi, în mod obișnuit, organizează în RAM tamponarea paginilor fișierului de date extern pentru accesul direct și manipularea datelor. De asemenea, trebuie remarcat faptul că, pe baza capacităților modului multi-utilizator de lucru cu fișiere de date ale sistemelor de operare moderne, un alt utilizator poate lucra cu un fișier de bază de date extern, dacă acesta se află pe o altă instalație de calcul, în același timp. , care asigură prelucrarea colectivă a datelor comune distribuite. Acest principiu de construire a sistemelor distribuite cu volume mari de date în tabelele aferente va duce la o creștere semnificativă a traficului de rețea, deoarece nici măcar seturile de date, ci paginile fișierelor de baze de date sunt transferate în mod constant prin rețea, ceea ce poate duce la supraîncărcări ale rețelei. . Prin urmare, schemele prezentate ale bazelor de date locale cu obiecte reciproc legate necesită o elaborare suplimentară atentă. O problemă la fel de semnificativă este lipsa unor mecanisme fiabile de securitate a datelor și a constrângerilor de integritate. Colaborarea mai multor utilizatori cu aceleași date este asigurată doar de funcționalitatea sistemului de operare pentru accesul simultan la un fișier de către mai multe aplicații. În mod similar, este oferit accesul la datele aflate în bazele de date ale celor mai comune formate ale altor SGBD, cum ar fi, de exemplu, bazele de date SGBD FoxPro, dBASE. În acest caz, accesul poate fi asigurat fie direct de nucleul DBMS, fie prin special Drivere suplimentare ISAM (Indexed Sequential Access Method), care sunt de obicei incluse în pachetul DBMS. Legarea obiectelor este limitată doar la tabelele de date direct, excluzând alte obiecte de bază de date (interogări, formulare, rapoarte), a căror implementare și suport depind de specificul unui anumit SGBD. O problemă specifică cu tehnologiile de legare a obiectelor este apariția unor „lacune” în sistemele de protecție a datelor și de control al accesului. Apelurile către driverele ODBC pentru a implementa proceduri de acces la date pe lângă calea, numele fișierului și obiectele (tabelele) necesare, dacă bazele de date corespunzătoare sunt protejate, conțin parole de acces în text clar, drept urmare sistemul de control al accesului și de protecție a datelor pot fi analizate și dezvăluite.

2.4. Tehnologii de replicare a datelor

În multe cazuri, blocajul sistemelor distribuite bazate pe tehnologii Client-Server sau Object Data Binding este o performanță insuficientă din cauza necesității de a transfera cantități mari de date prin rețea. O alternativă sigură la construirea de sisteme distribuite de mare viteză este oferită de tehnologii de replicare a datelor . O replica este o copie speciala a unei baze de date care este plasata pe un alt computer din retea in scopul functionarii autonome a utilizatorilor cu aceleasi date publice (consistente). Ideea principală a replicării este că utilizatorii lucrează autonom cu aceleași date (comune), replicate în bazele de date locale, oferind performanțe maxime pentru instalațiile lor de calcul, ținând cont de absența necesității de a transfera și schimba date prin rețea. Replicarea (sau replicarea) este crearea de copii duplicate (replicate) ale obiectelor de date pe diferite noduri pentru a crește disponibilitatea și/sau a reduce timpul de acces la datele critice. Software-ul DBMS pentru implementarea acestei abordări este completat, în consecință, cu funcții de replicare (replicare) a bazelor de date, inclusiv replicarea atât a datelor în sine, cât și a structurii acestora, precum și catalogul de sistem cu informații despre plasarea replicilor, cu alte cuvinte, cu informații despre configuraţia sistemului distribuit astfel construit. În acest caz, însă, apar două probleme în asigurarea unuia dintre principiile fundamentale ale construcției și funcționării sistemelor distribuite (și anume, continuitatea stării consistente a datelor): asigurarea unei stări consistente în toate replicile cantității și valorilor ​a datelor comune; asigurarea unei stări consistente în toate replicile structurii de date. Asigurarea unei stări consistente a datelor partajate, la rândul său, se bazează pe implementarea unuia dintre două principii: principiul propagării continue a actualizărilor (orice actualizare a datelor din orice replică trebuie propagată imediat); principiul actualizărilor întârziate (actualizările replicilor pot fi amânate până la o comandă sau o situație specială). Principiul propagării continue a actualizărilor este fundamental atunci când se construiesc așa-numitele sisteme în timp real, cum ar fi, de exemplu, sistemele de control al traficului aerian, sistemele de rezervare a biletelor de transport de pasageri etc., unde corespondența continuă și exactă a replicilor sau a altor date replicate. este necesar în toate nodurile și componentele unor astfel de sisteme distribuite. Implementarea principiului propagării continue a actualizărilor este că orice tranzacție este considerată finalizată cu succes dacă este finalizată cu succes pe toate replicile sistemului. În practică, implementarea acestui principiu întâmpină dificultăți semnificative. Într-un număr de domenii ale sistemelor informatice distribuite, modul în timp real nu este necesar din punctul de vedere al continuității coordonării datelor. Astfel de sisteme automatizează acele structuri organizatorice și tehnologice în care procesele informaționale nu sunt atât de dinamice. În acest caz, actualizarea replicilor unui sistem informatic distribuit, dacă este construit pe tehnologia de replicare, este necesară, să zicem, o singură dată pentru fiecare oră de lucru sau pentru fiecare zi lucrătoare. Acest tip de sisteme informatice sunt construite pe principiul actualizărilor întârziate. Modificările de date acumulate în orice replică sunt trimise printr-o comandă specială de utilizator pentru a actualiza toate celelalte replici ale sistemelor. Această operație se numește sincronizare replica. Rezolvarea celei de-a doua probleme a consistenței datelor, și anume consistența structurii datelor, se realizează printr-o abatere parțială, ca în sistemele Client-Server, de la principiul absenței unei instalații centrale și se bazează pe replica master. tehnică, adică una dintre replicile bazei de date este declarată master. Cu toate acestea, puteți modifica structura bazei de date numai pe replica master. Aceste modificări ale structurii datelor sunt replicate pe baza principiului actualizărilor întârziate, de exemplu. prin sincronizarea specială a replicilor. O parte a abaterii de la principiul absenței unei instalații centrale este că, spre deosebire de sistemele pur centralizate, defecțiunea replicii principale nu implică imediat moartea întregului sistem distribuit, deoarece replicile rămase continuă să funcționeze autonom. Mai mult, în practică, SGBD-urile care suportă tehnologia de replicare permit unui utilizator cu anumite puteri (administratorul de sistem) să transforme orice replică într-una master și astfel să restabilească complet funcționalitatea întregului sistem. Tehnologii de replicare a datelor în aceste cazuri, când nu este necesar să se asigure fluxuri mari și intensitate de date actualizate în rețeaua informațională, reprezintă o soluție economică la problema creării sistemelor informaționale distribuite cu elemente de centralizare comparativ cu utilizarea unor sisteme costisitoare client-server.

În practică, pentru prelucrarea colectivă a datelor pe care le folosesc tehnologii mixte, inclusiv elemente de legare a datelor obiect, replicare și soluții client-server. Mai mult, pe lângă problemă design logic, adică proiectarea unei scheme logice de organizare a datelor (tabele, câmpuri, chei, relații, constrângeri de integritate), adaugă cel puțin problema complexa transportul și proiectarea tehnologică a fluxurilor de informații, controlul accesului etc. Din păcate, abordările teoretice, metodologice și instrumentale pentru automatizarea proiectării sistemelor informaționale distribuite ținând cont atât de factorii logici, cât și de infrastructura informațională și tehnologică a domeniului de studiu nu au fost încă realizate. dezvoltat. Cu toate acestea, dezvoltarea și distribuția din ce în ce mai răspândită a sistemelor informaționale distribuite, determinate de natura foarte distribuită a fluxurilor și tehnologiilor informaționale, reprezintă principala perspectivă pentru dezvoltarea sistemelor informatice automatizate.

3. INSTRUMENTE DE LUCRU CU DATE DISTRIBUITE

Atunci când alegeți un sistem de informații distribuite, în primul rând ar trebui să acordați atenție sistemelor de operare și protocoalelor de rețea pe care acesta le acceptă. Cu toate acestea, nu mai puțin important este ce metode de distribuție a datelor implementate în ea.

1) Fragmentarea și duplicarea

Una dintre modalitățile de distribuire a tabelelor este fragmentarea. Tabelul poate fi împărțit în părți care vor fi plasate în diferite noduri. O altă modalitate de a distribui datele este duplicarea (replicarea). Puteți crea duplicate ale întregii baze de date sau ale unor părți ale acesteia și să plasați aceste duplicate în noduri. Ambele metode vă permit să stocați datele exact pe nodul unde sunt utilizate cel mai frecvent. Acest lucru minimizează costul transmisiei de date prin rețea și reduce utilizarea procesoarelor și a altor resurse ale altor noduri. Cu această arhitectură a bazei de date a aplicației, transferul de date prin rețea se realizează destul de rar.

2) Dicționare și directoare de date

Odată ce datele sunt distribuite în diferite noduri de rețea, este important să găsiți și să utilizați aceste date. Pentru a găsi date și a le converti în formatul dorit, se folosesc dicționare și directoare de date globale. Dicționarul stochează informații despre date, utilizarea acestora, drepturile de acces la date și aplicații. Directoarele de date sunt folosite pentru a defini unde sunt stocate datele și cum să le recupereze. Dicționarele și directoarele pot fi globale sau locale

3) Fixarea în două faze a modificărilor

Metodele de distribuție a datelor sunt, desigur, foarte importante, dar inima SGBD-urilor moderne distribuite este protocolul de modificare în două faze. Acest protocol gestionează execuția tranzacțiilor care modifică datele mai multor noduri. Ideea principală a commitării în două faze este următoarea: este inacceptabil ca o tranzacție care modifică date în mai multe noduri să fie executată în unele noduri și să nu fie executată în alte noduri. O tranzacție trebuie fie să reușească pe toate nodurile, fie să eșueze pe orice nod.

4) Asigurarea integritatii

O caracteristică importantă a unui IS distribuit este modul în care menține integritatea referențială între datele din tabelul principal și datele din tabelele asociate acestuia. Să ne uităm la un exemplu de integritate referenţială. Să presupunem că există trei tabele într-o bază de date distribuită:

Un tabel care conține informații despre copiii angajaților;

Un tabel care conține informații despre salariile angajaților pe an;

Un tabel care conține informații despre subiectele completate de angajat.

Toate aceste tabele conțin o coloană „Numele angajatului”. Regulile pentru asigurarea integrității referențiale impun ca atunci când valorile coloanei „Numele complet al angajatului” sunt modificate într-un tabel, valorile acestei coloane în alte tabele să fie ajustate automat. Pentru a asigura integritatea referenţială, sunt utilizate 2 metode diferite - declanşatoare şi constrângeri de integritate declarativă ale standardului ANSI.

3.1. BAZELE DE DATE DISTRIBUITE

Principii de baza

Bazele de date distribuite (RDB) sunt un set de baze de date interconectate logic distribuite într-o rețea de calculatoare.

RDB constă dintr-un set de noduri conectate retea de comunicatii, în care:

a) fiecare nod este un SGBD cu drepturi depline în sine;

b) nodurile interacționează între ele în așa fel încât un utilizator al oricăruia dintre ele să poată accesa orice date din rețea ca și cum ar fi pe propriul nod.

Fiecare nod este în sine un sistem de bază de date. Orice utilizator poate efectua operații asupra datelor de pe nodul său local în același mod ca și când acest nod nu ar fi deloc parte din sistemul distribuit. Un sistem de baze de date distribuite poate fi gândit ca un parteneriat între SGBD-uri locale separate pe noduri locale separate.

Principiul fundamental al creării bazelor de date distribuite („regula 0”): Pentru utilizator, un sistem distribuit ar trebui să arate la fel ca un sistem nedistribuit.

Un principiu fundamental presupune anumite reguli sau scopuri suplimentare. Există doar douăsprezece astfel de obiective:

1.Independența locală. Nodurile dintr-un sistem distribuit trebuie să fie independente sau autonome. Independența locală înseamnă că toate operațiunile pe un nod sunt controlate de acel nod.

2. Lipsa sprijinului pentru unitatea centrală. Independența locală implică faptul că toate nodurile dintr-un sistem distribuit trebuie tratate ca fiind egale. Prin urmare, nu ar trebui să existe apeluri către nodul „central” sau „master” pentru a obține un serviciu centralizat.

3. Funcționare continuă. Sistemele distribuite ar trebui să ofere un grad mai ridicat de fiabilitate și disponibilitate.

4. Locație independentă. Utilizatorii nu ar trebui să știe unde exact sunt stocate fizic datele și ar trebui să se comporte ca și cum toate datele ar fi fost stocate pe propriul nod local.

5. Independent de fragmentare. Un sistem acceptă independența de fragmentare dacă o anumită variabilă de relație poate fi împărțită în părți sau fragmente atunci când își organizează stocarea fizică. În acest caz, datele pot fi stocate în locul unde sunt utilizate cel mai des, ceea ce permite localizarea majorității operațiunilor și reducerea traficului de rețea.

6.Independent de replicare. Un sistem acceptă replicarea datelor dacă o anumită variabilă de relație stocată - sau, în general, un fragment dat dintr-o anumită variabilă de relație stocată - poate fi reprezentată prin mai multe copii sau replici separate care sunt stocate pe mai multe noduri separate.

7.Procesarea cererilor distribuite.

Ideea este că o solicitare poate avea nevoie să contacteze mai multe noduri. Într-un astfel de sistem, pot exista multe modalități posibile de a transmite date pentru a satisface cererea în cauză.

8.Gestionarea tranzacțiilor distribuite.

Există 2 aspecte principale ale managementului tranzacțiilor: managementul recuperării și managementul concurenței. În ceea ce privește managementul recuperării, pentru a asigura atomicitatea unei tranzacții într-un mediu distribuit, sistemul trebuie să se asigure că întregul set de agenți legați de o anumită tranzacție (un agent este un proces care rulează pentru o anumită tranzacție pe un nod separat) fie și-a angajat rezultatele, fie a efectuat un rollback. În ceea ce privește controlul concurenței, în majoritatea sistemelor distribuite se bazează pe un mecanism de blocare, la fel ca în sistemele nedistribuite.

9.Independenta hardware.

Este de dorit să fie capabil să ruleze același DBMS pe platforme hardware diferite și, în plus, să se asigure că diferite mașini participă la operarea unui sistem distribuit ca parteneri egali.

10.Independență față de sistemul de operare.

Abilitatea de a opera DBMS sub diferite sisteme de operare.

11.Independența rețelei.

Capacitatea de a suporta multe noduri fundamental diferite, care diferă în hardware și sisteme de operare, precum și un număr de tipuri diferite de rețele de comunicații.

12.Independența față de tipul de SGBD.

Este necesar ca instanțele SGBD de pe noduri diferite să suporte aceeași interfață și nu este deloc necesar ca acestea să fie copii ale aceleiași versiuni a SGBD.

Sarcina principală a sistemelor de management al bazelor de date distribuite este de a oferi un mijloc de integrare a bazelor de date locale situate în unele noduri ale unei rețele de calculatoare, astfel încât un utilizator care lucrează în orice nod al rețelei să aibă acces la toate aceste baze de date ca o singură bază de date..

3.2. Tipuri de baze de date distribuite

Sunt posibile baze de date distribuite omogene și eterogene. Într-un caz omogen, fiecare bază de date locală este gestionată de același SGBD. Într-un sistem eterogen, bazele de date locale pot chiar să aparțină unor modele de date diferite.

Pe lângă tipurile de baze de date distribuite de mai sus, se pot distinge următoarele:

1) Baze de date distribuite

2) Multibaze de date cu o schemă globală. Un sistem Multidatabase este un sistem distribuit care servește ca interfață externă pentru accesul la mai multe SGBD-uri locale sau este structurat la nivel global peste SGBD-uri locale.

3) Baze de date federate. Spre deosebire de multibaze, acestea nu au o schemă globală la care accesează toate aplicațiile. Sprijinit în schimb circuit local import-export de date. Fiecare nod menține o schemă globală parțială care descrie informațiile din acele surse la distanță ale căror date sunt necesare pentru funcționare.

4) Multibaze cu un limbaj de acces comun - medii de management distribuite cu tehnologie client-server

5) Sistemele interoperabile sunt sisteme în care aplicațiile în sine, executate în mediul unui anumit SGBD, sunt responsabile de interfețele dintre diferite medii de aplicație, indiferent dacă acestea sunt omogene sau eterogene. Sistemele se concentrează în primul rând pe schimbul de date. O dezvoltare ulterioară a acestor sisteme este bazele de date orientate pe obiecte.

3.3. Scopul și principiul de funcționare a unei baze de date distribuite

Atunci când o întreprindere are sucursale la distanță, este nevoie de sincronizarea datelor între acestea și sediul principal. Desigur, orice modificări referitoare la sucursale ar trebui să fie reflectate în baza de date principală a întreprinderii. O astfel de sincronizare poate fi realizată folosind mecanisme de baze de date distribuite.

La sediul principal sunt create imagini inițiale ale bazei de date (pentru fiecare sucursală - propria imagine) și transferate în filiale, de unde sunt descărcate. În același timp, sunt specificate setări de schimb în funcție de care se va produce sincronizarea între fiecare dintre bazele de date periferice (slave) și baza de date principală.

Structura întreprinderii poate fi astfel încât sucursalele subordonate sediului principal să aibă propriile unități la distanță. Apoi sunt supuși unei proceduri similare cu cea care a fost efectuată la înființarea ramurilor subordonate direct bazei principale.

Astfel, putem rezuma că conexiunile de tip arbore sunt formate într-o bază de date distribuită. De exemplu, într-o întreprindere, două sucursale sunt subordonate biroului principal, iar prima sucursală are două divizii la distanță, iar a doua are trei divizii. Se pare că baza principală este subordonată a două baze periferice. Prima bază periferică, la rândul ei, este subordonată altor două baze, iar a doua bază periferică este subordonată a trei. Conexiunile dintr-o astfel de bază de date distribuită sunt prezentate în Fig. 1.

Fig.1.

Cum funcționează baza de date

Nodul 1 este nodul rădăcină pentru întreaga bază de date distribuită și nodul principal pentru al doilea și al treilea nod subordonat acestuia. Al doilea nod este nodul principal pentru al patrulea și al cincilea nod subordonat acestuia. Al treilea nod va fi cel principal pentru al șaselea, al șaptelea și al optulea nod subordonat acestuia.

Orice nod al bazei de date distribuite (DDB) „vede” numai nodurile conectate direct la el. Face schimb de date cu astfel de noduri.

Efectuarea de modificări la datele de bază de informații este posibilă în orice nod al URDB, iar modificările de date sunt transmise între orice nod conectat. În diagramă, direcțiile de-a lungul cărora sunt transmise modificările de date sunt indicate prin săgeți verzi (folosindu-le, de la orice nod al URDB într-un anumit număr de pași puteți ajunge la orice alt nod, rezultă că atunci când se fac modificări la datele oricărui nod, aceste modificări vor fi transferate treptat către toate celelalte) .

Modificarea configurației bazei de informații este posibilă doar într-un singur nod (rădăcină) al URDB, iar modificările de configurare sunt transmise de la nodul master la nodurile slave. În diagramă, direcțiile de-a lungul cărora sunt transmise modificările de configurare sunt indicate prin săgeți roșii.

Acum să ne uităm la modul în care datele sunt schimbate între nodurile URDB. Când se fac modificări la datele din baza de date, programul își amintește ce a fost modificat și cum. Pentru orice nod, o dată într-o anumită perioadă de timp, se începe procesarea (manual sau automat), care generează mesaje speciale, în care format XML afișează informații despre dacă au existat modificări (dacă au fost, ce) și le trimite către anumite directoare din rețeaua locală sau prin FTP sau către anumite adrese de e-mail. Procesarea verifică, de asemenea, dacă mesajele similare de la alte noduri conectate direct la acest nod și adresate acestuia au apărut în acest director sau casetă de e-mail. Dacă apar, va descărca mesaje și, prin urmare, modificări ale datelor. Infrastructura mesajelor acceptă numerotarea mesajelor și vă permite să primiți confirmarea de la nodul destinatar că mesajele au fost primite. O astfel de confirmare este cuprinsă în fiecare mesaj care vine de la nodul receptor sub forma numărului ultimului mesaj primit.

Dacă nodul receptor nu a descărcat încă un mesaj din directorul de schimb, nodul sursă nu va încărca, cu atât mai puțin va crea, un fișier de mesaj în directorul de schimb pentru acest nod. Se înțelege că, după o descărcare cu succes, fișierul este șters din directorul de schimb. Acest lucru vă permite să nu efectuați operațiuni inutile în timpul schimbului și să nu încărcați din nou canalul.

Când se modifică configurația bazei de date, informațiile despre modificări sunt distribuite în mesaje de schimb împreună cu modificările datelor.

Schimbul de date între bazele de date se realizează după cum urmează:

1) În baza de date sursă, sistemul determină o listă de obiecte modificate pentru timpul care a trecut de la sesiunea anterioară de încărcare a datelor.

2) Utilizând această listă, sistemul generează un pachet XML, care este transmis bazei de date receptoare.

Pentru a genera un pachet, sistemul accesează obiectele de bază de date modificate. Când este contactat, sistemul blochează aceste obiecte.

3) Pachetul XML este transmis către baza de date destinatară.

În baza de date receptoare, pachetul XML este extins și modificările conținute în acesta sunt făcute în baza de date.

Toate modificările sunt scrise într-o singură tranzacție și toate obiectele modificate sunt blocate.

4. EXEMPLE DE SISTEME DISTRIBUITE

Astăzi, aproape toți cei mai mari producători de sisteme de gestionare a bazelor de date oferă soluții în domeniul managementului resurselor distribuite. Cu toate acestea, toate aceste soluții susțin limitat funcţii pentru construirea sistemelor distribuite eterogene.

Dintre numeroasele prototipuri și sisteme de cercetare, trebuie menționate SDD-1 , creat la sfârșitul anilor 70 - începutul anilor 80 în departamentul de cercetare al Computer Corporation of America; sistem R*, care este o versiune distribuită a System R și a fost creată la începutul anilor 80 de IBM; precum și sistemul Distribuit INGRES, care este o versiune distribuită a sistemului INGRES și a fost creată și la începutul anilor 80 la Universitatea din California din Berkeley.

În ceea ce privește produsele comerciale, majoritatea sistemelor relaționale de astăzi includ tipuri diferite suport pentru utilizarea bazelor de date distribuite cu diferite grade de funcționalitate. Dintre astfel de sisteme, cel mai cunoscut este sistemul INGRES/STAR Divizia Ingres a The ASK Group Inc., sistem ORACOL Oracle Corporation, precum și modul de lucru distribuit sisteme IBM DB2.

Astăzi, multe companii de dezvoltare DBMS susțin că susțin lucrul cu baze de date distribuite, dar la o examinare mai atentă, în majoritatea cazurilor, aceste afirmații se dovedesc a fi oarecum exagerate. Experții DBMS consideră că doar câteva pachete DBMS oferă un anumit grad de implementare a bazei de date distribuite.

Să subliniem următoarea definiție a unei baze de date distribuite: " O bază de date distribuită este un set de baze de date fizice care apar utilizatorului ca o singură bază de date logică.” Din păcate, astăzi niciun SGBD nu implementează pe deplin această definiție. Următoarele SGBD-uri se apropie cel mai mult de implementarea sa:

- Informix On-Line de la Informix Software;

- Baza de date inteligentă IngrescompaniilorIngres Corp;

- Oracle (versiunea 7)companiilorOracle Corp;

- Sybase System 10companiilorSybase Inc.

Deși niciunul dintre aceste 4 SGBD-uri nu implementează în totalitate toate funcțiile unui SGBD distribuit, fiecare dintre ele implementează sau va implementa în curând suport pentru lucrul cu o bază de date distribuită.

Cel mai complet funcțiile unui SGBD distribuit sunt implementate în Ingres și Oracle DBMS. Să ne uităm pe scurt la capacitățile acestor pachete.

Ingres DBMS rulează pe o varietate de platforme UNIX, DEC VMS, Hewlett-Packard MPE, DOS, Microsoft Windows 3.1, OS/2, platforme Macintosh. De asemenea, funcționează cu multe protocoale de rețea, inclusiv Open System Interconnection Transport Class 4. Ingres are instrumente pentru accesarea datelor DB2, Rdb, Allbase. Principalele funcții ale unui SGBD distribuit sunt furnizate de componenta suplimentară Ingres/Star. Acceptă optimizarea interogărilor distribuite, vă permite să citiți și să actualizați date de la diferite noduri în cadrul unei singure tranzacții și oferă posibilitatea de a șterge înregistrările simultan în mai multe noduri.

DBMS Informix-Online conceput pentru mediul UNIX, dar poate rula și sub Novell. Informix-Online are un optimizator de interogări și implementează aceleași funcții pentru lucrul cu o bază de date distribuită ca și Ingres, cu toate acestea, Informix are cerințe mai stricte pentru resursele computerului, în special necesită mai multă RAM.

SGBD Sistemul 10 Sybase este în prezent în curs de dezvoltare. Ar trebui să funcționeze pe platformele UNIX, pe platformele OS/2, Windows NT, NetWare. System 10 va funcționa cu mai multe protocoale de rețea și va suporta comunicarea cu DB2, Oracle 7, Informix-Online, Rdb. Sistemul 10 va avea un optimizator de interogări distribuit care va permite citirea și actualizarea datelor pe mai multe noduri. Funcțiile pentru lucrul cu o bază de date distribuită vor fi implementate folosind componenta suplimentară Replication Server.

Versiunea 7 a SGBD Oracle implementează multe funcții pentru lucrul cu o bază de date distribuită. Printre acestea, ar trebui să evidențiem un optimizator de interogări distribuit și un instrument pentru citirea și actualizarea datelor de la mai multe noduri în cadrul unei singure tranzacții. Oracle v 7 rulează pe peste 80 de platforme de calcul, acceptă majoritatea protocoalelor de rețea comerciale existente și poate face schimb de date cu DB2, SQL/DS, Tandem Computers, NonStop SQL, Rdb, HP TurboImage. Sunt în curs de dezvoltare gateway-uri pentru alte 18 DBMS.

În Oracle DBMS Dicționarul de date este stocat în același mod ca și alte date, astfel încât tabelele sale pot fi distribuite între nodurile rețelei. Toate operațiunile cu o bază de date distribuită sunt „transparente” pentru utilizatori și dezvoltatori. În domeniul actualizării distribuite a bazelor de date, Oracle și-a depășit toți concurenții. Utilizatorii Oracle pot folosi componenta SQL*Net pentru a lucra cu datele în mod transparent (nu neapărat Date Oracle), situate pe diferite tipuri de calculatoare și în diferite noduri de rețea. Un mijloc de înaltă performanță de actualizare „transparentă” a unei baze de date distribuite este implementat pe baza unui protocol original în două faze pentru repararea modificărilor.

Toate cele 4 SGBD-uri revizuite acceptă autonomia nodului local. Aceasta înseamnă că DBA poate trata baza de date locală a unui anumit nod ca o bază de date în sine. Toate SGBD-urile acceptă standardul de limbaj ANSI SQL - ANSI SQL-89 și o extensie a acestui standard. Interogările către baza de date sunt formulate în limbaj SQL. Pe lângă limbajul SQL non-procedural, Oracle acceptă propriul limbaj procedural PL/SQL, iar Sybase acceptă limbajul Transact-SQL.

Toate cele 4 SGBD-uri oferă un mecanism transparent pentru interogarea, actualizarea și vizualizarea datelor pe mai multe noduri. S-a remarcat deja că toate cele 4 SGBD-uri pot face schimb de date cu alte SGBD. Cu toate acestea, numai protocolul de comitere în două faze al Oracle 7 permite actualizări distribuite ale datelor în diferite SGBD-uri. Problema este că protocoalele în două faze pentru efectuarea modificărilor de la diferite SGBD-uri sunt slab compatibile între ele.

Toate cele 4 pachete asigură blocarea datelor locale și globale. Cu toate acestea, implementează această blocare la diferite niveluri. Astfel, Oracle implementează blocarea la nivel de înregistrare în mod implicit, în timp ce alte SGBD-uri implementează blocarea la nivel de pagină sau tabel. Mecanismul de blocare vă permite să preveniți modificări ale datelor care sunt în prezent controlate de alți utilizatori. Acest lucru asigură integritatea și consistența datelor. Blocarea la nivel de înregistrare permite ca înregistrările adiacente ale aceluiași tabel să fie actualizate simultan. Acest lucru reduce drastic latența, accelerează procesarea datelor și reduce probabilitatea blocajelor.

Toți dezvoltatorii DBMS distribuiti intenționează să susțină Arhitectura de baze de date relaționale distribuite IBM în viitor. Adevărat, deși IBM a anunțat de mult începutul lucrărilor de implementare a acestei arhitecturi, aceasta încă nu este finalizată. Acest lucru se datorează, evident, complexității foarte mari de implementare a arhitecturii declarate.

Organizarea unei baze de date distribuite este necesară pentru companiile care desfășoară diverse tipuri de activități dacă în activitatea lor zilnică este nevoie să rezolve următoarele probleme:

Necesitate primire promptă informații din bazele de date ale unităților (sau sucursalelor) situate la distanță;

Necesitatea consolidării într-o singură bază de date a informațiilor din bazele de date ale persoanelor juridice incluse în structura societății, pentru analiza ulterioară a datelor și obținerea de rapoarte dintr-o singură bază de date, atât pentru societate în ansamblu, cât și pentru fiecare persoană juridică separat;

Necesitatea introducerii unei modificări centralizate în structura și regulile de funcționare a bazei de date pentru funcționarea tuturor unităților (sucursalelor) și a persoanelor juridice aflate la distanță (cu imposibilitatea modificării anumitor reguli direct într-o unitate la distanță);

Necesitatea de a limita și controla modificările de date în diviziile aflate la distanță ale companiei (sucursale).

Sarcina principală a sistemelor de management al bazelor de date distribuite este de a oferi un mijloc de integrare a bazelor de date locale situate în unele noduri ale unei rețele de calculatoare, astfel încât un utilizator care lucrează în orice nod al rețelei să aibă acces la toate aceste baze de date ca o singură bază de date.

Astfel, sistemele informatice distribuite sunt parte integrantă a unui sistem informatic modern. În același timp, trebuie asigurate următoarele: ușurința în utilizare a sistemului; posibilitatea de funcționare autonomă în caz de întreruperi ale conectivității rețelei sau nevoi administrative; grad ridicat de eficienta.

Bibliografie

1. Baze de date distribuite. Wikipedia.

8. Connolly, T., Begg, K. Baze de date. Proiectare, implementare și suport. Teorie și practică. Ediția a III-a: Trad. din engleza - M.: Editura „William”, 2003. – 433 p.

INTRODUCERE 4

1. CONCEPTUL DE DISTRIBUIT ESTE 6

1.1. Condiții preliminare pentru crearea IS distribuită 6

1.2. Conceptul de sisteme informatice distribuite 8

1.3. Instrumente pentru lucrul cu date distribuite 11

2. BAZE DE DATE DISTRIBUITE 13

2.1. Principii de bază 13

2.2 Tipuri de baze de date distribuite 15

2.3. Scopul și principiul de funcționare a unei baze de date distribuite 16

3. EXEMPLE DE SISTEME DISTRIBUITE 21

CONCLUZIA 25

LITERATURA 26


INTRODUCERE

Relevanța acestui subiect al eseului constă în faptul că procesele de globalizare și integrare a informațiilor au loc în economia mondială. Au afectat și țara noastră, care, datorită amplasării geografice și dimensiunii sale, este nevoită să utilizeze sisteme informatice distribuite (IS). Sistemele de informații distribuite asigură lucrul cu date situate pe diferite servere, diferite platforme hardware și software și stocate în diferite formate. Acestea sunt ușor de extins, pe baza standardelor și protocoalelor deschise, asigură integrarea resurselor lor cu alte sisteme informaționale și oferă utilizatorilor interfețe simple.

Există o cantitate imensă de informații și resurse de calcul gata de utilizat în lume. Au fost create în momente diferite și au fost folosite abordări diferite pentru a le dezvolta. Aproape întotdeauna, atunci când dezvoltați un nou sistem de informații, puteți găsi componente gata făcute care sunt potrivite pentru funcțiile lor. Problema este că atunci când au fost create nu au fost luate în considerare cerințele de incompatibilitate. Aceste componente nu se înțeleg, nu pot lucra împreună. Este de dorit să existe un mecanism sau un set de mecanisme care să facă interoperabile astfel de informații și resurse de calcul dezvoltate independent.

Această lucrare examinează informațiile de bază despre un sistem informațional distribuit: descrie condițiile preliminare pentru dezvoltarea acestuia, mijloacele de lucru cu date, introduce conceptul de bază de date distribuită, precum și tipurile și principiile de bază ale acesteia. Al treilea capitol prezintă exemple de sisteme informatice distribuite, cum ar fi: - Informix On-Line de la Informix Software - Ingres Intelligent Database de la Ingres Corp - Oracle (versiunea 7) de la Oracle Corp;

Scopul studiului este de a studia fundamentele teoretice ale sistemelor informatice distribuite, precum și de a dezvolta cunoștințe despre principiile funcționării acestuia.

Această distribuție a datelor permite, de exemplu, stocarea într-un nod de rețea a datelor care sunt cele mai des folosite în acest nod. Această abordare face mai ușor și mai rapid lucrul cu aceste date și oferă posibilitatea de a lucra cu restul datelor din baza de date.


1.CONCEPTUL DE DISTRIBUIT ESTE

1.1. Condiții preliminare pentru crearea sistemelor informaționale distribuite

Încă de la începutul dezvoltării tehnologiei informatice, au apărut două direcții principale de utilizare a acesteia. Prima direcție este utilizarea tehnologiei computerizate pentru a efectua calcule numerice care durează prea mult sau sunt imposibil de efectuat manual. Apariția acestei direcții a contribuit la intensificarea metodelor de rezolvare numerică a problemelor matematice complexe, la dezvoltarea unei clase de limbaje de programare axate pe înregistrarea convenabilă a algoritmilor numerici și la stabilirea feedback-ului de la dezvoltatorii de noi arhitecturi computerizate.

A doua direcție este utilizarea tehnologiei informatice în sistemele informatice automate sau automatizate. De obicei, volumele de informații cu care se confruntă astfel de sisteme sunt destul de mari, iar informațiile în sine au o structură destul de complexă. Una dintre cerințele naturale pentru astfel de sisteme este viteza medie a operațiunilor și siguranța informațiilor.

Dar, deoarece sistemele informaționale necesită structuri complexe de date, aceste controale individuale suplimentare ale datelor au fost o parte esențială a sistemelor informaționale și au fost practic repetate de la un sistem la altul. Dorința de a identifica și generaliza partea generală a sistemelor informaționale responsabile cu gestionarea datelor structurate complex a fost, aparent, primul motiv motivant pentru crearea diferitelor sisteme de management.

Foarte curând a devenit clar că era imposibil să te descurci cu o bibliotecă comună de programe care implementau metode mai complexe de stocare a datelor pe lângă sistemul standard de fișiere de bază, de exemplu, stocarea informațiilor în mai multe fișiere. Astfel, toate acestea au contribuit la crearea sistemelor informatice distribuite.

De fapt, dacă un sistem informațional acceptă stocarea consecventă a informațiilor în mai multe fișiere, se poate spune că suportă o bază de date. Dacă un sistem auxiliar de gestionare a datelor vă permite să lucrați cu mai multe fișiere, asigurând consistența acestora, îl puteți numi un sistem de gestionare a bazelor de date. Simpla cerință de a menține consistența datelor în mai multe fișiere nu permite o bibliotecă de funcții: un astfel de sistem trebuie să aibă unele dintre propriile date (metadate) și chiar cunoștințe care determină integritatea datelor.

Există o cantitate imensă de informații și resurse de calcul gata de utilizat în lume. Au fost create în momente diferite și au fost folosite abordări diferite pentru a le dezvolta. Aproape întotdeauna, atunci când dezvoltați un nou sistem de informații, puteți găsi componente gata făcute care sunt potrivite pentru funcțiile lor.


1.2. Conceptul de sisteme informatice distribuite

De obicei, un sistem în care funcționează mai mult de un server de baze de date este considerat distribuit. Acesta este folosit pentru a reduce sarcina de pe server și pentru a asigura funcționarea departamentelor aflate la distanță geografică. Complexitatea variabilă a creării, modificării, întreținerii și integrării cu alte sisteme face posibilă împărțirea sistemelor informaționale în clase de sisteme distribuite mici, medii și mari. Sistemele informatice mici au un ciclu de viață scurt (ciclu de viață), orientare spre utilizare în masă, preț scăzut, imposibilitate de modificare fără participarea dezvoltatorilor, folosind în principal sisteme desktop de gestionare a bazelor de date (DBMS), hardware și software omogene, care nu au securitate. Caracteristici. Sistemele de informații corporative mari, sistemele la nivel federal și altele au un ciclu de viață lung, migrarea sistemelor moștenite, diversitatea hardware și software, amploarea și complexitatea sarcinilor care sunt rezolvate, intersecția multor domenii, procesarea datelor analitice și distribuţia teritorială a componentelor.

Funcțiile unor astfel de sisteme informatice includ, în primul rând, lucrul cu date distribuite situate pe diferite servere fizice, diferite platforme hardware și software și stocate în diferite formate interne. În acest caz, sistemul trebuie să ofere informații complete despre el însuși și despre toate resursele sale, să fie ușor de extins, să se bazeze pe standarde și protocoale deschise și să ofere capacitatea de a-și integra resursele cu resursele altor sisteme informaționale. Pentru utilizatori, sistemul ar trebui să ofere diferite niveluri de privilegii de utilizator și să ofere interfețe simple pentru a accesa informații.

Datele din sisteme eterogene sunt de obicei combinate în grupuri logice cărora li se adresează interogările. Un sistem de interogare abstract presupune că sistemul operează nu cu o sintaxă de interogare specifică, ci cu esența sa logică bazată pe atribute abstracte.
La construirea sistemelor informatice distribuite, de regulă, se folosesc două arhitecturi de bază: Client/server și Intranet Internet.
Enterprise IS construit pe o arhitectură client/server oferă clienților o gamă largă de aplicații și instrumente de dezvoltare care se concentrează pe maximizarea capacităților de calcul ale stațiilor de lucru client. Resursele serverului sunt folosite în principal pentru stocarea și schimbul de documente, precum și pentru accesarea mediului extern. Această arhitectură vă permite să protejați mai bine partea de server a aplicațiilor, permițând aplicațiilor fie să se adreseze direct altor aplicații server, fie să direcționeze cererile către acestea. Cu toate acestea, apelurile frecvente ale clientului către server reduc performanța rețelei. Problemele de securitate ale rețelei trebuie rezolvate deoarece aplicațiile și datele sunt distribuite între mai mulți clienți. Natura distribuită a construcției sistemului face dificilă configurarea și întreținerea

Sistemul de informare bazat pe Internet Intranet se bazează pe principiul „arhitecturii deschise”. Software-ul IS este implementat sub formă de applet-uri sau servlet-uri (programe în limbaj JAVA) sau sub formă de module cgi (programe în Perl sau C). IP-ul acestei arhitecturi include Web-yinh\, implementat folosind tehnologii CORBA Enterprise JavaBeans, ActiveX 1X"OM, aplicații multi-level bazate pe Java și XML, conceptul .Net cu XML, în care schimbul între diverse servere (depozite de date, business). aplicații, servere pentru clienți mobili etc.) este produsă folosind XML, neutru pentru orice arhitectură.

O bază de informații distribuite înseamnă un număr nelimitat de baze de date care sunt îndepărtate unele de altele și au o serie de caracteristici comune:

Funcționează după reguli uniforme definite central pentru toate bazele de date incluse în baza de informații distribuite;

Schimbul de date se realizează conform regulilor definite și central.

Necesitatea consolidării într-o singură bază de date a informațiilor din bazele de date ale persoanelor juridice incluse în structura societății, pentru analiza ulterioară a datelor și obținerea de rapoarte dintr-o singură bază de date, atât pentru societate în ansamblu, cât și pentru fiecare persoană juridică separat;

Necesitatea de a limita și controla modificările de date în diviziile aflate la distanță ale companiei (sucursale).


1.3. Instrumente pentru lucrul cu date distribuite

Atunci când alegeți un IS distribuit, trebuie mai întâi să acordați atenție sistemelor de operare și protocoalelor de rețea pe care le acceptă. Cu toate acestea, nu mai puțin important este ce metode de distribuție a datelor sunt implementate în acesta.

1) Fragmentarea și duplicarea

Una dintre modalitățile de distribuire a tabelelor este fragmentarea. Tabelul poate fi împărțit în părți care vor fi plasate în diferite noduri. O altă modalitate de a distribui datele este duplicarea (replicarea). Puteți crea duplicate ale întregii baze de date sau ale unor părți ale acesteia și să plasați aceste duplicate în noduri. Ambele metode vă permit să stocați datele exact pe nodul unde sunt utilizate cel mai frecvent. Acest lucru minimizează costul transmisiei de date prin rețea și reduce utilizarea procesoarelor și a altor resurse ale altor noduri. Cu această arhitectură a bazei de date a aplicației, transferul de date prin rețea se realizează destul de rar.

2) Dicționare și directoare de date

Odată ce datele sunt distribuite în diferite noduri de rețea, este important să găsiți și să utilizați aceste date. Pentru a găsi date și a le converti în formatul dorit, se folosesc dicționare și directoare de date globale. Dicționarul stochează informații despre date, utilizarea acestora, drepturile de acces la date și aplicații. Directoarele de date sunt folosite pentru a defini unde sunt stocate datele și cum să le recupereze. Dicționarele și directoarele pot fi globale sau locale

3) Fixarea în două faze a modificărilor

Metodele de distribuție a datelor sunt, desigur, foarte importante, dar inima SGBD-urilor moderne distribuite este protocolul de modificare în două faze. Acest protocol gestionează execuția tranzacțiilor care modifică datele mai multor noduri. Ideea principală a commitării în două faze este următoarea: este inacceptabil ca o tranzacție care modifică date în mai multe noduri să fie executată în unele noduri și să nu fie executată în alte noduri. O tranzacție trebuie fie să reușească pe toate nodurile, fie să eșueze pe orice nod.

4) Asigurarea integritatii

O caracteristică importantă a unui IS distribuit este modul în care menține integritatea referențială între datele din tabelul principal și datele din tabelele asociate acestuia. Să ne uităm la un exemplu de integritate referenţială. Să presupunem că există trei tabele într-o bază de date distribuită:

Un tabel care conține informații despre copiii angajaților;

Un tabel care conține informații despre salariile angajaților pe an;

Un tabel care conține informații despre subiectele completate de angajat.

Toate aceste tabele conțin o coloană „Numele angajatului”. Regulile pentru asigurarea integrității referențiale impun ca atunci când valorile coloanei „Numele complet al angajatului” sunt modificate într-un tabel, valorile acestei coloane în alte tabele să fie ajustate automat. Pentru a asigura integritatea referenţială, sunt utilizate 2 metode diferite - declanşatoare şi constrângeri de integritate declarativă ale standardului ANSI.


2. BAZE DE DATE DISTRIBUITE

2.1. Principii de baza

Bazele de date distribuite (RDB) sunt un set de baze de date interconectate logic distribuite într-o rețea de calculatoare.

RDB constă dintr-un set de noduri conectate printr-o rețea de comunicații în care:

a) fiecare nod este un SGBD cu drepturi depline în sine;

b) nodurile interacționează între ele în așa fel încât un utilizator al oricăruia dintre ele să poată accesa orice date din rețea ca și cum ar fi pe propriul nod.

Fiecare nod este în sine un sistem de bază de date. Orice utilizator poate efectua operații asupra datelor de pe nodul său local în același mod ca și când acest nod nu ar fi deloc parte din sistemul distribuit. Un sistem de baze de date distribuite poate fi gândit ca un parteneriat între SGBD-uri locale separate pe noduri locale separate.

Principiul fundamental pentru crearea bazelor de date distribuite („Regula 0”): Pentru utilizator, un sistem distribuit ar trebui să arate la fel ca un sistem nedistribuit.

Un principiu fundamental presupune anumite reguli sau scopuri suplimentare. Există doar douăsprezece astfel de obiective:

1.Independența locală. Nodurile dintr-un sistem distribuit trebuie să fie independente sau autonome. Independența locală înseamnă că toate operațiunile pe un nod sunt controlate de acel nod.

2. Lipsa sprijinului pentru unitatea centrală. Independența locală implică faptul că toate nodurile dintr-un sistem distribuit trebuie tratate ca fiind egale. Prin urmare, nu ar trebui să existe apeluri către nodul „central” sau „master” pentru a obține un serviciu centralizat.

3.Funcționare continuă. Sistemele distribuite ar trebui să ofere un grad mai ridicat de fiabilitate și disponibilitate.

4.Independența locației. Utilizatorii nu ar trebui să știe unde exact sunt stocate fizic datele și ar trebui să se comporte ca și cum toate datele ar fi fost stocate pe propriul nod local.

5.Independența față de fragmentare. Un sistem acceptă independența de fragmentare dacă o anumită variabilă de relație poate fi împărțită în părți sau fragmente atunci când își organizează stocarea fizică. În acest caz, datele pot fi stocate în locul unde sunt utilizate cel mai des, ceea ce permite localizarea majorității operațiunilor și reducerea traficului de rețea.

6.Independența față de replicare. Un sistem acceptă replicarea datelor dacă o anumită variabilă de relație stocată - sau, în general, un fragment dat dintr-o anumită variabilă de relație stocată - poate fi reprezentată prin mai multe copii sau replici separate care sunt stocate pe mai multe noduri separate.

7.Procesarea cererilor distribuite. Ideea este că o solicitare poate avea nevoie să contacteze mai multe noduri. Într-un astfel de sistem, pot exista multe modalități posibile de a transmite date pentru a satisface cererea în cauză.

8.Managementul tranzacțiilor distribuite. Există 2 aspecte principale ale managementului tranzacțiilor: managementul recuperării și managementul concurenței. În ceea ce privește managementul recuperării, pentru a asigura atomicitatea unei tranzacții într-un mediu distribuit, sistemul trebuie să se asigure că întregul set de agenți legați de o anumită tranzacție (un agent este un proces care rulează pentru o anumită tranzacție pe un nod separat) fie și-a angajat rezultatele, fie a efectuat un rollback. În ceea ce privește controlul concurenței, în majoritatea sistemelor distribuite se bazează pe un mecanism de blocare, la fel ca în sistemele nedistribuite.

9.Independența hardware. Este de dorit să fie capabil să ruleze același DBMS pe platforme hardware diferite și, în plus, să se asigure că diferite mașini participă la operarea unui sistem distribuit ca parteneri egali.

10.Independență față de sistemul de operare. Abilitatea de a opera DBMS sub diferite sisteme de operare.

11.Independența față de rețea. Capacitatea de a suporta multe noduri fundamental diferite, care diferă în hardware și sisteme de operare, precum și un număr de tipuri diferite de rețele de comunicații.

12.Independența față de tipul de SGBD. Este necesar ca instanțele SGBD de pe noduri diferite să suporte aceeași interfață și nu este deloc necesar ca acestea să fie copii ale aceleiași versiuni a SGBD.


2.2. Tipuri de baze de date distribuite

Sunt posibile baze de date distribuite omogene și eterogene. Într-un caz omogen, fiecare bază de date locală este gestionată de același SGBD. Într-un sistem eterogen, bazele de date locale pot chiar să aparțină unor modele de date diferite.

Pe lângă tipurile de baze de date distribuite de mai sus, se pot distinge următoarele:

1) Baze de date distribuite

2) Multibaze de date cu o schemă globală. Un sistem Multidatabase este un sistem distribuit care servește ca interfață externă pentru accesul la mai multe SGBD-uri locale sau este structurat la nivel global peste SGBD-uri locale.

3) Baze de date federate. Spre deosebire de multibaze, acestea nu au o schemă globală la care accesează toate aplicațiile. În schimb, este acceptată o schemă locală de import-export de date. Fiecare nod menține o schemă globală parțială care descrie informațiile din acele surse la distanță ale căror date sunt necesare pentru funcționare.

4) Multibaze cu un limbaj de acces comun - medii de management distribuite cu tehnologie client-server

5) Sistemele interoperabile sunt sisteme în care aplicațiile în sine, executate în mediul unui anumit SGBD, sunt responsabile de interfețele dintre diferite medii de aplicație, indiferent dacă acestea sunt omogene sau eterogene. Sistemele se concentrează în primul rând pe schimbul de date. O dezvoltare ulterioară a acestor sisteme este bazele de date orientate pe obiecte.


2.3. Scopul și principiul de funcționare a unei baze de date distribuite

Atunci când o întreprindere are sucursale la distanță, este nevoie de sincronizarea datelor între acestea și sediul principal. Desigur, orice modificări referitoare la sucursale ar trebui să fie reflectate în baza de date principală a întreprinderii. O astfel de sincronizare poate fi realizată folosind mecanisme de baze de date distribuite.

La sediul principal sunt create imagini inițiale ale bazei de date (pentru fiecare sucursală - propria imagine) și transferate în filiale, de unde sunt descărcate. În același timp, sunt specificate setări de schimb în funcție de care se va produce sincronizarea între fiecare dintre bazele de date periferice (slave) și baza de date principală.

Structura întreprinderii poate fi astfel încât sucursalele subordonate sediului principal să aibă propriile unități la distanță. Apoi sunt supuși unei proceduri similare cu cea care a fost efectuată la înființarea ramurilor subordonate direct bazei principale.

Astfel, putem rezuma că conexiunile de tip arbore sunt formate într-o bază de date distribuită. De exemplu, într-o întreprindere, două sucursale sunt subordonate biroului principal, iar prima sucursală are două divizii la distanță, iar a doua are trei divizii. Se pare că baza principală este subordonată a două baze periferice. Prima bază periferică, la rândul ei, este subordonată altor două baze, iar a doua bază periferică este subordonată a trei. Conexiunile dintr-o astfel de bază de date distribuită sunt prezentate în Fig. 2.1.

Fig.2.1. Cum funcționează baza de date

Nodul 1 este nodul rădăcină pentru întreaga bază de date distribuită și nodul principal pentru al doilea și al treilea nod subordonat acestuia. Al doilea nod este nodul principal pentru al patrulea și al cincilea nod subordonat acestuia. Al treilea nod va fi cel principal pentru al șaselea, al șaptelea și al optulea nod subordonat acestuia.

Orice nod al bazei de date distribuite (DDB) „vede” numai nodurile conectate direct la el. Face schimb de date cu astfel de noduri.

Efectuarea de modificări la datele de bază de informații este posibilă în orice nod al URDB, iar modificările de date sunt transmise între orice nod conectat. În diagramă, direcțiile de-a lungul cărora sunt transmise modificările de date sunt indicate prin săgeți verzi (folosindu-le, de la orice nod al URDB într-un anumit număr de pași puteți ajunge la orice alt nod, rezultă că atunci când se fac modificări la datele oricărui nod, aceste modificări vor fi transferate treptat către toate celelalte) .

Modificarea configurației bazei de informații este posibilă doar într-un singur nod (rădăcină) al URDB, iar modificările de configurare sunt transmise de la nodul master la nodurile slave. În diagramă, direcțiile de-a lungul cărora sunt transmise modificările de configurare sunt indicate prin săgeți roșii.

Acum să ne uităm la modul în care datele sunt schimbate între nodurile URDB. Când se fac modificări la datele din baza de date, programul își amintește ce a fost modificat și cum. Pentru orice nod, o dată într-o anumită perioadă de timp, se lansează procesarea (manual sau automat), care generează mesaje speciale, care afișează informații în format XML despre dacă s-au făcut modificări (dacă da, care) și le trimite către anumite directoare prin intermediul rețelei locale, fie prin FTP, fie către anumite adrese de e-mail. Procesarea verifică, de asemenea, dacă mesajele similare de la alte noduri conectate direct la acest nod și adresate acestuia au apărut în acest director sau casetă de e-mail. Dacă apar, va descărca mesaje și, prin urmare, modificări ale datelor. Infrastructura mesajelor acceptă numerotarea mesajelor și vă permite să primiți confirmarea de la nodul destinatar că mesajele au fost primite. O astfel de confirmare este cuprinsă în fiecare mesaj care vine de la nodul receptor sub forma numărului ultimului mesaj primit.

Dacă nodul receptor nu a descărcat încă un mesaj din directorul de schimb, nodul sursă nu va încărca, cu atât mai puțin va crea, un fișier de mesaj în directorul de schimb pentru acest nod. Se înțelege că, după o descărcare cu succes, fișierul este șters din directorul de schimb. Acest lucru vă permite să nu efectuați operațiuni inutile în timpul schimbului și să nu încărcați din nou canalul.

Când se modifică configurația bazei de date, informațiile despre modificări sunt distribuite în mesaje de schimb împreună cu modificările datelor.

Schimbul de date între bazele de date se realizează după cum urmează:

1) În baza de date sursă, sistemul determină o listă de obiecte modificate pentru timpul care a trecut de la sesiunea anterioară de încărcare a datelor.

2) Utilizând această listă, sistemul generează un pachet XML, care este transmis bazei de date receptoare.

Pentru a genera un pachet, sistemul accesează obiectele de bază de date modificate. Când este contactat, sistemul blochează aceste obiecte.

3) Pachetul XML este transmis către baza de date destinatară.

În baza de date receptoare, pachetul XML este extins și modificările conținute în acesta sunt făcute în baza de date.

Toate modificările sunt scrise într-o singură tranzacție și toate obiectele modificate sunt blocate.


3. EXEMPLE DE SISTEME DISTRIBUITE

Astăzi, aproape toți cei mai mari producători de sisteme de gestionare a bazelor de date oferă soluții în domeniul managementului resurselor distribuite. Cu toate acestea, toate aceste soluții susțin limitat funcţii pentru construirea sistemelor distribuite eterogene.

Dintre numeroasele prototipuri și sisteme de cercetare, trebuie menționate SDD-1, creat la sfârșitul anilor 70 - începutul anilor 80 în departamentul de cercetare al Computer Corporation of America; sistem R*, care este o versiune distribuită a System R și a fost creată la începutul anilor 80 de IBM; precum și sistemul Distribuit INGRES, care este o versiune distribuită a sistemului INGRES și a fost creată și la începutul anilor 80 la Universitatea din California din Berkeley.

În ceea ce privește produsele comerciale, majoritatea sistemelor relaționale oferă astăzi diverse tipuri de suport pentru utilizarea bazelor de date distribuite cu diferite grade de funcționalitate. Dintre astfel de sisteme, cel mai cunoscut este sistemul INGRES/STAR Divizia Ingres a Grupului ASK Inc., Sistemul ORACLE Oracle Corporation, precum și modul de lucru distribuit sisteme IBM DB2.

Astăzi, multe companii de dezvoltare DBMS susțin că susțin lucrul cu baze de date distribuite, dar la o examinare mai atentă, în majoritatea cazurilor, aceste afirmații se dovedesc a fi oarecum exagerate. Experții DBMS consideră că doar câteva pachete DBMS oferă un anumit grad de implementare a bazei de date distribuite.

Lucrarea oferă următoarea definiție a unei baze de date distribuite: „O bază de date distribuită este un set de baze de date fizice care apar utilizatorului ca o singură bază de date logică”. Din păcate, astăzi niciun SGBD nu implementează pe deplin această definiție. Următoarele SGBD-uri se apropie cel mai mult de implementarea sa:

Informix On-Line de la Informix Software;

Baza de date inteligentă Ingres de la Ingres Corp;

Oracle (versiunea 7) de la Oracle Corp;

Sybase System 10 de la Sybase Inc.

Deși niciunul dintre aceste 4 SGBD-uri nu implementează în totalitate toate funcțiile unui SGBD distribuit, fiecare dintre ele implementează sau va implementa în curând suport pentru lucrul cu o bază de date distribuită.

Funcțiile unui SGBD distribuit sunt cel mai complet implementate în SGBD-urile Ingres și Oracle. Să ne uităm pe scurt la capacitățile acestor pachete.

SGBD-ul Ingres rulează pe o varietate de platforme UNIX, DEC VMS, Hewlett-Packard MPE, DOS, Microsoft Windows 3.1, OS/2, Macintosh. De asemenea, funcționează cu multe protocoale de rețea, inclusiv Open System Interconnection Transport Class 4. Ingres are instrumente pentru accesarea datelor DB2, Rdb, Allbase. Principalele funcții ale unui SGBD distribuit sunt furnizate de componenta suplimentară Ingres/Star. Acceptă optimizarea interogărilor distribuite, vă permite să citiți și să actualizați date de la diferite noduri în cadrul unei singure tranzacții și oferă posibilitatea de a șterge înregistrările simultan în mai multe noduri.

SGBD-ul Informix-Online este proiectat pentru mediul UNIX, dar poate rula și sub Novell. Informix-Online are un optimizator de interogări și implementează aceleași funcții pentru lucrul cu o bază de date distribuită ca și Ingres, cu toate acestea, Informix are cerințe mai stricte pentru resursele computerului, în special necesită mai multă RAM.

Sistemul DBMS Sybase 10 este în prezent în curs de dezvoltare. Ar trebui să funcționeze pe platformele UNIX, pe platformele OS/2, Windows NT, NetWare. System 10 va funcționa cu mai multe protocoale de rețea și va suporta comunicarea cu DB2, Oracle 7, Informix-Online, Rdb. Sistemul 10 va avea un optimizator de interogări distribuit care va permite citirea și actualizarea datelor pe mai multe noduri. Funcțiile pentru lucrul cu o bază de date distribuită vor fi implementate folosind componenta suplimentară Replication Server.

Versiunea 7 a SGBD Oracle implementează multe funcții pentru lucrul cu o bază de date distribuită. Printre acestea, ar trebui să evidențiem un optimizator de interogări distribuit și un instrument pentru citirea și actualizarea datelor de la mai multe noduri în cadrul unei singure tranzacții. Oracle v 7 rulează pe peste 80 de platforme de calcul, acceptă majoritatea protocoalelor de rețea comerciale existente și poate face schimb de date cu DB2, SQL/DS, Tandem Computers, NonStop SQL, Rdb, HP TurboImage. Sunt în curs de dezvoltare gateway-uri pentru alte 18 DBMS.

În Oracle, dicționarul de date este stocat în același mod ca și alte date, astfel încât tabelele sale pot fi distribuite între nodurile rețelei. Toate operațiunile cu o bază de date distribuită sunt „transparente” pentru utilizatori și dezvoltatori. În domeniul actualizării distribuite a bazelor de date, Oracle și-a depășit toți concurenții. Utilizatorii Oracle pot folosi componenta SQL*Net pentru a lucra transparent cu date (nu neapărat date Oracle) situate pe diferite tipuri de computere și în diferite noduri de rețea. Un mijloc de înaltă performanță de actualizare „transparentă” a unei baze de date distribuite este implementat pe baza unui protocol original în două faze pentru repararea modificărilor.

Toate cele 4 SGBD considerate suportă autonomia locală a nodurilor. Aceasta înseamnă că DBA poate trata baza de date locală a unui anumit nod ca o bază de date în sine. Toate SGBD-urile acceptă standardul de limbaj ANSI SQL - ANSI SQL-89 și o extensie a acestui standard. Interogările către baza de date sunt formulate în limbaj SQL. Pe lângă limbajul SQL non-procedural, Oracle acceptă propriul limbaj procedural PL/SQL, iar Sybase acceptă limbajul Transact-SQL.

Toate cele 4 SGBD-uri oferă un mecanism transparent pentru interogarea, actualizarea și vizualizarea datelor pe mai multe noduri. S-a remarcat deja că toate cele 4 SGBD-uri pot face schimb de date cu alte SGBD. Cu toate acestea, numai protocolul de comitere în două faze al Oracle 7 permite actualizări distribuite ale datelor în diferite SGBD-uri. Problema este că protocoalele în două faze pentru efectuarea modificărilor de la diferite SGBD-uri sunt slab compatibile între ele.

Toate cele 4 pachete asigură blocarea datelor locale și globale. Cu toate acestea, implementează această blocare la diferite niveluri. Astfel, Oracle implementează blocarea la nivel de înregistrare în mod implicit, în timp ce alte SGBD-uri implementează blocarea la nivel de pagină sau tabel. Mecanismul de blocare vă permite să preveniți modificări ale datelor care sunt în prezent controlate de alți utilizatori. Acest lucru asigură integritatea și consistența datelor. Blocarea la nivel de înregistrare permite ca înregistrările adiacente ale aceluiași tabel să fie actualizate simultan. Acest lucru reduce drastic latența, accelerează procesarea datelor și reduce probabilitatea blocajelor.

Toți dezvoltatorii DBMS distribuiti intenționează să susțină Arhitectura de baze de date relaționale distribuite IBM în viitor. Adevărat, deși IBM a anunțat de mult începutul lucrărilor de implementare a acestei arhitecturi, aceasta încă nu este finalizată. Acest lucru se datorează, evident, complexității foarte mari de implementare a arhitecturii declarate.


CONCLUZIE

Organizarea unei baze de date distribuite este necesară pentru companiile care desfășoară diverse tipuri de activități dacă în activitatea lor zilnică este nevoie să rezolve următoarele probleme:

Necesitatea de a obține rapid informații din bazele de date ale unităților (sau sucursalelor aflate la distanță);

Necesitatea consolidării într-o singură bază de date a informațiilor din bazele de date ale persoanelor juridice incluse în structura societății, pentru analiza ulterioară a datelor și obținerea de rapoarte dintr-o singură bază de date, atât pentru societate în ansamblu, cât și pentru fiecare persoană juridică separat;

Necesitatea introducerii unei modificări centralizate în structura și regulile de funcționare a bazei de date pentru funcționarea tuturor unităților (sucursalelor) și a persoanelor juridice aflate la distanță (cu imposibilitatea modificării anumitor reguli direct într-o unitate la distanță);

Necesitatea de a limita și controla modificările de date în diviziile aflate la distanță ale companiei (sucursale).

Sarcina principală a sistemelor de management al bazelor de date distribuite este de a oferi un mijloc de integrare a bazelor de date locale situate în unele noduri ale unei rețele de calculatoare, astfel încât un utilizator care lucrează în orice nod al rețelei să aibă acces la toate aceste baze de date ca o singură bază de date.

Astfel, sistemele informatice distribuite sunt parte integrantă a unui sistem informatic modern. În același timp, trebuie asigurate următoarele: ușurința în utilizare a sistemului; posibilitatea de funcționare autonomă în caz de întreruperi ale conectivității rețelei sau nevoi administrative; grad ridicat de eficienta.


LITERATURĂ

1. Cum se organizează o bază de informații distribuite?

http://www.intelis-it.ru/services/automation_act/information-systems.html

2. Baze de date distribuite. Wikipedia.

http://ru.wikipedia.org/wiki/distributed_db

3. Boyko V.V., Savinkov V.M. Proiectarea bazelor de date sisteme informatice. – Ed. a II-a. – M.: Finanțe și Statistică, 1989. – 350 p.

4. Data K. J. Introducere în sistemele de baze de date: Trad. din engleza – Ed. a VI-a. – Kiev: Dialectică, 1998. – 784 p.

5. Sisteme informatice distribuite si baze de date. Gleb Ladyzhensky

http://articles.org.ru/cfaq/index.php?qid=1306&catid=54

6. . Sisteme informatice distribuite la nivel global

http://www.ci.ru/inform4_97/astr1.htm

7. Proiectarea structurii unei baze de date distribuite.

http://www.integro.ru/projects/gis/quest_1.htm

8. Connolly, T., Begg, K. Baze de date. Proiectare, implementare și suport. Teorie și practică. Ediția a III-a: Trad. din engleza - M.: Editura „William”, 2003. – 433 p.

http://www.lcard.ru/~nail/database/osbd/glava_~3.htm

10. Tehnologii de baze de date distribuite

http://rema.44.ru//resurs/study/dblab/dblab.html.

SPbSUT im. prof. -Bruevici

INFORMAȚII DISTRIBUITE

SISTEME

(MANUAL ELECTRONIC)

Sankt Petersburg, 2008

Prefaţă

Secțiunea 1. Rețele și sisteme informaționale

1.1. Concepte de bază ale teoriei sistemelor și rețelelor informaționale

1.2. Model conceptual al unei rețele de informații

1.3. Organizarea proceselor de interconectare în rețelele informaționale

1.4. Principii și funcții de organizare a interconectarii sistemelor deschise

1.5. Rețele locale de informații și calculatoare (LIVS)

1.5.1. Informații generale

1.5.2. Standarde de rețea locală

1.5.3. Arhitectura rețelelor locale de tip Ethernet

1.5.4. Exemplu de format Ethernet Frame

1.6. Tehnologii și arhitectura rețelelor wireless moderne

1.6.1. Clasificarea rețelelor de transmitere a informațiilor fără fir

1.6.2. Rețele personale fără fir (Home RF, Bluetooth, tehnologii ZigBee)

1.6.3. Rețele LAN fără fir (standarde IEEE 802.11 și DECT)

1.6.4. Rețele wireless din zona metropolitană (tehnologie WiMAX)

1.6.5. Rețele globale fără fir WWAN (IEEE 802.20, GSM, CDMA, tehnologii 3G)

1.7. Rețele de date backbone

1.7.1. Rețele X.25 cu comutare de pachete

1.7.2. Cadrul de rețea Relay (rețele Frame Relay)

1.7.3. Rețelele de bancomate

1.7.4. Tehnologia TCP/IP

1.7.5. Tehnologia Ethernet în rețelele de date backbone

Secțiunea 2. Protocoale fizice și de legătură de date în sistemele de informații distribuite

2.1. Strat fizic

2.1.1. Standarde de protocol nivel fizicîntre OOD și AKD

2.1.2. Asocierea AKD cu canalul de comunicare

2.2. Protocoale de strat de legătură

2.2.1. Protocoale orientate pe octeți

2.2.2. Protocoale orientate pe biți

2.2.3. Transmisie orientată spre conexiune și fără conexiune

2.2.4. Metode de creștere a fiabilității la nivel de legătură

2.2.5. Comprimarea datelor

Sectiunea 3. Modemuri pentru sisteme informatice distribuite

3.1. Modemuri pentru PSTN

3.1.1. Informații generale

3.1.2. Elemente modem pentru PSTN

3.1.3. Metode de amestecare

3.1.4. Metode de modulare

3.1.5. Protocoale de modulație din seria V

3.2. Modemuri digitale

3.2.1. Dispozitiv modem digital

3.2.2. Probleme de transmisie pe linii fizice

3.2.3. Modemuri pentru linii fizice

3.3. modemuri xDSL

3.4. Modemuri radio

3.4.1. Informații generale

3.4.2. Modemuri radio ale benzilor ISM

3.4.3. Modemuri radio de pachete

3.4.4. Format cadru AX.25

3.4.5. Implementarea fizică a modemurilor radio

3.5. Modemuri pentru rețele de fibră optică (FOCL)

3.6. Principii de construire a codurilor convoluționale

3.6.1. Metode de reprezentare a codurilor convoluționale

3.6.2. Algoritmul de decodare Viterbi

Secțiunea 4. Telecomunicații documentare

4.1. Dispoziții generale privind rețelele și serviciile de date

4.2. Servicii de transmisie de date. Calitatea serviciilor de PD furnizate

4.2.1. Transmitere de date prin rețeaua PSTN

4.2.2. Transmiterea datelor prin canale PM necomutate

4.2.3. Transmiterea datelor prin canale digitale ale rețelelor digitale cu servicii integrate (N-ISDN, B-ISDN)

4.2.4. Indicatori de calitate a serviciului în serviciile PD cu comutare de pachete folosind protocolul X.25

4.2.5. Indicatori de calitate a serviciului în serviciile PD cu frame relay folosind protocolul X.36

4.2.6. Indicatori de calitate a serviciului în serviciile de acces la date cu comutare de pachete folosind protocoale aparținând familiei IP

4.2.7. Indicatori de calitate a serviciilor în serviciile PD cu canale digitale necomutate

4.2.8. Unii indicatori de calitate PD pentru rețele de date nespecializate

4.3. Servicii si servicii telematice. Calitatea serviciilor telematice furnizate și cerințele pentru acestea

4.3.1. Servicii de fax

4.3.2. Serviciu de mesagerie prin e-mail

4.3.3. Servicii de teleconferință

4.3.4. Servicii de informare

Secțiunea 5. Tehnologii Internet

5.1. Informații generale despre internet

5.1.1. Structura generalizată a Internetului

5.1.2. Stiva de protocoale TCP/IP

5.1.3. Organizații responsabile pentru dezvoltarea Internetului și standardizarea instrumentelor Internet

5.1.4. Evaluare comparativă și domeniul de aplicare arhitecturi de rețea ISO și TCP/IP

5.2. Strat de aplicație. Exemple de servicii și protocoale

5.2.1. Serviciu FTP. protocol FTP

5.2.2. Serviciul WWW. Protocolul HTTP

5.2.3. Structura și protocoalele poștei electronice pe Internet

5. 3. Strat de transport. Protocoale TCP și UDP

5.4. Adresarea în rețele IP

5.4.1. Tipuri de adrese de stivă TCP/IP

5.4.2. Clasele de adrese IP

5.5. Stratul Internet și protocolul IP (Internet Protocol)

5.6. Principii și algoritmi de rutare a internetului

5.6.1. Problemă de rutare a internetului

5.6.2. Protocoale de rutare internă

5.6.3. Protocoale de rutare externe

Secțiunea 6. Resurse de informații distribuite

sisteme de informare

6.1. Bază de date

6.1.1. Concepte generale

6.1.3. Niveluri de prezentare a datelor

6.1.4. Modele de date

6.3. Sisteme de calcul distribuite

6.4. Arhitectura centrului de date

7.1. Model de bază și metodă client-server

7.2. Modificări ale modelului și metodei client-server

7.2.1. Model și metodă de accesare a datelor de la distanță

7.2.2. Modelul și metoda de server de bază de date

7.2.3. Modelul și metoda serverului de aplicații

7.3. Programele agent și modelul client-agent-server »

7.4. Caracteristici ale managementului în informațiile distribuite

sisteme

Prefaţă

Manualul electronic oferit atenției dumneavoastră acoperă o gamă largă de aspecte legate de construcția, exploatarea și utilizarea sistemelor informaționale distribuite.

Prima secțiune Manualul este dedicat problemelor de construire a rețelelor și sistemelor informaționale. Sunt luate în considerare problemele de organizare a informațiilor locale și a rețelelor de calculatoare și sunt date standarde. Se acordă multă atenție implementării rețelelor de transmitere a informațiilor fără fir; sunt luate în considerare standardele pentru rețelele fără fir, care în prezent s-au dovedit a fi cele mai promițătoare pentru implementarea rețelelor fără fir.

În a doua secțiune Sunt prezentate caracteristicile protocoalelor de nivel fizic și de legătură de date ale modelului de referință pe șapte niveluri al interacțiunii sistemelor deschise. Sunt luate în considerare exemple de interfețe terminale cele mai utilizate pe scară largă. De asemenea, sunt luate în considerare protocoalele de transfer de date la nivelul legăturii de date. O atenție deosebită este acordată metodelor de creștere a fiabilității și compresiei datelor.

ÎN a treia secțiune Manualul discută cele mai frecvent utilizate clase de modemuri pentru sistemele de informații distribuite. Se acordă suficientă atenție problemelor de atingere a ratelor de date ridicate cu modemuri moderne cu imunitatea necesară la zgomot.

În secțiunea a patra sunt dezvăluite cerințele documentelor de reglementare „Rețele și servicii de transmitere a datelor” și „Servicii telematice”. Sunt luate în considerare serviciile de transmitere a datelor și serviciile telematice, precum și calitatea serviciilor pe care le furnizează.

În secțiunea a cincea sunt luate în considerare principiile construirii unui sistem global de infocomunicații distribuite, care este implementat pe Internet. Sunt descrise unele servicii și protocoale la nivel de aplicație. Este dezvăluită organizarea funcționării protocoalelor la nivel de transport și rețea. Problemele de rutare a internetului sunt reflectate.

În secțiunea a șasea sunt analizate metode de stocare, organizare și prezentare a informațiilor în baze de date, sunt luate în considerare sistemele de calcul distribuite și este dezvăluită arhitectura unui centru de procesare a datelor.

Secțiunea a șaptea este dedicat modelelor și metodelor de management în sistemele informaționale.

Manualul se adresează studenților care își propun să dobândească cunoștințe despre modul în care sunt organizate și funcționează rețelele și sistemele informaționale moderne, ce resurse informaționale stau la baza sistemelor informatice distribuite, pe care mediile de comunicare se bazeaza sistemele informatice.

Cartea poate fi utilă cercetătorilor și oamenilor de știință specializați în domeniul tehnologiilor informației și comunicațiilor, precum și celor care tocmai stăpânesc acest domeniu.


Structura cursului. Prelegeri Sisteme distribuite: sarcini, terminologie, principii de operare. Arhitectura client-server. Sarcini tipice. Domenii de utilizare. Un exemplu de sistem informatic (o aplicație tipică într-o arhitectură client-server). Arhitectură cu mai multe niveluri. Domenii de utilizare. Scurtă recenzie tehnologii moderne. XML, CGI/JSP, Servlet-uri, DCOM, CORBA, RMI (.NET). Selectarea straturilor într-o arhitectură cu mai multe niveluri (arhitectură tipică). Clienți „subțiri” și „groși”. Server de aplicații. Server de baze de date. Migrarea obiectelor (probleme de distribuție a sarcinii de calcul). Implementarea sistemului. Bazele CORBA. CORBA și OOP. Limbajul de definire a interfeței IDL. Maparea IDL la C++. Maparea IDL la Java. ORB. Interacțiune dinamică între clienți și servere. Servicii de denumire CORBA. Un exemplu de sistem informatic implementat într-o arhitectură cu mai multe niveluri.


Structura cursului. Practică Lucrări de laborator 1 Sistem de service carduri de reducere Instrumente necesare: server - Oracle (MSSQL Server 2000 sp3), client - Java (jdk, VisualCafe, MS J++,...) Lucrări de laborator 2 WMS (Warehouse Management System) Client slab(Web, portabil, Telefon celular, …). Server de aplicații. Interacțiunea dintre client și serverul de aplicații. Server logic de afaceri. Probleme de distribuție a sarcinii de calcul. Asigurarea toleranței la erori. Instrumente necesare: server - Oracle (MSSQL Server 2000 sp3), Aplicație/logica de afaceri - Java (jdk, VisualCafe, MS J++,...)










Sisteme distribuite: Definiții Un sistem distribuit este o colecție de noduri independente (calculatoare) care apar utilizatorului ca un singur computer. un sistem distribuit este o colecție de calculatoare independente conectate printr-o rețea cu software care asigură funcționarea lor în comun.


Consecințele... Fără oră globală – Transmiterea asincronă a mesajelor - – Precizie limitată a sincronizării ceasului Fără stare a sistemului – Nu există un singur proces într-un sistem distribuit care să cunoască starea globală actuală a sistemului Consecința paralelismului și a mecanismului de transfer de date


Consecințe... Eșecuri – Procesele se execută în mod autonom, izolat – Eșecurile proceselor individuale pot rămâne nedetectate – Procesele individuale pot să nu fie conștiente de o defecțiune la nivel de sistem – Eșecurile apar mai des decât într-un sistem centralizat – Noi cauze ale defecțiunilor (care au făcut nu există în sistemele monolitice) – Eșecurile rețelei izolează procesele și fragmentează sistemul


Principiile separării Separarea funcțională: nodurile îndeplinesc diferite sarcini – Client/server – Gazdă/Terminal – Colectarea datelor/prelucrarea datelor Soluție - crearea de servicii partajate Separare naturală (definită de sarcină) – Sistem de servicii în lanț de supermarketuri – Rețea pentru sprijinirea muncii în echipă


Principii de partiționare Partajarea/echilibrarea sarcinii: Atribuirea sarcinilor procesoarelor pentru a optimiza încărcarea generală a sistemului. Amplificarea puterii: diferite noduri lucrează la aceeași sarcină – Sistemele distribuite care conțin un set de microprocesoare se pot apropia de puterea unui supercomputer – 10000 CPU, fiecare 50 MIPS, împreună MIPS -> se execută o comandă în nsec -> cursa luminii 0,6 mm - > orice cip existent - mai mult! comanda se execută în 0,002 nsec -> parcurge lumina 0,6 mm -> orice cip existent - mai mult!">


Principiile separării Separarea fizică: sistemul este construit pe presupunerea că nodurile sunt separate fizic (cerințe de fiabilitate, toleranță la erori). Economic: un set de cipuri ieftine poate oferi cea mai buna performanta raport preț/performanță decât mainframe - Mainframe: de 10 ori mai rapid, de 1000 de ori mai scump














Partajarea resurselor Partajarea resurselor este adesea unul dintre motivele dezvoltării unui sistem distribuit – Reduce costurile (servere de fișiere și de imprimare) – Partajează datele între utilizatori ( colaborare pe proiect) Servicii – Gestionează un set de resurse – Furnizează servicii utilizatorilor


Partajarea resurselor Serverul este utilizat pentru a furniza servicii – Primește solicitări de servicii de la clienți operațiune de apel – Primește mesaj/răspuns la mesaj implementare completă - apel la distanță – Rolurile clientului și serverului se schimbă de la apel la apel același proces poate fi atât client, cât și server – Terminologia Client/Server se aplică proceselor, nu nodurilor!!!




Distribuția aplicației Fragmentarea – împărțirea aplicației în module pentru distribuție Configurare – Conectarea modulelor între ele (dependențe) Plasarea – descărcarea modulelor pe sistemul țintă – Distribuirea modulelor de calcul între noduri (statice sau dinamice)






Heterogeneity Middleware: strat de middleware – permite nodurilor eterogene să comunice – Definește un model de calcul omogen – Suportă unul sau mai multe limbaje de programare – Oferă suport pentru aplicații distribuite Apelarea obiectelor la distanță Apelarea SQL la distanță Procesarea tranzacțiilor distribuite Exemple: CORBA, Java RMI, Microsoft DCOM


Eterogeneitate Cod mobil: cod conceput pentru a migra între noduri – Necesitatea depășirii diferențelor hardware (seturi de instrucțiuni diferite) Mașini virtuale–Compilatorul „produce” bytecode pentru VM –VM este implementat pentru toate platformele hardware (Java) Metode de forță brută –Portăm codul la fiecare platformă...






Scenariul de securitate 1: Acces la rezultatele testelor prin NFS – De unde știm că utilizatorul este un profesor care are acces la date? –Scenariu de autorizare 2: Trimiterea unui număr Card de credit către un magazin online – Nimeni, cu excepția destinatarului, nu ar trebui să citească datele – Criptografie






Costul de scalabilitate resurse fizice– Crește odată cu creșterea numărului de utilizatori – Nu ar trebui să crească mai repede decât O(n), unde n = numărul de utilizatori Suprafața de performanță – Crește cu dimensiunea datelor (și numărul de utilizatori) – Timpul de căutare nu ar trebui să crească mai repede decât O(log n ), unde n = dimensiunea datelor










Paralelism Controlul concurenței – Fire multiple care accesează o resursă Programarea corectă a accesului în fire paralele (eliminarea excluderilor reciproce, tranzacții) – Sincronizare (semafore) Sigur, dar reduce performanța – Obiectele partajate (resurse) trebuie să funcționeze corect într-un mediu cu mai multe fire




Transparență Transparență acces: accesați resursele locale și de la distanță prin aceleași apeluri Transparența locației: accesați resursele indiferent de locația lor fizică Transparența concurenței: capacitatea mai multor procese de a lucra pe resurse în paralel fără a interfera unele cu altele Transparența replicare: capacitatea pentru mai multe instanțe din aceeași resursă folosită fără cunoștințe Caracteristici fizice replicare. Transparența în gestionarea erorilor: Protejează componentele software de defecțiunile care apar în alte componente software. Recuperare în caz de dezastru Transparența mobilității: Capacitatea de a muta o aplicație între platforme fără a o reproiecta Transparența performanței: Capacitatea de a configura sistemul pentru a crește performanța atunci când compoziția platformei de execuție se modifică Transparența scalabilității: Capacitatea de a crește performanța fără a modifica structura sistemului sistemul software și algoritmii utilizați






Rezultate Sistem distribuit: – Noduri autonome (dar conectate printr-un mediu de transmisie de date) – Interacțiune prin transmiterea mesajelor Multe exemple în care sunt necesare sisteme distribuite și trebuie să le puteți construi Sisteme distribuite există și trebuie să puteți dezvolta și susține lor













Sursă: Jurnalul „Perspective pentru știință și educație” Numărul nr. 6(12)/2014 http://cyberleninka.ru/article/n/problemy-raspredelennyh-sistem

adnotare

Articolul descrie caracteristicile sistemelor distribuite. Este dezvăluit conceptul de sistem distribuit și de sistem de informații distribuite.

Este dată o clasificare a sistemelor distribuite. În special, după tipul de resurse oferite: sisteme de calcul distribuite, sisteme informatice distribuite, fir semantic. După numărul de elemente din sistem: cluster, sistem distribuit nivel corporativ, sistem global.

Sunt descrise cerințele pentru sistemele distribuite: transparența unui sistem distribuit, transparența locației, transparența accesului, transparența paralelismului accesului, transparența scalabilității unui sistem distribuit, transparența replicării, deschiderea sistemului, securitatea, fiabilitatea PC-ului .

Articolul descrie probleme în crearea și operarea sistemelor distribuite, precum: probleme de administrare a sistemului, probleme de echilibrare a încărcăturii, probleme de recuperare a datelor în caz de erori, probleme de scalabilitate limitată (problema creșterii numărului de noduri de sistem, problema a capabilităților limitate ale serverului, problema rețelelor limitate de date, problema algoritmilor limitati de procesare a datelor), problema portabilității software.

Cuvinte cheie: calcul, sisteme distribuite, sisteme de calcul distribuite, sisteme informatice distribuite

Introducere

În societatea modernă, este nevoie de îmbunătățirea calității și a vitezei de procesare, în primul rând, „datele mari” și în al doilea rând, datele în sistemele distribuite. În acest sens, importanța sistemelor distribuite de stocare și procesare a datelor este în creștere ca mijloc de rezolvare a acestei probleme. Una dintre sarcinile principale ale oricărui sistem distribuit este de a analiza proprietățile datelor primite, care, din mai multe motive, nu pot fi evaluate pe un singur nod. Pentru a atinge obiectivul și a accelera timpul de procesare, este necesar în prima etapă să se trimită date către nodurile distribuite ale sistemului, iar în a doua să colecteze date de la nodurile distribuite și să agregați aceste date într-o vedere globală comună. Acest lucru este o provocare din cauza dinamicii frecvente întâlnite în aceste tipuri de probleme, care impun modificări foarte frecvente ale valorilor locale care afectează proprietățile globale globale ale întregii probleme. Crearea de sisteme distribuite eficiente și adaptative poate accelera semnificativ viteza de procesare a datelor. Pentru a lua în considerare această problemă, vom analiza problemele care apar în timpul proiectării și exploatării sistemelor distribuite.

Conceptul de sistem distribuit

În prezent, există un număr mare de definiții ale conceptului „sistem distribuit” în literatură. Cea mai completă definiție a fost propusă de AS Tanenbaum: „Un sistem distribuit (DS) este un set de computere independente care este perceput de utilizatorii săi ca un singur sistem secvenţial”. O altă definiție este propusă în lucrare: Sistemele distribuite sunt sisteme software și hardware în care execuția operațiilor (acțiuni, calcule) necesare asigurării funcționalității țintă a sistemului este distribuită (fizic sau logic) între diferiți executanți. În domeniul calculului, în studiul nostru, un PC va fi înțeles ca un sistem hardware și software creat pentru o aplicație practică specifică, a cărei funcționalitate este distribuită pe diverse noduri.

Sistemele distribuite pot fi clasificate după diverse criterii: după numărul de elemente din sistem, după nivelul de organizare al sistemelor distribuite, după tipul de resurse furnizate, precum și o serie de alte caracteristici. Pe baza tipului de resurse oferite, există:

  • sisteme de calcul distribuite (Computational Grid)
  • sisteme informatice distribuite (Data Grid)
  • Grilă semantică

Principala caracteristică a sistemelor de calcul (Computational Grid) este că puterea de calcul a întregului sistem este furnizată ca resursă principală. Principala direcție de dezvoltare a sistemelor de acest tip este creșterea puterii de calcul a sistemului prin creșterea numărului de noduri de calcul. Un exemplu de sisteme de calcul distribuite sunt clusterele.

Sistemele de informații distribuite (Data Grid) oferă resurse de calcul pentru procesare volume mari date pentru sarcini care nu necesită resurse de calcul mari. Grila semantică oferă nu numai putere de calcul individuală (baze de date, servicii), ci și un set de sisteme de calcul și sisteme de informații pentru fiecare domeniu specific.

Pe baza numărului de elemente din sistem, se disting sistemele distribuite: cluster, sistem distribuit la nivel corporativ, sistem global. Un sistem distribuit este un cluster dacă numărul total de elemente nu depășește câteva zeci. Un sistem distribuit la nivel de întreprindere conține deja sute și, în unele cazuri, mii de elemente. Un sistem global este un sistem distribuit cu mai mult de 1000 de elemente incluse în componența sa. Mai mult, de multe ori, elementele unor astfel de sisteme sunt distribuite global. Un exemplu de rețea globală distribuită este Internetul, unde câmpul de informații este resursa furnizată.

Cerințe de bază pentru sistemele distribuite

Principalele cerințe pentru sistemele distribuite sunt: ​​transparența, deschiderea sistemului, securitatea, scalabilitatea PC-ului, fiabilitatea. Să ne uităm la fiecare caracteristică mai detaliat.

Transparența unui sistem distribuit. Transparența, în general, este că sistemele distribuite ar trebui percepute de utilizatorii sistemului ca o entitate omogenă și nu ca un set de entități autonome care interacționează între ele. Proiectarea unui sistem distribuit este o sarcină complexă, iar menținerea transparenței necesare este o condiție necesară pentru funcționarea sistemului. Există diferite tipuri de transparență.

Transparența locației. În sistemele distribuite, transparența locației înseamnă că utilizatorul nu trebuie să știe unde se află resursele de care are nevoie. Fișierele pot fi mutate în diferite noduri ale unui sistem distribuit, de exemplu, dacă a avut loc o defecțiune pe un nod PC și datele au fost restaurate pe un alt nod PC, dar utilizatorul nu ar trebui să observe aceste mișcări. De exemplu, în sistemele de fișiere cu informații distribuite, utilizatorul ar trebui să vadă doar un singur spațiu de fișiere, în ciuda faptului că datele pot fi localizate fizic pe servere diferite.

Transparența accesului. În sistemele distribuite, principiul transparenței accesului joacă cel mai important rol. Transparența în acest caz se referă la asigurarea faptului că diferențele de acces sunt ascunse și că datele sunt disponibile.

Accesați transparența concurenței. Utilizatorii diferiți ai sistemelor distribuite trebuie să poată accesa date partajate în paralel. În acest caz, este necesar să se asigure partajarea paralelă a resurselor sistemului și, în consecință, să se asigure ascunderea faptului de partajare a resurselor.

Transparența reproducerii. Pentru a asigura siguranța datelor, în special pe sistemele de fișiere distribuite, este necesar să se asigure replicarea datelor. Utilizatorul nu trebuie să știe că există replicarea datelor. Pentru a ascunde acest factor, este necesar ca datele sau resursele furnizate să aibă aceleași nume.

Deschiderea sistemului. Spre deosebire de primele sisteme distribuite, care au fost în mod inerent limitate și închise, deoarece au fost create în primul rând în cadrul organizațiilor individuale și pentru a rezolva probleme specifice, sistemele moderne distribuite sunt create din ce în ce mai deschise. Aplicarea principiului deschiderii la sistemele distribuite a devenit posibilă datorită dezvoltării liniilor de date, a performanței crescute a procesorului și dezvoltării generale a tehnologiei informației. Deschiderea sistemelor distribuite înseamnă capacitatea de a interacționa cu alte sisteme deschise. Sisteme deschise trebuie să aibă următoarele caracteristici:

  • PC-urile trebuie să respecte interfețe clar definite
  • Sistemele incluse în RS trebuie să interacționeze cu ușurință între ele
  • Sistemele trebuie să asigure portabilitatea aplicațiilor.

Deschiderea sistemului se poate realiza folosind: limbaje de programare, platforme hardware, software.

Siguranță. Securitatea ocupă un loc special în sistemele moderne distribuite. Siguranța RS este, în general, o combinație de 3 factori:

  • Asigurarea confidentialitatii datelor si resurselor;
  • Asigurarea confidențialității accesului la resurse pentru mai mulți utilizatori;
  • Asigurarea integrității resurselor și datelor.

Necesitatea de a crea sisteme distribuite care să ofere securitatea necesară a datelor și a întregii structuri a PC-ului apare peste tot. Multe probleme de securitate pot fi rezolvate la nivelul nodurilor individuale ale PC-ului, de exemplu, prin instalarea de firewall-uri și software antivirus pe nodurile de sistem individuale, introducerea unei politici de autentificare a utilizatorilor și a altor metode. Dar, datorită arhitecturii majorității computerelor, această abordare nu este întotdeauna eficientă. Software-ul nu poate oferi întotdeauna confidențialitatea necesară a datelor într-un sistem distribuit. De exemplu, software-ul nu poate proteja întotdeauna pe deplin împotriva MIMT și Atacurile DDOS către o rețea distribuită. Adesea, metodele de protecție împotriva unor astfel de atacuri nu sunt întotdeauna acceptabile pentru nodurile rețelei de calculatoare. Un indicator important în organizarea protecției PC-ului este nivelul de disponibilitate a sistemului. Nivelul de disponibilitate al unui sistem distribuit este determinat nu numai de disponibilitatea resursei la momentul t, ci și de principiile organizării protecției PC-ului, deoarece majoritatea software, oferind protecție împotriva atacurilor care vizează refuzul serviciului. Multă atenție această problemă plătit de mulți producători de software antivirus.

Fiabilitatea RS. În legătură cu apariția unor noi metode și algoritmi care solicită resurse de calcul și, cel mai important, resurse de timp, nevoia de disponibilitate a sistemelor distribuite la momentul t devine extrem de relevantă. Principalul indicator care determină fiabilitatea întregului computer este toleranța la erori. Toleranța la erori este cea mai importantă proprietate a unui sistem de calcul, care constă în capacitatea de a continua acțiunile specificate de program după ce apare o defecțiune.

Probleme de operare a sistemelor distribuite

În ciuda tuturor avantajelor sistemelor distribuite în comparație cu sistemele centralizate tradiționale (RS oferă costuri de implementare semnificativ mai mici și ușurință de implementare), RS-urile au și o serie de dezavantaje semnificative. Principalele probleme ale sistemelor distribuite în comparație cu sistemele tradiționale sunt:

  • probleme de administrare a sistemului;
  • probleme de scalabilitate limitată a PC-ului;
  • probleme de portabilitate software.

Problemele de administrare a sistemului includ probleme: probleme de echilibrare a sarcinii pe nodurile de sistem; probleme cu recuperarea datelor în caz de erori. Fragmentarea resurselor în sistemele distribuite necesită crearea unor instrumente de administrare flexibile, personalizabile. Deoarece administrarea în sistemele distribuite global trebuie să apară automat, în administrarea sistemelor distribuite apar următoarele probleme principale:

  • echilibrarea sarcinii pe nodurile sistemului;
  • recuperarea datelor în caz de eroare;
  • colectarea statisticilor de la nodurile sistemului;
  • actualizarea automată a software-ului pe nodurile de sistem.

Merită să înțelegem că această listă este generală, adică. Pentru fiecare computer specific, pot apărea probleme care nu sunt descrise în această lucrare. Dar aceste probleme sunt cele mai frecvente în practică și merită o atenție specială la proiectarea unui PC. Ultimele două probleme sunt bine studiate și există multe instrumente software dezvoltate pe piața de software pentru sisteme distribuite care oferă atât colectarea de statistici, cât și actualizarea software-ului. De interes științific sunt metodele de echilibrare a sarcinii pe nodurile de sistem și metodele de recuperare a datelor în caz de erori. Datorită specificului RS, precum și eterogenității echipamentelor și arhitecturii RS, nu există o singură metodă de proiectare care să ofere o soluție la aceste probleme.

Probleme de echilibrare a sarcinii. O problemă importantă atunci când proiectați un PC este asigurarea unei echilibrări eficiente a sarcinii pe nodurile de sistem. O strategie de echilibrare a sarcinii aleasă corect are un impact decisiv asupra eficienței și vitezei generale a unui sistem distribuit. În prezent, există multe abordări pentru a rezolva această problemă.

În cazul general, se poate distinge o clasificare generalizată a metodelor de echilibrare a sarcinii nodurilor de calcul. Pe baza naturii distribuției sarcinii pe nodurile de calcul, ele disting: echilibrare dinamică (redistribuire); echilibrare statică.

Echilibrarea statică este adesea efectuată ca rezultat al unei analize a priori. La distribuirea resurselor între nodurile de calcul, modelul de sistem distribuit este analizat în vederea identificării cea mai buna strategie balansare. În acest caz, este necesar să se țină cont de structura PC-ului, precum și de configurația nodurilor de calcul. Principalul dezavantaj al acestei metode de echilibrare a sarcinii este necesitatea de a asocia noduri cu diferite configurații hardware cu complexitatea de calcul a sarcinii, ceea ce nu este întotdeauna posibil.

Echilibrarea dinamică a unui sistem distribuit constă în adaptarea sarcinii de pe nodurile unui sistem distribuit în timpul funcționării, ceea ce permite, la rândul său, o utilizare mai eficientă a resurselor rețelei. Necesitatea echilibrării dinamice apare atunci când nu este posibil să se asume inițial a priori sarcina totală a rețelei. Asemenea situații apar cel mai adesea, de exemplu, în probleme modelare matematică, când în timpul calculelor la fiecare iterație, complexitatea calculului crește și, în consecință, crește și timpul total de calcul. Echilibrarea dinamică permite, de asemenea, utilizarea unui software care va fi invariant arhitecturii sistemului distribuit.

Probleme cu recuperarea datelor în caz de erori. În timpul funcționării sistemelor distribuite, cea mai frecventă problemă care apare este urmărirea eșecurilor și recuperarea ulterioară a datelor. Această situație poate apărea, de exemplu, în timpul unei căderi de curent a unuia dintre nodurile PC. Recuperarea automată a datelor este o sarcină complexă care implică multe probleme. În timpul recuperării, este necesar să aflați natura erorii care a apărut, să o clasificați și să restaurați automat toate datele. În acest caz, trebuie păstrată nu numai întreaga integritate a datelor asociate, ci și disponibilitatea datelor rămase, deoarece recuperarea trebuie să aibă loc fără a bloca principalele resurse pentru citire-scriere, adică. sistemul distribuit trebuie să funcţioneze fără întrerupere. În prezent, există multe abordări pentru a rezolva această problemă. De exemplu, una dintre metodele de recuperare în sistemele de informații distribuite (DBMS distribuit) este utilizarea așa-numitului jurnal de tranzacții, care stochează toate informațiile despre toate modificările care au avut loc în baza de date. Dificultatea în acest caz constă în clasificarea corectă a erorilor și aplicarea corectă a metodelor de recuperare a datelor în modul automat.

Probleme de scalabilitate limitată. Scalabilitatea sistemelor distribuite este una dintre sarcinile principale la proiectarea unui PC. Sistemele distribuite au făcut posibilă evitarea principalului dezavantaj al sistemelor centralizate - extinderea limitată a puterii de calcul a sistemului. Există trei indicatori principali ai scalabilității sistemului:

  • scalabilitatea PC-ului în raport cu dimensiunea acestuia. Un sistem este considerat scalabil în raport cu dimensiunea sa dacă poate conecta cu ușurință noi noduri la el.
  • Scalabilitate geografică. Un sistem este considerat scalabil din punct de vedere geografic dacă este posibil să se conecteze noi noduri la rețeaua sa, fără a fi legat de o anumită zonă geografică (țară, oraș, centru de date etc.), adică noduri distribuite global.
  • Scalabilitate a managementului. Un sistem este considerat scalabil în ceea ce privește managementul resurselor dacă, pe măsură ce numărul total de noduri de sistem crește, administrarea sistemului nu devine mai complicată.

Când se rezolvă problema scalabilității sistemului, multe probleme trebuie rezolvate. Să evidențiem principalele probleme de scalabilitate a sistemelor distribuite.

Problema este creșterea numărului de noduri de sistem, ceea ce nu este întotdeauna posibil din cauza limitărilor serviciilor și algoritmilor, deoarece multe servicii sunt adesea configurate pentru a fi utilizate pe o anumită cantitate de echipamente, de exemplu, pentru a utiliza un singur server specific, o arhitectură specifică. Adică ne confruntăm cu problema centralizării atât a resurselor, cât și a serviciilor.

Problema este capabilitățile limitate ale serverului, care agregează datele colectate de la nodurile de sistem într-o vedere globală comună.

Problema rețelelor limitate de date. Deoarece, odată cu scalabilitatea geografică, nodurile unui sistem distribuit pot fi localizate în părți îndepărtate geografic ale lumii, atunci când proiectăm și operam un PC ne confruntăm cu probleme de fiabilitate a rețelelor de transmisie a datelor. La rate scăzute de transfer de date, fiabilitatea generală și performanța computerului pot scădea.

Problema algoritmilor limitati de prelucrare a datelor. Este necesar să se utilizeze metode și algoritmi pentru colectarea datelor de la nodurile de sistem care supraîncărcă minim rețeaua de comunicații.

Problemă de portabilitate software. Problema portabilității software este unul dintre factorii cheie limitativi în dezvoltarea și scalarea ulterioară a sistemelor distribuite. Problema portabilității este incapacitatea de a rula aplicația creată pe diferite arhitecturi. Dezvoltarea rapidă a arhitecturilor software, limbajelor de programare, precum și dezvoltarea generală a întregii industrii IT în ansamblu - toate acestea au dus la necesitatea creării de metodologii pentru portabilitatea codului software.

Problema portabilității software-ului este deosebit de acută în sistemele distribuite la nivel global, unde diferite echipamente eterogene cu sisteme de operare diferite sunt adesea folosite ca noduri. De exemplu, pentru a combina computere într-o rețea GRID de calcul globală, este necesar să scrieți o aplicație client pentru fiecare nod de calcul, ținând cont de specificul arhitecturii sale și al sistemului de operare instalat, ceea ce este o sarcină dificilă. Cerințe tot mai mari pentru o mobilitate sporită produse software, duce la necesitatea de a efectua cercetări în această direcție. Multe lucrări științifice publicate sunt dedicate problemelor de asigurare a software-ului multiplatform, care arată principalele abordări și metode care permit crearea de aplicații portabile.

Concluzie

Pe de o parte, sistemele distribuite sunt instrumente care permit rezolvarea unui număr mare de probleme complexe, dintre care majoritatea nu pot fi rezolvate prin alte metode. Sistemele distribuite elimină principalul dezavantaj al sistemelor centralizate - extinderea limitată a puterii de calcul. În același timp, analiza a scos la iveală o serie de probleme care necesită soluții.

Utilizarea limitată a sistemelor distribuite este complicată de utilizarea echipamentelor de la diferiți producători cu tipuri diferite arhitectură Datorită varietății largi de aspecte ale construirii sistemelor de calcul, precum și a varietății sistemelor de operare existente, există necesitatea de a crea metode pentru programarea adaptivă a distribuției firelor într-un sistem distribuit, care va accelera semnificativ viteza de procesare a datelor primite. solicitări de servicii și crește performanța generală a sistemului. Totuși, în general, există o tendință pozitivă de rezolvare a problemelor și trebuie presupus că în următorii ani va exista un salt tehnologic calitativ în această direcție.

LITERATURĂ

  1. Tsvetkov V. Ya., Lobanov A. A. Date mare ca Barieră Informațională // Cercetător European. 2014. Vol. (78). Nr. 7-1. p. 1237-1242.
  2. Martin D. Retele de calculatoareși prelucrare distribuită a datelor: Software, metode și arhitectură: [În 2 numere]: Trad. din engleza Vol. 1. Finanțe și Statistică, 1985.
  3. Tsvetkov V.Ya. Bază de date. Operarea sistemelor informatice cu baze de date distribuite. M.: MIIGAiK, 2009. 88 p.
  4. Shokin Yu.I. și altele distribuite de informații și sistem analitic pentru căutarea, prelucrarea și analiza datelor spațiale //. Tehnologii de calcul. 2007. T. 12. Nr. 3. p. 108-115.
  5. Tanenbaum A., Van Steen M. Sisteme distribuite. Pearson Prentice Hall, 2007.
  6. I.B. Burdonov, A.S. Kosachev, V.N. Ponomarenko, V.Z. Shnitman. Revizuirea abordărilor de verificare a sistemelor distribuite. M.: Academia Rusă de Științe. Institutul de Programare a Sistemelor (ISP RAS) 2003. 51 p.
  7. Vovchenko A.E., Kalinichenko L.A., Stupnikov S.A. Grilă semantică bazată pe conceptul de intermediari de subiecte. Institutul de Probleme de Informatică al Academiei Ruse de Științe. URL: http://83.149.245.107/synthesis/publications/10semgrid/10semgr id.pdf (accesat 20 septembrie 2014).
  8. Rodin A.V., Burtsev V.L. Sisteme de calcul paralele sau distribuite? // Lucrările Sesiunii Științifice a MEPhI-2006 T. 12 Informatică și procese de management. Sisteme informaticeși tehnologie. Cu. 149-151.
  9. George Coulouris, Jean Dollimore, Tim Kindberg, „Distributed Systems Concepts and Design” ediția a III-a, Addison-Wesley.
  10. Blaze M. și colab. Rolul managementului încrederii în sistemele de securitate distribuite // Secure Internet Programming. Springer Berlin Heidelberg, 1999, p. 185-210.
  11. Babich A.V., Bersenev G.B. Algoritmi pentru echilibrarea dinamică a sarcinii într-un sistem de monitorizare activ distribuit // Știri ale Universității de Stat din Tula. Știința tehnică. 2011. Nr. 3. p. 251-261.
  12. Daryapurkar A., ​​​​Deshmukh M. V. M. Algoritm eficient de echilibrare a sarcinii în mediul cloud // Jurnalul internațional de știință și aplicații informatice. 2013. T. 6. Nr. 2. p. 308-312.
  13. Sisteme distribuite. Principii şi paradigme E. Tanenbaum, M. Van Steen. Sankt Petersburg: Peter, 2003.
  14. Tanenbaum A. S., Klint P., Bohm W. Guidelines for software portability // Software: Practice and Experience. 1978. T. 8. Nr. 6. p. 681-698.
  15. James D. Mooney. „Aducerea portabilității în procesul software”. Raport Tehnic TR 97-1, Dept. de Statistică și Informatică, Universitatea West Virginia, Morgantown WV, 1997.