Skip to main content

Optimasi Query - part.1


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.
 




Tahapan-tahapan proses dari sebuah query di dalam sebuah sistem database ditunjukkan pada gambar 2.1. Berikut penjelasan dari masing-masing tahapan :
·         Scanner melakukan identifikasi (pengenalan) token-token seperti SQL keywords, attribute, dan relation name. Proses ini disebut dengan scanning.
·         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.
·         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.
·         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.
·         Query Processor melakukan eksekusi query untuk mendapatkan hasil query yang diinginkan.
Bagian yang diarsir pada gambar 2.1 adalah merupakan komponen utama yang berperan penting dalam proses optimisasi query yang menjadi topik utama dari seluruh pembahasan ini.  Alasan dibahasnya tahapan proses query pada gambar 2.1 adalah semata mata untuk memberikan gambaran yang jelas tentang bagaimana pada umumnya sebuah query diproses di dalam sebuah Database Manajemen Sistem (DBMS).
Prinsip ekonomi yang diperlukan untuk sebuah query adalah mengoptimisasi prosedur-prosedur, mencoba untuk memaksimumkan output dari sejumlah sumber-sumber yang diberikan ataupun untuk meminimumkan penggunaan sumber untuk memberikan output.  
Tujuan dari optimisasi query adalah berbeda-beda untuk setiap sistem. Ada yang menggunakan optimisasi query untuk meminimumkan waktu proses sedangkan pada situasi lain bisa juga optimisasi query diperlukan untuk waktu respon, meminimumkan I/O dan meminimumkan penggunaan memory. Tetapi pada dasarnya, tujuan dari optimisasi query adalah menemukan jalan akses yang termurah untuk meminimumkan total waktu pada saat proses sebuah query. Untuk mencapai tujuan tersebut, maka diperlukan optimizer untuk melakukan analisa query dan untuk melakukan pencarian jalan akses. 
Optimisasi query merupakan bagian dasar dari sebuah sistem database dan juga merupakan suatu proses untuk menghasilkan rencana akses yang efisien dari sebuah query di dalam sebuah database. Secara tidak langsung, sebuah rencana akses merupakan sebuah strategi yang nantinya akan dijalankan untuk sebuah query, untuk mendapatkan kembali operasi-operasi yang apabila dijalankan akan menghasilkan database record query. Ada tiga aspek dasar yang ditetapkan dan mempengaruhi optimisasi query, yaitu : search space, cost model dan search strategy.


SQL Tuning

Menurut Immanuel Chan (2008, p11-1), SQL Tuning adalah sebuah proses optimasi dengan cara mengubah perintah-perintah SQL serta menentukan teknik indexing agar SQL tersebut bekerja secara optimal.
Bagian terpenting pada tuning performansi database system adalah Tuning SQL statements. Adapun pada tuning SQL terdapat tiga langkah dasar :
  1. Identifikasi SQL statements yang memegang andil besar pada sharing workload aplikasi dan system resources, dengan me-review history SQL execution yang telah lampau yang tersedia pada system.
  2. Verifikasi bahwa execution plans yang diproduksi oleh query optimizer untuk statement-statement ini berjalan dengan baik.
  3. Mengimplementasi corrective actions untuk men-generate execution plans pada peformansi SQL statement yang buruk sehingga menjadi lebih baik.

Ketiga langkah di atas diulang sampai performansi system mencapai tingkat kepuasan atau tidak ada lagi statement yang dapat di-tuning

