Bug Online

Softver – Baze podataka - PostgreSQL 9.0 beta

Oracle Open-source svijeta

Logotip PostgreSQL-a je slon – jer oni ne zaboravljaju
Logotip PostgreSQL-a je slon – jer oni ne zaboravljaju

Svijet Open source tehnologija nimalo nije siromašan osnovnim alatima potrebnima za stvaranje aplikacija različite složenosti i namjene – tako postoji veliki broj programskih jezika, web servera, e-mail servera pa na kraju i baza podataka. Zbog njihove korisnosti i potreba koji se razlikuju od slučaja do slučaja, po brojnosti su baze podataka vjerojatno među najbrojnijim projektima koji se mogu naći, no među velikim brojem projekata najpoznatije su samo tri: SQLite, MySQL i PostgreSQL. Po svojstvima, SQLite je najjednostavnija i pogodna za male aplikacije ili one gdje je jednostavnost najvažnija. S ovim osobinama uzima dio korisnika MySQL-u kojem je trenutno budućnost malo nesigurna zbog kupnje od strane Oraclea i fragmentacije dostupnih inačica, a koji inače sasvim dobro popunjava prostor potreba za klijent-server bazom podataka koja je ipak korisna kada su potrebe složenije ili broj korisnika veći.
                                 
PostgreSQL se pozicionirao u gornjem dijelu ponude sa velikom pažnjom posvećenom pouzdanosti i konzistenciji podataka te sukladnosti standardima. Iako nije tako jednostavan za konfiguraciju i održavanje kao MySQL (te niti približno SQLite-u), PostgreSQL je s vremenom dobio na popularnosti kod profesionalnih aplikacija i proizvoda kod kojih su podaci poslovno kritični a broj korisnika koji aktivno rade na sadržaju veliki (implementacija MVCC-a prisutna je praktički oduvijek). Zbog vrlo izraženih mogućnosti proširenja (dodavanja tipova podataka, proizvoljnih programskih jezika za serverske procedure unutar baze podataka, korisnički definiranih složenih indeksa), PostgreSQL koriste i neke grupe korisnika sa posebnim potrebama, na primjer dizajneri GIS-a (geoinformacijski sustavi) i genetičari.

PostgreSQL kroz povijest

Verzije PostgreSQL-a se nastavljaju jedna na drugu linearno tijekom razvoja, odnosno ne postoje posebne "grane" revizija iz kojih se objavljuju PostgreSQL 7.x, 8.x ili 9.x. Izdanja sa povećanim drugim brojem verzije (kao 8.2, 8.3 i 8.4) se redovno objavljuju u relativno pravilnim vremenskim razmacima a s vremena na vrijeme se dogode promjene koje se ocijene dovoljno važnima da zavrjeđuju povećanje prvog verzijskog broja. U verziji 8.0 značajne novosti su bile službena podrška za operacijske sustave Windows (PostgreSQL je inicijalno razvijen za Unixe), mogućnost "podtransakcija" (savepoints), kontinuirani backup podataka koji omogućuje vraćanje stanja u nekom određenom trenutku u vremenu (PITR – point in time recovery) te raspoređivanje podataka po datotečnim sustavima odnosno uređajima za pohranu (tablespaces). Verzije 8.1 do 8.4 su uvele brojna značajna poboljšanja performansi, poboljšanja u podršci SQL standardima (SQL 2003, uključujući statističke i windowing funkcije), nove tipove podataka kao XML, enum i hstore (document store), te rafinirale PITR za potrebe warm standby replikacije.

Iznimno je važno napomenuti da se sve izdane verzije održavaju tijekom dugog vremenskom perioda tijekom kojeg dobijaju popravke grešaka i sigurnosnih problema, te je tako verzija 8.0 još uvijek podržana iako je izašla u siječnju 2005. Zadnja verzija iz slijeda 8.x je 8.4, izdana sredinom 2009.

Novosti u devetki

Glavni razlog povećanju "velikom" povećanju verzije je novouvedena mogućnost replikacije sadržaja baze podataka između aktivnog i pasivnih čvorova na način pogodan za stvaranje hot standby sustava visoke dostupnosti. U ovoj konfiguraciji, podaci se unose na jednom serveru (active ili master) koji ih propagira na druge pridružene čvorova (koji su sa ovog stajališta pasivni ili slave), s tim da se podaci uvijek mogu čitati sa svih čvorova. Replikacija je asinkrona u smislu da pasivni čvorovi mogu malo kasniti sa podacima za glavnim čvorom, ali se mogu promovirati u master čvorove bez restarta. Slične mogućnosti za PostgreSQL su postojale i prije ali u obliku dodataka koji nisu dio samog PostgreSQL-a.

