Optimasi Query Terdistribusi

Slides:



Advertisements
Presentasi serupa
Pertemuan 11 FRAGMENTASI DATA.
Advertisements

10 Data Handling Distribution
Error Handling (Exception) & INDEX
Sistem Terdistribusi 013 – Database Terdistribusi
Algoritma Greedy.
Oleh: Ignatius Hadi Prabowo
DDBMS (Distributed Database Management System)
Model & Aljabar Relasional
Optimasi Query Terdistribusi
Basis Data Terdistribusi
Aljabar Relasional.
BASIS DATA TERDISTRIBUSI
Sistem Basis Data Disusun oleh: Devi Indriani. SISTEM BASIS DATA TERDISTRIBUSI.
BASIS DATA TERDISTRIBUSI
SISTEM PAGING.
Hill Climbing Best First Search A*
DATABASE TERDISTRIBUSI (DISTRIBUTED DATABASE= DDB)
Sistem Terdistribusi.
Design and Analysis Algorithm
PL/SQL PROGRAMMING PL/SQL adalah prosedur berkelanjutan dari Oracle -SQL yang menawarkan satu bentuk bahasa pemrograman. PL/SQL memungkinkan user atau.
Aljabar Relasional Materi pertemuan 21.
Ruang Keadaan (state space)
Sesi V Aljabar & Kalkulus Relasional
Penyelesaian Masalah Teknik Pencarian
KONSEP DASAR APLIKASI LOTUS NOTES
DBMS Terdistribusi.
CHAPTER 7 : OVERVIEW OF QUERY PROCESSING
BASIS DATA TERDISTRIBUSI
Aljabar Relasional Materi pertemuan.
Analisa Algoritma Greedy Algorithm
Algoritma Greedy.
Distributed Database Management
OVERVIEW QUERY PROCESSING
Model Data Relasional.
BASIS DATA 2 Basis Data Terdistribusi
Metode Pencarian/Pelacakan
Algoritma Greedy.
Algoritma Greedy Team Fasilkom.
SISTEM BASIS DATA PERTEMUAN 13 dan 14.
Daniel Damaris Novarianto S. UNIV. GUNADARMA
Operasi Relasional Basis Data
Greedy Pertemuan 7.
Basis Data Terdistribusi
MATERI PERKULIAHAN ANALISIS ALGORITMA
MATERI PERKULIAHAN ANALISIS ALGORITMA
DATABASE TERDISTRIBUSI
DATABASE TERDISTRIBUSI
Aljabar Relational (Relational Algebra) MEETING 6
Syarifah Tri Permatadewi
Query Processing.
KONSEP DASAR APLIKASI LOTUS NOTES
Basis Data Terdistribusi
KONSEP DASAR APLIKASI LOTUS NOTES
TEKNIK PENCARIAN.
Pendahuluan Basis Data
10 Perancangan Arsitektural
BASIS DATA TERDISTRIBUSI
Aljabar Dan Kalkulus Relasional
PERTEMUAN 12 P'HES " ROUTING JARKOM".
Algoritma Greedy Wahyul Wahidah Maulida, ST., M.Eng.
Perancangan Fisik Basis Data
BASIS DATA TERDISTRIBUSI
SISTEM BASIS DATA TERSEBAR
Aljabar Relational (Relational Algebra) MEETING 6
KONSEP DAN RANCANGAN BASIS DATA TERDISTRIBUSI
MODEL DATA RELASIONAL (1)
Database Server & Terdistribusi
Model Data Relasional.
SISTEM BASIS DATA TERSEBAR
Model dan Aljabar Relasional
Transcript presentasi:

Optimasi Query Terdistribusi Oleh : Rahmat Robi Waliyansyah, M.Kom.

Pengenalan Optimasi Query Terdistribusi Optimasi query dalam basis data terdistribusi menggunakan metode Fragment and Replicate Strategy (FRS). Prinsip kerja metode ini adalah melokalkan fragmen yang ada dengan metode replikasi sehingga biaya komunikasi bisa diminimumkan ketika melakukan eksekusi query. Namun Fragment and Replicate Strategy (FRS) dalam implementasinya membutuhkan storage yang besar.

Pengenalan Optimasi Query Terdistribusi Optimasi query dalam basis data terdistribusi menggunakan metode Semi Join Based Approach (SBA). Metode SBA adalah metode berbasiskan biaya yang menerapkan projection dan selection secara tepat. Dalam metode ini dilakukan pemetaan berbentuk tree terhadap kemungkinan model akses yang ada. Metode ini menguntungkan apabila biaya (cost) untuk menghasilkan dan mengirimkan ke situs lain kurang dari biaya pengiriman seluruh relasi operan dan melakukan join yang sebenarnya.

