Biologie | Chimie | Didactica | Fizica | Geografie | Informatica | |
Istorie | Literatura | Matematica | Psihologie |
Baze de date pe Internet
1. Introducere
INTERNET este o comunitate globala de retele de calculatoare cu resurse informatici imense si o gama larga de servicii. In Internet sunt interconectate sute de mii de retele, circa 130 milioane de statii de pe toate continentele. De serviciile acestuia se folosesc circa 400 milioane utilizatori. Unul dintre serviciile principale oferite este acela de tranfer/acces la resursele diferitilor utilizatori. Bazele de date au fost introduse pe internet pentru ca ofera un mod flexibil si eficient de stocare a unei cantitati mari de informatie, fie ca este vorba de informatii despre produsele unei firme, fie ca este vorba de informatii ce pot fi colectate de la diferiti utilizatori de pe internet. De asemenea introducerea bazelor de date pe site-uri faciliteaza construirea acestora, accesul la informatie sau cautarea dupa anumite cuvinte cheie.
Baza de date este o colectie structurata de date si ar putea fi orice de la o simpla lista de cumparaturi pana la o galerie de poze, si chiar o vasta gama de informatii referitoare la o companie. Pentru a accesa, manipula sau stoca informatiile este necesar un DBMS (DataBase Management System)-sistem de management al bazelor de date. In prezent cele mai folosite sunt bazele de date relationale RDBMS (Relational Database Management System). Acestea stocheaza datele in tabele separate legate prin relatii (metoda ce permite combinarea datelor din diferite tabele) si nu intr-un fisier imens, asigurand astfel o foarte mare flexibilitate si viteza aplicatiilor.
[4] O baza de date de incredere si adecvata unei game cat mai largi de aplicatii are urmatoarele proprietati:
Atomicitate - o tranzactie este fie terminata, fie nu mai este efectuata
Consistenta - nu sunt permise tranzactii ilegale si, daca o constrangere de integritate nu este indeplinita, tranzactia este oprita
Izolare - rezultatul unei tranzactii este invizibil celorlalte tranzactii pana cand aceasta este terminata, crescand astfel securitatea datelor
Durabilitate - odata terminate, rezultatele tranzactiilor sunt permantente si supravietuiesc caderilor ulterioare ale sistemului, asigurand protectia si integritatea datelor
Administratorul bazelor de date trebuie sa indeplineasca urmatoarele activitati:
Majoritatea bazelor de date utilizate astazi sunt cele bazate pe modelul relational. SQL(Structured Query Language) este standard ANSI/ISO al limbajului de integrare al bazelor de date relationale si este cel mai cunoscut limbaj folosit pentru a crea, modifica, manipula si recupera date din RDBMS(Relational Database Management System
2. SQL (Standard Query Language)
[2]Prin SQL, un programator sau un administrator de baze de date poate face urmatoarele lucruri:
SQL poate fi rareori purtat intre doua sisteme de baze de date fara modificari majore, spre deosebire de ANSI C sau ANSI Fortran ce pot fi mutate de pe o platforma pe alta fara modificari structurale majore. Printre motivele acestei lipse de portabilitate de numara:
Scrierea comenzilor in SQL fiind relativ dificila, firmele care au creat sisteme de gestiune de baze de date s-au concentrat asupra realizarii unei interfete prietenoase, aparand pe piata sisteme ca Access, FoxPro, Paradox etc . Notiunile de HTML prezentate permit realizarea de situri web a caror functie este aceea de comunicare de informatii prin intermediul unui ansamblu de pagini pastrate pe un server accesibil prin Internet. Pentru a asigura accesarea unei baze de date prin intermediul unui formular continut intr-o pagina, numarul de componente software folosite trebuie extins, rezultatul fiind o aplicatie pentru web.
Arhitecturii client-server realizata de perechea de aplicatii browser-server de web (de obicei Internet Explorer - Apache) i se adauga inca o pereche de aplicatii, script asociat formularului - server de baze de date. In acest tandem scriptul asociat formularului (scris in C, C++, Perl, PHP etc) este client iar serverul de baze de date (Oracle, MySQL etc) are rolul de server. Scriptul formuleaza comenzi SQL iar serverul SQL le executa.
3. MySQL
[2],[9],[8]MySQL este o aplicatie de tip server capabila sa execute un mare numar de comenzi SQL. Ea este gratuita si poate fi instalata pe calculatoare functionand sub diferite sisteme de operare (Windows, Linux, Unix etc.).
Desi este folosit foarte des impreuna cu limbajul de programare PHP, cu MySQL se pot construi aplicatii in orice limbaj major. Exista multe scheme API disponibile pentru MySQL ce permit scrierea aplicatiilor in numeroase limbaje de programare pentur accesarea bazelor de date MySQL, cum ar fi: C, C++, C#, Borland Delphi, Java, Perl, PHP, Python, FreeBasic, etc, fiecare dintre acestea folosind un tip spefic API. O interfata de tip ODBC denumita MyODBC permite altor limbaje de programare ce folosesc aceasta interfata, sa interactioneze cu bazele de date MySQL cum ar fi ASP sau Visual Basic. In sprijinul acestor limbaje de programare, unele companii produc componente de tip COM/COM+ sau .NET (pentru Windows) prin intermediul carora respetivele limbaje sa poata folosi acest SGBD mult mai usor decat prin intermediul sistemului ODBC. Aceste componente pot fi gratuite (ca de exemplu MyVBQL) sau comerciale.
Popularitatea sa ca aplicatie web este strans legata de cea a PHP-ului care este adesea combinat cu MySQL si denumit Duo-ul Dinamic. In multe carti de specialitate este precizat faptul ca MySQL este mult mai usor de invatat si folosit decat multe din aplicatiile de gestiune a bazelor de date, ca exemplu comanda de iesire fiind una simpla si evidenta: "exit" sau "quit".
De asemenea MySQL implementeaza unele operatii ce nu sunt prezente si in cadrul altor baze de date relationale. Acestea sunt:
Motoare de stocare multiple, ce permit programatorului sa aleaga care dintre ele este mai efectiv in cazul fiecarui tabel din aplicatie
Posibilitatea adunarii mai multor tranzactii de la conexiuni multiple pentru a creste numarul de commits pe secunda.
MySql este caracterizat ca fiind rapid, puternic, sigur si scalabil si desi ii lipsesc anumite facilitati, in ultimele editii transmise pe piata multe dintre lipsuri au fost remediate si multe operatii adaugate. De asemenea MySQL este recomandat la construirea site-urilor web datorita dimensiunilor mici si vitezei.
Printre avantajele folosirii MySQL se numara:
Este usor de folosit - este necesara cunoasterea unui set mic de instructiuni pentru crearea unei aplicatii folosind MySQL
Este sigur - MySQL include nivele puternice de securitate a datelor ce protejeaza datele; este posibila setarea unor privilegii de acces diferitilor utilizatori si de asemenea folseste encriptarea parolelor
Este ieftin - este gratuit si poate fi downloadat de pe site-ul MySQL
Este rapid
Este scalabil - MySQL poate manipula aproape orice cantitate de date, pana la 50 milioane de randuri. Dimensiunea default este de 4GB, insa se poate creste capacitatea pana la o dimensiune teoretica de 8TB de date.
Are un sistem de manipulare a memoriei foarte bun
Ruleaza pe mai multe sisteme de operare - Windows, Unix
Suporta mai multe interfete pentru dezvoltare a operatiilor - JDBC, ODBC
Printre utilizatorii cei mai cunoscuti se numara Apple, Google, NASA, Yahoo, Nokia si multi altii.
4. PostgreSQL
[2],[6],[7],[9] PostgreSQL este un SGBD foarte puternic. Are peste 15 ani de dezvoltare a softului si o arhitectura ce si-a castigat o puternica reputatie pentru securitate, corectitudine si integritate a datelor. El ruleaza pe majoritatea sistemelor de operare, cum ar fi Linux, UNIX (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64) si Windows. Include interfete de programare pentru C/C++, Java, .Net, Perl, Python, Ruby, Tcl, ODBC si ofera o documentatie exceptionala. PostgreSQL este distribuit gratuit, putand fi modificat/imbunatatit dupa placul programatorului.
PostegreSQL prezinta cele
mai multe dintre caracterisiticile prezente in marile RDBMS-uri prezente pe
piata (tranzactii, view-uri, chei straine si blocari
sofisticate) si introduce unele noi (tipuri definite de utilizator,
mostenire). Totusi numarul mare de procese duce la o
scadere a vitezei acestei baze de date, iar utilizarea acesteia devine mai
complicata comparativ cu MySQL, insa asigura o mult mai buna
integritate a datelor.
Printre
alte avantaje ale PostgreSql se mai numara:
Mai rapid si mai eficient decat MySql
Suporta tranzactii, mostenire, chei straine, functii, un numar nelimitat de baze de date, tabele pana la 16TB
Este rezistent la caderi de tensiune sau pene de curent
Are cel mai mare numar de functii dintre toate RDBMS
Corespunde mai multor standarde decat MySQL si poate fi folosit pe mai multe sisteme
Dintre dezavantajele lui in aceasta lucrare vor fi prezentate trei, fiind cele mai des mentionate:
Posibilitatea de a scrie functii si proceduri ce sunt stocate este oarecum limitata
Nu are functii puternice si caracteristici la fel de bune in lucrul cu baze de date mari, tabele partitionate si stiluri de blocare performante si sofisticate
Mediile de dezvoltare nu sunt foarte puternice
5. Oracle
[3],[4] Oracle este un produs vast si puternic, un sistem de management al bazelor de date multi-user, un pachet software specializat in utilizarea unui set de informatii unic insa share-uit intre mai multi useri ce doresc sa foloseasca resursele concurent. De asemenea Oracle este una din multele baze de date ce pot intra in ecuatia client/server. Oracle este eficient in sisteme cu baze de date de informatii cu mai multi clienti ce primesc si trimit date in retea. Oracle suporta majoritatea sistemelor de operare, inclusiv MSDOS, NetWare, UnixWare, OS/2 si majoritatea sistemelor Unix. De asemenea suporta majoritatea protocoalelor de comunicare in retea, intre care si TCP/IP, SPX/IPX si DEC-Net, lucru ce face din Oracle o solutie potrivita pentru stocarea si transmiterea datelor intr-o retea LAN.
[2],[3] Oracle, pe langa functiile bazelor de date deja implementate pe alte platforme, include si sub-sisteme software semi-autonome, ce includ:
Consolidarea si agregarea datelor
Data Guard - pentru protectia datelor si recuperarea acestora
Flashback - pentru reconstituirea si recuperarea selectiva a datelor
Oracle este cea mai cautata RDBMS comerciala. Este foarte flexibila, avand un set de functionalitati complet si sofisticat si functionand pe mai mlte platforme; din aceste motive administratorul unei astfel de baze de date trebuie sa fie foarte bine pregatit.
6. Microsoft SQL Server
[2] Microsoft SQL Server este un RDBMS portabil, sigur, flexibil, rapid si usor de manevrat. El ruleaza numai pe platforme Windows si a fost dezvoltat pentru a folosi avantajele celor mai bune caracteristici ale Microsoft Windows NT si, desi i se reproseaza lipsa de portabilitate, acesta devine din ce in ce mai puternic cu fiecare imbunatatire a platformei Windows sau a sistemelor hardware. SQL Server este orientat pe accesul concurent la un volum mare de date, fiind de asemenea optimizat pentru multithreading.
[1] Printre caracteristicile predominante ale SQL Server se numara:
Scalabilitate si performanta
Nivel ridicat de disponibilitate
Instrumente avansate de Business Intelligence
Suport extins pentru XML
aimplificarea administrarii
Reducerea timpului pentru dezvoltarea aplicatiilor
Securitate ridicata a datelor
Integrarea cu alte solutii si servere
7. Concluzii
[5] Atunci cand o firma alege folosirea unei baze de date are de cantarit mai multi factori, printre care:
Pe langa bazele de date prezentate in aceasta lucrare mai exista si altele (e.g. Ingres , Sybase), facand alegerea cu atat mai dificila. La momentul actual, dintre cele mai folosite baze de date comerciale, cea mai cautata este Oracle, desi functionalitatile ei sunt ca cele ale Microsoft SQL Server (ce are un pret mai mic, e mai usor de folosit si administrat). Totusi o recomanda portabilitatea, un factor destul de important daca se are in vedere multitudinea platformelor folosite actual. Un teren din ce in ce mai mare il castiga PostgreSQL, specialistii fiind de parere ca asigura aproximativ 95% din functionalitatile ce se gasesc la cele comerciale, avand avantajul ca este gratis. Pe internet insa cea mai folosita baza de date este MySQL, cel mai des fiind utilizata impreuna cu PHP, oferind o solutie usor de folosit, gratuita si rapida.
Bibliografie
1. David
Gornshtein , Boris Tamarkin - "Features, strengths and weaknesses comparison between
MS SQL 2005 (
Copyright © 2024 - Toate drepturile rezervate