Kamis, 13 Oktober 2011

PostgreSQL vs MySQL


Saat ini dengan mudah kita bisa mengatakan, dua produk database open source paling terkenal dan banyak digunakan adalah MySQL dan PostgreSQL. “Mana yang lebih bagus?” adalah pertanyaan yang hingga akhir zaman nanti akan selalu terlontar. Kami tahu pertanyaan ini tidak ada artinya, dan tidak membantu sama sekali. Namun di artikel ini kami mencoba menyusun beberapa aspek dari kedua database yang berbeda satu sama lain. Harapan kami, perbandingan ini membantu Anda menjawab pertanyaan “mana yang sebaiknya dipakai untuk [sebutkan kebutuhan Anda di sini].” Jangan lupa pula, sebelum memutuskan selalu ceklah dulu homepage kedua database sebab dari waktu ke waktu fitur tiap database berubah/bertambah. Perbandingan di artikel ini sendiri menggunakan versi MySQL 3.23.49/4.0.1 dan PostgreSQL 7.2.

Tujuan Desain

Dari semula latar belakang dikembangkannya kedua database ini sudah berbeda. MySQL berkembang dari solusi yang dipakai oleh pembuatnya, TcX AB, dalam memroses data untuk aplikasi Web. Fokusnya adalah pada kecepatan. PostgreSQL, di lain pihak, berkembang dari riset akademik. Fokus pengembangan PostgreSQL adalah pada fitur OO, reliabilitas, dan dukungan SQL yang mantap. Namun, seiring kedua produk ini bertambah matang, keduanya semakin banyak memiliki sifat-sifat ini. MySQL versi 4.x misalnya, berjanji menambahkan fitur-fitur yang sejak lama diidamkan pemakainya: subselect, view, dsb. Sementara PostgreSQL, yang sempat memiliki masalah stabilitas dan skalabilitas di seri awal versi 6.x, juga kini telah amat menarik dari segi kecepatan.

Pengembangan

Pengembangan MySQL diatur secara sentral oleh perusahaan komersial di Swedia bernama MySQL AB (sebelumnya TcX AB). Perusahaan ini memperoleh pemasukan utamanya dari menjual layanan support dan konsultasi MySQL. PostgreSQL dikembangkan secara lebih terdesentralisasi dan merakyat, namun tetap diatur oleh sebuah kelompok online bernama PostgreSQL Development Group.
MySQL dirilis dalam satuan yang lebih sering (sebulan bisa lebih dari satu kali), sementara PostgreSQL sekitar 4–6 bulan sekali.

Jumlah Pengguna

Menurut MySQL AB, saat ini jumlah instalasi MySQL sekitar 3 juta. PostgreSQL sendiri tidak diketahui pasti berapa jumlah penggunanya; kemungkinan masih berada di bawah MySQL karena banyaknya situs Web dan perusahaan webhosting yang hanya menggunakan MySQL. Plus secara keseluruhan popularitas MySQL (trafik milis, tutorial/artikel yang membahas, dsb) lebih besar daripada PostgreSQL. Tapi karena PostgreSQL juga disertakan secara default di distro-distro Linux seperti Red Hat dan SuSE, jumlah penggunanya pun sudah pasti banyak.

Arsitektur dan Portabilitas

MySQL memiliki arsitektur multithreading, sementara PostgreSQL multiproses (forking). Ini berarti PostgreSQL potensial memiliki stabilitas yang lebih tinggi, sebab satu proses anak yang mati tidak akan menyebabkan seluruh daemon mati—meskipun pada kenyataannya, dulu ini sering terjadi. Di sisi lain, arsitektur dengan forking ini sulit diterapkan ke Windows, sebab Windows amat thread-oriented. Karena itulah, baru MySQL yang memiliki port natif ke Windows. PostgreSQL sendiri saat ini bisa dijalankan di Windows, tapi melalui lapisan emulasi Cygwin.

ACID compliance

