Senin, 25 November 2019

Pentingnya Optimasi Query dan Kesimpulannya.

Pentingkah Optimasi Query?

Menurut saya penting atau tidaknya Optimasi Query tergantung pada kebutuhan masing - masing individu dalam menggunakan database. Karena Optimasi Query adalah suatu strategi penggunaan sumber sumber jalur query secara lebih efektif dan efisien dengan tujuan untuk seminimal mungkin total waktu yang digunakan ketika proses query berlangsung. 
Intinya dalam mengoptimalkan query adalah dengan meminimalkan “jalur” pencarian untuk menemukan data yang disimpan dalam lokasi fisik.

Kesimpulan.

Dua unsur utama tuning atau optimasi, secara langsung mempengaruhi kinerja pernyataan SQL: tuning aplikasi dan database. Masing-masing memiliki peran sendiri, tapi tidak dapat secara optimal disetel tanpa yang lain. Langkah pertama menuju kesuksesan adalah untuk tim teknis dan insinyur sistem untuk bekerja sama untuk menyeimbangkan sumber daya dan mengambil keuntungan penuh dari database fitur yang membantu meningkatkan kinerja.Banyak fitur tersebut dibangun ke dalam perangkat lunak database yang disediakan oleh vendor.

Aplikasi pengembang harus tahu data. Kunci untuk desain database yang optimal adalah pengetahuan menyeluruh data aplikasi. Pengembang dan programer produksi harus tahu kapan menggunakan indeks, kapan harus menambah indeks, dan kapan harus memungkinkan untuk menjalankan pekerjaan batch. Selalu merencanakan dan beban batch batch processing tetap terpisah dari pengolahan transaksi harian.

Database dapat disetel untuk meningkatkan kinerja aplikasi individu yang mengaksesnya. Database administrator harus peduli dengan operasi sehari-hari dan kinerja database. Selain tuning cermat yang terjadi di belakang layar, DBA biasanya dapat memberikan saran kreatif untuk mengakses data lebih efisien, seperti misalnya memanipulasi indeks atau membangun kembali pernyataan SQL. DBA juga harus akrab dengan alat-alat yang dapat segera tersedia dengan software database untuk mengukur kinerja dan memberikan saran untuk tweaker pernyataan.

Optimasi Query dan SQL Tuning

Optimasi Query
Optimisasi query mencoba memberikan suatu pemecahan untuk menangani masalah tersebut dengan cara menggabungkan sejumlah besar teknik-teknik dan strategi, yang meliputi transformasi-transformasi logika dari query-query untuk mengoptimisasi jalan akses dan penyimpanan data pada sistem file. Setelah ditransformasikan, sebuah query harus dipetakan ke dalam sebuah urut-urutan operasi untuk menghasilkan data-data yang diminta.
Berikut penjelasan dari masing-masing tahapan pada Optimasi Query :
  1. Scanner melakukan identifikasi (pengenalan) token-token seperti SQL keywords, attribute, dan relation name. Proses ini disebut dengan scanning. 
  2. Query Parser mengecek kevalidan query dan kemudian menterjemahkannya ke dalam sebuah bentuk internal yaitu ekspresi relasi aljabar atau parse tree. Proses ini disebut dengan parsing. 
  3. Query Optimizer memeriksa semua ekspresi-ekspresi aljabar yang sama untuk query yang diberikan dan memilih salah satu dari ekspresi tersebut yang terbaik yang memiliki perkiraan termurah. Dengan kata lain, tugas dari query optimizer adalah menghasilkan sebuah rencana eksekusi. Proses ini disebut dengan optimisasi query. 
  4. Code Generator atau Interpreter mentransformasikan rencana akses yang dihasilkan oleh optimizer ke dalam kode-kode. Setelah itu, kode-kode tersebut dikirimkan ke dalam query processor untuk dijalankan. 
  5. Query Processor melakukan eksekusi query untuk mendapatkan hasil query yang diinginkan.
SQL Tuning
SQL Tuning adalah aktivitas mengoptimasi dan menyamaratakan performa database. Database tuning biasanya melengkapi query tuning, tapi merujuk pada desain dari file database, pemilihan DBMS, sistem operasi, dan CPU dimana DBMS berjalan. Bagian yang perlu di tuning dan siapa yang melakukannya adalah 
  1. Aplikasi > Developer.
  2. Database > Database Administrator (DBA)
  3. Sistem Operasi >System Administrator
Bagian database yang perlu di tuning :
  1. Memory
  2. I/O
  3. CPU
  4. Network
  5. Space Management
  6. Redo log dan checkpoint
  7. Rollback segment.
Tujuan :
Untuk mengurangi waktu respon sistem terhadap end user, atau untuk mengurangi resource yang digunakan untuk memproses pekerjaan yang sama. Kita dapat memenuhi kedua tujuan ini dalam beberapa cara, yaitu :
a. Mengurangi Beban Kerja (Reduce the Workload)
b. Menyeimbangkan Beban Kerja (Balance the Workload)
c. Memparalelkan Beban Kerja (Parallelize the Workload)

Teori Komputasional dan Implementasi Di Bidang Lain

  Pengertian Komputasi Komputasi sebetulnya bisa diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan...