--- On Wed, 5/7/08, Ronny Haryanto <[EMAIL PROTECTED]> wrote:

> From: Ronny Haryanto <[EMAIL PROTECTED]>
> Subject: Re: [tanya-jawab] Tanya PHP
> To: [email protected]
> Date: Wednesday, May 7, 2008, 10:30 AM
> 2008/5/7 hendra <[EMAIL PROTECTED]>:
> > > Btw apa sih perbedaannya inno db dan myIsam.
> >
> >  Bedanya tipis.
> >  inno db bisa rollback
> >  myIsam tidak bisa
> 
> Tipis?! Semua feature2 yg biasa ditemui di RDBMS lain
> (seperti
> transaction, foreign key, etc.) mensyaratkan InnoDB.
> Feature2 ini
> biasanya tidak disupport di MyISAM. Keunggulan MyISAM yg
> paling
> signifikan ada di kecepatannya, dan kemampuan fulltext
> searchnya. Buat
> saya pribadi sih, ngapain cepet kalo mengorbankan integrity
> (tidak ada
> foreign key dan transaction). Sangat sedikit sekali
> aplikasi yg bisa
> mengabaikan foreign key dan transaction.
> 

Foreign Key dan transaction memang wajib, tapi bisa ada di db, bisa juga di 
aplikasi. Dari pengalaman, walaupun foreign Key dan transaction sudah ada di 
db, aplikasi toh masih tetap perlu implementasikan itu. Contoh, sebelum input 
data, biasanya user selalu diberikan list untuk dipilih (misal: daftar nama 
propinsi) dan sistem akan merekam kodepropinsinya untuk diinput. Lalu pada saat 
retrieve data, aplikasi juga tetap harus baca nama propinsi (tidak cukup hanya 
mengoutputkan kodepropinsinya saja) sehingga walaupun foreignkey salah, 
outputnya tetap "benar". Lalu jika saat data coba diinput dan ternyata 
foreign_key-nya salah, apa aplikasi cukup do nothing dan biarkan db yg tangani? 
Gmn dengan errornya? Kenyataannya, aplikasi tetap harus cek ulang ke db apakah 
error yang terjadi itu akibat kesalahan foreign key ato sebab-sebab yang lain. 
Jadi, secara sederhana, 
Foreign Key dan transaction itu tetap harus ditangani di aplikasi (bisa jg 
dikombinasikan dengan stored-procedure utk membuat proses atomic). Tapi kalau 
ingin tambah mantap, ya memang paling low level ada di db. Anyway, transaction 
di dbpun juga tidak bisa mengatasi masalah hardware yang tiba2 rusak (ini 
justru yang sering terjadi).

Untuk MyIsam, performancenya jauh lebih cepat karena tidak perlu ada foreignKey 
dan transaction. Tapi MyIsam justru support clustering (mulai MySQL versi 5.1 
atau 5.0) sementara Innodb tidak. Dengan clustering, masalah hardware yang 
tiba2 rusak dapat ditangani secara automatic tanpa harus men-downkan db. Dan 
sepertinya MySQL AB sejak awal sampai sekarang memang lebih prefer MyIsam 
daripada Innodb. Dari awalan "My" saja kan sudah kelihatan:)



> >  kalo untuk transaksional yang prosesnya
> 'keren' seperti yang biasanya
> > ditemui di program desktop, kemampuan rollback sangat
> penting
> >  tapi kalo untuk website yang biasanya cuma insert
> update delete 1 record ke
> > 1 table, rasanya rollback gada pentingnya deh
> 
> Kebutuhan transaksi tidak bisa dilihat dari aplikasi itu
> 'keren' atau
> tidak, dipake di desktop atau di web, dan bukan dari jumlah
> recordnya.
> Aplikasi web seperti online banking butuh transaction,
> walaupun
> banknya masih baru dan baru punya satu user online dan
> transaksinya
> cuma satu sehari.
> 
> Saya sudah lama meninggalkan MySQL, dipake cuma kalo
> kepaksa aja.
> Walaupun mungkin yg versi2 baru skrg sudah lebih bagus
> support
> feature2nya, saya gak tau. Bahkan SQLite aja support
> foreign key dan
> transaction. Jadi saya skrg pake SQLite untuk semua
> development local,
> dan PostgreSQL untuk deployment di production (saya pake
> Django, ada
> ORM-nya, jadi bisa ganti2 db gak masalah, tinggal ganti di
> setting
> aja).
> 
> Untuk most websites yg sederhana (blog, dll) sebetulnya gak
> perlu
> dedicated RDBMS server sendiri, pake SQLite aja udah lebih
> dr cukup.
> Sangat dianjurkan. Jauh lebih mudah dan gak pusing bahkan
> kalo
> dibandingkan dg MySQL yg sudah cukup mudah sekalipun.
> Practically
> maintenance free (baru ganti aki mobil tadi pagi, jadi
> demen), backup
> pun jadi tinggal copy/rsync satu file doang.
> 

Sama, backup MySQL bisa dengan cara copy (misal): /mysql/data/
Tapi tentu saja engine servernya harus didownkan dulu (semua db juga begitu 
kan?).

> Ronny
> 


Regards,

Rafik


      

-- 
FAQ milis di http://wiki.linux.or.id/FAQ_milis_tanya-jawab
Unsubscribe: kirim email ke [EMAIL PROTECTED]
Arsip dan info milis selengkapnya di http://linux.or.id/milis

Kirim email ke