Rabu, 15 Januari 2014

Mengenal Data Base: Postgre SQL

Kepala Gajah, Logo PostgreSQL

Untuk mengembangkan aplikasi database, salah satunya untuk keperluan Sistem Informasi Kesehatan pasti menggunakan database. Salah satu alternatif database gratis (not free, tapi harga relatif terjangkau) adalah dengan menggunakan database PostgreSQl.

PostgreSQL merupakan database server cukup dikenal di kalangan administrator database, programer aplikasi, maupun pengembang web. Popularitasnya ikut menanjak mengikuti saudaranya “MySQL” yang telah lebih dulu merebut hati jutaan pengguna di seluruh dunia. Sifatnya yang open source dan lisensi bebas, serta sama-sama berawal dari platform Unix ikut menunjang penyebarannya. Paket PostgreSQL juga dapat ditemukan dikekemas bersama beberapa distro Linux.

PostgreSQL merupakan database RDMBS ‘bebas” yang powerful dan tidak kalah dengan database komersil sekelasnya Oracle, maupun Sybase, dan Informix, seperti Blue Elephant yang menjadi gambar logonya. Pengembang PostgreSQL selama kurun waktu 15 tahun ini adalah ratusan orang di banyak universitas dan organisasi yang melakukan kominikasi lewat internet.
Berbagai fitur yang ada di PostgreSQL semacam transaction, merupakan jawaban untuk mereka yang memerlukan fasilitas tersebut tapi belum menemukannya di MySQL. Anda akan diajak pula dari melakukan instalasi sampai mempergunakan tool-tool berbasis gratis untuk melakukan pemeliharaan database dan sebagai user PostgreSQL.

Database Server PostgreSQL yang kini mendukung platform NT, Solaris, Sun OS, HPUX, AIX, Linux, Irix, FreeBSD dan kebanyakan Unix lainnya telah dikembangkan sejak 1985.
Database ini diturunkan dari INGRES dan POSTGRES, proyek database akademis pada University of California di Berkeley. Selama ini PostgreSQL telah dipelihara, ditingkatkan dan didukung oleh sekelompok pengembang yang stabil serta sejumlah kontributor.

PostgreSQL didisain untuk skala besar, memiliki ciri berorientasi objek, namun tetap dapat digunakan layaknya RDBMS pada umumnya. Para pengembangnya (dulu) mengutamakan kelengkapan feature ketimbang dukungan penuh akan standar SQL. Dalam perjalanannya, kelebihan feature ini justru membuat Postgres semakin powerful dan membuatnya dapat disejajarkan dengan database besar lainnya seperti Oracle. Salah satu contoh standar SQL yang belum dipenuhi oleh PostgreSQL saat ini (versi 6.5.3) adalah referential integrity dan outer-join. Meski demikian, programmer Postgres tetap merencanakan untuk membuatnya memiliki standar SQL yang sudah ditetapkan. Fasilitas standar lain yang telah didukung adalah trigger dan function.

Function dalam PostgreSQL sangat unik karena PostgreSQL tidak menetapkan built-in language untuk penulisan function. PostgreSQL menyerahkan kepada pemakai untuk memilih sendiri bahasa yang diinginkan yang disebut Procedural Language. Pada saat deklarasi function, Anda harus menyebutkan bahasa yang digunakan. Pada versi 6.5.3 procedural language yang tersedia adalah pgSQL dan Tcl. Jadi script function yang dideklarasikan akan diterjemahkan oleh library yang bersangkutan (tergantung bahasa yang dipilih) untuk selanjutnya library tersebut melakukan koordinasi dengan library PostgreSQL.

Kelebihan PostgreSQL
  1. PostgreSQL memiliki arsitektur multiproses (forking) yang berarti memiliki stabilitas yang lebih tinggi, sebab satu proses anak yang mati tidak akan menyebabkan seluruh daemon mati—meskipun pada kenyataannya, dulu ini sering terjadi.
  2. Dalam kondisi load tinggi (jumlah koneksi simultan besar), kecepatan PostgreSQL sering mengalahkan MySQL untuk query dengan klausa JOIN yang kompleks, hal ini dikarenakan PostgreSQL mendukung locking di level yang lebih rendah, yaitu row.
  3. PostgreSQL memiliki fitur OO seperti pewarisan tabel dan tipe data, atau tipe data array yang kadang praktis untuk menyimpan banyak item data di dalam satu record.Dengan adanya kemampuan OO ini maka di PostgreSQL, kita dapat mendefinisikan sebuah tabel yang mewarisi definisi tabel lain.
  4. PostgreSQL menyediakan hampir seluruh fitur-fitur database seperti yang terdapat dalam produk database komersial pada umumnya.
  5. PostgreSQL pun memiliki tipe data geometri (seperti titik, garis, lingkaran, poligon) yang mungkin berguna bagi aplikasi ilmiah tertentu
  6. PostgreSQL memberikan kita kemampuan mendefinisikan sebuah field sebagai array.
  7. PostgreSQL memiliki hampir semua fasilitas standar yang biasanya diinginkan: view (tabel virtual), trigger, subselek, stored procedure (dalam beberapa bahasa), dan foreign key constraint
  8. PostgreSQL juga memiliki apa yang disebut rule, yaitu tindakan custom yang bisa kita definisikan dieksekusi saat sebuah tabel di-INSERT, UPDATE, atau DELETE
  9. Postgres juga mempunayai kemampuan untuk membuat konektifitas dengan database lain seperti pgdump, Interbase, pgaccess dan hampir semua database pada Linux.
  10. kemampuannya menampung data spasial, sehingga ia bisa digunakan dalam pembuatan situs yang berbasis Web GIS untuk pemetaan dan sebagainya.
  11. PostgreSQL memiliki lisensi GPL (General Public License) dan oleh karena itu PostgreSQL dapat digunakan, dimodifikasi dan didistribusikan oleh setiap orang tanpaperlu membayar lisensi (free of charge) baik untuk keperluan pribadi, pendidikan maupun komersil.
  12. PostgreSQL mendukung banyak jenis bahasa pemrograman,antara lain: SQL, C, C++, Java, PHP, etc.
  13. PostgreSQL juga merupakan alternative untuk sistem database open-source lainnya seperti MySQL dan Firebird, terutama sistem proprietari seperti Oracle, Sybase, IBM’s DB2dan Microsoft SQL Server.
Tools yang tersedia cukup banyak dan sangat berguna seperti:
  1. pg_dump: konversi objek database menjadi script SQL
  2. pgaccess: drag & drop-nya cukup menyenangkan
  3. PostgreSQL didukung oleh banyak bahasa (atau Postgres mendukung banyak bahasa?), antara lain: C++, Java, Perl, Tcl, PHP3 dan Python. Library untuk ODBC dan JDBC juga telah tersedia, sehingga bahasa lainnya yang mendukung keduanya dapat mengakses PostgreSQL


0 komentar:

Posting Komentar