Pages

Senin, 07 April 2014 di 18.28 Diposting oleh Rahardiyan Arya Yudha 0 Comments



Resume Pertemuan VII
Application Performance



Application Performance, berfokus pada tuning dan mengoptimalkan kode aplikasi dan SQL, serta memastikan aplikasi berinteraksi dengan DBMS secara tepat dan efisien.
Beberapa hal yang harus kita perhatikan ketika kita men-Desain aplikasi :
  1. Jenis SQL
  2. Bahasa Pemrograman
  3. Desain Transaksi dan Pengolahan
  4. Mengunci Strategi
  5. COMMIT strategi
  6. Batch Strategi
  7. Pemrosesan Online
Untuk berfungsi dengan baik, optimasi harus mengevaluasi dan menganalisa berbagai faktor:
1.      CPU and I/O
Berdasarkan informasi CPU, optimasi dapat di perkiraan dari waktu CPU yang dibutuhkan untuk menjalankan query menggunakan setiap jalur akses yang dioptimalkan secara analisis.

2.      Database Statistics
Sebuah DBMS relasional menyediakan program utilitas atau perintah untuk mengumpulkan statistik tentang obyek database dan menyimpannya untuk digunakan oleh optimizer (atau oleh DBA untuk memantau kinerja).

3.      Query Analysis
Selama analisis query, optimizer analisis aspek pernyataan SQL dan sistem database, seperti:
Ø  Jika ada Indeks yang dapat digunakan
Ø  Berapa banyak predikat (klausa WHERE)
Ø  Fungsi yang harus dijalankan
Ø  Apakah SQL menggunakan OR atau AND
Ø  Bagaimana DBMS memproses setiap komponen dari pernyataan SQL
Ø  Berapa banyak memori yang telah ditugaskan untuk cache data dan digunakan oleh tabel dalam pernyataan SQL
Ø  Berapa banyak memori yang tersedia untuk menyortir jika query membutuhkan semacam sebuah perintah

4.      Density
Density adalah persentase rata-rata nilai-nilai duplikat yang disimpan dalam kolom kunci indeks dan dicatat sebagai persentase.

5.      Joins
Ketika beberapa tabel diakses, optimizer angka keluar bagaimana untuk menggabungkan tabel dengan cara yang paling efisien. Menggabungkan informasi dari beberapa tabel dikenal sebagai bergabung. Ketika menentukan jalur akses untuk bergabung, optimizer harus menentukan urutan di mana tabel akan bergabung, menghitung estimasi biaya keseluruhan dari setiap jalur akses, dan memilih bergabung metode untuk query tertentu.

6.      Join Order & Access Path Join
Di masing-masing ulasan Optimasi bergabung dalam query dan analisis statistik yang tepat untuk menentukan urutan optimal di mana tabel harus diakses untuk mencapai bergabung. ( Join Order)
Beberapa jenis Umum Akses Data adalah tabel scan ( Access Path Join), seperti Table Scans.

7.      Indexed Access
Dari sekian banyak keputusan yang harus dibuat oleh optimasi, salah satu yang paling penting bagi kinerja query adalah apakah indeks akan digunakan untuk memenuhi permintaan??.
Ada dua tipe dasar indeks scan: Indeks pencocokan scan dan scan indeks nonmatching.

8.      Hashed Access & Paralel Access
Mengelompokkan data dengan algoritma kedalam tabel yang telah ditentukan. ( Hashed Access )
Optimasi dalam relasional ,dapat memilih untuk menjalankan query secara paralel. Ketika permintaan paralelisme dipanggil oleh DBMS, beberapa tugas secara simultan dipanggil untuk mengakses data. ( Paralel Access )

9.      Additional optimization consideration
   Ø  View access
Ketika optimazer menentukan access dari queri view maka ditentukan juga cara                        mengatasi tampilan SQL
   Ø   Query rewrite
Menulis ulang queri dg formulasi yang berbeda dan menentukan access path       yang lebih baik
   Ø  Rule-based Optimization
Mendasarkan keputusan dengan perhitungan estimasi biaya
   Ø  Reviewing access path
Meninjau pernyataan SQL dan memperbaikinya sesuai dengan sifat access path
   Ø  Forcing access paths
Jalur akses khusus yang disediakan oleh DBMS

10.  SQL Coding & Tuning For Efficiency
DBA bertanggung jawab untuk memastikan bahwa langkah-langkah berikut akan terjadi untuk setiap pernyataan SQL dalam suatu organisasi, yakni :
Ø  Mengidentifikasi persyaratan data bisnis.
Ø  Pastikan bahwa data yang dibutuhkan tersedia di dalam database yang ada.
Ø  Menerjemahkan kebutuhan bisnis ke dalam SQL.
Ø  Uji SQL untuk akurasi dan hasil.
Ø  Review jalur akses untuk kinerja.
Ø  Tweak SQL untuk jalur akses yang lebih baik.
Ø  Petunjuk optimasi Code.
Ø  Ulangi langkah 4 sampai 7 sampai kinerja dapat diterima.
Ø  Ulangi langkah 8 kapanpun masalah kinerja timbul atau versi DBMS baru dipasang.
Ø  Ulangi seluruh proses setiap kali perubahan kebutuhan bisnis.

    About Me

    Rahardiyan Arya Yudha
    Lihat profil lengkapku

    Followers