Bug Online

Tema broja - Male baze

U malim se bocama špirit drži

 

Praksom inženjera dominiraju dvije maksime, kojih će se najbolje sjećati studenti koji su imali prilike slušati neki predmet kod starijih profesora (onih koji su još znali popravljati veš-mašine). Prva govori da je umjetnost struke pri kreiranju novih proizvoda odabrati komponente optimalne za svoju namjenu, osobito po cijeni. Druga je maksima, koja je zapravo posljedica prve iako se nekad dovodi u konflikt s njom, da je uvijek preporučljivo griješiti na strani opreza, odnosno da je, ako postoji izbor između više sličnih komponenata, preporučljivije odabrati bolju i robusniju. U današnjem svijetu razvoja softverskih proizvoda često je teško sagledati buduće potrebe i zahtjeve koji će se pred proizvod postaviti te posljedice izbora načinjenih u trenutku njegove izrade. Situaciju samo pogoršava poslovno okruženje u kojem je bitnije završiti projekt u kratkom vremenu i sa što manjim troškovima razvoja nego da proizvod bude po svakom (ili zapravo bilo kojem) pogledu optimalan. Familijarnost s alatima, prošla iskustva i poslovni sporazumi imaju razumljivo velik utjecaj na izbor komponenata za izradu proizvoda.

Jedna je od najvažnijih zadaća netrivijalnih aplikacija pohrana podataka, a najčešći je način predstavljanja strukturiranih podataka u obliku tablica. Upravo zbog popularnosti tabličnog modela podataka danas postoji obilje baza podataka koje ga implementiraju, uglavnom na prilično sličan način. Ovo je obilje pak dovelo do blage zbunjenosti korisnika oko toga što odabrati (naravno, ovo vrijedi ako proizvode ne diktiraju unaprijed radno okruženje ili drugi zahtjevi). Jedno je često rješenje jednostavno rabiti alate već poznate autorima aplikacije - makar to značilo overkill u odnosu na zahtjeve. U upotrebi se relativno često susreću aplikacije različitih vrsta koje imaju, taktično rečeno, iznenađujuće izabranu bazu podataka - od poslovnih i maloprodajnih aplikacija za male trgovine koje koriste Oracle, do aplikacija za nadzor sigurnosti mreža koje koriste Microsoftov SQL Server (koji se, doduše, često spominje u kontekstu sigurnosti, ali ne nužno na način koji bi pogodovao njegovim korisnicima). U opisanim bi se slučajevima izborom male baze podataka za korištenje u proizvodu istovremeno smanjili troškovi licence i komplikacije instalacije te povećala robusnost.

 

Što su male baze podataka?

Za potrebe ove teme, male baze podataka bit će one koje se često na engleskom opisuju kao embedded, s nekoliko dodatnih pojašnjenja i uvjeta. Najvažnija je osobina, konkretno ona kojom ćemo se koristiti kao vodiljom pri svrstavanju proizvoda u ovu kategoriju, da baza podataka ne zahtijeva posebnu instalaciju uz aplikaciju koja se njome koristi. Drugim riječima, ako izvršni program koristi bazu podataka, ne smije postojati dodatna instalacijska aplikacija ili biblioteka koja instalira ili konfigurira bazu podataka da bi program ispravno funkcionirao. Dopušteno je da postoji program koji kreira podatkovne datoteke prema potrebi. U praksi ovo znači da je baza podataka implementirana kao programska biblioteka koju aplikacija koristi, bilo kao statičku (ugrađenu u sâm izvršni program) ili dinamičku (svima poznati DLL). Proizvodi koji zahtijevaju da se u bilo kojem obliku prije korištenja baze podataka na računalu s aplikacijom pokreće instalacijski (setup) program ne ulaze u ovu kategoriju. Posljedica je ovih zahtjeva da se instalacija baze podataka svodi na kopiranje izvršnog programa aplikacije i/ili DLL datoteka (tzv. XCOPY instalacija), te je deinstalacija, analogno tome, brisanje programa, biblioteka i datoteka s podacima s datotečnog sustava. Ovo također znači da nema skrivenih konfiguracijskih radnji kao što su izmjene Registryja u Windowsima.

