SQLServer.iz.rs Prvi domaci sajt o MS SQL serveru

11May/120

Transaction log, prvi deo – osnovni podaci i struktura

Transaction log, prvi deo – osnovni podaci i struktura

Transakcija nad bazom podataka se sastoji od jedinice rada izvršene u okviru sistema za upravljanje bazama podataka (ili sličnog sistema), takve da se tretira na koherentan i pouzdan način, nezavisna od drugih transakcija. Transakcije nad bazama podataka imaju dve glavne svrhe:
1. Da omoguće pouzdano izvršavanje jedinica rada koje takvih da je moguć oporavak od greški, i da baza podataka ostaje konzistentna čak i u slučaju sistemskih grešaka, kada se izvršavanje prekine (u potpunosti ili delimično) i mnoge operacije nad bazom ostanu nedovršene ili sa nejasnim statusom.
2. Da omoguće izolaciju među programima koji istovremeno pristupaju bazi podataka. Bez izolacije, rezultati programa mogu da budu pogrešni.
Transakcija nad bazom podataka po definiciji mora da bude atomična,(engl. atomic), konzistentna (engl. consistent), izolovana (engl. isolated) i trajna (engl. durable).Skraćenica koja označava ovaj skup osobina je ACID (od početnih slova engleskih reči za ove četiri osobine).

Izvor: Wikipedia

Šta je u stvari transakcija? Recimo da imamo dve operacije u nekom knjigovodstvenom softveru – skidanje iznosa sa jednog računa i zatim dodavanje istog iznosa nekom drugom računu. Šta se dešava ako nestane struje posle prve operacije? Prvi račun je „osiromašio“ za neki iznos, ali se sredstva gube jer se ne nalaze na ciljnom računu. Tu stupaju na scenu transakcije, koje nam omogućavaju da dve pomenute operacije posmatramo kao celinu.
Nastavak

27Apr/120

Humor

Humor

Nisam pisao neko vreme, zbog raznih obaveza, ali sam polako počeo da spremam nove tekstove. Za početak, i da u smehu provedemo ove tople dane, malo humora u vezi sa SQL Serverom i bazama podataka uopšte.

Verovatno najpoznatiji humoristički strip o SQL-u je "Exploits of a mom":

 

 

 

Nastavak

16Jan/120

SQL Azure – baza u oblaku

SQL Azure – baza u oblaku

SQL Azure je deo Microsoft-ove Windows Azure platforme koji je već neko vreme dostupan kao skup servisa u Oblaku. SQL Azure se stalno menja kako vizuelno, zato što se stalno poboljšava Silverlight administrativna aplikacija, tako i funkcionalno. Mislim da je vreme da mu posvetimo malo više vremena, jer sam duboko ubeđen da je SQL Server u Oblaku, bilo privatnom ili javnom, budućnost.

SQL Azure je nešto novo u svetu SQL Servera, i svakakom od nas će dobro doći da se sa njim bolje upozna. Moj bivši kolega Goran Milanov piše vrlo kvalitetan i interesantan blog za MS Academic zajednicu, i da ne bih ja otkrivao toplu vodu, preporučujem da posetite njegov blog i saznate više o SQL Azure-u.

Tagged as: No Comments
30Dec/111

5 nacina da optimizujete upit ili proceduru

5 nacina da optimizujete upit ili proceduru

U pred-novogodišnjem periodu su vrlo popularne liste tipa – Top X ovoga ili onoga, Y stvari koje morate da uradite u novoj godini i sl. Pa tako i na našem malom sajtu dajemo jednu kratku listu stvari koje možete uraditi brzo a dobiti opipljive rezultate.

Ograničiti količinu ulaznih podataka
Mnogo (u stvari previše) puta sam video da jedan upit uzima sve moguće podatke, nešto radi sa njima, prosleđuje drugom upitu, da bi ih tek u poslednjem koraku filtrirao tj. primenio neke uslove koji smanjuju količinu izlaznih redova. Ovakav pristup je očigledno pogrešan. Možda deluje komplikovanije da se u inicijalnom uzimanju podataka primene i uslovi (filteri) ali performanse mogu biti višestruko poboljšane ako se sve vreme radi sa manjom količinom podataka.

