Pengertian PostgreSQL
PostgreSQL (atau dikenal juga sebagai Postgres) adalah sebuah RDBMS open-source (didistribusikan secara free) yang menekankan pada pemenuhan standar teknis dan fleksibilitas (keluwesan) data. PostgreSQL didistribusikan dengan lisensi bebas/gratis, sehingga dapat digunakan, dimodifikasi, dan didistribusikan kembali kepada publik secara bebas/gratis untuk tujuan pribadi, komersial, ataupun akademik.
PostgreSQL dirancang untuk menangani beban kerja terhadap data dari sebuah mesin menuju layanan web yang diakses banyak orang secara bersamaan. PostgreSQL merupakan sebuah sistem manajemen database yang didesain agar bekerja dengan baik pada sistem MacOS Server, namun development-nya juga diberlakukan untuk platform Linux, FreeBSD, OpenBSD, dan Windows 32-bit dan 64 bit sampai pada versi PostgreSQL 10. Selanjutnya, mulai dari versi PostgreSQL 11 dikembangkan untuk platform MacOS 64-bit dan Windows 64-bit saja.
Potsgres pada awal pengembangannya dilakukan oleh seorang mahasiswa dan staff programmer dari University of California, Berkeley, di bawah bimbingan Professor Michael Stonebraker pada tahun 1982.
RDBMS ini tadinya diberi nama Postgres, namun seiring perkembangannya dengan fungsi-fungsi query SQL yang semakin hari terus ditambahkan, maka pada tahun 1995 namanya dirombak menjadi Postgres95. Terakhir pada tahun 1996 dirombak lagi menjadi PostgreSQL, yang terus digunakan sampai saat
PostgreSQL merupakan pelopor banyak konsep yang hanya tersedia pada sistem database komersial selanjutnya. Walaupun dikembangkan secara open-source, namun ia mendukung sebagian besar standar SQL ditambah banyak fitur database komersial modern, di antaranya sebagai berikut.
- query yang kompleks,
- Foreign Key (FK),
- Trigger,
- Views yang siap di-update,
- integritas transaksional,
- kontrol konkurensi terhadap berbagai versi bahasa pemrograman lainnya.
Fitur tambahan lainnya yang tidak biasa ada pada standar RDBMS SQL sebagai berikut.
- tambahan data types (tipe data) di luar standar SQL,
- functions (fungsi),
- operators,
- aggregate functions,
- index,
- bahasa pemrograman prosedural (procedure).
Di dalam dunia database kita mengenal jargon model atau struktur client/server, Postgres pun demikian, mampu mengimplementasikan konsep model client/server tersebut. Penjelasannya sebagai berikut.
- proses server, di antaranya mengelola berkas database, menerima dan mengijinkan user untuk mengakses koneksi terhadap database melalui aplikasi yang terinstal pada perangkat komputer user, database server-nya sendiri dinamakan Postgres;
- proses client, user menggunakan aplikasi untuk mengakses database di server, aplikasi tersebut bisa bermacam-macam bentuknya, bisa sebagai aplikasi/tool yang berorientasi teks (text-oriented), aplikasi yang grafikal (dengan GUI), sebuah web server yang mengakses database untuk menampilkan halaman web, atau sebuah aplikasi pengelola database khusus seperti Navicat, HeidiSQL, atau pgAdmin. Beberapa aplikasi client tersebut dilengkapi dengan distribusi-distribusi Postgres yang dikembangkan oleh para pengguna.
Fungsi PostgreSQL
Fungsi dasar Postgres sebagai RDBMS adalah sebagai basis data dengan dukungan tipe data yang fleksibel. Untuk menggunakan PostgreSQL sebagai database independen tanpa terhubung dengan aplikasi apapun, maka user memerlukan aplikasi front-end seperti pgAdmin atau HeidiSQL, atau bisa juga menggunakan CLI (command line interface) untuk melakukan query secara manual.
Tadinya PostgreSQL mendukung untuk multiplatform Windows, Linux, dan MacOS, namun karena alasan teknis, dukungan tersebut diminimalisir. Sampai saat tulisan ini dibuat, versi PostgreSQL 11 dan versi 12 hanya mendukung untuk dua (2) platform saja, yaitu MacOS 64-bit dan Windows 64-bit.
Postgres merupakan sebuah sistem database yang handal dalam mengelola data yang besar untuk diakses oleh banyak user. Hal itulah yang menyebabkan PostgreSQL menjadi salah satu pilihan database yang digunakan oleh perusahaan berbasis teknologi yang besar seperti Yandex dari Rusia, Amazon dari Amerika Serikat, Instagram, Skype, Reddit, Sony Online, dan masih banyak lagi.
Fitur kunci dari Postgres adalah membantu pengembang aplikasi (developer) untuk membangun aplikasi berbasis database client/server, serta membantu administrator database dalam menjamin keamanan perangkat aplikasi dengan melindungi integritas data. Pengelolaan berkas database dari sisi client atau server tentu masing-masing memiliki sisi-sisi kapabilitas yang berbeda. Berikut fitur-fitur canggih pada Postgres yang sangat bermanfaat bagi developer.
- memiliki mekanisme penguncian (locking),
- mendukung untuk konkurensi terhadap bahasa pemrograman lain seperti JSON,
- fungsionalitas Server-Side Programming yang lengkap dan kental,
- kompatibel dengan ANSI SQL Standard,
- dukungan penuh terhadap arsitektur jaringan client-server,
- replikasi SSL berbasis trigger dan log,
- object-oriented (berorientasi objek).
PostgreSQL memiliki dukungan terhadap penyimpanan data dalam format teks, gambar, suara, dan video ditambah lagi dukungan terhadap antarmuka pemrograman C, C++, Perl, Phyton, Ruby, Tcl, dan ODBC (Open Database Connectivity).
Kelebihan dan Kekurangan PostgreSQL
Kelebihan PostgreSQL sebagai berikut:
- PostgreSQL dirilis berdasarkan lisensi PostgreSQL sendiri;
- gratis dan open-source, artinya user tidak akan dituntut membayar apapun selama menggunakan RDBMS ini;
- PostgreSQL secara utuh memenuhi kaidah ACID (Atomic, Concistent, Isolated, dan Durable), berbeda dengan MySQL yang memenuhi kaidah ACID ketika menggunakan engine database NDB atau InnoDB saja;
- kinerja serta performa PostgreSQL sangat baik pada sistem yang menuntut eksekusi kueri-kueri yang kompleks;
- PostgreSQL bekerja sangat baik dengan aplikasi BI (Business Intelligence), serta lebih cocok lagi digunakan untuk mengelola data warehousing (pergudangan) dan analisis aplikasi yang memerlukan kecepatan read-write data yang cepat;
- merupakan sistem RDBMS yang ideal untuk mengelola data finansial perusahaan, karena secara penuh tunduk pada kaidah ACID yang mana hal tersebut sangat cocok untuk OLTP (Online Transaction Processing);
- fitur GIS yang powerful bernama PostGIS;
- solusi terbaik untuk mengatasi isu skalabilitas pada jumlah request dari jaringan internet/website yang memuat ratusan bahkan ribuan transaksi data;
- Postgres sudah mendukung untuk framework website modern seperti Django dan node.js;
- Postgres sudah mendukung data JSON.
Kekurangan PostgreSQL sebagai berikut:
- performa PostsgreSQL dalam skala metrik, kecepatannya masih kalah unggul dari MySQL;
- banyak aplikasi open-source yang mendukung untuk MySQL, namun mungkin tidak untuk PostgreSQL;
- perawatan dan perbaikan sistem berkaitan dengan RDBMS ini menuntut usaha dan kerja lebih banyak daripada ketika berhadapan dengan MySQL, karena sistem PostgreSQL menuntut kompatibilitas;
- tidak semua stack development mendukung Postgres, sehingga akan membutuhkan usaha dan kerja ekstra untuk melakukan pengujian ataupun development website secara localhost.
Demikian sedikit uraian mengenai PostgreSQL, salah satu database open-source dengan fitur-fitur setara database komersial. Apabila Anda sudah pernah mempelajari database MySQL/MariaDB, Access, atau pun SQLite, maka Anda akan cepat memahami konsep database PostgreSQL. Tetaplah semangat mempelajari database, semoga informasi ini bermanfaat dan mudah dipahami.
Editor: Muchammad Zakaria
Download berbagai jenis aplikasi terbaru, mulai dari aplikasi windows, android, driver dan sistem operasi secara gratis hanya di Nesabamedia.com: