Kali ini akan dibahas
lebih dalam tentang salah satu software DBMS, yaitu PostgreSQL. Sebelumnya perlu direview kembali apakah maksud
dari Database Manageent System (DBMS) itu sendiri. Database Management System
adalah software yang digunakan untuk mengelola suatu basis data dan melakukan
operasi terhadap data yang digunakan oleh banyak pengguna. DBMS digunakan untuk melakukan koleksi data
dalam jumlah yang besar dan manipulasi data dalam bentuk yang lebih mudah. Ada
banyak contoh – contoh dari DBMS. Diantaranya ada yang berbayar dan ada juga
yang gratis. Dan PsotgreSQL adalah salah satu DBMS yang open source.
Sumber gambar: http://upload.wikimedia.org/wikipedia/commons/thumb/2/29/Postgresql_elephant.svg/200px-Postgresql_elephant.svg.png
Merupakan salah satu DBMS yang bersifat open source. Kepopuleran
dari PostgreSQL tidak kalah jika dibanding dengan Oracle. Adapun tipe dari PostgreSQL
adalah ODBMS (Object-Relational Database Management System). PostgreSQL mendukung standar SQL 92 dan SQL 99. Selain
itu PostgreSQL juga mendukung berbagai bahasa pemrograman, diantaranya C, C++,
TCL, Perl, Phyton, PHP dan lain - lain.[1]
Arsitektur dari
PostgreSQL dapat dibagi ke dalam 3 subsistem, yaitu Cliecnt server, Server
Process dan Database Control.
A. Client
Process.
Seperti pada
gambar di atas Client Server terbagi ke dalam dua bagian utama, yaitu Client
Application dan Client Interface Library. Aplikasi - aplikasi pada Client
Application kebanyakan berjalan pada OS yang berbeda, seperti Mergean,
PGinhaler, dan SQirret. Kemudian setelah memasuki langkah selanjutnya, Client
Interface Library akan mengkonversikan ke SQL Query yang tepat sehingga masing
- masing aplikasi dapat berbicara ke server. Hai ini dapat memaksimalkan kohesi
dari server dikarenakan tidak perlu dapat memahami berbagai bahasa yang berbeda
- beda.
B. Server
Process.
Tahap pada fase ini juga dapat dibagi ke
dalam 2 bagian, yaitu Postmaster dan Pstgres Server.
1. Postmaster
Postmaster itu sendiri adalah sebuah thread deamon
yang dapat berlangsung terus menerus. Apabila menerima panggilan dari klien,
postmaster akan menciptakan Postgres Server secara korespondensi satu – satu
yang artinya satu panggilan satu Postgres Server. Kemudian panggilan klien
tersebut akan langsung berhubungan dengan Postgres Server tanpa harus melalui
Postmaster lagi terlebih dahulu.
2. Postgres
Server.
Postgres Server berfungsi untuk meneruskan sebuah
query SQL untuk kemudian diterjemahkan menjadi data hasil. Postgres Server
mempunyai sebuah arsitektur tersendiri yang dapat ditampilkan pada gambar di
bawah.
Parser
Hal pertama yang dilakukan adalah parser menerima query dalam
bentuk teks ASCII. Setelah diterima parser akan memastikan bahwa query tersebut
memiliki syntax yang valid akan tetapi tidak memahami semantik. Kemudian query
tersebut dirakit menjadi parse tree untuk dikirimkan kepada Traffic Cop.
Traffic Corp
Selanjutnya Traffic Corp menerima query dari yang dikirimkan
oleh Parser dan kemudian memilah mana perintah yang sederhana dan mana yang
rumit. Perintah sederhana akan dikirmkan ke Executor dan yang kompleks akan
dikirimkan ke Planner/Optimizer dengan melalui Rewriter.
Rewriter
Rewriter hanyalah menjadi tempat persinggahan sementara dari
query sebelum menuju ke Planner/Optimizer.
Planner/Optimizer
Query akan dieksekusi oleh Planner/Optimizer secara berurutan
dan menghasilkan hasil yang sama. Setelah itu query akan dikirim ke Eksekutor.
Executor
Menerima rencana dari perencana/Optimizer dalam bentuk pohon.
Dan pengembalian output ke klien.
C. Database
Control.
Pada fase ini
juga terdiri dari 2 bagian, yaitu Data Storage dan Data Management. Penyimpanan
pada Data Storage ditangani melalui subsistem akses dan penyimpanan. Sedangkan
pada Data Management database tersebut dikelola oleh beberapa subsistem
independen. [ii]
Adapun pengguna dan kegunaan PostgresSQL
adalah :
a. Yahoo!,
yang digunakan untuk analisa perilaku pengguna web.
b. MySpace,
menggunakan basisdata Aster nCluster untuk gudang data, dibangun diatas PostgreSQL
tanpa modifikasi.
c. OpenStreetMap,
menggunakan PostgresSQL untuk menciptakan peta dunia yang bebas sunting.
d. Afilias,
register domain untuk .org, .info, dan sebagainya.
e. Sony
Online multiplayer online game.
f.
BASF, platform belanja untuk portal
agribisnisnya.
g. hi5.com
portal jejaring sosial.
h. Skype
aplikasi VoIP, basisdata pusat bisnis.
i.
Sun xVM, perangkat lunak virtualisasi dan otomasi
datacenter milik Sun. [iii]