Perbandingan Antara Database Mysql dan Postgresql
1)Aditya Yusuf, 2)Wisnu Sapto Adi, 3)Jessyca Andrea, 4)Wandy Susanto, 5)Dimas Purwiyantoro
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Jl. Diponegoro 52-60, Salatiga 50711, Jawa Tengah, Indonesia
E-mail : 1)yusuf.aditya6@gmail.com, 2)wisnuson@ymail.com, 3)jessycaandrea@gmail.com, 4)susanto_wandy@ymail.com, 5)dimzblues145@gmail.com
Abstract
Mysql
and Postgresql are two types of DBMS (Database Management System) that
has powerful capabilities in data processing without the user having to
pay for its use.
Differences in the speed and complexity of the data, as well as other factors indicate shortcomings and advantages of each DBMS. Thus, it becomes a comparison and characteristics of both the DBMS that will be the reference for prospective users.
Differences in the speed and complexity of the data, as well as other factors indicate shortcomings and advantages of each DBMS. Thus, it becomes a comparison and characteristics of both the DBMS that will be the reference for prospective users.
Keywords : Database, Mysql, Postgresql, data types, speed.
Pendahuluan
Database atau dalam bahasa Indonesia disebut basis data, adalah kumpulan informasi yang disimpan di dalam komputer secara sistematis sehingga dapat diperiksa menggunakan suatu program komputer
untuk memperoleh informasi dari basis data tersebut. Database adalah
sebuah subjek yang teramat penting. Database ada di mana-mana, seluruh
aktivitas komputasi adalah seputar mengolah data—data keuangan, data
percobaan ilmiah, data statistik pengunjung. Tanpa database, banyak
aspek kehidupan yang akan pincang dan akhirnya mati. Entah itu
perorangan, perusahaan, dan negara. Aplikasi apa pun yang diciptakan
jantungnya adalah database. Maka dari itu, kelompok kami sungguh
tertarik untuk membuat jurnal penelitian ini yang sekiranya akan menjadi
penuntun dalam memilih database sesuai dengan kemampuan dan kebutuhan.
Isi
Sejarah Mysql
MySQL
dikembangkan oleh sebuah perusahaan Swedia bernama MySQL AB, yang kala
itu bernama TcX DataKonsult AB, sejak sekitar 1994–1995, meski cikal
bakal kodenya bisa disebut sudah ada sejak 1979. Tujuan mula-mula TcX
membuat MySQL pada waktu itu juga memang untuk mengembangkan aplikasi
Web untuk klien—TcX adalah perusahaan pengembang software dan konsultan
database. Kala itu Michael Widenius, atau “Monty”, pengembang
satu-satunya di TcX, memiliki aplikasi UNIREG dan rutin ISAM yang dibuat
sendiri dan sedang mencari antarmuka SQL untuk ditempelkan di atasnya.
Mula-mula TcX memakai mSQL, atau “mini SQL”. Barangkali mSQL adalah
satu-satunya kode database open source yang tersedia dan cukup sederhana
saat itu, meskipun sudah ada Postgres. Namun ternyata, menurut Monty,
mSQL tidaklah cukup cepat maupun fleksibel. Versi pertama mSQL bahkan
tidak memiliki indeks. Setelah mencoba menghubungi David Hughes—pembuat
mSQL—dan ternyata mengetahui bahwa David tengah sibuk mengembangkan
versi dua, maka keputusan yang diambil Monty yaitu membuat sendiri mesin
SQL yang antarmukanya mirip dengan mSQL tapi memiliki kemampuan yang
lebih sesuai kebutuhan. Lahirlah MySQL. Nama MySQL
(baca: mai és kju él) tidak jelas diambil dari mana. Ada yang bilang
ini diambil dari huruf pertama dan terakhir nama panggilan Michael
Widenius, Monty. Ada lagi yang bilang kata My diambil dari nama putri Monty, yang memang diberi nama My—karena
Monty memang aslinya seorang Finlandia. Tapi, sebenarnya kalau source
code MySQL dilirik, prefiks my memang sudah terbubuhi di
mana-mana—prefiks ini sering menjadi prefiks umum kalau seseorang
membuat kode kustom tersendiri untuk sesuatu.
Sejarah Postgresql
PostgreSQL
memiliki sejarah yang lebih panjang dan berliku. Pertama dimulai dalam
wujud bernama Ingres (“Interactive Graphics and Retrieval System”), yang
dikembangkan di Universitas Berkeley mulai tahun 1977 hingga 1985.
Pemimpin proyek Ingres adalah Profesor Michael Stonebraker dan Eugene
Wong. Ingres mula-mula dikembangkan di atas platform komputer mini
PDP-11. Belum ada SQL waktu itu, dan Ingres memiliki bahasa query
tersendiri yang disebut QUEL. Kode Ingres kemudian dikomersilkan
sehingga berdirilah Relational Technologies (yang lalu berganti nama
menjadi Ingres Corporation, dan kini berada di bawah perusahaan Computer
Associates). Sementara itu, dari universitas yang sama, didirikan
pulalah perusahaan Sybase dan Illustra (yang lalu bernama Informix, dan
kini telah dibeli oleh IBM) oleh para alumninya. Profesor Stonebraker
sempat terlibat di ketiga perusahaan ini. Salah satu pendiri Ingres juga
merupakan pendiri Illustra. Jadi dari Ingres lahir berbagai produk
database: Ingres sendiri, Sybase, dan Informix. Dari proyek Ingres juga
lahirlah proyek penerusnya, Postgres (1986–1994). Dipimpin juga oleh
Stonebraker, proyek ini bertujuan membuat Ingres agar menjadi lebih
berorientasi objek. Kode Postgres inilah yang diambil menjadi Illustra
dan Informix. Tahun 1995 dua mahasiswa S2 di universitas yang sama,
Jolly Chen dan Andrew Yu, menambahkan SQL pada Postgres untuk
menggantikan QUEL. Hasilnya adalah Postgres95. Akhirnya kedua mahasiswa
pun lulus dan meninggalkan Berkeley, namun Chen masih terus memaintain
Postgres95. Produk ini memiliki komunitas yang aktif berdiskusi di
mailing list. Setahun berikutnya, Postgres95 jadi bertambah popular.
Anggota mailing list telah mencapai 1000 orang. Seseorang bernama Marc
G. Fournier dari Kanada menawarkan sebuah server untuk dipakai menjadi
host mailing list dan CVS. Hingga saat itu, ada empat orang yang menjadi
pengembang utama Postgres95: Chen, Fournier, dan dua orang lain yaitu
Thomas Lockhart di California, AS dan Vadim Mikheev di Rusia. Namun
Postgres95 dikembangkan bersama-sama lewat Internet dan sumbangan patch
dan berbagai orang di seluruh pelosok dunia. Pertengahan 1996, nama
Postgres95 sepakat dianggap sudah basi, maka lahirlah PostgreSQL (baca:
post-grés-kju-él), dengan label versi dimulai dari angka 6.0 (versi
terakhir dari Postgres/Berkeley adalah 4.2, dan Postgres95 dianggap
versi 5.x). Di sinilah, dan juga berlanjut di keluarga 7.0–7.1, banyak
terjadi peningkatan dalam hal skalabilitas, fitur, dan kecepatan.
Perbandingan
Kelebihan Mysql
Dapat
berjalan stabil pada berbagai sistem operasi seperti Windows, Linux,
FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.
Dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan.
Memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu.
Memiliki
ragam tipe data yang sangat kaya, seperti signed /unsigned integer,
float, double, char, text, date, timestamp, dan lain-lain.
Memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query).
Memiliki
beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin
akses user dengan sistem perizinan yang mendetail serta sandi
terenkripsi.
Mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records)
lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu
batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.
Dapat melakukan koneksi dengan klien menggunakan protocol TCP/IP ,Unix soket ( UNIX ), atau Named Pipes( NT ).
Dapat
mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua
puluh bahasa. Meski pun demikian, bahasa Indonesia belum termasuk di
dalamnya.
Memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).
Dilengkapi
dengan berbagai peralatan (tool) yang dapat digunakan untuk
administrasi basis data, dan pada setiap peralatan yang ada disertakan
petunjuk online.
Memiliki struktur tabel yang fleksibel dalam menangani ALTER TABLE.
2.3.2 Kelebihan PostgreSQL:
1. Memiliki arsitektur multiproses (forking)
yang berarti memiliki stabilitas yang lebih tinggi, sebab satu proses
anak yang mati tidak akan menyebabkan seluruh daemon mati.
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.
dikarenakan Postgresql mendukung locking di level yang lebih rendah, yaitu row.
3.
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. Menyediakan hampir seluruh fitur-fitur database seperti yang terdapat dalam produk database komersial pada umumnya.
5. Memiliki tipe data geometri (seperti titik, garis, lingkaran, poligon) yang mungkin berguna bagi aplikasi ilmiah tertentu
6. Memberikan kita kemampuan mendefinisikan sebuah field sebagai array.
7.
Memiliki hampir semua fasilitas standar yang biasanya diinginkan: view
(tabel virtual), trigger, stored procedure (dalam beberapa bahasa), dan
foreign key constraint
8.
Memiliki apa yang disebut rule, yaitu tindakan custom yang bisa kita
definisikan dieksekusi saat sebuah tabel di-INSERT, UPDATE, atau DELETE
9.
Mempunyai 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. Memiliki lisensi GPL (General Public License) dan oleh karena itu
Postgresql dapat digunakan, dimodifikasi dan didistribusikan oleh setiap orang tanpa
perlu membayar lisensi (free of charge) baik untuk keperluan pribadi, pendidikan maupun komersil.
Postgresql dapat digunakan, dimodifikasi dan didistribusikan oleh setiap orang tanpa
perlu membayar lisensi (free of charge) baik untuk keperluan pribadi, pendidikan maupun komersil.
12.Mendukung banyak jenis bahasa pemrograman, antara lain: SQL, C, C++, Java, PHP, etc.
Hasil
Untuk menguji masing-masing database, digunakan Mysql 5.0.27 (innodb) dan Postgresql 8.2.1 dengan comparable memory dan disc settings. Ukuran database sekitar 80MB untuk setiap test (5000 – 300000 baris/tabel) dan jumlah user
yang menggunakan secara bersamaan antara 1 sampai 20. (500MHz PIII, 256
MB RAM, 2 IDE HDDs – pengguna komputer berbeda, 100MB/s network).
Grafik Transaksi: Mysql.
Grafik Transaksi: Postgresql.
Grafik Timeout Errors: Mysql.
Grafik Timeout Errors: Postgresql.
Pembahasan
Secara keseluruhan, Mysql lebih cepat mengisi database dibandingkan
Postgresql. Tetapi, berbeda dengan Mysql, pada Postgresql sangat
sedikit ditemukan timeout errors.
Simpulan
Latar
belakang pengembangan Mysql adalah untuk kebutuhan bisnis klien,
berbeda dengan Postgresql yang berawal dari proyek akademik. Mysql
berfokus pada kelangsingan dan kecepatan, tetapi Postgresql pada
kelengkapan fitur, portabilitas, dan reliabilitas. Kalau Mysql merupakan
sebuah database relasional (RDBMS), maka Postgresql disebut
objek-relasional (ORDBMS) karena fitur OO-nya seperti pewarisan tabel
dan tipe data. Berdasarkan simpulan tersebut, maka kelompok kami memilih
database Postgresql.
Daftar Pustaka
Tidak ada komentar:
Posting Komentar