Kamis, 14 Agustus 2014

Perbandingan Postgresql dan Mysql

Perbandingan Postgresql dan Mysql




1.     Pendahuluan


Database adalah suatu kumpulan data-data yang disusun sedemikian rupa sehingga membentuk informasi yang sangat berguna. sehingga mampu memenuhi informasi yang optimal yang dibutuhkan oleh para pengguna. Database terbentuk dari sekelompok data-data yang memiliki jenis/sifat sama. Istilah database berawal dari ilmu computer meskipun kemudian artinya semakin luas,memasukkan hal-hal diluar bidang elektronika. Catatan yang mirip dengan database sebenarnya sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi dan kumpulan data yang berhubungan dengan bisnis. Konsep dasar dari catatan-catatan atau potongan dari pengetahuan. Sebuah database memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya,penjelasan ini disebut skema. 

Skema menggambarkan objek yang diwakili oleh database dan hubungan diantara objek tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur database, ini dikenal sebagai database model atau model data. Model yang umum digunakan sekarang adalah model relasional, yang menurut istilahnya itu mewakili semua informasi dalam bentuk tabel-tabel yang saling berhubungan dimana setiap table terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan antar tabel diwakili dengan menggunakan nilai yang sama antar tabel. Saat ini dengan mudah kita bisa mengatakan, dua produk database open source paling terkenal dan banyak digunakan adalah MySQL dan PostgreSQL. Pada kesempatan kali ini akan dibahas tentang topik atau tema tersebut.

2.     Pembahasan


2.1 Database

Database merupakan kumpulan data yang saling berhubungan.Hubungan antar data dapat ditunjukan dengan adanya field/kolom kunci dari tiap file/tabel yang ada. Dalam satu file atau table terdapat record-record yang sejenis, sama besar, sama bentuk, yang merupakan satu kumpulan entitas yang seragam. Satu record umumnya digambarkan sebagai baris data terdiri dari field yang saling berhubungan menunjukan bahwa field tersebut dalam satu pengertian yang lengkap dan disimpan dalam satu record. Elemen data/FieldDari pengertian diatas dapat disimpulkan bahwa basis data mempunyai beberapa kriteria penting, yaitu :

  1.      Bersifat data oriented dan bukan program oriented.
  2.    Dapat digunakan oleh beberapa program aplikasi tanpa perlu mengubah basis datanya.
  3.      Dapat dikembangkan dengan mudah, baik volume maupun strukturnya.
  4.      Dapat memenuhi kebutuhan sistem-sistem baru secara mudah
  5.      Dapat digunakan dengan cara-cara yang berbeda.

Prinsip utama Data Base adalah pengaturan data dengan tujuan utama fleksibilitas dan kecepatan pada saat pengambilan data kembali. Adapun ciri-ciri basis data diantaranya adalah sebagai berikut :
- Efisiensi meliputi kecepatan, ukuran, dan ketepatan 
- Data dalam jumlah besar  
- Berbagi Pakai (dipakai bersama sama/Sharebility) 
- Mengurangi bahkan menghilangkan terjadinya duplikasi dan ketidakkonsistenan data.



2.2  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” (akan kita kunjungi nanti). Barangkali mSQL adalah satu-satunya kode database open source yang tersedia dan cukup sederhana saat itu, meskipun sudah ada Postgres (juga akan dibahas sesaat lagi). 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.

MySQL versi 1.0 dirilis Mei 1996 secara terbatas kepada empat orang. Baru di bulan Oktober versi 3.11.0 dilepas ke publik. Namun mula-mula kode ini tidak diberikan di bawah lisensi General Public License, melainkan lisensi khusus yang intinya kurang lebih begini: “Source code MySQL dapat dilihat dan gratis, serta server MySQL dapat dipakai tanpa biaya tapi hanya untuk kebutuhan nonkomersial. Untuk kebutuhan komersial (mis: mengemas dan menjual MySQL, atau menyertakan MySQL dalam program komersial lain) Anda harus bayar lisensi.” Sementara distribusi Windows MySQL sendiri dirilis secara shareware. Barulah pada Juni 2000 MySQL AB mengumumkan bahwa sejak versi 3.23.19, MySQL adalah software bebas berlisensi GPL. Artinya, “Source code MySQL dapat dilihat dan gratis, serta server MySQL dapat dipakai tanpa biaya untuk kebutuhan apa pun. Tapi jika Anda memodifikasi source code, Anda juga harus melepasnya di bawah lisensi yang sama, yaitu GPL.” Kini perusahaan MySQL AB, yang beranggotakan sekitar 10 programer dan 10 karyawan lain itu, memperoleh pemasukan terutama dari jasa konsultasi seputar MySQL.

