Selectarea subd. Fig.2.6 Client „subțire” și server „gros” în arhitectura client-server. Funcționalitatea de bază a bazei de date

O gamă largă de aplicații pentru instrumente software pentru acumularea și stocarea informațiilor impune necesitatea dezvoltării SGBD-uri care diferă unele de altele. funcţionalitateși destinat unei game largi de utilizatori: de la începători la programatori de sistem.

Baze moderne datele pot fi împărțite în trei categorii:

1. Produse software direcție corporativă - Oracle și MS SQL Server;

2. DBMS conceput pentru lucrul cu matrice de informații în companii mici - MS Access și Borland Interbase;

3. DBMS pentru Web, implementând crearea de site-uri web cu baze de date mici - MySQL.

SGBD-urile corporative trebuie să fie de încredere, ceea ce este asigurat de backup; sigur - au protecție împotriva accesului neautorizat; lucrează cu volume uriașe de date și au o funcționalitate largă.

Pentru firme mici Programele de baze de date nu trebuie doar să fie fiabile și funcționale, ci și să funcționeze fără un server dedicat.

DBMS pentru Web este inerent de mare viteză prelucrarea datelor, cerințe reduse de resurse și administrare la distanță convenabilă.

Astăzi, cele mai populare SGBD sunt Oracle, MS SQL Server-2000, Borland Interbase, MySQL și MS Access-2000.

Oracle DBMS- unul dintre cele mai puternice SGBD-uri moderne concepute pentru implementarea bazelor de date la nivel corporativ, ceea ce necesită cereri serioase la server.

Oracle poate rula pe majoritatea sistemelor de operare: Windows-NT, -2000, Linux, UNIX, AIX, Nowell Netware. Și acest lucru, la rândul său, vă permite să alegeți cea mai convenabilă platformă de server pentru sarcinile corporative. De exemplu, dacă o organizație preferă să folosească sisteme de operare non-Windows, atunci își poate permite cu ușurință. Unele organizații se pot concentra pe soluții bazate pe UNIX, care sunt renumite pentru fiabilitatea și stabilitatea lor ca platformă de server, continuând în același timp să utilizeze Windows pe computerele client cu care utilizatorii sunt familiarizați.

Utilizarea Oracle ca SGBD vă oferă posibilitatea de a alege un limbaj de programare. În mod tradițional, limbajul folosit pentru aceasta este PL/SQL, dar poate fi folosit și limbajul de programare Java mult mai puternic.

Niciun SGBD nu poate fi considerat bun dacă nu are instrumente de administrare puternice și convenabile. Oracle satisface pe deplin aceste cerințe și are mijloacele de a administra nu doar un server, ci și un grup de servere situate în diferite părți ale planetei.

Principalele avantaje ale Oracle includ suport pentru baze de date foarte mari (până la 64 GB), instrumente puternice de dezvoltare și administrare, suport pentru medii multiprocesare și în două limbi, precum și integrarea cu Web-ul. În același timp, programul impune cerințe hardware serioase și un preț ridicat.

DBMS MS SQL Server-2000 s-a răspândit deoarece oferă o gamă largă de servicii de administrare și este ușor scalabil. Acest lucru îi permite să fie folosit în sisteme de informare ah pentru întreprinderile mijlocii și sistemele informatice mari (CIS).

Platforma MS SQL Server se bazează pe Mediul Windows. Principalul avantaj al programului este integrarea sa strânsă cu produsele software Microsoft și capacitatea de a exporta/import date în cele mai comune formate de date, ceea ce vă permite să utilizați MS SQL Server ca stocare centrală a datelor.

DBMS Borland Interbase conține tot ceea ce este necesar de la un SGBD conceput pentru nevoile întreprinderilor mici și mijlocii. În plus, începând cu versiunea 6.0 programul a devenit gratuit, ceea ce este de asemenea semnificativ. Programul este nepretențios din punct de vedere hardware - configurație minimă: Pentium 100, RAM - 32 MB, RAM (memorie pe disc) necesară pentru stocarea bazei de date - 50 MB. Borland Interbase acceptat Platforme Windowsși Linux, precum și UNIX, NetBSD, FreeBSD.

Borland Interbase este unul dintre cele mai rapide DBMS-uri, al doilea numai după MySQL.

SGBD MySQL a câștigat popularitate datorită performanței sale ridicate la crearea de aplicații Web. A devenit larg răspândit ca instrument de lucru cu baze de date pe Internet. Programul este complet nesolicitant pentru resursele serverului pe care rulează, foarte rapid și, de asemenea, complet gratuit: codurile sursă si distributii pentru diverse platforme disponibil pe site-ul de internet. MySQL este conceput în primul rând pentru utilizare pe web.

Inițial, programul a fost axat pe sala de operație sistem Linux, dar acum există deja versiuni ale programului pentru sisteme de operare sisteme Windows, UNIX, NetBSD, FreeBSD, AIX. ÎN În ultima vreme programul câștigă popularitate în rândul utilizatorilor de Macintosh care folosesc sistemul de operare sistem Mac OSX. Și acest lucru se întâmplă în ciuda faptului că MySQL nu se laudă cu un set foarte bogat de caracteristici.

DBMS MS Access-2000. Scopul acestui cunoscut produs software este de a rezolva problemele biroului local cu o cantitate limitată de date și de a genera rapoarte privind rezultatele muncii, în timp ce rapoartele pot fi prezentate într-o formă standard pentru aplicațiile de birou.

Majoritatea utilizatorilor cunosc MS Access ca o componentă a MS Office concepută pentru a lucra cu baze de date.

MS Access este un produs software implementat pe principiul „totul într-unul”. Este, de asemenea, un mediu de dezvoltare pentru două limbaje de programare ( Visual Basicși un dialect foarte trunchiat al SQL), și un instrument CASE, precum și un instrument puternic și vizual pentru crearea de rapoarte privind rezultatele muncii.

Folosind doar MS Access, puteți produce ciclu complet lucru de la proiectare la implementare program terminat. Numai MS Access vă permite să creați programe constând dintr-un singur fișier care conține atât textul programului, cât și o bază de date relațională cu structură complexă.

