MySQL vs PostgreSQL?

MySQL
MySQL merupakan salah satu DBMS ( Database Management System) yang sering digunakan dalam aplikasi website, karena MySQL dikenal cepat, tetapi tidak dikenal sebagai database server yang mempunyai fasilitas lengkap.Itulah alasan MySQL sangat disukai oleh para web developer, karena kecepatannya dalam pemrosesan databasenya. Pada versi 4 telah ditambahkan fasilitas dan kemampuan baru, begitu juga pada versi selanjutnya. Dan peningkatan pada versi 5 mampu mengubah pandangan bahwa MySQL tidak canggih karena pada MySQL 5 terdapat penambahan fasilitas yang cukup berarti seperti Stored Procedure sehingga bisa dikatakan bahwa MySQL 5 akan menjadi produk database server yang tangguh dan lengkap. Selain itu, MySQL juga telah mencapai versi 3.23.58 yang dapat diandalkan karena kestabilan dan kecepatan yang telah terbukti. Tetapi, karena keterbatasan fasilitas yang ada pada versi 3, banyak developer lebih menyukai untuk bermigrasi ke versi berikutnya, yakni MySQL versi 4.
MySQL tergolong database yang paling banyak digunakan untuk web database. Meski ia bukan SQL server yang sesungguhnya (tidak memiliki fasilitas untuk mendukung transaksi seperti begin transaction, commit, dan rollback), MySQL cukup cepat dan sangat banyak library serta contoh program yang dapat digunakan.
Apabila dikaitkan dengan sistem operasi Linux, MySQL tidak dianjurkan untuk aplikasi office seperti inventory, accounting dan aplikasi kritis lainnya. Karena dari “niatan” rancang-bangunnya berbeda. Selain itu, MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, nama host, dan user. Untuk query yang dilakukan oleh single user, kecepatan query MySQL bisa sepuluh kali lebih cepat dari Postgresql dan lima kali lebih cepat ketimbang Interbase. Umumnya MySQL disertakan dalam distribusi Linux seperti SuSE, RedHat, Mandrake dan Slackware.

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.
Tools yang tersedia cukup banyak dan sangat berguna seperti:

  • pg_dump: konversi objek database menjadi script SQL
  • pgaccess: drag & drop-nya cukup menyenangkan


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. Source lengkapnya dapat Anda peroleh di situsnya, dan juga tersedia di distribusi Linux seperti SuSE, RedHat dan Mandrake.

MySQL versus PostgreSQL
Pada dasarnya, banyak kelebihan dari postgreSQL dibanding MySQL. Seperti halnya developmentnya cepat, dimana tiap sekian bulan pasti ada pengembangan berupa rilisan baru dan ada major feature implemented, kemudian postgreSQL untuk error messagesnya deskriptif dan helpful. Selain itu, untuk pengguna unix/linux dan command line, postgreSQL lebih cocok karena memiliki integrasi yang baik dan desain yang baik juga. Contohnya psql tab completion-nya jauh memiliki kelebihan daripada MySQL command line client. Selain itu, postgreSQL bisa menggunakan less. Kemudian untuk mengamati kegiatan server, dapat hanya dengan penggunakan ps ax saja. Dan juga, terdapat beberapa fitur yg menarik dan sangat membantu, misalnya dollar quoting atau PL dengan berbagai macam bahasa. atau TEXT dan BYTEA. Selain itu juga type systemnya juga baik, dan strong typing lebih safe.
Untuk fokus pengembangan yg benar, postgreSQL menomorsatukan data integrity dan menomorduakan speed. Oleh karena itulah, versi 2 6.x sering crash dan MySQL lebih baik. Kerusakan pada data memang jarang terjadi. Arsitektur yg dipilih, misalnya menolak multithreading juga karena ingin lebih menjamin data safety. Selain itu, sering mengalami tabel .MYI rusak pada kondisi high update rate dan terjadi fs quota. Pada innodb juga memungkinkan terjadi corrupt. Sementara itu, di postgreSQL sangat jarang terjadi seperti hal-hal tersebut kecuali karena hardware yang bermasalah.
Sedangkan pada MySQL sendiri seperti halnya MySQL 5, sampai saat ini belum mendukung beberapa fitur yang bisa dikatakan masih dalam tataran dasar . Contoh : CHECK constraint, apabila sering “bermain” database dan apresiasi terhadap integritas dan kebersihan data, CHECK constraint sering kali digunakan. Kemudian, FULL OUTER JOIN jarang sekali digunakan. Akan tetapi, type join ini masih tidak diperbolehkan. Selain itu juga, meskipun haluannya sudah cukup berubah menuju standar compliance dan proper design, secara tradisional MySQL itu hanya mengandalkan pada kecepatannya saja dan bukan pada keselamatan dan integritas data, dan itu merupakan kebalikan dari postgreSQL.
Pada MySQL 3.x juga disebutkan bahwa foreign key tidak perlu, dengan alasan hanya memperlambat kinerja database, padahal, ketika dilakukan pengecekan dari aplikasinya yang terjadi tidaklah seperti itu. Apabila pada postgreSQL yang awalnya proper design and slow, kemudian sekarang menjadi semakin cepat, sedangkan pada MySQL memiliki arah gerak yang berbeda, yakni dari fast and loose, baru sekarang semakin melambat. Sejak upgrade dari 3.23 ke 5.0, server hosting di MWN sebagian besar memerlukan peningkatan max_connections-nya, hal itu dikarenakan sering tejadi terlalu banyak koneksi yang terjadi dan load di beberapa server juga semakin meninggi.
Tentang fitur-fitur MySQL sendiri masih banyak kelemahannya dibandingkan dengan postgreSQL meskipun pada MySQL telah tersedia fitur-fitur seperti trigger, view, SP. Akan tetapi, banyak fitur yg hanya ada di satu tipe engine saja. Untuk foreign key constraint tidak terdapat pada MyISAM, harus menunggu 5.1. Selain itu, full text search juga tidak tersedia pada InnoDB. Dan juga, 2-phase commit hanya terdapat pada NDB.

Sumber: http://ristie.brawijaya.ac.id/article/index.php?subaction=showfull&id=1158400668&archive=&start_from=&ucat=6&

Satu Tanggapan to “MySQL vs PostgreSQL?”

  1. mighamir Says:

    Bisa nggak dengan server lokal conect langsung ke Internet, dengan menggunakan postgresql

Tinggalkan Balasan

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s


%d blogger menyukai ini: