Transaction log, prvi deo – osnovni podaci i struktura
Transaction log, prvi deo – osnovni podaci i strukturaTransakcija 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
Humor
HumorNisam 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":
SQL Azure – baza u oblaku
SQL Azure – baza u oblakuSQL 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.
Context_Info ili gde da smestim podatke o konekciji
Context_Info ili gde da smestim podatke o konekcijiPostoje prilike u kojima je potrebno neke podatke čuvati tokom trajanja jedne konekcije. To može biti recimo neka interna šifra radnika koji je ulogovan u aplikaciju, datum i vreme kada je uradio neki posao, koji objekat je neku operaciju izvršio (da li je neki update u tabeli obavila procedura, funkcija ili ad hoc upit) itd. Sve ovo se može na neki način čuvati u standardnim tabelama SQL servera. Uobičajeno je u većini softverskih proizvoda da se beleže podaci u neku tabelu prilikom logovanja, i to je sasvim u redu. Međutim, ponekad tabela može biti preglomazna, loše ogranizovana ili nedostupna, i ovaj mali savet vam može dobro doći.
Zamislimo softver koji u svakom momentu koriste hiljade ili čak desetine hiljada korisnika (velika banka, državna institucija, telekomunikacioni operater...). Imamo zadatak da razvijemo neku vrstu auditing sistema. Za manje upućene - u pitanju je softverski veliki brat: kada ste kliknuli na neko dugme, koji je to rezultat proizvelo, koja je transakcija pokrenuta i u kom kontekstu, kada se transakcija završila i sa kojim rezultatom, sve se to uredno beleži u neku bazu (ili u pojednostavljenom slučaju – u jednu tabelu). Ja koristim termin audit odnosno auditing jer u našoj struci nema boljeg (bolje reći nikakvog) prevoda. Inače je prevod vrlo jednostavan – revizija, ali eto, probajte da nekome objasnite da pravite sistem za softversku reviziju...
Nego, da se vratimo na temu. Možemo da napravimo tabelu koja sadrži šifru zaposlenog koji se loguje, SPID, datum i vreme logovanja i sl. Međutim, softver je za nas crna kutija a audit radimo preko triggera. E sad, zamislite tu tabelu koja se pri SVAKOJ transakciji čita, pa puta desetine hiljada korisnika, pa puta broj operacija gde se ti podaci čitaju. Vrlo vrlo sporo. Tu može da uskoči Context_info i olakša nam život. Kako?
Presek datumskih intervala
Presek datumskih intervalaVerovatno 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:
Kako je sve pocelo
Kako je sve poceloZa 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...
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.
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!

