DATABASE ADMINISTRATIONPertemuan ke-7
Application Performance
source : Database Administrationthe complete guide to practices and procedureschapter 12by. Craig S. Mullins
Performa aplikasi fokus membahas tentang tuning dan optimasi kode aplikasi dan SQL statement
Aplikasi yang didesain dan di buat dengan buruk akan sangat mempengaruhi performa database
80% masalah databae, ketika di track, akan kembali pada masalah aplikasi
Designing Applications for Relational Access
Isu yang berkembang untuk application performance antara lain› Type of SQL valid Planned/unplanned,
dynamic / static, embeded /stand alaone› Programming language sesuai tujuan
penggunaan ? optimal› Transaction design and processing. sesuai
dengan ACID (atomicity-otomatis, consistency-konsisten, isolation-isolasi, and durability-kuat ) properties
Designing Applications for Relational Access
Locking strategy tipe lock benar ? Tipe lock lama? COMMIT strategy. apakah setiap aplikasi
menggunakan SQL commit? Batch processing apakah batch program sesuai
fitur sequential processing DBMS Online processing aplikasi online
mengembalikan info yang berguna? Optimal info per akses?
Relational Optimization Optimizer jantung dari DBMS Optimizer engine yang bertanggung jawab untuk
menentukan best possible database navigation strategy untuk setiap SQL request.
Developer aplikasi harus menspesifikan data apa yang dibutuhkan saat coding SQL
DBMS supply information dimana data diletakkan, relational optimizer memutuskan bagaimana nafigasi data
secara efisien End user harus memiliki pengetahuan dimana dan
bagaimana data aktual disimpan, optimiser tahu info tersebut
Figure 12-1. Relational optimization
Setiap RDBMS memiliki embedded relational optimizer merender SQL statements menjadi executable access paths.
Setiap vendor relational memiliki sedikit perbedaan pada relational optimisernya perbedaan step dan perbedaan informasi
Inti dari proses sama antara DBMS satu dengan yang lain
Optimiser parse SQL statement perform ke beberapa fase optimasi
SQL Coding and Tuning for Efficiency
Step yang muncul untuk setiap SQL statement1. Indetifikasi kebutuhan bisnis2. Memastikan kebutuhan data tersedia pada database3. Terjemahkan dari bisnis requirement ke SQL4. Test akurasi SQL dan hasilnya5. review akses path untuk mengetahui performa6. Tweak SQL untuk mendapatkan akses path yang lebih baik7. Code optimization hints. 8. Ulangi langkah 4 sampai 7 hingga performa diterima9. Ulangi langkah 8 apabila muncul masalah performa atau DBMS baru
diinstall10. Ulangi seluruh proses jika dibutuhkan untuk proses bisnis baru
SQL Rules of Thumb
Rule 1: sesuai› DBA harus tahu apa yang sesuai dengan kebutuhan
Rule 2: hati-hati terhadap apa yang ditanyakan › Letakkan predikat yang restriktif pada tempat yang dbaca pertama
kali
Rule 3: KISS › Keep it simple, Stupid
Rule 4: Ambil apa saja yang dibutuhkan
Rule 5: hindari Cartesian Products Rule 6: bijak untuk penggunaan OR
Rule 7: Bijak dalam penggunaan LIKE
Rule 8: ketahui mana yang terbaik kerjanya Rule 9: Isu COMMIT yang terlalu sering Rule 10: bijak dalam penggunaan kode
generator Rule 11: pertimbangkan penggunaan store
prosedure
Additional SQL Tuning Tips
Gunakan index untuk menghindari sorting buat index untuk query yang bermasalah Jika memungkinkan jangan menggunakan aritmatic di SQL
predikat (where), gunakan programming application untuk operator aritmatik
Gunakan fungsi SQL untuk meminimalkan effort programming
Gunakan contrain untuk meminimalkan coding cek Jangan lupa efek tersembunyi dari trigger. Sebab bisa jadi
satu delete dapat mempengaruhi banyak hal.termasuk jika ada masalah bisa jadi trigger delete ini penyebab masalah
Summary
Manajemen Performa aplikasi dan SQL tuning adalah area komplek yang mebutuhkan partisipasi aktif dari programmer dan DBA
Setiap DBMS beroperasi secara berbeda, maka DBA termasuk programmer perlu mengetahui setiap langkah untuk SQL dan application performance manajemen untuk DBMS mereka
Relational optimizer mengkombinasikan akses path strategi untuk membentuk akses path yang efisien untuk setiap SQL request
Optimizer adalah bagian yang komplek dari sebuah software, dan DBMS vendor terkadang tidak memberikan petunjuk yang cukup pada customer cara penggunaannya
SQL peformance tuning lebih tepat disebut proses artistic yang berulang, daripada disebut bagian dari science
Tugas kelompok setelah UTS
Install oracle (enterprise edition) letakkan cara install dan screenshot instalasi di
blog masing-masing Akan digunakan untuk kuliah selanjutnya
Terima kasih
Top Related