Senin, 15 Oktober 2012

JURNAL 2 "Perbandingan antara MySQL dan PostgresSQL"

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


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.

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.
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.
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