Programul vă permite să creați elementele necesare cum in în format electronic, și în tipărire. Printre altele, MS Access se integrează cu ușurință cu alte soluții Microsoft. Dezavantajele programului includ cantitatea limitată de date procesate și încetineala, deoarece MS Access este unul dintre cele mai lente SGBD. Acest lucru impune restricții privind utilizarea programului - nu este recomandat să utilizați MS Access pentru o bază de date care poate crește peste 100 MB. Prin urmare, ar trebui să fie utilizat cu atenție în proiecte care ar putea fi extinse în viitor.

Toate SGBD-urile luate în considerare au avantajele și dezavantajele lor, iar pentru a face o alegere, trebuie să înțelegeți clar în ce scopuri va fi utilizat programul.

Dacă aveți nevoie să dezvoltați un sistem de automatizare pentru un holding mare și este necesară prelucrarea datelor în timp real, atunci cea mai bună soluție va fi Oracle. La urma urmei, el este cel care este capabil să proceseze cantități uriașe de date și are mijloace convenabile administrare servere la distanță, împrăștiate în toată lumea.

Într-o organizație mare care are deja implementate multe sisteme de informații disparate tehnologii diferite, este nevoie să le combinați în sistem unificat automatizare. O astfel de asociere ar permite conducerii companiei să analizeze rezultatele întreprinderii în ansamblu. O alegere bună în acest caz ar fi MS SQL Server-2000 și capacitatea sa de a exporta și importa date în diferite formate. În plus, ar trebui luate în considerare capacitățile acestui SGBD ca bază pentru sistemele de sprijinire a deciziilor.

Pentru întreprinderile mici și organizațiile mici, o alegere bună ar fi Borland Interbase 6.0, care acceptă baze de date de până la 1 GB fără a necesita un server dedicat.

MS Access-2000 este ideal pentru rezolvarea sarcinilor mici de birou sau pentru automatizare în companii mici cu până la 20 de angajați. Acest instrument nu necesită costuri speciale de dezvoltare, deoarece chiar și o persoană cu puține cunoștințe de programare poate lucra cu el.

Prezentări electronice


©2015-2019 site
Toate drepturile aparțin autorilor lor. Acest site nu pretinde autor, dar oferă utilizare gratuită.
Data creării paginii: 2016-04-02

1. Ce tendințe în dezvoltarea SGBD-urilor server ați putea observa în 2015–2016?

Vitali Cesnokov, QSOFT
Cele mai importante tendințe în dezvoltarea SGBD-urilor moderne: utilizarea virtualizării și tehnologiei GRID, autodiagnosticare și corecție automată, utilizarea SGBD-urilor NoSQL în Date mare, folosind NewSQL DBMS, executând cod C/C++ în spațiul de adrese DBMS.

În ultimii ani, volumul de date potrivite pentru procesare și stocare într-o bază de date a crescut exponențial. A fost adoptată o modificare a Legii „Cu privire la datele cu caracter personal”, care prevede că datele personale ale cetățenilor ruși trebuie stocate pe teritoriul Federației Ruse. Unele țări occidentale au, de asemenea, legi similare. Toate acestea ne conduc la necesitatea grupării și împărțirii datelor în părți.

Procentul de utilizare a SGBD-ului NoSQL este în creștere peste tot, acolo unde este posibil, datorită vitezei mari de lucru cu date și a posibilității de clustering relativ simplu. Se răspândește tip nou DBMS - NewSQL. Principalele caracteristici fără precedent ale NewSQL includ: posibilitatea de replicare asincronă master-master, înlocuind schema clasică master-slave și oferind o mai mare flexibilitate pentru proiectele cu sarcină mare; simplificarea administrării și asigurarea gestionării dinamice a bazelor de date; suport pentru procedurile stocate în C/C++ și capacitatea de a executa cod C/C++ în spațiul de adrese DBMS (oferă extensibilitate practic nelimitată și câștiguri de performanță incredibile); instrumente îmbunătățite de diagnosticare și depanare.

În plus, utilizarea virtualizării într-un SGBD oferă toleranța la erori și scalabilitatea necesare.

Nikolay Fetyukhin,MST
Trecerea la NoSQL și specializarea bazelor de date. De exemplu, puteți acorda atenție Redis și Tarantool. Acesta din urmă conține chiar și propriul server de aplicații. O tendință interesantă este un DBMS combinat și backend, cum ar fi Parse de la Facebook. De asemenea, migrarea fără probleme a bazelor de date în cloud.

Petr Urvaev, SimbirSoft
Funcțiile care s-au dovedit cu succes în unele SGBD-uri sunt implementate în cele din urmă în alte produse. De exemplu, vizualizările materializate, care au apărut pentru prima dată în Oracle DBMS, au fost ulterior implementate în MS SQL Server și apoi au apărut în PostgreSQL. Avantajele pe care le oferă soluțiile NoSQL se realizează treptat și în SGBD-urile relaționale. De exemplu, în ultimele versiuni PostgreSQL acceptă acum lucrul cu date în format JSON.

Evgheni Gusev ITECH
Schimbările din ultimii ani în segmentul DBMS au fost atât private - în raport cu produsele individuale de vârf, cât și de natură structurală, deci există multe tendințe. În primul rând, eterogenitatea. Trecerea la un model de microservicii a făcut posibilă selectarea flexibilă a mijloacelor de rezolvare a problemei stocării datelor, fără a se limita la unul. În al doilea rând, dezvoltarea NoSQL, stocări în memorie. În al treilea rând, Big Data este o revoluție care necesită o regândire atât a metodologiei de stocare a datelor, cât și a conceptului de „date”. În al patrulea rând, bazele de date orientate pe coloane.

2. În opinia dumneavoastră, există o tendință ca DBMS să se mute în „nor”? Care sunt avantajele și dezavantajele acestei abordări?

Vitali Cesnokov, QSOFT
Da, această tendință există cu siguranță. În primul rând, trebuie să separați două abordări fundamentale pentru operarea unui DBMS în cloud.

Prima este implementarea unei mașini virtuale cu un DBMS în cloud. Puteți încărca propria imagine pe aceasta sau puteți utiliza una pre-preparată cu un SGBD deja optimizat. În esență, o astfel de mașină virtuală nu este fundamental diferită de un server fizic obișnuit. Principalul avantaj comparativ cu server fizic este ușurința de scalare, atât pe verticală (puteți aloca mai multe resurse pentru o anumită „mașină virtuală” în orice moment), cât și pe orizontală (crearea unei noi „mașini virtuale” durează doar câteva minute). Un alt plus semnificativ - Valabilitate ridicată nor mașini virtuale(99,9%–99,99%). Cloud hosters oferă, de asemenea, multe servicii aditionale, cum ar fi monitorizarea, backupul, panoul de control al serverului etc.

O abordare fundamental diferită este un SGBD în cloud. În acest caz, clientul nu cumpără un server, ci pur și simplu serviciul de utilizare a unui DBMS. Actuala piață a SGBD-urilor în cloud public, în valoare de 400 de milioane de dolari, va crește la 1,2 miliarde de dolari până în 2017. Principalele avantaje ale acestei abordări: plata nu se face pentru resursele furnizate (care pot fi „inactive”), ci doar pentru cele efective. utilizate: volumul de date stocate, numărul de operațiuni SGBD procesate; nu este nevoie să configurați și să administrați DBMS - aceste sarcini sunt în întregime responsabilitatea hosterului; nu este nevoie să te gândești la scalare; Hosterul oferă multe instrumente convenabile și intuitive pentru gestionarea DBMS; Valabilitate ridicată. Principalul dezavantaj este lipsa oportunității reglaj fin SGBD.

De asemenea, puteți distinge separat un astfel de subtip de DBMS în cloud ca DbaaS (Database as a Service). Aproape întotdeauna, un anumit DbaaS este un SGBD specific furnizat în cloud de către dezvoltatorii direcți. Acest lucru duce, evident, la diferența de modele de afaceri: SGBD-urile cloud sunt potrivite pentru sarcini standard la scară largă, în timp ce DbaaS este potrivit pentru cele specializate, pentru un anumit brand de motor de baze de date, cu posibilitatea de comunicare directă cu dezvoltatorii săi. În plus, DbaaS vă permite să selectați mult mai precis un sistem pentru sarcina necesară, în special prin reglementarea numărului de conexiuni client.

Nikolay Apurin, Artwell
Există o tendință. Majoritatea sistemelor mari (în totalitate rusești) folosesc deja baze de date în cloud.

Nikolay Fetyukhin,MST
Tendința este slabă. Utilizarea norilor, deși reduce unele costuri, duce la noi cheltuieli. Utilizarea cloud-ului poate fi benefică doar pentru proiecte cu trafic redus.

Avantajele cloud-urilor: scalabilitate ușoară, toleranță ridicată la erori, disponibilitatea serverelor în întreaga lume, clonare și implementare ușoară a datelor. Contra: în timp ce norii, ca produs, sunt „bruti” - este imposibil să controlați fizic datele, deoarece acestea sunt sub controlul furnizorului de cloud.

Petr Urvaev, SimbirSoft
Tendința de a muta DBMS în cloud există ca parte a unei tendințe generale de transfer a întregii infrastructuri IT a organizațiilor în cloud. Principalul avantaj al acestei abordări este capacitatea de a transfera întreținerea bazei de date. Dezavantajele includ stocarea datelor importante pe un site necontrolat. Utilizator Stocare in cloud dacă este necesară distrugerea datelor stocate, nu poate fi sigur că datele sunt efectiv șterse.

Evgheni Gusev ITECH
Există și este unul dintre cele primare. Există o mulțime de avantaje în a găzdui o bază de date în cloud: ușurința de fragmentare și replicare, capacitatea de a separa eficient datele de logica de afaceri într-un context de performanță, management ușor și intuitiv putere de calculși un număr de altele. Pe baza experienței, nu vedem niciun dezavantaj critic. Cu cât trebuie să operați volume mai mari de date, cu cât este necesară o scalare orizontală mai mare, cu atât mai justificată devine utilizarea norilor.

3. Ce factori influențează alegerea SGBD? Pentru ce proiecte sunt cele mai potrivite? baza de date SQL date și pentru care - NoSQL?

Vitali Cesnokov, QSOFT
Principalul factor atunci când alegeți între SQL și NoSQL DBMS sunt nevoile aplicației. SQL este mai potrivit pentru unele sarcini, NoSQL pentru altele.

Sunt câteva diferențe cheieîntre aceste tipuri de SGBD. Formatul datelor în SQL este foarte strict, există scheme clare de tabel care indică unde este utilizat tipul de date. NoSQL nu are scheme de documente predefinite - orice informație poate fi adăugată la orice document.
În SQL există relații complexe între diverse mese. Datele dintr-un tabel sunt adesea o referință la datele din altul (principiul normalizării datelor). În NoSQL, de regulă, fiecare document este o unitate informațională izolată și stochează toate datele disponibile (principiul denormalizării).
SQL are mecanisme încorporate pentru a menține integritatea datelor (de exemplu, nu puteți șterge o înregistrare dintr-un tabel dacă este referită în alte tabele). NoSQL nu are astfel de mecanisme, așa că denormalizarea datelor este importantă (în mod ideal, fiecare document stochează absolut toate informațiile despre un obiect).
SQL are un mecanism de tranzacție care vă permite să executați mai multe interogări SQL pe o bază de totul sau nimic. În NoSQL, un mecanism similar există doar într-un singur document.
În mod ideal, NoSQL este mai rapid decât SQL datorită mai multor metoda simpla stocarea datelor, care vă permite să obțineți toate informațiile despre un obiect simpla cerere un singur document. Cu toate acestea, există o problemă legată de faptul că cele mai populare SGBD-uri NoSQL au apărut destul de recent. Consecința acestui lucru este o cantitate mai mică de informații despre aceste SGBD și un număr mai mare de probleme încă nerezolvate.
NoSQL este mult mai ușor de scalat datorită absenței unor relații logice complexe între documente. În plus, majoritatea SGBD-urilor NoSQL au fost create inițial cu accent pe mecanismele de scalare.

