Sesiunea 9 din 12
Baze de Date în Cloud
Azure SQL Database & SQL Fundamentals
De la concepte fundamentale la primul query SQL real, rulând live în Azure. Astăzi facem unul dintre cele mai importante click-uri mentale din tot cursul.
Ce am construit până acum
Fiecare sesiune anterioară a adăugat o piesă esențială în puzzle-ul arhitecturii cloud.
Compute — VM-uri
Am creat și configurat mașini virtuale Windows și Linux, ne-am conectat prin RDP și SSH.
Networking și Securitate
Am configurat rețele virtuale, subnet-uri, NSG și reguli de trafic.
Aplicații Web PaaS
Am deploiat aplicații web fără să administrăm infrastructura — primul gust de managed services.
Azure Storage
Am înțeles unde trăiesc fișierele în cloud și cum sunt protejate și accesate.
Astăzi — Baze de Date
Adăugăm piesa care lipsea: date structurate, organizate, interogabile. Fundația oricărei aplicații moderne.
Compute + Networking + Aplicații + Stocare + Date = Scheletul oricărei arhitecturi cloud moderne.
Partea I
De ce avem nevoie de baze de date?
Aplicațiile moderne nu lucrează doar cu fișiere statice. Ele lucrează cu date structurate — informații care trebuie organizate, căutate rapid, actualizate consistent și protejate cu grijă.
Date despre utilizatori
Nume, email, preferințe, istoricul sesiunilor, setări de cont — fiecare utilizator are zeci sau sute de atribute distincte.
Comenzi și tranzacții
Fiecare achiziție, plată sau transfer trebuie înregistrată cu precizie și consistență, fără pierderi sau duplicări.
Produse și inventar
Stocuri, prețuri, categorii, descrieri — date care se actualizează constant și trebuie să fie corecte în timp real.
Rezervări și programări
Disponibilitate, conflicte, confirmări — scenarii în care consistența datelor este critică pentru experiența utilizatorului.
Unde ține Facebook informațiile despre miliarde de utilizatori? Într-o bază de date. Principiul este același: datele structurate au nevoie de un sistem dedicat.
Analogia Bibliotecii
O bibliotecă bine organizată este cel mai bun model mental pentru o bază de date relațională.
Biblioteca = Baza de date
Întreaga colecție organizată de informații, cu reguli clare de acces și catalogare. Un singur sistem coerent.
Rafturile tematice = Tabelele
Fiecare raft ține un tip specific de informație: un raft cu cărți de fizică, altul cu romane. Fiecare tabel stochează un tip de entitate: utilizatori, comenzi, produse.
Fiecare carte = Un rând
O carte individuală reprezintă o singură înregistrare — un utilizator specific, o comandă specifică, un produs specific.
Informațiile despre carte = Coloanele
Titlul, autorul, anul publicării, numărul de pagini — acestea sunt coloanele tabelului. Atribute ale fiecărei înregistrări.
SQL — Limbajul Bazelor de Date
SQL (Structured Query Language) este limbajul universal pentru a comunica cu bazele de date relaționale. Există de decenii și rămâne standardul în industrie — îl veți întâlni în aproape orice proiect enterprise.
Ce poate face SQL?
Căutare și filtrare
Găsește toți utilizatorii din România înregistrați în ultimele 30 de zile — dintr-un tabel cu milioane de rânduri, în fracțiuni de secundă.
Sortare și grupare
Ordonează produsele după preț, grupează comenzile pe luni, calculează totaluri și medii automat.
Actualizare și ștergere
Modifică sau elimină înregistrări specific, cu control complet și posibilitate de rollback.
SQL este un standard ISO. Odată ce înveți SQL, poți lucra cu Microsoft SQL Server, MySQL, PostgreSQL, Oracle — cu diferențe minime de sintaxă.
Partea a II-a
SQL pe VM vs. Azure SQL Database
Dacă vreau o bază de date în cloud, am două opțiuni fundamentale. Ambele rulează SQL Server și acceptă același SQL standard. Diferența fundamentală este cine face munca de mentenanță — tu sau Microsoft.
SQL Server pe o Mașină Virtuală
Când instalezi SQL Server pe o VM, tu preiei responsabilitatea completă a întregului stac tehnologic.
Instalare și configurare
Tu instalezi SQL Server, configurezi parametrii de performanță, partiționezi discurile, setezi collation.
Patch-uri de securitate
SQL Server și Windows Server primesc constant actualizări. Tu trebuie să le aplici, testezi și planifici ferestre de mentenanță.
Backup-uri
Tu configurezi strategia de backup, testezi periodic restaurarea, monitorizezi că backup-urile rulează cu succes.
High Availability
Dacă serverul cade, tu ești cel care primește telefonul la 2 noaptea. SQL Always On Availability Groups necesită expertiză semnificativă.
Monitorizare
Tu configurezi alertele, analizezi metricile de performanță, rezolvi problemele când query-urile devin lente.
Când are sens: versiuni specifice de SQL Server, extensii custom la nivel de OS, aplicații legacy, sau cerințe stricte de compliance.
Azure SQL Database — Varianta Managed
Microsoft preia responsabilitatea infrastructurii. Tu te concentrezi pe date și pe aplicație.
Patch automat
Actualizările sunt aplicate de Microsoft, în ferestre configurabile, fără downtime vizibil.
Backup automat
Backup complet săptămânal, diferențial la 12 ore, transaction log la 5-12 minute. Restaurare punct-în-timp pentru 35 de zile.
HA integrat
Datele replicate pe noduri secundare. Failover automat în secunde, fără intervenție umană. SLA 99,99%.
Monitorizare inclusă
Metrici de CPU, memorie, conexiuni, durata query-urilor. Azure sugerează chiar și indexuri de optimizare.
Managed înseamnă mai puțină responsabilitate tehnică — nu mai puțin control asupra datelor. Datele rămân ale voastre.
Partea a III-a — Lab
Creăm Azure SQL Database — Pas cu Pas
Urmați pașii de mai jos în Azure Portal pentru a crea prima bază de date în cloud.
Resource Group
Creați un Resource Group nou: rg-s09-[prenumele-vostru].
Create a Resource → SQL Database
Căutați SQL Database și selectați opțiunea oferită de Microsoft.
Database Name
La câmpul Database name: s09-db-[prenumele-vostru].
Creare SQL Server Nou
La Server → Create new. Server name: s09-sql-[prenumele-vostru]. Regiune: West Europe. Autentificare: SQL Authentication cu username și parolă — rețineți credențialele!
Pricing Tier
Selectați tier-ul Basic sau cel mai mic disponibil cu model DTU. Menținem costurile minime.
Firewall Rules
Activați Allow Azure services to access this server. Adăugați IP-ul vostru cu Add client IP.
Review + Create
Verificați configurația și dați Create. Deployul durează 2-4 minute.
SQL Server Logic vs. SQL Database
În Azure SQL există două resurse distincte — este esențial să înțelegeți diferența.
SQL Server (Logic)
Containerul care găzduiește bazele de date. Nu este un server fizic sau o VM. Este un punct de conexiune cu: un FQDN unic, credențiale de admin, configurații de firewall și rețea. Un singur SQL Server logic poate găzdui mai multe baze de date.
SQL Database
Baza de date efectivă — locul unde trăiesc tabelele și datele. Fiecare bază de date are propriile tabele, propriul tier de performanță (DTU/vCore), propriile setări de backup și propriile politici de acces.
Analogia blocului: SQL Server Logic = blocul de apartamente (adresa, administrarea clădirii). SQL Database = apartamentul individual (spațiul tău distinct, cu propriile chei).
Partea a IV-a — Lab
Primul Query SQL — Live în Cloud
Acesta este momentul pe care mulți cursanți îl consideră cel mai satisfăcător din sesiunea de astăzi. Vom scrie cod SQL real, pe o bază de date reală, rulând în Azure.
Cum accesezi Query Editor
Navigare
Navighează la SQL Database-ul creat în portal.
Query Editor (preview)
În meniul din stânga, găsește Query Editor și autentifică-te cu credențialele de admin.
Creare tabel
CREATE TABLE Students (Id INT, Name VARCHAR(50));
Adăugare date
INSERT INTO Students VALUES (1, 'Ion'); INSERT INTO Students VALUES (2, 'Maria');
Interogare
SELECT * FROM Students; — Dați Run și priviți rezultatul!
Datele voastre — Ion și Maria — sunt stocate în cloud, cu backup automat, cu High Availability, accesibile de oriunde. Le-ați creat în câteva minute, fără să instalați nimic.
Partea a V-a
Ce Face Azure în Spate?
Baza de date pe care tocmai ați creat-o pare simplă. Dar în spatele ei, Azure rulează un set impresionant de procese automate, 24/7, fără nicio intervenție din partea voastră.
Backup Automat pe 3 Niveluri
Backup complet o dată pe săptămână. Backup diferențial la fiecare 12 ore. Transaction log la fiecare 5-12 minute. Restaurare punct-în-timp pentru ultimele 35 de zile.
Patching Automat
SQL Server primește constant actualizări de securitate și performanță. Aplicate automat, în ferestre configurabile, fără downtime vizibil.
High Availability Integrat
Datele replicate pe noduri secundare. La detectarea unui defect hardware, Azure redirecționează conexiunile în secunde. Nu există telefon de urgență la 2 noaptea.
Monitorizare și Optimizare
Azure colectează: utilizarea CPU, memoria, conexiunile active, durata query-urilor. Oferă recomandări automate de indexuri pentru query-urile lente.
Câte ore de muncă pe lună ar consuma toate astea dacă le-ați gestiona manual pe o VM? Managed databases vă returnează aceste ore pentru ceea ce contează cu adevărat.
Partea a VI-a
Securitate la Nivelul Bazei de Date
Baza de date este, în multe sensuri, cel mai valoros activ dintr-o arhitectură cloud. Serverele pot fi reconstruite. Codul poate fi restaurat din Git. Dar datele utilizatorilor, tranzacțiile, istoricul — acestea sunt unice și irecuperabile.
Nivelul 1 — NSG
Prima linie de apărare, la nivelul rețelei virtuale. Controlează traficul de intrare și ieșire pe bază de porturi și protocoale.
Nivelul 2 — Firewall SQL Server
Independent de NSG, specific bazei de date. Adaugi doar IP-urile cu nevoie legitimă de acces. Niciodată Allow All IPs.
Niveluri avansate
Azure Active Directory Auth, criptare în tranzit și în repaus (TDE), Advanced Threat Protection, Auditing complet. Securitatea se construiește în straturi.
Analogia clubului exclusivist: NSG = portarul de la poartă. Firewall SQL = verificarea invitației la ușa VIP. Treci de ambele sau nu intri.
Partea a VII-a
Comparație Directă: SQL pe VM vs. Azure SQL
| Aspect | SQL Server pe VM | Azure SQL Database |
|---|---|---|
| Instalare inițială | Ore sau zile pentru producție corectă | Câteva minute din portal |
| Patch-uri | Manual — planifici, testezi, aplici | Automat, fără downtime vizibil |
| Backup-uri | Tu configurezi, testezi, monitorizezi | Automat pe 3 niveluri, 35 zile, inclus în preț |
| High Availability | SQL Always On — complex, necesită expertiză | Integrat, SLA 99,99%, failover automat |
| Monitorizare | Tu instalezi unelte de monitoring | Inclus în portal, cu recomandări automate |
| Control OS | Control total asupra OS-ului | Fără acces la OS (95% din cazuri nu ai nevoie) |
| Versiuni SQL | Orice versiune | Versiuni recente suportate de Microsoft |
| Cost model | VM + licență SQL Server | DTU sau vCore — plătești putere de calcul |
Pentru proiecte noi, aplicații moderne, și echipe care vor să se concentreze pe produs, Azure SQL Database este aproape întotdeauna alegerea mai înțeleaptă.
Cleanup — Ștergerea Resurselor
Disciplina curățeniei după exercițiile de test este o regulă de aur pentru oricine lucrează cu resurse cloud.
Navighează la Resource Groups
Caută rg-s09-[prenumele-vostru] în Azure Portal.
Selectează Delete Resource Group
Click pe Delete Resource Group în bara de meniu.
Confirmă ștergerea
Tastează numele resource group-ului pentru confirmare.
Verifică factura
Mergi la Cost Management și verifică că nu există costuri neașteptate.
Chiar și la tier-ul Basic, o bază de date uitată activă timp de o lună generează o factură nedorită. Ștergeți întotdeauna resursele după sesiunile de test!
Tema pentru Sesiunea 9
Trei puncte care testează înțelegerea conceptuală. Scopul este să puteți explica aceste concepte unui coleg sau unui intervievator.
Propria voastră analogie
Explicați ce este o bază de date folosind propria analogie — diferită de cea a bibliotecii. Analogia trebuie să acopere: baza de date, tabelele, rândurile și coloanele.
De ce managed?
Explicați de ce o companie ar alege o bază de date managed în loc să instaleze SQL pe o VM. Dați cel puțin trei motive concrete — argumente de business și operaționale.
Impactul pentru o echipă mică
Care este diferența între SQL pe VM și Azure SQL pentru o echipă de 3-5 dezvoltatori fără un DBA dedicat? Ce înseamnă practic fiecare opțiune în rutina de lucru zi de zi?
Tabloul Devine Complet — 9 Sesiuni
1 Networking (S4-S5)
Rețele virtuale cu subnet-uri și reguli de securitate NSG.
2 Compute (S6-S7)
Mașini virtuale Windows și Linux, Web Apps PaaS, conectate prin RDP și SSH.
3 Stocare (S8)
Azure Storage — unde trăiesc fișierele și cum sunt protejate.
4 Date (S9 — Astăzi)
Azure SQL Database — date structurate, interogabile, protejate, cu backup automat și HA.
Următoarea sesiune
Sesiunea 10 — Monitorizare, Identitate și Cost Management
Sesiunile viitoare adaugă straturi deasupra fundației: cum știi că sistemul funcționează corect, cine are voie să facă ce în Azure, și cum eviți surprizele în factură.
Cel mai important lucru din sesiunea de astăzi: gândirea de arhitect cloud — Am nevoie să administrez eu asta, sau există un serviciu managed? Unde trăiesc datele? Ce se întâmplă dacă ceva se strică?
Vă mulțumesc pentru participare și pentru implicare! Ne vedem la Sesiunea 10.