Sampai sekarang masih banyak yang bilang MySQL itu tidak ACID-compliant. Padahal sejak 2 tahun lalu MySQL sudah mempunyai handler tabel BerkeleyDB, dan belakangan ini InnoDB, sehingga MySQL sudah mendukung transaksi. Handler tabel MySQL yang lama, ISAM dan MyISAM, tidak ACID-compliant. PostgreSQL sendiri sejak lama telah ACID-compliant.

Lisensi

Lisensi PostgreSQL lebih liberal. Inilah sebabnya ada banyak produk closed-source dan komersial yang bisa dikembangkan dari source code PostgreSQL. MySQL, karena dilisensi di bawah GPL, tidak boleh dimodifikasi menghasilkan produk turunan yang closed-source.

Kecepatan

Soal kecepatan ini relatif dan kadang juga jadi isu sensitif. Baik kedua pihak, maupun pihak ketiga, pernah menerbitkan benchmark yang lalu ditepis atau dicibir karena tidak objektif.
Pada dasarnya perbandingan kecepatan keduanya seperti ini: MySQL terkenal cepat dalam melakukan query sederhana. Dengan kata lain, dapat memroses lebih banyak SQL per satuan waktu. Tapi dalam kondisi load tinggi (jumlah koneksi simultan besar), PostgreSQL sering mengalahkan MySQL untuk query dengan klausa JOIN yang kompleks, seperti dialami Tim Perdue saat mencoba kedua database untuk diimplementasikan di SourceForge.net. Penyebab utamanya adalah karena MySQL menggunakan locking level table dalam UPDATE, sehingga koneksi yang lain tidak bisa membaca table ybs sama sekali. Locking inilah juga sebabnya mengapa pada banyak benchmark, MySQL menunjukkan penurunan kinerja yang cukup drastis untuk kondisi jumlah klien simultan tinggi. PostgreSQL mendukung locking di level yang lebih rendah, yaitu row. Table handler baru di MySQL, InnoDB, juga mendukung row level locking. Benchmark InnoDB pada jumlah koneksi tinggi menunjukkan hasil yang cukup menjanjikan (www.innodb.com/bench.html).
Masalah locking tabel bisa diakali dengan membelah-belah tabel, agar satu kelompok row dapat dilock tanpa mengganggu kelompok row lain. Bahkan ada pengguna MySQL yang membelah sebuah tabel besar berisi jutaan record menjadi ribuan tabel kecil-kecil.

Stabilitas

Keduanya sudah bisa dibilang cukup hingga amat stabil. Tapi perlu diingat bahwa database manapun—bahkan Oracle—sesekali dapat menyebabkan kerusakan data. Karena itu backup/history periodik dan incremental tetap diperlukan.

Fungsi Built-In

MySQL terkenal kaya fungsi built-in, seperti modifikasi string (REPLACE, RIGHT, LTRIM, LCASE), matematika (LOG, LOG10), tanggal, dsb. Dalam hal ini MySQL lebih unggul.

Interface

Keduanya sudah amat solid. Mulai dari API C/C++, driver database Perl/Python/PHP/Tcl, ODBC, JDBC telah didukung. Anda tidak akan kesulitan menggunakan database ini dari berbagai sistem dan bahasa pemrograman. MySQL juga mendukung OLEDB dan memiliki versi embedded untuk dilink bersama aplikasi buatan Anda sendiri.

Full Text Indexing

MySQL mendukung indeks full text secara natif. PostgreSQL mendukung full text searching lewat program lain (contohnya: OpenFTS, openfts.sourceforge.net) yang memanfaatkan tipe data arraynya untuk menyimpan indeks dokumen. Secara umum dapat dikatakan bahwa indexing dengan MySQL lebih praktis, tapi dengan program ketiga lebih banyak fitur dan opsi yang bisa diatur (mis: stemming, parsing kata non-Inggris, dsb). MySQL juga, tentu saja, dapat dipakai sebagai backend bagi program search eksternal (contoh: DBIx::KwIndex, search.cpan.org/search?dist=DBIx-KwIndex), meski mungkin tidak seefisien dibandingkan array di PostgreSQL.