Ca rezultat, NoSQL este mai potrivit pentru proiecte cu o cantitate mare de date care pot fi împărțite cu ușurință în obiecte independente separate. Oferă viteză mare și scalabilitate. SQL este potrivit pentru proiectele în care diverse date au relații logice complexe între ele și integritatea lor este extrem de importantă.

Nikolay Apurin, Artwell
NoSQL - pentru calcule non-standard cu cantități uriașe de date. Dar, după cum a arătat practica, volumele de până la 20 de milioane de înregistrări sunt procesate perfect de bazele de date SQL.

Nikolay Fetyukhin,MST
Tehnologiile NoSQL sunt utilizate în mod activ de companii bine-cunoscute, inclusiv în proiecte cu sarcină mare. Salvarea datelor și mostre simple va fi foarte rapid atunci când utilizați NoSQL. În caz de mai mult interogări complexe problema va trebui rezolvată din partea produsului, ceea ce complică produsul în sine. ÎN formă pură noi nu alegem NoSQL. Creșterea complexității logicii produsului și emularea lucrurilor SQL de bază duce la o creștere a costului proiectului. Și nu orice soluție NoSQL oferă securitatea datelor în situații critice.

Petr Urvaev, SimbirSoft
Alegerea bazei de date depinde adesea de preferințele arhitectului, de sarcina posibilă și de funcționalitatea necesară. Bazele de date SQL vă permit să definiți în mod clar schemele de stocare a datelor și să recuperați datele folosind interogări complexe, bazele de date NoSQL vă permit să stocați datele într-un format mai puțin ordonat și să suporte scalarea orizontală. Adesea, sistemele distribuite folosesc bazele de date SQL și NoSQL simultan, fiecare dintre acestea rezolvând propriile probleme.

Evgheni Gusev ITECH
În modern Starea SQL/ NoSQL nu sunt entități concurente, ci mai degrabă complementare. Folosirea soluțiilor SQL într-o singură aplicație atunci când trebuie să lucrați cu date complexe în interrelațiile lor și NoSQL atunci când viteza de lucru cu informații nestructurate vine în prim-plan, este o practică complet naturală.

4. Cum evaluați măsura în care licențele DBMS plătite sunt distribuite între utilizatori? În ce cazuri are sens să cumpărați o licență?

Vitali Cesnokov, QSOFT
Există două opțiuni diferite pentru a împărți SGBD-ul în plătit și gratuit.

Prima este versiunile gratuite ale SGBD-urilor comerciale (sunt disponibile MS SQL, Oracle etc. În esență, aceasta este o versiune simplificată a SGBD-ului, care nu are anumite funcționalități). Aici principalul factor de alegere este foarte simplu - are acest proiect nevoie de această funcționalitate? Mai rar există o versiune gratuită, care nu diferă de versiunea comercială prin funcționalitate, dar este actualizată mai rar (Couchbase Server).

Al doilea este DBMS gratuit, pentru care există produse comerciale similare (MySQL de la Oracle, Percona Server sau MariaDB). În acest caz, avantajul unui produs comercial este de obicei disponibilitatea unui suport tehnic mai serios. În ceea ce privește funcționalitatea, SGBD-urile plătite și gratuite diferă puțin unele de altele, deși ambele pot avea propriile instrumente care nu sunt disponibile în alte versiuni.

Ca urmare, există două motive principale pentru a alege un SGBD plătit: prezența unei funcționalități care nu este disponibilă în analogi gratuiti, și oportunitatea de a căuta ajutor de la suport tehnic producător.

Nikolay Apurin, Artwell
De ce să plătești când sunt gratuite? Cu toate acestea, există multe soluții care pot funcționa doar cu baze de date plătite. Practic, acestea sunt practici străine.

Nikolay Fetyukhin,MST
Întrebarea este ambiguă. Adesea, SGBD-urile plătite au versiuni gratuite, iar cele gratuite au componente care pot fi achiziționate pentru bani. Diferența constă cel mai adesea în instrumentele de analiză și monitorizare a bazei de date încorporate. Prin urmare, SGBD-urile plătite sunt mai potrivite pentru proiecte majore cu sisteme mari distribuite.

Petr Urvaev, SimbirSoft
Licențele DBMS plătite sunt preferabile celor gratuite atunci când proiectul se bazează pe capacitățile unei anumite baze de date și este important pentru aceasta ca capabilitățile utilizate să funcționeze așa cum este menționat, iar problemele în funcționarea lor să fie eliminate prompt. În zilele noastre, bazele de date comerciale și gratuite sunt folosite la fel de des, iar majoritatea proiectelor noi aleg baze de date gratuite, deoarece capacitățile de lucru cu date și stabilitate sunt aproximativ la același nivel cu SGBD-urile plătite și gratuite.

Fiecare proprietar de site știe că pentru ca site-ul să funcționeze corect, aveți nevoie nu doar de fișiere cu codul paginii, ci și de baze de date. Sistemele de management al bazelor de date (DBMS) sunt folosite pentru a interacționa cu bazele de date. În acest articol vreau să vorbesc despre bazele de date și SGBD-uri, despre ce tipuri există și despre cum diferă unele de altele.

Bază de date

Baza de date este set specific date, care, de regulă, sunt conectate printr-o caracteristică sau o proprietate unificatoare (sau mai multe). Aceste date sunt organizate, de exemplu, alfabetic. Abundența de date diferite care pot fi plasate într-o singură bază de date duce la multe variații în ceea ce poate fi înregistrat: date personale ale utilizatorului, înregistrări, date, comenzi și așa mai departe. De exemplu, dacă aveți un magazin online, atunci baza de date a site-ului dvs. web poate conține liste de prețuri, un catalog de bunuri sau servicii, rapoarte, statistici și informații despre clienți.

În primul rând, acest lucru este convenabil deoarece informațiile pot fi introduse rapid într-o bază de date și la fel de rapid recuperate dacă este necesar. Dacă în zorii dezvoltării dezvoltării web toate datele necesare trebuiau scrise în codul paginii, acum nu mai este nevoie - informațiile necesare pot fi solicitate din baza de date folosind scripturi. Algoritmii speciali pentru stocarea și preluarea informațiilor care sunt utilizați în bazele de date fac posibilă găsirea informatie necesara literalmente într-o fracțiune de secundă - și atunci când lucrați în spațiu virtual, viteza resursei este mai importantă decât orice altceva.