Versi publik pertama, yang hanya berjalan di Linux dan Solaris serta sebagian besar masih belum terdokumentasi itu, dengan berangsur-angsur diperbaiki dan ditambah fitur demi fiturnya—tapi tetap dengan fokus utama pengembangan pada kelangsingan dan kecepatan. Artinya, fitur yang menyebabkan MySQL menjadi lambat tidaklah ditambahkan, atau ditunda dulu, atau ditambahkan tapi menjadi fitur yang opsional.

Versi awal MySQL ini, meski sudah bisa dipakai untuk aplikasi Web sederhana, belumlah memadai sama sekali untuk aplikasi bisnis. Contohnya, JOIN sederhana sudah ada, tapi tidak ada HAVING—baru di bulan Desember ditambahkan. Sudah ada tipe data TIMESTAMP dan kolom autoupdate, tapi tidak ada system-generated number (sequence)—baru di akhir 1996 juga ditambahkan modifier kolom AUTO_INCREMENT. Sudah ada LIMIT tapi GROUP BY dan ORDER BY memiliki keterbatasan. Dan seterusnya.

Barulah di versi-versi akhir 3.22—sepanjang 1998–1999—MySQL menjadi semakin popular dan dilirik orang. Stabilitasnya sudah baik. Kecepatannya meningkat. Sudah tersedia di berbagai platform, termasuk Windows. Seri 3.22 ini banyak dipakai di berbagai instalasi, mungkin hingga sekarang, sehingga MySQL AB tetap memberikan dukungan technical support untuk seri ini.

Mysql adalah sebuah perangkat lunak pembuat database yang bersifat terbuka atau open source dan berjalan disemua platform baik Linux maupun Windows, Mysql merupakan program pengakses database yang bersifat network sehingga dapat digunakan untuk aplikasi Multi User (pengguna banyak).

     
     Mysql juga merupakan Relational Database Management System (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License), dimana setiap orang bebas untuk menggunakan Mysql, namun tidak boleh dijadikan produk turunan yangh bersifat komersial. Mysql dapat dikatakan lebih unggul dibandingkan database server lainnya dalam query data. Hal ini terbukti untuk query yang dilakukan oleh single user, kecepatan query Mysql bisa sepuluh kali lebih cepat dari postgresql dan lima kali lebih cepat di bandingkan Interbase.

                MySQL merupakan database yang sangat cepat, dapat diandalkan dan mudah untuk digunakan. Jika hal itu yang anda cari maka anda harus mencobanya. Selain itu, source programnya pun dapat anda dapatkan secara gratis dan syntax-syntaxnya mudah untuk dipahami dan tidak rumit serta pengaksesan database dapat dilakukan dengan mudah dan cepat.



Beberapa kelebihan lain dari Mysql :



·         Open source                : Mysql didistribusukan secara open source (gratis) dibawah license GPL (General Public Licene)

·         Multy User                  : Mysql dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik

·         Coloumn Types           : Mysql memiliki tipe kolom seperti signed/usigned integer, float, double, char, text, date, timestamp

·         Command and function : Mysql memiliki operator dan fungsi secara penuh yang mendukung perintah select dan where dalam query

·         Client dan Tools          : Mysql dilengkapi dengan tools yang dapat digunakan untuk administrator

·         Struktur Tabel             : Mysql memiliki struktur tabel yang lebih flexibel dalam menangani alter table

·         Dukungan                    : Mendukung penuh terhadap kalimat SQL GROUP BY dan ORDER BY. Mendukung terhadap fungsi penuh

·         ( COUNT(),COUNT (DISTINCT), AVG ( ), STD ( ), SUM ( ), MAX ( ) AND MIN ( ) )

·         Efficiency                    :  Menggunakn GNU automake, autoconf, dan LIBTOOL untuk portabilitas



Beberpa Kekurangan Mysql

  Untuk koneksi ke bahasa pemrograman visual seperti vb, delphi, dan foxpro, mysql kurang support, karena koneksi ini menyebabkan field yang dibaca harus sesuai dengan koneksi dari program visual tersebut, dan ini yang menyebabkan mysql jarang dipakai dalam program visual.

  Data yang ditangani belum begitu besar



 2.3 PostgreSQL 