Replikasi

Keduanya sudah memiliki replikasi, meski replikasi di MySQL barulah satu arah. Replikasi di PostgreSQL sendiri belum disertakan dalam distribusi standarnya, namun Anda dapat mengunjungi situs gborg.postgresql.org/project/pgreplication/ (proyek pgreplication).

Manajemen User dan Keamanan

Kedua database menyimpan informasi user di sebuah database khusus. Sistem perizinan MySQL lebih mendetil daripada PostgreSQL. Misalnya, kita dapat mengeset agar user tertentu yang datang dari host tertentu hanya bisa membaca tabel saja tanpa bisa UPDATE. Di PostgreSQL ini masih bisa dilakukan dengan VIEW misalnya.
Untuk masalah enkripsi koneksi, keduanya mendukung SSL. Ada ekstensi PKIX bagi PostgreSQL yang menarik, sebab dapat membuat tabel terenkripsi: http://www.dimensional.com/~bgiles/pkixdoc/.

Tool Web/GUI

MySQL AB mengklaim lebih banyak tool grafis/web yang tersedia untuk MySQL, dan ini nampaknya cukup benar.

Tipe Data

PostgreSQL lebih kaya dalam hal tipe data (terutama yang domain-specific seperti tipe data geometris dan MONEY), tapi MySQL sudah mendukung semua tipe data umum.
Di PostgreSQL sebelum 7.1, masih ada keterbatasan yang cukup menyesakkan yaitu ukuran data BLOB maksimum adalah 8–32KB. Sejak 7.1, PostgreSQL juga dapat menyimpan data BLOB besar.
CHAR dan VARCHAR di PostgreSQL dapat menampung hingga 8 juta karakter (bandingkan dengan MySQL yang hanya 255).

Modifikasi Tabel

MySQL lebih fleksibel dalam ALTER TABLE. PostgreSQL sendiri terbatas hanya bisa melakukan penambahan kolom, penggantian nama kolom, dan penggantian nama tabel. MySQL mendukung penambahan/penghapusan kolom, penggantian definisi kolom, dsb.

Fitur OO dan SQL

Dalam waktu beberapa tahun PostgreSQL akan tetap memiliki fitur yang lebih lengkap dibandingkan MySQL. Lebih banyak fitur dari standar SQL92 yang diimplementasi oleh PostgreSQL. MySQL bahkan belum mendukung subselek. View, trigger, foreign key checking (meski ini sudah ada di InnoDB) dan stored procedure semua hanya ada di PostgreSQL. Sebagai pengembang yang memutuskan memilih salah satu database, Anda perlu menanyakan kepada diri sendiri dulu apakah ingin lebih bersusah-payah melakukan code around fasilitas-fasilitas yang tidak ada di MySQL tersebut melalui bahasa pemrograman (misalnya, stored procedure diganti dengan user-defined function, subselek diganti beberapa kali SQL yang dibungkus dengan locking, dan tidak ada “trigger” berarti Anda harus melakukan pengecekan secara manual). Jika tidak ingin repot, lebih baik memilih PostgreSQL. Tapi jika tidak butuh fitur SQL yang rumit-rumit, Anda masih punya kebebasan memilih satu dari dua.
Di samping itu MySQL pun tidak 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.

Fitur Unik

MySQL memiliki arsitektur yang memungkinkan sebuah database terdiri dari beberapa jenis tabel, misalnya: yang transaksional dan tidak, yang berbasis di memori atau di disk, yang terkompresi dan yang read-only. MySQL mendukung protokol terkompresi yang bisa menghemat bandwidth dan mengurangi latensi.
PostgreSQL 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.

Kenapa Beli 10 Bila Cuma Perlu 1 PC ?

VIVAnews – Ini solusi jitu bagi sebuah perusahaan kecil menengah, apalagi di masa krisis seperti ini. Bila bagian TI perusahaan sudah menganggarkan untuk membeli beberapa unit komputer baru, stop dulu rencana itu. Barangkali, teknologi besutan NComputing, yang bermarkas di Redwood City California, Amerika Serikat, bisa menjadi alternatif yang sangat murah.

