Kelebihan dan kekurangan Postgre VS MySQL
maksud dan tujuan model pembangunan
kedua database ini memiliki latar belakang yang berbeda di dalam proses pembangunannya.. MySQL dibangun berdasarkan solusi yang muncul dari penciptanya, TcX AB dalam mengolah data untuk aplikasi Website yang berfokus pada kecepatan pengolahan data. sedangkan PostgreSQL dikembangkan dari penelitian akademik. PostgreSQL pengembangannya fokus pada fitur OO, reliabilitas, dan dukungan terhadap SQL. tetapi pada perkembangannya kedua semakin memiliki fitur-fitur yang saling melengkapi . MySQL versi 4.x contohnya, berjanji akan menambahkan fitur-fitur seperti: subselect, view, dsb. Sementara PostgreSQL, yang sempat mempunyai problem pada stabilitas dan skalabilitas di seri awal versi 6.x, juga kini sangat bagus dari segi kecepatan.
Pengembangan
Pengembangan MySQL dimiliki secara terpusat oleh perusahaan komersial di Swedia bernama MySQL AB (sebelumnya TcX AB). Perusahaan ini mendapatkan pemasukan utamanya dari menjual layanan support dan konsultasi MySQL. PostgreSQL dikembangkan secara lebih terdesentralisasi dan merakyat, tetapi tetap diatur oleh sebuah kelompok online bernama PostgreSQL Development Group.
MySQL dirilis dalam rentang yang lebih sering (bisa lebih dari sekali dalam sebulan), sementara PostgreSQL sekitar 3–7 bulan sekali.
Jumlah pemakai
Menurut MySQL AB, saat ini jumlah pemakai MySQL sekitar 3 juta. sedangkan PostgreSQL sendiri tidak diketahui pasti berapa jumlah penggunanya; kemungkinan masih berada di bawah MySQL karena banyaknya situs Web dan perusahaan webhosting yang hanya menggunakan MySQL. Plus secara keseluruhan popularitas MySQL (trafik milis, tutorial/artikel yang membahas, dsb) lebih besar daripada PostgreSQL. namun karena PostgreSQL juga disertakan secara default di distro-distro Linux seperti Red Hat dan SuSE, jumlah penggunanya pun sudah pasti banyak.
arsitektur dan portabilitas
MySQL memiliki arsitektur multithreading, sementara PostgreSQL multiproses (forking). Ini berarti PostgreSQL potensial mempunyai stabilitas yang lebih tinggi, sebab satu proses anak yang mati tidak akan membuat seluruh daemon mati—walaupun pada kenyataannya, dahulu ini kerap terjadi. Di sisi lain, arsitektur dengan forking ini sulit diterapkan ke Windows, sebab Windows amat thread-oriented. Karena itulah, baru MySQL yang memiliki port natif ke Windows. PostgreSQL sendiri saat ini bisa dijalankan di Windows, namun mengunakan lapisan emulasi Cygwin.
Acid Compliant
Sampai saat ini masih banyak yang mengatakan MySQL itu tidak ACID-compliant. Padahal sejak 2 tahun lalu MySQL sudah mempunyai handler tabel BerkeleyDB, dan belakangan ini InnoDB, sehingga MySQL sudah mendukung transaksi. Handler tabel MySQL yang lama, ISAM dan MyISAM, tidak ACID-compliant. PostgreSQL sendiri sejak lama telah ACID-compliant.
Lisensi
Lisensi PostgreSQL lebih liberal. Inilah yang membuat ada banyak produk closed-source dan komersial yang bisa dikembangkan dari source code PostgreSQL. MySQL, karena dilisensi di bawah GPL, tidak boleh dimodifikasi menghasilkan produk turunan yang closed-source.
Kecepatan
perihal kecepatan ini relatif dan kadang juga jadi isu sensitif. Baik kedua pihak, ataupun pihak ketiga, pernah menerbitkan benchmark yang lalu ditepis atau dicibir karena tidak objektif.
Masalah locking tabel bisa diakali dengan memilah tabel, supaya satu kelompok row dapat dilock tanpa mengganggu kelompok row lain. Bahkan ada pengguna MySQL yang memilah sebuah tabel besar berisi jutaan record menjadi ribuan tabel kecil-kecil.
Stabilitas
Keduanya dapat dikatakan cukup hingga amat stabil. Tapi perlu diingat bahwa database manapun—bahkan Oracle—sesekali dapat menyebabkan kerusakan data. Karena itu backup/history periodik dan incremental tetap dibutuhkan
Fungsi Built In
MySQL dikenal memiliki banyak fungsi built-in, seperti modifikasi string (REPLACE, RIGHT, LTRIM, LCASE), matematika (LOG, LOG10), tanggal, dsb. pada tahap ini MySQL lebih unggul.
interface
Keduanya sudah amat solid. Mulai dari API C/C++, driver database Perl/Python/PHP/Tcl, ODBC, JDBC telah didukung. Anda tidak akan kesusahan menggunakan database ini dari berbagai sistem dan bahasa pemrograman. MySQL juga mendukung OLEDB dan mendukung versi embedded guna dilink bersama aplikasi buatan Anda sendiri.
Full Text Indexing
Replikasi
Manajemen User dan Keamanan
Kedua database menyimpan informasi user di sebuah database khusus. Sistem perizinan MySQL lebih mendetil daripada PostgreSQL. contohnya, kita bisa mengeset agar user tertentu yang datang dari host tertentu hanya dapat membaca tabel saja tanpa dapat UPDATE. Di PostgreSQL ini masih dapat dilakukan dengan VIEW misalnya.
Tool Web/GUI
MySQL AB mengklaim lebih banyak tool grafis/web yang tersedia untuk MySQL, dan ini nampaknya cukup benar.
Tipe Data
PostgreSQL lebih kaya dalam hal tipe data (terutama yang domain-specific seperti tipe data geometris dan MONEY), tapi MySQL sudah mendukung semua tipe data umum.
Di PostgreSQL sebelum 7.1, masih ada keterbatasan yang cukup menyesakkan yaitu ukuran data BLOB maksimum adalah 8–32KB. Sejak 7.1, PostgreSQL juga dapat menyimpan data BLOB besar.
CHAR dan VARCHAR di PostgreSQL dapat menampung hingga 8 juta karakter (bandingkan dengan MySQL yang hanya 255).
Modifikasi Tabel
MySQL lebih fleksibel dalam ALTER TABLE. PostgreSQL sendiri terbatas hanya dapat melakukan penambahan kolom, penggantian nama kolom, dan penggantian nama tabel. MySQL mendukung penambahan/penghapusan kolom, penggantian definisi kolom, dsb.
Fitur OO dan SQL
Dalam waktu beberapa tahun PostgreSQL akan tetap mempunyai fitur yang lebih lengkap dibandingkan MySQL. Lebih banyak fitur dari standar SQL92 yang diimplementasi oleh PostgreSQL. MySQL bahkan belum mendukung subselek. View, trigger, foreign key checking (meski ini sudah ada di InnoDB) dan stored procedure semua hanya ada di PostgreSQL. Sebagai pengembang yang memutuskan memilih salah satu database, Anda perlu menanyakan kepada diri sendiri dulu apakah ingin lebih bersusah-payah melakukan code around fasilitas-fasilitas yang tidak ada di MySQL tersebut melalui bahasa pemrograman (misalnya, stored procedure diganti dengan user-defined function, subselek diganti beberapa kali SQL yang dibungkus dengan locking, dan tidak ada “trigger” berarti Anda harus melakukan pengecekan secara manual). Jika tidakmau repot, lebih baik menggunakan PostgreSQL. Tapi jika tidak butuh fitur SQL yang rumit-rumit, Anda masih punya kebebasan memilih satu dari dua.
selain itu MySQL pun tidak mempunyai fitur OO laykanya pewarisan tabel dan tipe data, atau tipe data array yang kadang praktis guna menyimpan banyak item data di dalam satu record.
Fitur Unik
MySQL memiliki arsitektur yang memungkinkan sebuah database terdiri dari beberapa jenis tabel, misalnya: yang transaksional dan tidak, yang berbasis di memori atau di disk, yang terkompresi dan yang read-only. MySQL mendukung protokol terkompresi yang bisa menghemat bandwidth dan mengurangi latensi.
PostgreSQL memiliki tipe data array, pewarisan tabel dan tipe data, serta sistem rule. PostgreSQL memiliki tipe-tipe data “antik.” Di PostgreSQL Anda dapat menulis stored procedure (atau procedural language, istilah di PostgreSQL) dalam beberapa bahasa: PL/Perl, PL/Tcl, atau PL/PgSQL. PostgreSQL mendukung set/himpunan.
Posting Komentar untuk "Kelebihan dan kekurangan Postgre VS MySQL"