Pengenalan Optimasi Query Terdistribusi Metode lain yaitu Dynamic Approach. Metode Dynamic Approach mengoptimalkan eksekusi query dengan menggunakan algoritma INGRES. Algoritma INGRES yang berfungsi untuk memecah query menjadi beberapa bagian agar eksekusi query lebih cepat dan mengurangi pengaruh biaya komunikasi untuk mentransfer data dengan melakukan pemilihan situs yang akan memproses atau mengeksekusi query yang disebut sebagai situs pemrosesan.

Optimasi Query Mencari urutan optimal dari operasi query. Strategi yang terpilih diharapkan dapat meminimalisasi biaya yang harus dikeluarkan dalam pengeksekusian query. Biaya eksekusi merupakan kombinasi bobot dari I/O, CPU, dan biaya komunikasi.

Search Space Generation Query optimizer, sebuah modul software yang mendukung optimasi query terdiri dari tiga komponen, yaitu : Input Query Search Space Generation Search Strategy Equivalent QEP Transformation rules Cost Model Query Optimization Process

Search Space Merupakan sekumpulan alternatif perencanaan eksekusi yang merepresentasikan query. Seluruh alternatif adalah ekuivalen, yaitu memberikan hasil yang sama dengan urutan pengoperasian, pengimplementasian, dan performance yang berbeda. Representasi dari query tersebut dibentuk dalam suatu operator trees yang dapat dibuat dengan aturan transformasi.

Cost Model Model yang memprediksi biaya yang harus dikeluarkan dari suatu query yang akan dieksekusi. Terdiri dari cost function, statistic database, dan formula.

Search Strategy Search strategy mengeksplorasi search space dan memilih strategi terbaik dari alternatif yang ada menggunakan cost model. Search Strategy yang dapat digunakan adalah dynamic programming yang bersifat determenistik, di mana menghasilkan solusi terbaik, dan randomized strategies (seperti Iterative Improvement dan Simulated Annealing) yang berkonsentrasi pada pencarian solusi optimal dengan menghindari biaya tinggi dalam optimasi.

Algoritma INGRES Algoritma INGRES merupakan salah satu metode untuk mengoptimasi query pada sistem basis data tersentralisasi, namun dapat juga diaplikasikan pada sistem basis data terdistribusi. Algoritma INGRES melakukan pemecahan query secara rekursif untuk mendapatkan ukuran query yang lebih kecil yang nanti dieksekusi secara berurutan

Tahapan Algoritma INGRES Query diurai menjadi query yang berurutan dan memiliki relasi unik. Apabila ketika menguraikan dapat menghasilkan monorelasi query maka monorelasi query tersebut dijadikan indeks awal untuk acuan pecahan query selanjutnya. Monorelasi query sendiri adalah query yang bersifat operasi unary yang hasilnya didapat dari satu tabel. Apabila tidak terdapat monorelasi query, maka pemecahan query dilakukan secara berurutan tanpa acuan.

Tahapan Algoritma INGRES Query hasil pemecahan yang bukan monorelasi disebut multirelasi query. Multirelasi query adalah query yang bersifat operasi binary yang hasilnya didapat dari dua tabel yang berelasi. Algoritma INGRES akan mengeksekusi monorelasi query (jika ada) dan mencoba untuk meminimalkan ukuran dan mengurutkan multirelasi query berikutnya.

Tahapan Algoritma INGRES Ringkasnya, sebuah query n-relasi q dipecah menjadi subquery n yaitu q1→q2→…..→Qn, dimana hasil query terakhir (qn) merupakan hasil final. Algoritma INGRES dapat diperlihatkan dalam bentuk SQL sebagai berikut : q: SELECT R2.A2, R3.A3,…..,RnAn FROM R1, R2, …. , Rn WHERE P1(R1.A1’) AND P2(R1.A1, R2.A2, …. , Rn.An)

Tahapan Algoritma INGRES Dimana Ai dan Ai’ adalah daftar atribut dari relasi Ri. Pi adalah atribut dari relasi R1, dan P2 adalah atribut dari R1.A1, R2.A2, …. , Rn.An . Query q tersebut akan dipecah menjadi dua subquery q’ kemudian q’’, dengan pemecahan dari relasi R1. q’: SELECT R1.A1 into R1’ FROM R1 WHERE P1(R1.A1’)

Tahapan Algoritma INGRES Dimana R1’ merupakan relasi sementara yang isinya adalah informasi yang dibutuhkan untuk query selanjutnya. Query q’ merupakan bentuk monorelasi query. q’’: SELECT R2.A2,....,RnAn FROM R1, R2,…., Rn WHERE P2(R1’.A1,…. , Rn.An)