Indeksi
Kako na čvrstim tako i na privremenim tabelama, važno je dobro definisati indekse. Pogotovo je važno imati indekse na kolonama preko koji se rade Join-ovi. Zamislite traženje broja u telefonskom imeniku bez indeksa i biće vam sve jasno.

Razmišljati o skupovima
SQL je zamišljen tako da radi sa velikim količinama podataka i za to je optimizovan. Ako nešto radi red po red, u konfliktu je sa onim u čemu je svaki RDBMS (pa tako i SQL Server) najbolji.

Koristiti temp tabele (ili promenljive tipa Table) u procedurama
Mogu biti višestruko korisne:
Ako se dobro definišu i stave adekvatni indeksi – ubrzavaju rad
Često čine proceduru čitljivijom, odnosno posao dele u više manjih celina
Omogućavaju nam da izbegnemo korelisane upite.

Execution plan moj dobar drugar
Pokazaće nam gde grešimo, a neke stvari odmah upadaju u oči i već na prvi pogled dosta govore: broj redova sa kojima upit radi, Query cost, Table scan i sl.

Srdačan pozdrav i srećni praznici!

3Aug/110

RBAR – trougaoni join

RBAR – trougaoni join

Skriveni RBAR – trougaoni join *

*Napomena: ovaj tekst nije moje autorsko delo već moj prevod teksta koji je napisao Jeff Moden i koji je objavljen na adresi:
http://www.sqlservercentral.com/articles/T-SQL/61539/

Nastavak

25Jul/110

Presek datumskih intervala

Presek datumskih intervala

Verovatno ste u svojoj karijeri (ili u školi/na fakultetu :) ) imali potrebu da proverite da li se neka dva opsega (intervala) datuma seku (preklapaju...). Ako kojim slučajem i niste - imaćete, a ovaj tekst vam tada može biti od koristi. Problem nije veliki ni težak odnosno rešenje nije komplikovano, ali razmišljanje o njemu može oduzeti dragoceno vreme.

Razmotrimo koji su mogući slučajevi kada je u pitanju presek dva vremenska intervala. Intervale ćemo nazvati: Interval A i Interval B. Tačka A1 označava početak intervala A na vremenskoj osi, dok tačka A2 predstavlja kraj tog intervala. Analogno tome, tačke B1 i B2 označavaju početak, odnosno kraj intervala B.

Dakle, slučajevi su sledeći:

Nastavak

13Jul/110

Kako je sve pocelo

Kako je sve pocelo

Za prvi tekst na ovom sajtu odabrao sam kratku istoriju MS SQL Server-a. Jednostavno, ovakva vrsta teksta je baš nekako primerena uvodu. Pa, da počnemo...

IBM OS/2

 

 

 

 

 

Da bi se opisala istorija nastanka i prve godine razvoja SQL Server-a, bitno je znati kontekst u kome je nastao. Sredinom osamdesetih godina, Microsoft i IBM su se udružili na zajedničkim projektima koji su obuhvatali nekoliko vrsta softvera. Najvažniji među njima je bio novi operativni sistem OS/2, zamišljen kao naslednik MS-DOS-a. Vrlo brzo nakon dogovorene saradnje, IBM je objavio da će izdati posebnu, „extended“ verziju ovog operativnog sistema, sa mnoštvom zanimljivih dodataka, među kojima se nalazio i sistem za upravljanje relacionim bazama podataka (RDBMS). Kako ne bi zaostajali za IBM-om, u kompaniji Microsoft su pokušali da pariraju ovakvoj ponudi, i kreiraju svoj RDBMS. Obratili su se kompanijama iz oblasti upravljanja podacima, Sybase i Ashton-Tate.

  Nastavak

4May/110

Hello world!

Hello world!

Dobrodošli na prvi srpski sajt posvećen SQL Serveru! Nadam se da ćete ovde naći sve ono što vas zanima, i mnogo više od toga.

Veliki pozdrav i ... navratite ponovo!

Tagged as: No Comments