SQL Mana yang Bagus Untuk Software Pulsa Bertransaksi Besar? PostgreSQL atau MySQL..?

Discussion in 'Server Pulsa Elektronik' started by iFlazz, Jun 2, 2010.

  1. iFlazz

    iFlazz New Member

    Messages:
    119
    Likes Received:
    27
    Trophy Points:
    0
    maaf juragan2 djawir :D

    Mau tanya, ada yang bisa bantu kasih penjelasan tentang perbedaan PostgreSQL dan MySQL dalam penerapannya di Software Pulsa bertransaksi besar...??

    SQL mana yang Lebih kuat, AMAN, dan stabil di hitungan transaksi besar..?

    Mohon di share ilmunya donk :pray::pray::pray:
     
  2. iFlazz

    iFlazz New Member

    Messages:
    119
    Likes Received:
    27
    Trophy Points:
    0
    Sekedar perbandingan yang di dapat dari PostgreSQL vs MySQL

    PART I

    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).
     
  3. iFlazz

    iFlazz New Member

    Messages:
    119
    Likes Received:
    27
    Trophy Points:
    0
    PART II

    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.
     
    navir1985 likes this.
  4. swadaya

    swadaya New Member

    Messages:
    52
    Likes Received:
    1
    Trophy Points:
    0
    ada yg bilang, sw pusa yg ber postgresh akan agak lbh lambat proses trx na. klo mau test coba nge h2h ke 2 suplier yg program / sw na berbeda y
    gmana y..
     
  5. matanem

    matanem Active Member

    Messages:
    131
    Likes Received:
    25
    Trophy Points:
    38
    TUE pake MY SQL :gossip:

    tembus 10 rebu trx/ hari.... Lebih kuat, AMAN, dan stabil :pound:

    :focus:
     
    azzob likes this.
  6. iFlazz

    iFlazz New Member

    Messages:
    119
    Likes Received:
    27
    Trophy Points:
    0
    Hehehe, mau tanya, Bagusan mana postgre atau MySQL? Maklum saya nubie, jadi mau tanya2 tentang prosesnya seperti apa.

    Takutnya MySQL lambat di Trx 50rb sehari keatas
    Atau malah takut kalau MySQL bobol atau gmn, makanya saya mau tanya pendapat bos bos djawir :thumb::thumb::thumb:
     
  7. blackneck6666

    blackneck6666 Active Member

    Messages:
    342
    Likes Received:
    70
    Trophy Points:
    38
    Oracle dengan harganya yang na uzubille. Tetap masih yang terbaik :frusty::frusty:.

    Table partitionnya ituloh bikin kenceng.
     
  8. dnutz85

    dnutz85 Active Member

    Messages:
    630
    Likes Received:
    47
    Trophy Points:
    38
    kalo mau buat software sndiri,, ane lebih milih postgre boss:rock::rock::rock:
     
  9. iFlazz

    iFlazz New Member

    Messages:
    119
    Likes Received:
    27
    Trophy Points:
    0
    Table partition itu apa gan? bantu jelasin dong.. :pray:

    Kenapa postgre gan...?? alasannya apa...?
     
  10. dnutz85

    dnutz85 Active Member

    Messages:
    630
    Likes Received:
    47
    Trophy Points:
    38
    setau ane sih lebih stabil boss:clap::clap::clap: udah gitu ada fasilitas foreign key, sedangkan di mysql harus create innodb sendiri --jadi agak ribet--,,trus dalam hal function kayanya lebih lengkap postgre:peace::peace:

    cmiiw:pray::pray:
     
  11. supreme

    supreme Moderator Moderator

    Messages:
    277
    Likes Received:
    128
    Trophy Points:
    0
    Andaikan pengembang software mau berterus terang dan menunjukkan kelebihan dan kelemahan dari masing2 progie database yang di pakai apa oracle/mysql/postgreSQL/SQL atau lainnya pasti pertanyaan ini gak akan muncul....:focus::focus::focus:
     
  12. syahjo

    syahjo New Member

    Messages:
    93
    Likes Received:
    20
    Trophy Points:
    0
    Pake yang Oracle ver 8 aja banyak bertebaran jamunya :)) yg terbaru sih 11g tapi harus ori, blm ada jamu nya
     
  13. dragon86

    dragon86 New Member

    Messages:
    130
    Likes Received:
    5
    Trophy Points:
    0
    sulit kalo begitu, karena itu merupakan rahasia perusahaan :noidea::noidea:
    bawah ane ada yg pinter monggo lanjutkan :clap::clap:
     
  14. dessena

    dessena New Member

    Messages:
    266
    Likes Received:
    10
    Trophy Points:
    0
    untuk ukuran data yg besar query postgres lebih cepat drpd query mysql

    kalo komputer tau2 kehilangan daya table mysql juga biasanya korup
     
  15. iFlazz

    iFlazz New Member

    Messages:
    119
    Likes Received:
    27
    Trophy Points:
    0
    Berarti untuk data besar, Postgre lebih bagus dan sedikitnya lebih aman dari kemungkinan untuk data corrupt..? :confused:
     
  16. azzob

    azzob New Member

    Messages:
    95
    Likes Received:
    18
    Trophy Points:
    0


    gimana kalo 10rb/harinya tanpa potong data selamanya, mungkin jarak antara seminggu / dua minggu pasti potong data n kalo gk di potong Berat bozz ngaruh ke TRX :peace::peace: ... Pake MysQL sudah Cukup Cuman bagaimana Memainkan Logika kita Agar Engine nya Tetap ringan ... mudah2an bisa membantu ...:thumb:
     
  17. matanem

    matanem Active Member

    Messages:
    131
    Likes Received:
    25
    Trophy Points:
    38
    Potong Data merupakan kegiatan Wajib, :D klo memang mo dikoleksi data nya di Dump aja. Burn ke DVD. Baru melakukan Potong Data.Aman kan.... :loveeye:
     
  18. azzob

    azzob New Member

    Messages:
    95
    Likes Received:
    18
    Trophy Points:
    0
     
  19. iFlazz

    iFlazz New Member

    Messages:
    119
    Likes Received:
    27
    Trophy Points:
    0
    Wah link tritnya di mana gan :loveeye::loveeye:
     
  20. blackneck6666

    blackneck6666 Active Member

    Messages:
    342
    Likes Received:
    70
    Trophy Points:
    38
    Sepenuhnya tergantung hardware komputer. Disk Array banyak, RAM GEde, MultiProsesor jadi wajib kalao ga mau potong potong data. Coba liat wikipedia full mysql tuh ampe gambar-gambarnya disimpan BLOB nya mysql aman aman aja tuh.

    Investasi enggak main main. Sebuah Raid Card adaptec paling jelek udah mau 3 jt an, belum lagi hardisknya. Belum lagi mao beli ram nya. Mao bener-bener sinting ram FULL buffered data aman meskipun ada chip memory yang rusak. Prosesor relatif mengingat server pulsa client sqlnya masih dikit querynya juga ga gila-gila amat. sebuah core2duo udah cukup.

    Hati-hati loh potong data, kalao programmer enggak hati-hati siap-siap jebol apalagi engine innodb. powerful tapi sedikit kesalahan fatal amat bisa bengkrap. DON"T PLAY PLAY. Enggak percaya? loe isengannya aja ganti value salah 1 row liat hasilnya.

    Tapi kalao enginenya myisam masih bisa ditoleransi karena bukan transaction engine. Software pulsa yang saya pakai ampir semua table engine innodb cuman beberapa table myisam, sehingga sangat sering memperhatikan kenapa kok ajaib ya ganti value row ini yang diatas berubah. hehehe.


    Note: Saya bukan programmer tapi database server sendiri setelah pengalaman berkali-kali jebol memaksa saya melahap isi manual mysql di web mysql.com. Lagian programmer tidak bertanggung jawab atas isi data mu dan jika terjadi "sesuatu" resiko tanggung sendiri tidak ada asuransi. teliti baik baik sebelum membeli.
     
    doll4r and iFlazz like this.

Share This Page