Relația dintre informațiile din baza de date este de asemenea importantă: schimbarea unei linii poate duce la modificări semnificative în alte linii. Lucrul cu datele în acest fel este mult mai ușor și mai rapid decât dacă modificările ar afecta doar un singur loc în baza de date.

Cu toate acestea, acest lucru nu înseamnă că fiecare site trebuie să aibă o bază de date - de exemplu, dacă aveți un site pentru cărți de vizită și nu informație nouă Dacă nu îl postați pe site, atunci pur și simplu nu veți avea nevoie de baza de date. Cel mai simplu mod de a crea un site web simplu este crearea unui .

Sistemul de gestionare a bazelor de date

După cum puteți ghici din nume, un sistem de gestionare a bazelor de date (sau DBMS pe scurt) este un software care este utilizat pentru a crea și a lucra cu baze de date. Funcția principală a unui SGBD este gestionarea datelor (care poate fi atât extern, cât și extern memorie cu acces aleator). SGBD-ul acceptă în mod necesar limbile de bază de date și este, de asemenea, responsabil pentru copierea și restaurarea datelor după orice defecțiuni.

În ceea ce privește clasificarea bazelor de date, sunt posibile diverse opțiuni.
De exemplu, puteți împărți bazele de date prin modele de date: ierarhic (au o structură arborescentă), de rețea (asemănător ca structură cu cele ierarhice), relațional (utilizat pentru management baze de date relaționale date), orientat pe obiecte (folosit pentru model de obiect date) și obiect-relațional (un fel de fuziune a bazelor de date relaționale și orientate pe obiecte).

Sau, dacă împărțirea se bazează pe unde este localizat DBMS-ul?, ele pot fi împărțite în local - întregul SGBD este situat pe un singur computer și distribuit - părți ale sistemului de gestionare a bazei de date sunt situate pe mai multe computere.

File-server, client-server și embedded - acestea sunt numele pe care le poartă SGBD-urile dacă le împărțim la modalitate de a accesa bazele de date. Server de fișiere DBMS activat acest moment sunt deja considerate învechite; Practic, sunt utilizate sisteme client-server (DBMS-uri care se află pe server împreună cu baza de date în sine) și sisteme încorporate (care nu necesită instalare separată) sisteme.

Informațiile care sunt stocate în baze de date nu se limitează la text sau fisiere grafice - versiuni moderne SGBD-urile acceptă și formate de fișiere audio și video.

În acest articol mă voi concentra pe SGBD-urile care sunt folosite pentru a stoca informații din diverse resurse web.

De ce sunt necesare aceste SGBD-uri? Pe lângă funcția lor principală - stocarea și sistematizarea unei cantități uriașe de informații - vă permit să procesați rapid cererile clienților și să furnizați informații proaspete și relevante.

Acest lucru este valabil și pentru modificările pe care le faceți - în loc să modificați informațiile din fiecare fișier de pe site, le puteți modifica în baza de date, iar apoi informațiile corecte vor fi afișate imediat pe fiecare pagină.

SGBD relațional și limbaj SQL

SGBD-urile relaționale și obiect-relaționale sunt printre cele mai comune sisteme. Sunt tabele în care fiecare coloană (numită „câmp”) este ordonată și are un nume unic specific. Secvența rândurilor (se numesc „înregistrări” sau „înregistrări”) este determinată de succesiunea în care informațiile sunt introduse în tabel. În acest caz, procesarea coloanelor și rândurilor poate avea loc în orice ordine. Tabelele cu date sunt interconectate relatie speciala, datorită căruia puteți lucra cu date din tabele diferite - de exemplu, combinați-le - folosind o singură interogare.

Pentru gestionarea bazelor de date relaționale se folosește un limbaj de programare special - SQL. Abrevierea înseamnă „Limba de interogare structurată”, tradusă în rusă ca „limbaj de interogare structurat”.

Comenzile care sunt utilizate în SQL sunt împărțite în cele care manipulează datele, cele care definesc datele și cele care manipulează datele.

Schema de lucru cu baza de date arată astfel:


MySQL

MySQL este unul dintre cele mai populare și răspândite SGBD, care este folosit în multe companii (de exemplu, Facebook, Wikipedia, Twitter, LinkedIn, Alibaba și altele). MySQL este un SGBD relațional care este software gratuit: este distribuit în condițiile licenței publice GNU. În mod obișnuit, acest sistem de gestionare a bazelor de date este definit ca un sistem bun, rapid și flexibil, recomandat pentru utilizare în proiecte mici sau mijlocii. MySQL are multe avantaje diferite. De exemplu, acceptă diverse tipuri de tabele: atât bine-cunoscutele MyISAM și InnoDB, cât și mai exotice HEAP și MERGE; în plus, numărul de tipuri acceptate este în continuă creștere. MySQL execută toate comenzile rapid - poate că acum este cel mai rapid DBMS existent. Un număr nelimitat de utilizatori pot lucra cu acest sistem de management al bazei de date în același timp, iar numărul de rânduri din tabele poate fi egal cu 50 de milioane.

Deoarece, în comparație cu alte SGBD, MySQL acceptă mai puține funcții, este mult mai ușor să lucrați cu acesta decât, de exemplu, cu PostgreSQL, care va fi discutat mai jos.

Prima versiune de MySQL a fost lansată în 1995, iar de atunci au existat mai multe versiuni ulterioare, fiecare dintre ele a adus schimbări semnificative.

Pentru a lucra cu MySQL, nu numai text, ci și modul grafic. Acest lucru este posibil datorită aplicației phpMyAdmin: nici măcar nu trebuie să cunoașteți comenzile SQL pentru a funcționa în aplicație și vă puteți administra baza de date direct prin browser.

În general, se poate observa că MySQL este alegerea celor care au nevoie de un SGBD pentru un proiect de dimensiuni mici sau mijlocii, rapid și ușor de utilizat și fără dificultăți de administrare.


PostgreSQL

Acest sistem de gestionare a bazelor de date distribuit gratuit aparține tipului de DBMS obiect-relațional. Ca și în cazul MySQL, lucrul cu PostgreSQL se bazează pe Limbajul SQL cu toate acestea, spre deosebire de MySQL, PostgreSQL acceptă standardul SQL-2011. Acest SGBD nu are restricții cu privire la dimensiunea maximă a bazei de date și nici la numărul maxim de înregistrări sau indici din tabel.

Dacă vorbim despre avantajele PostgreSQL, atunci, desigur, acestea sunt fiabilitatea tranzacțiilor și replicărilor, posibilitatea de moștenire și extensibilitatea ușoară. PostgreSQL acceptă diverse extensii și variante de limbaj de programare, cum ar fi PL/Perl, PL/Python și PL/Java. De asemenea, este posibil să încărcați module compatibile C.

Mulți notează că, spre deosebire de MySQL dat DBMS are o documentație bună și detaliată care oferă răspunsuri la aproape toate întrebările.

Faptul că acesta este un SGBD mai mare decât MySQL este indicat și de faptul că PostgreSQL este comparat periodic cu astfel de sistem puternic gestionarea datelor precum Oracle.

Toate acestea ne permit să vorbim despre PostgreSQL ca fiind unul dintre cele mai avansate SGBD la acest moment.


SQLite

În prezent, acesta este unul dintre cele mai compacte SGBD; este, de asemenea, încorporat și relațional. SQLite vă permite să stocați toate datele într-un singur fișier și, datorită dimensiunilor sale mici, se distinge prin performanțe de invidiat. SQLite diferă semnificativ de MySQL și PostgreSQL prin structura sa: motorul și interfața acestui DBMS se află în aceeași bibliotecă - și acesta este ceea ce vă permite să executați toate interogările foarte rapid. Alte SGBD-uri (MySQL, PostgreSQL, Oracle etc.) folosesc paradigma client-server, atunci când interacțiunea are loc printr-un protocol de rețea.

Dezavantajele includ lipsa unui sistem de utilizator și posibilitatea creșterii productivității.

SQLite poate fi recomandat pentru utilizare în proiecte în care trebuie să puteți migra rapid o aplicație și nu este nevoie de scalabilitate.


Oracol

Acest SGBD este de tip obiect-relațional. Numele provine de la numele companiei care a dezvoltat acest sistem, Oracle. Alături de SQL, SGBD utilizează o extensie procedurală numită PL/SQL, precum și limbajul Java.

Oracle este un sistem care a fost stabil de zeci de ani, așa că este ales de marile corporații pentru care fiabilitatea recuperării după eșecuri, o procedură de backup simplificată, capacitatea de scalare și alte caracteristici valoroase sunt importante. În plus, acest DBMS oferă securitate excelentă și protecție eficientă a datelor.

Spre deosebire de alte SGBD, costul achiziționării și utilizării Oracle este destul de mare, iar acesta este adesea un obstacol semnificativ în calea utilizării acestuia în firme mici. Acesta este probabil și motivul pentru care Oracle este doar pe locul 6 în clasamentul DBMS 2016 în Rusia.



MongoDB

Acest SGBD este diferit prin faptul că este conceput pentru a stoca structuri de date ierarhice și, prin urmare, este numit orientat către document (este o stocare a documentelor fără a utiliza tabele sau scheme). MongoDB este open source.

Folosind un identificator, puteți efectua operații rapide asupra unui obiect; Acest DBMS funcționează bine și în interacțiuni complexe. În primul rând, vorbim de performanță - în unele cazuri, o aplicație scrisă în MongoDB va rula mai repede decât aceeași aplicație folosind SQL, deoarece MongoDB aparține clasei DBMS NoSQL și, în loc de SQL, folosește un limbaj de interogare obiect, care este mult mai ușor decât SQL.

Cu toate acestea, acest limbaj are și limitările sale și, prin urmare, MongoDB ar trebui utilizat în cazurile în care nu este nevoie de selecții complexe și netriviale.

În loc de o concluzie

Alegerea unui SGBD este un punct important atunci când vă creați propria resursă. Începeți de la sarcinile și capacitățile dvs., încercați și experimentați pentru a găsi exact opțiunea care va fi cea mai potrivită.

O gamă largă de aplicații pentru instrumente software pentru acumularea și stocarea informațiilor dictează necesitatea dezvoltării SGBD-uri care diferă unele de altele ca funcționalitate și sunt destinate unei game largi de utilizatori: de la un începător la un programator de sistem.

Bazele de date moderne pot fi împărțite în trei categorii:

1. Produse software corporative - Oracle și MS SQL Server;

2. DBMS conceput pentru lucrul cu matrice de informații în companii mici - MS Access și Borland Interbase;

3. DBMS pentru Web, implementând crearea de site-uri web cu baze de date mici - MySQL și, din nou, Borland Interbase.

Ce proprietăți ar trebui să aibă un SGBD în funcție de aceste categorii?

SGBD-urile corporative trebuie să fie de încredere, ceea ce este asigurat de backup; sigur - au protecție împotriva accesului neautorizat; lucrează cu volume uriașe de date și au o funcționalitate largă.

Pentru companiile mici, programele de baze de date nu trebuie doar să fie fiabile și funcționale, ci și să funcționeze fără un server dedicat.

DBMS pentru Web se caracterizează prin viteză mare de procesare a datelor, cerințe reduse pentru resurse și administrare convenabilă de la distanță.

Astăzi, cele mai populare SGBD sunt Oracle, MS SQL Server, Borland Interbase, MySQL și MS Access.

stiu

Bază de date- o colecție organizată de date destinate stocării pe termen lung în memoria externă a computerului, actualizări regulate si foloseste.

Sistem de management al bazelor de date (DBMS) este un instrument software conceput pentru organizarea și menținerea datelor interconectate logic pe mediile computerizate, precum și pentru a oferi acces la date.

Bază de date reprezintă model informativ domeniu specific.

Clasificare bazele de date sunt posibile în funcție de natura informațiilor: baze de date faptice și documentare; după structura datelor: baze de date ierarhice, de rețea, relaționale; După metoda de stocare a datelor: baze de date centralizate și distribuite, după metoda de accesare a datelor bazei de date, există sisteme file-server și client-server.