Langkah pertama yang harus dilakukan untuk melakukan SQLTuning adalah melakukan identifikasi terhadap High-LoadSQL Statements. High-LoadSQLStatements adalah query yang membebani server sehingga menyebabkan kinerja sebuah basis data menjadi lambat dan menghabiskan penggunaan sumber daya yang besar dari sistem. Sekalipun optimasi telah dilakukan pada basis data, namun penggunaan SQL yang tidak optimal akan menyebabkan performa basis data menurun.
Melakukan identifikasi query ini merupakan aktivitas yang penting dari sebuah proses SQLTuning, yang telah diotomatisasi dengan fitur ADDM (Automatic Database Diagnostic Monitor) pada Enterprise Manager Oracle 10g. 
Melakukan   identifikasi   High-Load  SQL  Statements   merupakan sebuah aktivitas yang penting dari sebuah proses SQL tuning. Oracle 10 g telah melakukan otomatisasi hal ini dengan fitur ADDM (AutomaticDatabase Diagnostic Monitor) atau dengan menggunakan Entreprise Manager untuk mencari High-Load SQL Statements tersebut. Ada 2 cara untuk melakukan identifikasi High-LoadSQL Statement, yaitu dengan menggunakan ADDM dan Top SQL.










Comments

Popular posts from this blog

FASILITAS TIK PERPUSTAKAAN UNIVERSITAS GUNADARMA

Perpustakaan Universitas Gunadarma Perkembangan teknologi sangat mempengaruhi berbagai aspek kehidupan manusia. Teknologi yang semakin mutakhir, mendorong manusia mau tidak mau menyesuaikan diri dengan perkembangan teknologi. Tak terkecuali dengan institusi perguruan tinggi. Salah satu yang terkena dampaknya adalah perpustakaan perguruan tinggi, khususnya perpustakaan Universitas Gunadarma. Saat ini, perpustakaan universitas gunadarma tidak dapat dijelaskan hanya sebagai tempat penyimpanan kumpulan informasi berupa buku, namun perpustakaan guandarma telah berkembang menjadi perpustakaan modern. Yang memanfaatkan teknologi sebagai jembatan memudahkan layanan dalam menelusuri informasi secara efektif dan efisien ,tepat dan cepat. Dilansir dari UG Library, Gunadarma telah mengembangkan perpustakaan berbasis audio visual dengan menyesuaikan kemajuan teknologi komunikasi. Dan dengan adanya fasilitas lainnya, dapat dimanfaatkan guna men...

Optimasi Query - part.2

1. Menurut anda apakah penting melakukan optimasi query dalam manajemen database ? Menurut saya optimasi query dalam memanajemen database sangat penting, karena dengan adanya optimasi query  suatu proses akan terencana dengan akses yang efisiensi nya tinggi dalam sebuah database. serta 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 2. Ringkasan materi Database Tuning adalah  aktifitas yang dilakukan agar memperbaiki serta meningkatkan kinerja sebuah database. Aktifitas tuning merangkup banyak aspek dari perangkat lunak sampai dengan perangkat keras, antara lain I/O Tuning, DBMS Tuning, Query Tuning, dan Database Maintenance. Dimana masing-masing memiliki tekniknya sendiri-sendiri, dan membutuhkan skill yang mumpuni, ...

Perusahaan Bisnis Informatika

PT. Tokopedia    Tokopedia adalah salah satu marketplace terkemuka diindonesia. Yang dimaksud dengan marketplace itu adalah sebuah tempat atau platform yang menjadi perantara antara penjual dan pembeli. Kata lainnya, tokopedia merupakan pihak ketiga, yang menyediakan tempat untuk melakukan transaksi penjualan dan fasilitas pembayaran. Tokopedia dimulai dengan sebuah pemikiran  'Urbanisasi yang tinggi diindonesia'. Maksudnya, negara Indonesia yang merupakan negara berkepulauan dengan lebih dari 17 ribu pulau memiliki kesulitan perkembangan infrastruktur yang secara merata. Yang menjadikan setiap tahunnya para penjual berpindah ke kota-kota besar dengan mengharapkan pasar yang lebih baik. Disinilah yang dimaksud dengan tingginya urbanisasi, karena barang barang kebutuhan terkumpul di kota-kota besar.  Pendiri Tokopedia – William Tanuwijaya dan Leotinus Alpha Edison ingin menghentikan permasalahan untuk memperpendek jurang pemisah antara kota besar dengan kota kecil den...