PostgreSQL terkenal akan fitur-fitur yang disediakannya, di mana telah diketahui sejak dulu bahwa PostgreSQL mempunyai sekumpulan fitur yang kaya dan lengkap, yang mendukung transaksi, view, subselect, foreign key support, pemeriksaan, dan lain-lain. Akan tetapi PostgreSQL selama ini telah banyak memberikan keuntungan yang lebih terhadap para perusahaan atau kegiatan bisnis yang menggunakan database system. PostgreSQL merupakan Sebuah Obyek-Relasional Data Base Management System (ORDBMS) yang dikembangkan oleh Berkeley Computer Science Department. System yang ditawarkan PostgreSQL diharapkan sanggup dan dapat mencukupi untuk kebutuhan proses aplikasi data masa depan. PostgreSQL juga menawarkan tambahan-tambahan yang cukup signifikan yaitu class, inheritance, type, dan function. Tambahan keistimewaan lain yang tidak dimiliki database management system yang lain berupa constraint, triggers, rule, dan transaction integrity, dengan adanya feature (keistimewaan) tersebut maka para pemakai dapat dengan mudah mengimplementasikan dan menyampaikan sistem ini. Sejak tahun 1996 PostgreSQL mengalami kemajuan yang sangat berarti, berbagai keistimewaan dari PostgreSQL sanggup membuat database ini melebihi database lain dari berbagai sudut pandang.

Pada awal pembuatannya di University of California Berkeley (1977-1985) postgresl masih mempunyai banyak kekurangan bila dibandingkan dengan database yang lain, namun seiring dengan berjalannya waktu tepatnya pada tahun 1996 PostgresSQL berubah menjadi sebuah database yang menawarkan standar melebihi standar ANSI-SQL92 dan sanggup memenuhi permintaan dunia open source akan server database SQL. Standar ANSI-SQL92 merupakan standar yang ditetapkan untuk sebuah database berskala besar seperti Oracle, Interbase, DB2 dan yang lainnya. Kelebihan PostgreSQL Berbeda dengan database lain, PostgreSQL menyediakan begitu banyak dokumentasi yang disertakan pada berbagai distribusi Linux, sehingga para pembaca bisa dengan mudah mempelajari bahkan mengimplementasikannya. Tidak hanya itu berbagai dokumentasi yang bertebaran di Internet maupun mailing list yang semuanya dapat kita ambil dan pelajari. Sementara itu, PostgreSQL memiliki keluwesan dan kinerja yang tinggi, artinya sesuai dengan niatan awal para pembuat PostgreSQL bahwa database yang mereka buat harus melebihi database lain dan ini terbukti pada arsitekturnya.

Jika kita menggunkan sebuah database , tentunya tak lepas dari tujuan dan maksud apa yang ingin dicapai serta kelebihan yang bagaimana yang kita inginkan.

Beberapa kelebihan dari Postgresql :

·      Resisten terhadap over-deployment

Dengan menggunakan PostgreSQL, tidak ada seorangpun dapat menuntut untuk pelanggaran terhadap perjanjian lisensi, sebagaimana tidak ada biaya lisensi yang diasosiasikan (digabungkan) untuk software. Hal ini menyebabkan PostgreSQL memberikan keuntungan tambahan lain bagi para penggunanya.

·      Menghemat biaya staffing

PostgreSQL telah didesain dan dibuat sedemikian rupa untuk mempunyai tingkat pemeliharaan dan kebutuhan yang lebih rendah daripada database systems sebelumnya, walaupun tetap mempertahankan kualitas fitur, stabilitas, dan performa, sehingga biaya yang diperlukan PostgreSQL menjadi lebih efektif dan lebih dapat diatur.

·      Terpercaya dan stabil

Banyak perusahaan yang melaporkan bahwa PostgreSQL tidak pernah, bahkan sekalipun, mengalami crashed pada saat melakukan operasi dengan tingkat aktivitas yang dilakukan tinggi,selalu dalam batas stabil.

·      Extensible (dapat diperluas)

Kita tidak memerlukan biaya sekecil apapun dan hanya memerlukan sedikit usaha untuk melakukan  perluasan tehadap software database postgresql.

·      Cross platform

PostgreSQL dapat dijalankan hampir di setiap jenis Unix (34 platform yang paling baru dirilis), juga di Windows dengan menggunakan Cygwin.

·      Didesain untuk environmentshigh volume

PostgreSQL menggunakan penyimpanan data dengan banyak baris (multiple rows) yang dinamakan MVCC. Hal ini dimaksudkan agar PostgreSQL sangat responsif pada high volume environments.

·      Fitur fitur yang sangat mendukung

PostgreSQL sangat kaya akan fitur-fitur yang disediakannya, antara lain: rules, views, triggers, unicode, sequences, inheritance, outer join, sub-selects, open API, dan masih banyak lagi.

·      Desain database GUI dan administration tools

Beberapa tools GUI yang berkualitas tinggi tersedia untuk mengelola database (pgAdmin, pgAccess), sekaligus desain database(Tora, database architect).