Metode Dynamic Approach Dynamic Approach untuk optimasi query sistem basis data terdistribusi memiliki tujuan untuk meminimalkan waktu komunikasi dan waktu respon. Metode Dynamic Approach mengoptimalkan eksekusi query dengan menggunakan algoritma INGRES agar eksekusi query lebih cepat dan mengurangi pengaruh biaya komunikasi untuk mentransfer data dengan pemilihan situs pemrosesan.

Metode Dynamic Approach Metode Dynamic Approach mengambil keuntungan dari fragmentasi, namun hanya fragmentasi horizontal agar lebih ringkas. Hal ini dikarenakan metode ini membutuhkan setiap atribut dari tiap row tabel hasil fragmentasi dimana fragmentasi horizontal tidak membagi atribut- atribut tersebut.

Metode Dynamic Approach Metode Dynamic Approach juga mengambil keuntungan terhadap topologi jaringan yang digunakan pada sistem basis data terdistribusi karena unit data yang sama dapat dipindah atau dikirimkan dari satu situs ke situs lain melalui satu transfer tunggal.

[Langkah 1] Jika terdapat query monorelasi yang dapat dilepas (detachable), query tersebut diproses terlebih dahulu secara lokal [Langkah 2] Dilakukan teknik reduksi (algoritma INGRES) terhadap query asli sehingga mengisolasi semua subquery yang tidak dapat direduksi (MRQ atau multirelasi query) [Langkah 3.] Melakukan eksekusi query dengan tahap : [Langkah 3.1] Dilakukan pemilihan terhadap MRQ yang berdasarkan daftar MRQ dari langkah. Hasil dinamakan MRQ'. Metode Dynamic Approach memiliki beberapa langkah yaitu sebagai berikut:

Metode Dynamic Approach memiliki beberapa langkah yaitu sebagai berikut: [Langkah 3.2] Memilih strategi terbaik untuk memproses MRQ'. Strateginya berupa pemilihan F dan S dimana F adalah fragmen untuk memindahkan ke S atau situs pemrosesan atau situs pemrosesan [Langkah 3.3] Mengirimkan semua fragmen ke situs pemrosesan yang sudah ditentukan sebelumnya [Langkah 3.4] Setiap MRQ' tadi dieksekusi. Jika terdapat subquery, algoritma akan mengulang ke langkah 3.1 dan kemudian melakukan iterasi selanjutnya hingga tidak terdapat subquery lagi.

Proses Query pada Sistem Basis Data Terdistribusi Dalam basis data terdistribusi, proses query berlangsung pada beberapa lapisan. Lapisan-lapisan tersebut terdiri atas 3 lapisan di situs utama dan 1 lapisan di situs lokal. Lapisan pertama disebut query decomposition adalah lapisan yang memecah query kalkulus menjadi query aljabar pada relasi global.

Proses Query pada Sistem Basis Data Terdistribusi Lapisan kedua adalah data localization, dimana input dari lapisan ini adalah query aljabar pada relasi global hasil pengubahan dari lapisan pertama. Fungsi lapisan kedua ini adalah untuk melokalkan data hasil query menggunakan skema fragmen.

Proses Query pada Sistem Basis Data Terdistribusi Lapisan ketiga adalah global query optimization dengan input dari layer ini adalah query aljabar dalam fragmen. Lapisan ketiga bertujuan untuk menemukan strategi eksekusi yang dapat meminimalkan cost function dari CPU cost dan communication cost.

Proses Query pada Sistem Basis Data Terdistribusi Lapisan keempat adalah distributed query execution. Dikarenakan setiap situs lokal memiliki lapisan ini, maka hasil dari lapisan-lapisan sebelumnya akan dieksekusi oleh setiap situs lokal. Setiap subquery yang mengeksekusi pada satu situs, disebut local query, lalu dioptimalkan menggunakan local schema dari situs dan dieksekusi

Proses Query Pada Sistem Basis Data Terdistribusi (Valuriez, 2011)

Ingres query processor :

Sistem R merupakan optimasi query statis yang didasarkan pada exhaustive search dari ruang solusi yang ada. Input untuk optimizer dengan sistem R adalah pohon relasi aljabar yang dihasilkan dari dekomposisi dari sebuah query SQL. Kemudian output dari sistem merupakan rencana eksekusi yang mengimplementasikan pohon relasi aljabar yang optimal. Optimizer menetapkan biaya (dalam hal waktu) dari masing-masing pohon kandidat dan mempertahankan pohon dengan biaya yang terkecil. Algoritma Sistem R

Contoh : SELECT EMP. ENAME FROM EMP,ASG,PROJ WHERE EMP. ENO=ASG Contoh : SELECT EMP.ENAME FROM EMP,ASG,PROJ WHERE EMP.ENO=ASG.ENO AND ASG.PNO=PROJ.PNO AND PNAME=’’CAD/CAM’’ Join Graph Alternative Join Orders