Dodavanje replikacije u osnovne mogućnosti baze podataka čini ju lakše iskoristivom za potencijalne korisnike. Implementirani način replikacije je početna točka za kompleksnije načine, uključujući sinkronu replikaciju i multi-master replikaciju.

U odnosu na ovaj veliki dodataka bazi podataka, druge nove mogućnosti su relativno male. Programski jezik za serverske procedure PL/PgSQL (vrijedi spomenuti da je naziv jezika namjerno nalik onome od Oraclea) je sada dio svih baza podataka na svim platformama umjesto da se mora eksplicitno konfigurirati na nekima. Dodana je autorizacija putem RADIUS protokola i poboljšana autorizacija preko LDAP-a, a pravila pristupa serveru na razini konekcija pojednostavljena za TCP/IP protokola uvođenjem stavki "samenet" i "samehost." Administracija je dalje poboljšana dodavanjem mogućnosti različitih konfiguracijskih opcija servera ovisno o korisnicima i bazama podataka na koje su spojeni, pregled veličina objekata u bazi podataka i za detaljni pregled iskoristivosti cache memorije u alatu psql. Bolja sukladnost SQL standardu postignuta je dodavanjem okidača (triggers) na pojedinačne stupce tablice, mogućnosti odgode izvršavanja ograničenja (constraints) do kraja izvođenja naredbi te stvaranju tablica čija struktura odgovara nekom složenom tipu podataka.

Među nekoliko poboljšanja performansi značajni su novi način kompletnog defragmentiranja podataka baze (vacuum full) koji podatke i indekse rekonstruira ispočetka umjesto premještanja unutar datoteka te brže stvaranje GIN indeksa (jedna od vrsta općenitih, korisnički-definiranih indeksa).

Nova verzija PostgreSQL-a donosi značajnu novu novost – replikaciju podataka – u osnovnom sustavu te niz manjih poboljšanja koji svi skupa samo potvrđuju ulogu ove baze u gornjem segmentu ponude.

zadnji komentari na forumu (8)

Dado_ZG78 čet 8.4.2010 14:08

PostgreSQL 9.0 beta

Koristio sam doma mySQL ali sam još krajem prošle godine odlučio isprobati i postgreSQL i sad mislim da ću se prebaciti na postgre sasvim, ali sam trenutačno ljen prebacivati podatke i podešavati sve da mi radi kako treba u sprezi sa java kodom pisanim u Eclipse-u...

Dženan ned 4.4.2010 09:35

PostgreSQL 9.0 beta

A zašto ne spomenu Firebird?...

naxeem sub 3.4.2010 16:22

PostgreSQL 9.0 beta

Zašto se meni čini da je članak napisan na brzinu, složen iz nekoliko pokušaja i nije pročitan niti jednom valjda? Skoro pa nečitko....

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.
PostgreSQL je sve popularnija Open source baza teške kategorije – uz mogućnosti i performanse često ju uspoređuju sa Oracleom. Nova verzija upotpunjuje njene mogućnosti na razinu koja je dovoljna i u najzahtjevnijim primjenama

Ime proizvoda

PostgreSQL 9.0beta

Tip

Baza podataka

Plus

Velike mogućnosti, performanse, profesionalna pažnja konzistenciji podataka, replikacija u novoj verziji

Minus

Konfiguracija nije tako lagana kao kod nekih drugih Open source baza podataka

Dojam

Odličan izbor za sve aplikacije u kojima je važna podrška za standarde, velike mogućnosti i profesionalan odnos prema konzistenciji podataka

URL

www.postgresql.org

Open source

izdvojeni tekstovi - svibanj 2010.

Oleg Maštruko

Pohrambena manija uto 20.4.2010

HP Workstation Press Event, Los Angeles

Širenje obZora uto 20.4.2010

PC tržište u svijetu i kod nas

Po večeri se dan poznaje uto 20.4.2010

HT kupio Combis

Telekom integrator? uto 20.4.2010

Nino Kurtalj, predsjednik uprave tvrtke Elma Kurtalj

Od tiskane pločice do inteligentnih gradova uto 20.4.2010

Mali NAS uređaji

Uredski terabajti u malom uto 20.4.2010

WordPress 2.9.2

Gutenberg za blogove uto 20.4.2010

AMD Opteron 6100 (Magny-Cours)

Složni seksteti uto 20.4.2010

Zaštita spanning-tree integriteta

Stablo života uto 20.4.2010

DOMEA

Koncept ureda bez papira uto 20.4.2010

PostgreSQL 9.0 beta

Oracle Open-source svijeta pet 2.4.2010

Druga Poslovno-tehnološka konferencija

Novo HP-ovo okupljanje čet 18.3.2010