Baze de date relaționale (RDB)- cel mai comun tip de bază de date care utilizează o prezentare tabelară a datelor.

Concepte de bază ale organizării datelor într-un RDB: tabel, înregistrare, câmp, tip de câmp, cheia principala Mese.

Tehnologia muncii cu baze de date are mai multe etape și anume:

Ø construcţia mitologice modele de baze de date,

Ø crearea unei structuri de tabel de bază de date,

Ø prelucrarea datelor cuprinse in tabele,

Ø si scoaterea informatiilor din baza de date.



Întrebări de control

1. Definiți o bază de date.

2. Definiți un SGBD.

3. Cum înțelegeți structura unei baze de date?

4. Care sunt principalele cerințe pentru organizarea unui SGBD?

5. Cum sunt clasificate DBMS în funcție de tehnologii de prelucrare date?

6. Cum sunt clasificate DBMS în funcție de modalitate de acces la date?

7. Ce modele de baze de date informaționale-logice cunoașteți?

8. Definiți ierarhic, de rețea și modele relaționale baze de date?

9. Ce opțiuni există pentru clasificarea bazelor de date?

10.De ce tip relațional Este DB cel mai comun?

11. Ce este o intrare în baza de date?

12. Cum se selectează un SGBD pentru a crea un sistem de automatizare?

13. Enumerați etapele unei tehnologii generalizate de lucru cu o bază de date.

15. Enumerați capacitățile, avantajele și dezavantajele MS Access.

16. Enumerați SGBD-urile moderne pentru uz corporativ.

Datele sunt întotdeauna structură și conținut, sintaxă și semantică. În context, acestea sunt tabele, relații dintre tabele, interogări și rezultatele acestora. Aceasta nu înseamnă că ideea dominantă este un ideal, dar este practică, convenabilă și vă permite să descrieți orice domeniu de aplicare.

Dacă o bază de date este o colecție de tabele, atunci un sistem de management este suportul mai multor baze de date simultan și furnizarea de funcționalități adecvate pentru fiecare dintre ele în ceea ce privește administrarea, operarea și citirea. De-a lungul timpului, SGBD-urile au dobândit multe funcții foarte specifice, care sunt considerate a fi un standard de facto, și au primit propriul limbaj pentru descriere, operare și selecție.

Funcționalitate de bază DBMS

Vă permite să prezentați seturi de date printr-un sistem de tabele, să indicați conexiunile între tabele, să definiți interogările necesare, să formați rezultatele doriteși oferă două opțiuni:

  • Schimbare;
  • doar lectură.

De fapt, nu este nevoie de nimic mai mult de la SGBD, trebuie să oferiți acces la codul programului în scopuri de administrare sau operare (modificări sau citire). Utilizatorul nu are acces direct la date, ci prin intermediul cod specific are acces la o gamă largă de funcționalități implementate de SGBD.

Format, protocol și algoritm general Utilizarea unei baze de date este întotdeauna cunoscută, deși sistemul existent de clasificare DBMS indică o mare varietate de concepte și opțiuni de implementare.

Concepte de sisteme de management al datelor

Conceptul principal, care, desigur, a fost în frunte încă de la naștere și este îmbunătățit până în prezent, este fundamentul proiectării sistemelor de management al bazelor de date - relații relaționale. O bază de date este un set de tabele și relații dintre ele. Așa a fost, așa este, dar nu va fi așa prea mult timp.

Alte modele de date:

  • ierarhic;
  • reţea;
  • Model ER (entitate - relatie);
  • orientat pe obiecte;
  • obiect-relațional etc.

Au propriile nișe, dar fiecare dintre ele se bazează pe aceleași relații relaționale. De fapt, prin diferite concepte de date organizate în sisteme de date, un singur lucru este incontestabil și evident: toate datele au întotdeauna sens.

Cum să captezi sensul într-un model computerizat formal al unei baze de date? Judecând după puținele nume de modele de baze de date, nu există nicio problemă specială aici, dar totuși „relațiile relaționale pure” găsesc cea mai practică aplicație: cum să numim o problemă de prelucrare a datelor rezolvată, ce adjectiv să atașați denumirii bazei de date - acesta nu contează, ceea ce contează este acea problemă rezolvată.

Clasificarea sistemelor de management al datelor

  • Model de date;
  • distributie;
  • metode de acces;
  • nivelul de versatilitate.

Acest clasificare generala SGBD modern.

Conceptul de distribuţie are important, deși din punct de vedere semantic nu contează modul în care este distribuită baza de date, important este ca aceasta să aibă opțiunea de acces dorită.

Metodele de accesare a datelor sunt de asemenea importante: site-ul poate necesita informații dintr-o bază de date gestionată de Oracle, dar obținerea/scrierea aici nu va fi deloc structurată ca atunci când se folosește MySQL.

Nivelul de universalitate este un criteriu relativ, dar în majoritatea cazurilor ar trebui luat în considerare. Nu orice proiect necesită dinamică și sprijin nivel inalt securitatea accesului, fiabilitatea stocării etc. Multe sarcini trebuie dezvoltate în funcție de domeniul de aplicare. Selectarea unui DBMS cu funcționalitate limitată poate duce la costuri inutile în viitor pentru înlocuirea unui sistem care are capacități limitate.

Funcționalitatea DBMS

Urmând tradiția consacrată, clasificarea și funcțiile unui SGBD joacă un rol semnificativ în dezvoltarea specificațiilor tehnice sau a unui proiect IT care implică cantități mari de date. În acest caz, termenul „mare” poate însemna nivelul unei anumite date (prelucrarea imaginii) sau numărul de înregistrări (prelucrarea textului).

Funcționalitatea problemei și soluția așteptată pot stabili cerințe clare. În special, alegerea SGBD (clasificare după date):

  • prezentarea datelor (video, audio, text, diverse combinații);
  • structurare/formalizare (structurată, nestructurată);
  • natura/sursa (ierarhica, relationala, de retea);
  • format și locație de stocare (local, distribuit);
  • utilizatori (unul, mulți).