Join Ordering Join ordering merupakan aspek yang penting dalam suatu optimasi query, terlebih pada query terdistribusi. Join ordering menjadi lebih penting ketika query merupakan query terdistribusi karena akan mempengaruhi communication time. Join ordering dapat dilakukan secara langsung, maupun dengan mengkombinasikan dengan semijoins di mana akan meminimalisasi communication cost.

Optimasi query terdistribusi Algoritma INGRES terdistribusi Fungsi objektif dari algoritma ini adalah untuk meminimalisasi kombinasi baik communication time maupun response time. Algoritma ini juga mendapat keuntungan pada fragmentasi, tetapi hanya fragmentasi horizontal. Input untuk algoritma pemrosesan query ini dinyatakan dalam calculus relational-tupel dan skema informasi (tipe network, lokasi dan ukuran masing-masing site).

Site 1 Site 2 EMP1 ASG EMP2 PROJ Contoh : Beberapa strategi yang memungkinkan : Eksekusi keseluruhan query (EMP ASG PROJ) dengan memindah EMP1 dan ASG ke Site 2 Eksekusi (EMP ASG) PROJ dengan memindah (EMP1 ASG) dan ASG ke Site 2, dll Pemilihan di antara kemungkinan strategi-strategi trsebut membutuhkan estimasi ukuran dari hasil intermediate. Misal, jika ukuran (EMP1 ASG) > ukuran (EMP1), maka strategi 1 lebih dipilih daripada strategi 2. Site 1 Site 2 EMP1 ASG EMP2 PROJ

Algoritma R* Algoritma R* merupakan substansial ekstensi dari teknik yang dikembangkan untuk optimizer sistem R. Algoritma ini menggunakan pendekatan kompilasi di mana suatu exhaustive search dari seluruh alternative strategi dilakukan untuk memilih salah satu dengan biaya terendah. Algoritma Sistem R* tidak mendukung pengimplementasian baik dalam fragmentasi maupun replikasi. Input untuk algoritma ini adalah query yang sudah dilokalisasi yang direpresentasikan dalam pohon relasi aljabar (query tree), lokasi relasi, dan statistiknya.

Contoh : Query yang terdiri dari penggabungan dari relasi PROJ, eksternal relasi, dan ASG, internal relasi pada PNO. Kita asumsikan bahwa PROJ dan ASG disimpan dalam site yang berbeda dan terdapat index pada atribut PNO untuk relasi ASG. Strategi eksekusi yang memungkinkan untuk query tersebut : 1. Mengirimkan keseluruhan PROJ ke site dari ASG 2. Mengirimkan keseluruhan ASG ke site dari PROJ 3. Mengambil tupel ASG yang dibutuhkan untuk masing-masing tupel PROJ 4. Memindah ASG dan PROJ ke site ketiga Algoritma R* memprediksi total waktu dari masing-masing strategi dan memilih yang paling sedikit.

Algoritma SDD-1 Algoritma SDD-1 berasal dari metode yang disebut sebagai algoritma ‘hill- climbing’, yang memiliki keistimewaan sebagai algoritma pemrosesan query terdistribusi yang pertama. Dalam algoritma ini, perbaikan dari solusi layak awal dihitung secara rekursif sampai tidak ada lagi perbaikan biaya yang dapat dilakukan. Input untuk algoritma ini termasuk query graph, lokasi relasi, dan statistik dari relasi.

Asumsikan bahwa TMSG = 0 dan TTR = 1. Relation Size Site EMP PAY PROJ Contoh : Asumsikan bahwa TMSG = 0 dan TTR = 1. Relation Size Site EMP PAY PROJ ASG 8 4 1 10 2 3 Solusi layak awal : ES0 : EMP  site 4 PAY  site 4 PROJ  site 4 Total.cost(ES0) = 4+8+1=13 Alternatif Splitting : ES1 : PAY  site 1 ES2 : (PAY EMP)  site 4 ES3 : PROJ  site 4 Total.cost(ES’) = 4+8+1 = 13

Perbedaan dari ketiga algoritma tersebut : Optimization Timing Objective Function Optimization Factors Network Topology Semijoins Stats Fragments Distributed INGRES Dynamic Response time or total cost Msg. size, proc. cost General or broadcast No 1 Horizontal R* Static Total cost #Msg, Msg size, IO, CPU General or local 1,2 SDD-1 Msg size General Yes 1,3,4,5 1 = relation cardinality 2 = number of unique values per attribute 3 = join selectivity factor 4 = size of projection on each join attribute 5 = attribute size and tuple size