PC-Cloning NComputing X550

Pasalnya, teknologi ini bisa mereduksi kebutuhan perusahaan terhadap pembelian komputer PC. Bayangkan saja, dengan sebuah perangkat mungil milik NComputing, sebuah perusahaan bisa menyederhanakan kebutuhan sekitar 10 komputer, menjadi hanya 1 komputer saja.

Menggunakan fakta yang sering menjadi dasar pijakan virtualisasi komputer, setiap kali seseorang bekerja di depan komputer, biasanya paling banter cuma mengerahkan sekitar 10 persen dari potensi yang dimiliki oleh komputer tersebut.

Alhasil, 90 persen resource komputer yang digunakan sama sekali tak terpakai. “Buat apa Anda membayar sesuatu yang sama sekali Anda tidak pernah manfaatkan?” ujar Manish Sharma, Vice President NComputing Asia Pacific, kepada wartawan, di Hotel Intercontinental Mid Plaza Jakarta, Senin 22 Juni 2009.

Untuk menggantikan keperluan 10 unit komputer, perusahaan cukup perlu membeli satu unit CPU, 10 perangkat mungil seukuran modem buatan NComputing, 10 layar monitor, serta 10 unit papan ketik (keyboard).

X550_diagram_Hz Konfigurasi PC-Cloning NComputing X550 utk 11 user

Prinsipnya, kata Sharma, alat buatan NComputing memiliki kemampuan untuk mengkapling-kapling resource satu unit computer processing unit (CPU) sehingga dapat digunakan oleh sekitar 10 orang pengguna secara bersamaan, tanpa mengganggu kinerja masing-masing aplikasi.

Lebih jauh, Sharma menjelaskan, solusi tersebut juga mampu memotong biaya-biaya tak terlihat lain, seperti kebutuhan-kebutuhan uninterruptible power supply (UPS), ongkos membeli lisensi-lisensi software, dan lain lain.

“Dengan menyederhanakan penggunaan 10 PC menjadi hanya 1 PC plus 10 unit NComputing, perusahaan dapat melakukan 90 persen penghematan energi, 70 persen penghematan biaya pemeliharaan, serta 50 persen penghematan pembelian hardware,” ujar Sharma.

Padahal, penghematan yang diperoleh dari penggunaan NComputing bisa lebih banyak daripada itu. Menurut Henky Tjokroadhiguno, Managing Director Megatronix Mitraniaga, distributor tunggal NComputing di Indonesia, sebuah gadget NComputing seri L bisa menghubungkan satu CPU kepada hingga 30 pengguna komputer.



multi_station_diagram


Konfigurasi PC-Cloning NComputing L130/230 utk 1-30 user

“Sebuah perusahaan leasing di Bandung bisa memanfaatkan satu buah komputer berprosesor Intel Xeon kepada 30 karyawan mereka,” ujar Henky. Namun, itu juga disesuaikan dengan spesifikasi komputer induk.

Menurut Sharma, sebuah CPU berprosesor Intel Pentium 4 berkecepatan 3 GHz, dapat digunakan oleh sekitar 6 pengguna. Sementara komputer yang berspesifikasi lebih tua, hanya direkomendasikan untuk digunakan oleh sekitar 4 atau 5 pengguna.

Untuk mengetahui seberapa besar sebuah perusahaan dapat melakukan penghematan penggunaan komputer mereka, kata Henky, dapat dilihat dari pemakaian harian komputer tiap karyawan dari task manager mereka.

Sharma tak menampik bila alatnya disebut sebagai disruptive technology, karena dapat merusak penjualan vendor-vendor komputer. Bahkan menurut Sharma, alatnya dapat ‘merusak’ paradigma berpikir pengusaha.

“Bila mereka hendak membeli sekitar seribu komputer, kini mereka pasti berpikir hanya membutuhkan seratus komputer. Dan sekali mereka mengetahuinya, pola pikir seperti itu akan sangat sulit dirubah.”

