Perbandingan Postgresql dan Mysql
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 :
- Bersifat data oriented dan bukan program oriented.
- Dapat digunakan oleh beberapa program aplikasi tanpa perlu mengubah basis datanya.
- Dapat dikembangkan dengan mudah, baik volume maupun strukturnya.
- Dapat memenuhi kebutuhan sistem-sistem baru secara mudah
- 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