Pekerjaan seorang database administrator pun memerlukan seni.Hal ini tidak berlebihan karena melakukan tuning database memerlukan kreativitas dan tentunya juga pengetahuan yang memadai.
Apa saja yang dapat di-tune agar menghasilkan performa database yang jauh lebih baik? Diantaranya adalah :
1. Konfigurasi Database Server
Secara default,umumnya setiap DBMS telah memiliki konfigurasi awal.Jika akan melakukan tuning dengan mengubah konfigurasi,hasilnya tidak selalu tampak sesaat setelan kamu menerapkan konfigurasi baru.
Adakalanya kamu perlu membiarkan server berjalan selama beberapa jam dan mengukur sejauh mana konfigurasi kamu berpengaruh terhadap kinerjanya.
2. Optimasi Pemanggilan Query
Bagaimana aplikasi melakukan manipulasi data?Beberapa pilihannya adalah dengan menggunakan method ADO,dynamic SQL (ad hoc query),ataupun stored procedure.
Menggunakan method ADO adalah menggunakan berbagai metode seperti rs.AddNew,rs.Update,atau rs.Delete.Cara ini relatif mudah untuk di pelajari dan di implementasikan,tetapi terkadang menghasilkan traffic yang besar pada jaringan,terutama jika aplikasi kamu mengolah data yang besar.
Cara lain adalah dengan menggunakan dynamic SQL,di mana kamu mengirimkan perintah Transact-SQL dalam bentuk string dari aplikasi agar di jalankan oleh database server.Umumnya menggunakan dynamic SQL akan lebih cepat di bandingkan dengan method ADO.
Tetapi karena database server menerimanya dari aplikasi kamu,maka harus di lakukan kompilasi kode Transact-SQL tersebut,menciptakan query plan dapat digunakan lagi kemudian sehingga mempercepat proses berikutnya.
Untuk kinerja yang optimal,kamu dapat mempertimbangkan stored procedure.Stored procedure memiliki kinerja yang lebih baik dan mengurangi traffic dan latency jaringan.
3. Gunakan JOIN dengan Tepat
Menggunakan perintah JOIN tampaknya sudah menjadi keharusan saat kamu bekerja dengan banyak tabel.Penggunaan join yang tidak tepat dapat mengakibatkan permasalahan dalam kinerja database kamu.
Jika kamu memiliki dua atau lebih tabel yang sering melakukan join,sebaiknya kolom yang di gunakan untuk join memiliki unique index,atau memiliki surrogate key agar mengurangi pembacaan I/O selama proses join.Tentunya hal ini akan lebih mengoptimalkan kinerja secara keseluruhan.
Kolom yang di gunakan untuk join sebaiknya memiliki tipe data yang sama,dan jika di mungkinkan memiliki tipe data numeric daripada karakter.
Jika proses join sampai melibatkan empat atau lebih tabel untuk mendapatkan record yang kamu inginkan,pertimbangkan untuk melakukan denormalisasi agar jumlah tabel yang di join dapat berkurang.
Terkadang hal ini di perlukan dengan pertimbangan kinerja database akan jadi lebih baik,jika kita menambahkan satu atau dua kolom tambahan agar dapat mengurangi jumlah tabel join yang terlampau banyak.
Wednesday, 29 April 2009
Tuning kinerja database
Posted by Tutorial Blog at 05:06 0 comments
Labels: Database Administrator
Tuesday, 28 April 2009
Pentingnya Recovery Database
Bencana itu bisa datang kapan saja tanpa di undang dan tanpa kita tahu,ya kan? Saat proses bisnis kamu berjalan lancar,mungkin kamu tidak menyadarinya ternyata sedemikian banyak kemungkinan yang dapat terjadi dan menyebabkan kerusakan pada database.
Apa saja yang mungkin dapat menyebabkan kerusakan database? Berikut ini akan saya berikan contoh-contohnya :
1. Kesalahan Software
Bagaimana database kamu di olah,bisa jadi melalui proses yang cukup
kompleks.Seperti pengguna yang setiap waktu silih berganti
mengakses,permasalahan pada konfigurasi server,atau proses-proses yang berjalan
di background yang di lakukan oleh database atau program lain.
Semuanya dapat saja menyebabkan permasalahan,seperti terjadinya disconnect yang
tidak normal,atau pun proses terhenti.Satu saja proses terganggu,maka dapat
mengakibatkan kerusakan pada database sehingga database memerlukan recovery.
Untuk itu,kamu harus meyakinkan bahwa konfigurasi server sudah memadai untuk
keperluan bisnis,dan hanya program yang di ijinkan saja yang berjalan pada
server.
Karena sudah bukan rahasia lagi bahwa sering kali server merupakan komputer
tercanggih di kantor sehingga selalu muncul keinginan untuk memaksimalkan
penggunanya.
2. Kesalah Hardware
Bisa jadi database terganggu karena terdapat kerusakan pada hardware server
maupun pada jaringan,dan kadang hal itu terjadi begitu saja tanpa menunjukkan
gejala awal nya terlebih dahulu.Karena itu,sangat penting untuk memisahkan hasil
backup database dari server dan menyimpannya di tempat yang lebih aman.
3. Kesalahan Pengguna
Manusia yang membuatnya,manusia yang merusaknya.Rupanya hal itu juga dapat
terjadi pada database.Bayangkan jika terjadi kesalahan query yang menyebabkan
tabel-tabel terhapus (Drop Table),hal ini dapat terjadi di luar aplikasi ataupun
pada aplikasi.
Hal yang dapat di lakukan adalah meminimalisasi akses langsung ke server,selalu menyediakan database dummy sebagai uji coba untuk developer yang sedang mengembangkan programnya,dan memastikan terdapat proses rollback jika aplikasi mengalami kegagalan.
Posted by Tutorial Blog at 17:50 0 comments
Labels: Database Administrator
Database Administrator
Setiap perusahaan memiliki database,di mana database merupakan salah satu hal yang demikian vital bagi perusahaan.Tetapi di sisi lain,cukup banyak perusahaan yang belum menyadari pentingnya pekerjaan seorang database administrator.Hal ini dapat kamu perhatikan dengan melihat berbagai lowongan pekerjaan di dunia IT (paling tidak di Indonesia), berapa banyak perusahaan yang mencari Database Administrator (DBA) di banding developer.Tentunya bukan berarti pula pengaturan database tidak penting bagi mereka,tetapi cukup banyak yang menganggap (atau mengharapkan) pekerjaan developer juga mencakup pekerjaan seorang database administrator.
Lalu apa tepatnya deskripsi pekerjaan seorang database administrator? Bisa jadi cukup bervariasi dan tergantung pada kebijaksanaan perusahaan dan fitur yang di sediakan oleh DBMS yang di gunakan.
Beberapa tugas dari database administrator umumnya meliputi :
1. Instalasi software baru
Tentu saja yang di maksud adalah software yang berhubungan dengan administrasi
DBMS,misalnya versi baru DBMS atau aplikasi pendukungnya.Sebelum aktif di gunakan
dalam tahap production,database administrator atau staff IT lainnya perlu
melakukan tes pada software yang baru di instal tersebut.
2. Konfigurasi hardware dan software
Dalam hal ini seorang database administrator mungkin perlu bekerja sama dengan
sistem administrator untuk melakukan konfigurasi hardware dan software (yang di
atur oleh sistem administrator) agar dapat berfungsi optimal bersama dengan DBMS.
3. Administrasi security
Salah satu tugas terpenting database administrator adalah melakukan monitor dan
administrasi security DBMS.Misalnya menambah atau menghapus user,mengatur
quota,audit, ataupun memeriksa permasalahan security database.
4. Analisis data
Pekerjaan analisis data sering kali melibatkan fitur-fitur yang dapat di gunakan
untuk meningkatkan kinerja database.Seringkali database administrator harus
menganalisis dan menggunakan cara yang efektif dalam penggunaan
index,paralelquery execution (kemampuan DBMS untuk melakukan eksekusi query pada
mesin yang memiliki lebih dari 1 CPU), ataupun fitur DBMS yang lain.
5. Desain database
Database administrator sering ikut serta terlibat dalam tahapan database
desain.Dengan pengetahuan sistem dan DBMS,database administrator dapat membantu
tim developer dalam meningkatkan kinerja database.
6. Data modeling dan optimasi
Data modeling merupakan proses menciptakan sebuat model data dengan menerapkan
teori model data,di mana kamu melakukan strukturisasi dan organisasi data.
Beberapa data model meliputi hierarchical model,network model,relation model,dan lain sebagainya.
Posted by Tutorial Blog at 05:07 0 comments
Labels: Database Administrator
+(1)+(1).jpg)