Sumber : VivaNews (22/06/2008)

Selamat Datang Era Akses Komputer Murah


JAKARTA, SENIN – Selamat datang era akses komputer murah. Dengan kejelian memaksimalkan pemanfaatan kapasitas komputer, NComputing mengembangkan software dan hardware berbentuk virtual agar satu PC dapat dimanfaatkan oleh banyak pengguna. Setiap pengguna hanya memerlukan monitor, keyboard dan mouse yang dihubungkan dengan sebuah komputer inti (server) yang dipakai bersama-sama.
Manish Sharma Namun untuk bisa mengakses dan menggunakan komputer inti, setiap paket perangkat di atas harus dilengkapi dengan sebuah hardware mini sebagai pengganti motherboard, yaitu X-Series dan L-Series. NComputing menyebut X-Series sebagai perangkat keras yang tersambung langsung. Perangkat ini dapat digunakan untuk tujuh sambungan komputer dalam jarak maksimal 10 meter. Artinya,untuk pemanfaatan maksimal sebuah PC secara bersama-sama dengan dibutuhkan enam monitor, mouse dan keyboard serta enam perangkat X-Series.
“Hitungannya (setiap perangkat X-Series) hanya 1 watt. Bandingkan dengan sebuah PC yang membutuhkan 115 watt untuk digunakan,” ujar Vice President NComputing Asia Pasific Manish Sharma dalam momen peluncuran dua perangkat terminal ini, Senin (11/8) di Jakarta.
“Hitungannya (setiap perangkat X-Series) hanya 1 watt. Bandingkan dengan sebuah PC yang membutuhkan 115 watt untuk digunakan,” ujar Vice President NComputing Asia Pasific Manish Sharma dalam momen peluncuran dua perangkat terminal ini, Senin (11/8) di Jakarta.
Perangkat L130/230 ternyata lebih mencengangkan lagi. Satu perangkat ini memungkinkan 30 orang menggunakan komputer dari satu PC  atau server yang sama tanpa terikat jarak. Menurut Manish, sistem ini seringkali digunakan dalam satu gedung. Perangkat ini menggunakan sambungan ethernet dan hanya membutuhkan tenaga 5 watt listrik untuk setiap perangkatnya. Untuk keduanya, pengguna tidak perlu menambahkan router, karena telah dilengkapi dengan card ketika membeli paket X-Series ataupun L-Series.
X-Series dijual dengan harga Rp 880 ribu per perangkat, namun pengguna harus membeli minimal tiga perangkat plus satu card seharga Rp 2,52 juta. Sedangkan L-Series dijual dalam dua seri yaitu L-230 yang dilengkapi dengan USB seharga Rp 1,9 juta dan L-130 seharga Rp 1,7 juta.
X550_diagram_Hz Menurut Manish, terobosan NComputing menjadi jawaban bagi dunia pendidikan di beberapa negara berkembang dengan penggunaan lebih dari 500.000 komputer virtual yang telah tersebar di 80 negara. Hal ini sekaligus menghemat penggunaan listrik sebanyak 88 juta kilowatts per tahun sehingga mengurangi angka emisi karbon dalam atmosfer. Kelemahannya, jika komputer hostnya hang atau down maka setiap komputer juga akan hang ataupun down.
Menurut Manish, Indonesia yang sedang menggeliatkan teknologi dalam berbagai bidang, seperti program e-learning dan e-government dapat memanfaatkan kecanggihan teknologi. Institusi dan perusahaan ternama juga disebutkan Manish telah menggunakan perangkat ini, seperti Carrefour, Deloitte dan Fed Ex, bahkan Mabes Polri.
Manish menambahkan NComputing tidak begitu terobsesi soal perolehan rupiah di tahun keduanya di Indonesia, meski mengharapkan tahun ini akan memperoleh dua kali lipat perolehan tahun lalu atas total penjualan hampir 6000 unit. Prioritas utama NComputing adalah mendirikan 100 dealer di Indonesia hingga akhir 2008.
Sumber : KOMPAS (11/08/2008)