Iako se u prethodnim opisima referencira Windows platforma, cilj je teme da prikaže proizvode bez obzira na platformu. Nakon sastavljanja popisa proizvoda postalo je vidljivo da velik broj proizvoda podržava više platformi bez posebnog truda. Velik je broj opisanih proizvoda moguće koristiti u stvarnim embedded okruženjima kao što su mala računala (mobiteli, dlanovnici, multimedijski uređaji), ali osnovna je ideja bila okupiti proizvode namijenjene nešto većim platformama - onima koje je moguće iskoristiti u mrežnim appliance uređajima koji zahtijevaju ozbiljne performanse i pouzdanost. Isključeni su stoga proizvodi koji ne nude pohranu podataka na datotečni sustav (tzv. memorijske baze podataka). Također su isključeni proizvodi koji nemaju svoj vlastiti mehanizam pohrane podataka, odnosno oni koji služe samo kao middleware prema nekoj drugoj bazi podataka. S druge strane, neki proizvodi nude mogućnost korištenja u nekoj varijanti serverske konfiguracije (client-server). Najčešće se radi o tek maloj varijaciji i nadogradnji jednostavnog mrežnog protokola na postojeći kôd. Za potrebe ove teme ovo nije ni razlog protiv niti razlog za korištenje proizvoda.

Za sâm oblik pohrane baze podataka namjerno nisu bili postavljeni strogi zahtjevi da bi se uključile baze podataka koje ne koriste SQL ili, ako ga koriste, imaju rudimentarnu implementaciju. Također, nisu postavljeni specifični zahtjevi na mogućnosti i pouzdanost pohrane. U opisima je ipak dana prednost proizvodima s većim mogućnostima i strožim garancijama pouzdanosti podataka.

 

Napomena: Članci iz časopisa se ne prenose uvijek kompletni, sa svim slikama, potpisima pod slike, okvirima, tablicama i sličnim. Ponekad se ne prenosi niti cijeli tekst članka. Svrha članaka na Webu jest da pruže uvid u način obrade teme i potaknu interes za proučavanjem tiskanog broja. Za cjelovit uvid u članke - savjetujemo da pogledate papirnato izdanje časopisa. Hvala.
Svaka netrivijalna aplikacija ima potrebu pohranjivati i raditi s određenim skupovima podataka. Između dviju krajnosti – pisanja vlastite programske podrške za ovu zadaću i korištenja nekog profesionalnog i specijaliziranog proizvoda – nalaze se proizvodi koji su predmet ove teme: male baze podataka. Za potrebe ove teme pod malim bazama podataka podrazumijevat ćemo ono što se inače na engleskom zove embedded bazama – proizvodima namijenjenima ugradnji u veće aplikacije koji za njih obavljaju poslove pohrane i dohvata podataka. Ispravnim odabirom male baze podataka same po sebi, ili čak umjesto neke velike baze, mogu se optimizirati kompleksnost, performanse i cijena krajnjeg proizvoda

izdvojeni tekstovi - lipanj 2010.

Microsoft Windays 2010, Rovinj

Krasna zemljo, tehnologijo divna čet 20.5.2010

DORS/CLUC 2010

Pragmatičnost ispred ideologije čet 20.5.2010

WiMAX u krizi

Tehnologija na prekretnici čet 20.5.2010

Male baze

U malim se bocama špirit drži čet 20.5.2010

System Center Service Manager 2010

Prijatelj u nevolji čet 20.5.2010

Adobe Flash Professional CS5

Standard za interaktivni sadržaj čet 20.5.2010

Lenovo TS200v

Dobar mali server čet 20.5.2010

Microsoft Windows Phone 7

Zatvoreni krug čet 20.5.2010

Thecus N5500, N7700

Pet ili sedam sub 15.5.2010

Lenovo ThinkPad W510

Moć u malom pet 7.5.2010

StressLinux

Pod pritiskom sri 28.4.2010