DATABASE ADMINISTRATION

17
DATABASE ADMINISTRATION Pertemuan ke-7

description

DATABASE ADMINISTRATION. Pertemuan ke - 7. Application Performance source : Database Administration the complete guide to practices and procedures chapter 12 by. Craig S. Mullins. Performa aplikasi fokus membahas tentang tuning dan optimasi kode aplikasi dan SQL statement - PowerPoint PPT Presentation

Transcript of DATABASE ADMINISTRATION

Page 1: DATABASE ADMINISTRATION

DATABASE ADMINISTRATIONPertemuan ke-7

Page 2: DATABASE ADMINISTRATION

Application Performance

source : Database Administrationthe complete guide to practices and procedureschapter 12by. Craig S. Mullins

Page 3: DATABASE ADMINISTRATION

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

Page 4: DATABASE ADMINISTRATION

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

Page 5: DATABASE ADMINISTRATION

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?

Page 6: DATABASE ADMINISTRATION

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

Page 7: DATABASE ADMINISTRATION

Figure 12-1. Relational optimization

Page 8: DATABASE ADMINISTRATION

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

Page 9: DATABASE ADMINISTRATION

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

Page 10: DATABASE ADMINISTRATION

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

Page 11: DATABASE ADMINISTRATION

Rule 5: hindari Cartesian Products Rule 6: bijak untuk penggunaan OR

Page 12: DATABASE ADMINISTRATION

Rule 7: Bijak dalam penggunaan LIKE

Page 13: DATABASE ADMINISTRATION

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

Page 14: DATABASE ADMINISTRATION

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

Page 15: DATABASE ADMINISTRATION

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

Page 16: DATABASE ADMINISTRATION

Tugas kelompok setelah UTS

Install oracle (enterprise edition) letakkan cara install dan screenshot instalasi di

blog masing-masing Akan digunakan untuk kuliah selanjutnya

Page 17: DATABASE ADMINISTRATION

Terima kasih