Adapun kekurangan Postgresql, yaitu :

§      Belum mendukung selectable stored procedure seperti firebird

§      Physical database (table) file nya berserakan

§      Konsep penyimpanan fisiknya satu objek = 1 atau lebih file, bukan 1 database = 1 file

Selain itu PostgreSQL juga dapat di extend sesuai kebutuhan pengguna melalui beberapa metode dengan menambangkan obyek baru, seperti :

        Penambahan Tipe Data

        Penambahan Fungsi

        Penambahan Operator

        Penambahan Fungsi Aggregate

        Metode Index

        Bahasa procedur







Perbandingan
Mysql
Postgresql
Tujuan Desain

berkembang dari solusi yang dipakai oleh pembuatnya, TcX AB, dalam memroses data untuk aplikasi Web. Fokusnya adalah pada kecepatan
berkembang dari riset akademik. Fokus pengembangan PostgreSQL adalah pada fitur OO, reliabilitas, dan dukungan SQL yang mantap
Pengembangan

diatur secara sentral oleh perusahaan komersial di Swedia bernama MySQL AB (sebelumnya TcX AB)
dikembangkan secara lebih terdesentralisasi dan merakyat, namun tetap diatur oleh sebuah kelompok online bernama PostgreSQL Development Group
Arsitektur dan Portabilitas

memiliki arsitektur multithreading
memiliki arsitektur multiproses (forking)
        Lisensi

lisensi di bawah GPL, tidak boleh dimodifikasi menghasilkan produk turunan yang closed-source
Lisensi PostgreSQL lebih liberal

Kecepatan

(Relatif), terkenal cepat dalam melakukan query sederhana. Dengan kata lain, dapat memproses lebih banyak SQL per satuan waktu. Tapi dalam kondisi load tinggi (jumlah koneksi simultan besar)
(Relatif),namun sudah mencukupi kecepatan umum
Fungsi Built-In

Kaya fungsi built-in, seperti modifikasi string (REPLACE, RIGHT, LTRIM, LCASE), matematika (LOG, LOG10), tanggal, dsb. Dalam hal ini MySQL lebih unggul
Memiliki fungsi built-in tetapi tidak sebanyak Mysql
                                                   Tipe Data
sudah mendukung semua tipe data umum
PostgreSQL lebih kaya dalam hal tipe data (terutama yang domain-specific seperti tipe data geometris dan MONEY)
            Fitur OO dan
             SQL
MySQL pun tidak memiliki fitur OO seperti pewarisan tabel dan tipe data, atau tipe data array
Postgresql memiliki lebih banyak fitur jika dibandingkan dengan Mysql
Fitur Unik
 
memiliki arsitektur yang memungkinkan sebuah database terdiri dari beberapa jenis tabel,  MySQL mendukung protokol terkompresi yang bisa menghemat bandwidth dan mengurangi latensi
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



Gambar 1.1  Tabel perbandingan mysql & postgresql dalam beberapa aspek



  
  Gambar 1.2 UJi test postgresql 

                                                                   Gambar 1.3 Grafik uji test Mysql

 Kesimpulan

Database merupakan kumpulan data yang saling berhubungan.Hubungan antar data dapat ditunjukan dengan adanya field/kolom kunci dari tiap file/tabel yang ada. salah satu hal yang harus kita pikirkan apakah kita membuat aplikasi web yang dibutuhkan adalah kecepatan. maka mysql adalah yang terbaik karena memilki kecepatan dan kompatibel dengan banyak web based development. namun jika membutuhkan foreign key dan transaction postgresql lebih baik dalamhalini. Sebenarnya jika dilhat dari tabel fitur postgresql menawakan fitur yang lebih daripada mysql. Namun postgreql lebih jarang digunakan pada aplikasi web. ada pandangan bahwa fitur tersebut memperlambat performa postgresql sehingga tidak cocok untuk web.

Keduanya memilki kelemahan dan kekuatan masing-masing.  Bahkan jika dibandingkan lebih cermat tidak ada yang saling melebihi, karena keduanya memilki porsinya masing-masing dalam dunia database, bahkan kedua database ini dapat digunakan untuk suatu sistem misalnya untuk GIS pada web, kita dapat menyimpan data GIS pada postgresql dan menggunakan pula mysql sebagai buffer untuk mempercepat akses basis data melalui web. Namun dari kelompok kami menyimpulkan bahwa Mysql lebih baik daripada Postgresql.




Daftar Pustaka



*      http://www.postgresql.org/docs/8.4/static/datatype.html

0 komentar:

Posting Komentar