Acest aspect al problemei afectează doar o parte Puncte importante a prefera un SGBD în detrimentul altuia. Există multe domenii de aplicare în care clasificarea după orice criteriu nu contează atunci când alegeți un SGBD. De exemplu, alegerea unui sistem de management al conținutului în scopul dezvoltării site-ului web va forța dezvoltatorul să selecteze clar doar o singură bază de date specifică.

SGBD mare și conexiune complexă

Nivelul informațional modern al SGBD (clasificare după importanță și responsabilitate):

  • terabytes de informații (un dosar mare, o mulțime de fișiere mici);
  • megaocteți (mai multe fișiere care descriu o bază de date și datele pe care le conține).

Dar semnificația și responsabilitatea aici sunt întotdeauna mari, nu numai în primul caz. Există multe proiecte critice în care cantități mici de informații necesită luarea unor decizii critice.

De obicei, primul criteriu determină Oracle ca lider incontestabil, al doilea - MySQL. Au multe în comun, dar multe diferențe fundamentale. Când apare sarcina de a conecta o resursă web la o bază de date Date Oracle fără a folosi propriile instrumente și tehnologii, apar multe întrebări. Conectarea complexă nu mai este neobișnuită și este adesea pur și simplu o condiție pentru obținerea unei soluții.

Un număr la fel de mare de probleme cu livrarea datelor apar atunci când acestea sunt situate într-o rețea locală la care conexiunea este accesibilă prin mai multe routere hardware.

De fapt, în practica reală, toate componentele sunt importante: arhitectura SGBD, clasificarea SGBD după funcționalitate, opțiuni de conectare și lățime de bandă canale de comunicatie.

Accesați securitatea și stocarea datelor

Cunoștințele DBMS, clasificarea, teoria bazelor de date în general, experiența practică și alte puncte conceptuale sunt fără îndoială importante. Fiabilitatea componentei hardware astăzi este foarte mare, dar problema calității codului, și în special a semanticii acestuia, este încă relevantă până în prezent.

Furnizați acces securizat Toate SGBD-urile pot accesa baza de date, dar cum rămâne cu practica obișnuită de a copia baze de date pentru a crea copii de rezervă?

Această idee vicioasă este tipică pentru bazele de date aflate fie într-un singur fișier, fie în mai multe fișiere. În primul caz, pierderea unui octet sau bit va ruina întregul fișier, iar în al doilea caz, copierea incompletă a descrierii bazei de date sau a fișierelor care conțin date va duce, de asemenea, la consecințe imprevizibile.

Este ciudat că dezvoltatorii SGBD nu sunt preocupați de aceste fapte, dar dacă ar face demersurile necesare și ar închide odată pentru totdeauna problema disponibilității datelor în afara sistemului de management al datelor, ar apărea o dilemă: conform SGBD, clasificarea ar fi a fi simplificat la limita:

  • are sens de utilizat (sigur, de încredere, totul este întotdeauna disponibil);
  • nu poate fi utilizat (totul este controlat de dezvoltatorul DBMS).

Nu poți controla totul; cu cât programatorul este mai experimentat, cu atât mai multe opțiuni lasă clientului. A închide datele controlului extern și a schimba înseamnă a ne asigura că problema rezolvată nu are o viață lungă.

Problema securității și disponibilității datelor se află dincolo de orice soluție. Se referă la infrastructura companiei, rețeaua locală, perimetrul de securitate etc.

Datele în sine, bazele de date și sistemele lor de management ar trebui să fie cât mai deschise și accesibile posibil, sub rezerva regulilor stabilite și a cerințelor naturale, dovedite prin practici pe termen lung.

Aspectul social al SGBD

Luand in considerare căi diferite clasificarea DBMS, ar trebui Atentie speciala acordați atenție componentei sociale în contextul teoriei și aplicabilității acesteia în practică.

Când au apărut rețelele locale și bazele de date erau amplasate pe un server, iar SGBD-urile asigurau acces multor utilizatori, totul era extrem de simplu: arhitectura serverului de fișiere este foarte practică, astăzi există:

  • server de fișiere;
  • client server;
  • bază de date încorporată.

Trei fețe ale aceleiași monede. Nu contează unde se află baza de date în sine, nu contează ce DBMS este ales. Este important ca datele și codul care le folosește să fie cât mai mobile și cât mai accesibile, dar situate în perimetrul securității generale sub strânsă protecție nu numai de factorii tehnologici (atacuri, amenințări, interferențe distructive), ci și de moment comportamental în sensul angajaților, care dezvoltă cod sau folosesc date.

Relații relaționale: perspective

Ideile predominante despre DBMS, clasificarea lor și potențialul unic acumulat în teorie și aplicare practică sunt de netăgăduit. Dezvoltatorii DBMS și consumatorii de informații au trecut cursă lungă, iar în fiecare zi dinamica îmbunătățirii s-a accelerat rapid.

Conceptul relațional ocupă încă o poziție puternică și nu va ceda nimic nici unei alte arhitecturi sau idei. Dar este intriga lui adevărată: un tabel este o relație între date, iar relațiile dintre tabele sunt, de asemenea, relații? De ce ar trebui un tabel să aibă un antet, iar dacă nu există date, atunci nu există nici un tabel? De ce tabelul este întotdeauna dreptunghiular, iar datele din el au un tip și o dimensiune stricte?

Lumea informației este caracterizată de forme fluide, nu doar dreptunghiuri. Nu este timpul să admitem o idee surprinzător de simplă: există un tabel, dar dacă există sau nu un antet în el este o chestiune de un caz specific. Câte rânduri vor fi într-un tabel este întotdeauna clar: de la zero până la limitările unui anumit SGBD, dar de ce acest pozitiv nu poate fi atribuit numărului de coloane?

Dacă aplicăm abstracția pe care programarea modernă orientată pe obiecte o urmărește de atâta timp, la relațiile relaționale, obținem un următor pas foarte promițător: un SGBD în care nu contează dacă este un tabel sau doar o dată și dacă este un tabel, ce fel de acesta va fi și dacă vor fi rânduri acolo sau coloane și cum vor fi interconectate la nivelul său este o chestiune de aplicare. Modul în care totul va fi legat în toate datele și tabelele este, de asemenea, o chestiune de domeniu, și nu competența dezvoltatorului care face SGBD sau codul care îl folosește.