PC Cloning

NComputing Sukses Kembangkan X-series Baru sebagai Alat Virtualisasi Desktop Super Murah

x350
1 unit kit X350 'menghasilkan' 3 CPU 'baru' untuk 3 user tambahan
California, 20 April 2009 – Akibat krisis ekonomi global, penjualan komputer super murah meningkat secara drastis. Kenyataan ini membuat NComputing sebagai pemimpin pasar, berinisiatif merancang sebuah model baru alat virtualisasi desktop dengan menambahkan kecepatan kerja atas produk NComputing X-series yang sebelumnya telah merebut pasar dengan cemerlang. X350 baru ini dirancang khusus untuk mendukung organisasi yang ingin menambah jumlah pengguna komputer dengan biaya murah dan efisien, namun berperforma unggul.
Diciptakan untuk mendampingi slim-line OC, Ncomputing X350 dengan harga jual untuk pasar Indonesia sekitar Rp. 3.156.375 (US$ 285 dengan menggunakan kurs Rp. 11.075 per dolar AS) dapat merubah sebuah PC menjadi empat komputer virtual – yang masing-masing dengan performa multimedia canggih dan tampilan video layar penuh. Dengan dua unit alat X350, maka sebanyak tujuh pengguna dapat menikmati akses komputer melalui satu PC. X350 ini merupakan versi sederhana dari NComputing X550, yang dapat mendukung hingga 11 pengguna komputer dengan hanya satu PC. Sebagaimana semua solusi NComputing lainnya, X350 juga menggunakan perangkat lunak virtualisasi desktop vSpace.
x550
1 unit kit X550 'menghasilkan' 5 CPU 'baru' untuk 5 user tambahan
Penciptaan solusi NComputing didasari oleh fakta sederhana, yaitu: PC di era sekarang sudah sangat canggih dan kebanyakan penggunanya hanya memakai sebagian kecil saja dari kapasitas yang tersedia pada komputer mereka. Dengan alat NComputing sebuah komputer desktop dapat digandakan (divirtualisasi) sehingga memungkinkan bagi lebih banyak pengguna untuk mengakses dan memanfaatkan kapasitas sebuah komputer secara bersamaan. Selanjutnya, masing-masing pengguna dapat merasa seperti memiliki dan bekerja dengan komputer sendiri. Setiap pengguna akan menikmati akses komputer secara sempurna dengan cara menyambungkan layar monitor, keyboard dan mouse mereka pada alat NComputing, yang lalu disambungkan pada sebuah komputer yang akan digunakan bersama. Setiap unit X350 terdiri dari tiga alat NComputing XD2 serta PCI card yang dimasukkan melalui space-saving komputer. Keuntungan solusi virtualisasi X350 ini terletak pada keabsahan dan efisiensinya yang dapat memberikan performa multimedia canggih dan tampilan video layar penuh.
Saat ini X350 telah dipasarkan di seluruh dunia. Untuk pasar Indonesia,  distribusi dan penjualannya dipercayakan kepada PT. Megatronix Mitraniaga di Jakarta. Dalam kurun waktu kurang dari dua tahun, NComputing berhasil menjual alat ini untuk lebih dari satu juta pengguna, yang membuatnya menjadi pensuplai terbesar untuk kategori komputer super murah. Kemudahan menggunakan NComputing membuatnya gampang diterima pasar. Siapapun yang memiliki pengetahuan dasar komputer dapat dengan mudah meng-instal NComputing dan penghematan pun dapat segera dinikmati.
Lebih dari 40.000 organisasi yang tersebar di 140 negara telah menggunakan NComputing untuk memangkas biaya komputer dan penggunaan listrik mereka. Setiap alat NComputing membutuhkan hanya satu watt listrik saja. Dibandingkan dengan 110 watt yang dibutuhkan sebuah PC, maka NComputing adalah solusi komputer paling ramah lingkungan di seluruh dunia.
Sumber: CHIP Indonesia