Microsoft Srbija – Prva pametna baza
SQL tim u Razvojnom centru kompanije Microsoft u Srbiji postoji već 10 godina i razvija neke od ključnih elemenata SQL Server baze podataka. Inovacije koje se trenutno razvijaju u Beogradu najavljuju velike promene u industriji baza podataka, čineći ih autonomnim i pametnim.
Korisnici baza podataka morali su u prošlosti strogo da vode računa o performansama baze kako bi njihov celokupni sistem efikasno funkcionisao. Već ova rečenica ukazuje da se radi o komplikovanom problemu koji zahteva veliko predznanje o bazama podataka. Pored toga, većina korisnika baza zapravo ne želi da rešava probleme koji su nastali zbog toga što je baza spora, već žele da rešavaju probleme svojih korisnika.
SQL tim u Srbiji uvideo je ovaj problem i postavio sebi cilj da ga reši. Tokom tog procesa morali smo mnogo da naučimo o performansama baza, potencijalnim problemima i mogućnostima za optimizaciju. Naučiti dovoljno o ovom problemu i napraviti automatsko rešenje praktično je nemoguće ukoliko ne postoji ogromna količina podataka. U Azure‑u (Microsoft Cloud‑u) postoji više miliona baza koje su svakodnevno aktivne i nailaze na probleme u performansama. Izreka „podaci su nova nafta“ pokazala se kao tačna u našem slučaju, jer smo na osnovu podataka o radu baza mnogo naučili i izgradili automatsko rešenje za problem spore baze podataka.
Pametnije baze
Poslednje tri godine proveli smo u razvoju i unapređivanju funkcionalnosti koje čine bazu pametnijom. Danas, SQL Server baze u Azure‑u mogu da automatski prepoznaju problem i objasne ga, ali takođe mogu i automatski da primenjuju optimizacije kako bi radile efikasnije. Funkcionalnost koja prepoznaje probleme i objašnjava ih zove se Intelligent Insights, dok se funkcionalnost koja automatski primenjuje optimizacije zove Automatic Tuning.
Obe funkcionalnosti prate performanse baze kroz vreme i pamte statistike. Ukoliko trenutne statistike pokazuju lošije performanse nego zapamćene statistike, Intelligent Insights rade detaljnu analizu performansi. Ova analiza nalazi problematične upite koje baza izvršava i među njima krivce za loše performanse. Nakon što su krivci pronađeni, radi se analiza kako i zašto utiču na ukupne performanse baze.
Nasuprot tome, Automatic Tuning traži potencijalne optimizacije koje bi se mogle primeniti na bazi kako bi se ona ubrzala. Nakon što ova funkcionalnost pronađe potencijalnu optimizaciju, ustanovljava pravi trenutak u kome se ona može bezbedno primeniti. Pošto se optimizacija primeni, Automatic Tuning nastavlja da prati performanse baze i zaključuje kako ova nova optimizacija utiče na celokupne performanse baze. Većina optimizacija pomogne da baza radi efikasnije, međutim u nekim slučajevima samo deluje kao dobra ideja, ali u praksi se pokaže drugačije. Baš zbog tih situacija, Automatic Tuning može da automatski ispravi svoju grešku i poništi primenjenu optimizaciju.
Automatic Tuning i Intelligent Insights su funkcionalnosti koje čine SQL Server prvom pametnom bazom podataka na svetu. U Microsoft razvojnom centru s ponosom ističu da su obe ove funkcionalnosti u potpunosti razvijene u Srbiji.
Veljko Vasić, Senior Program Manager