0% menganggap dokumen ini bermanfaat (0 suara)
7 tayangan15 halaman

Kelompok4 DatabaseTerdistribusi T

Diunggah oleh

Pratiwi Handayani
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
7 tayangan15 halaman

Kelompok4 DatabaseTerdistribusi T

Diunggah oleh

Pratiwi Handayani
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 15

MAKALAH OPTIMASI QUERY TERDISTRIBUSI

Untuk memenuhi tugas mata kuliah Database Terditribusi

Oleh Dr.Khaidir Rahman Nasir, S.Pd., M.Pd

Disusun Oleh:
Pratiwi Handayani 20182205062
Muh Fial Syahran 20182205100
Jofano Maher 201822050000
Sapri 20182205059

TEKNIK INFORMATIKA

SEKOLAH TINGGI MANAJEMEN

INFORMATIKA DAN KOMPUTER AKBA

2021
Daftar Isi
Daftar Isi...................................................................................................................... 2

BAB I............................................................................................................................3

A. Latar belakang.......................................................................................................3

B. Tujuan................................................................................................................... 3

C. Perumusan Masalah.............................................................................................3

BAB II...........................................................................................................................4

A.Pengenalan Optimasi Query Terdistribusi..........................................................4


BAB III....................................................................................................................................... 14

A. Kesimpulan............................................................................................................... 14
B. saran....................................................................................................................14

2
BAB I
PENDAHULUAN

A. Latar belakang
proses optimasi pada query dalam sebuah relasi database menjadi pekerjaan
yang ‘mahal’ saat berurusan dengan relasi dalam jumlah besar. Mencari cara
terbaik dengan waktu eksekusi tercepat adalah sebuah kewajiban semenjak strategi
yang salah diterapkan dalam sebuah. Dengan meningkatnya kompleksitas sebuah
database, hal tersebut menjadi penting bagi metode-metode query
optimizer untuk mengadopsi sebuah algoritma yang membutuhkan
cost rendah dalam hal waktu eksekusi.

B. Tujuan
Untuk 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 pen5arian jalan
akses
C. Perumusan Masalah
 Pengenalan Optimasi query Terdistribusi
 Optimasi pada perintah SqL

3
BAB II
PEMBAHASAN

A. Pengenalan Optimasi Query Terdistribusi


Optimasi query adalah suatu proses untuk menganalisa query untuk
menentukan sumber-sumber apa saja yang digunakan oleh query tersebut
dan apakah penggunaan dari sumber tersebut dapat dikurangi tanpa
merubah output. Atau bisa juga dikatakan bahwa
optimasi query adalah sebuah prosedur untuk meningkatkan strategi evaluasi
dari suatu query
untuk membuat evaluasi tersebut menjadi lebih efektif .
➢ Optimasi Query

Mencari urutan optimal dari operasi 8uery. Strategi yang terpilih


diharapkan dapat meminimalisasi biaya yang harus dikeluarkan
dalam pengeksekusian query. Biaya eksekusi merupakan kombinasi
bobot dari I/O, dan biaya komunikasi.

Query optimizer, sebuah modul software yang mendukung optimasi


query terdiri dari tiga komponen, yaitu

4
• 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

Cost Model 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 iteratife
improvement dan Simulated
annealing( yang berkonsentrasi pada pencarian solusi optimal dengan
menghindari

biaya tinggi dalam optimasi.

➢ Optimasi Query Terpusat

5
 Algoritma Ingres

Algoritma INGRES menggunakan algoritma optimasi dinamis yang


memecah query kalkulus ke dalam bagian yang lebih kecil secara
rekursif. Mengombinasikan dua tahapan yaitu dekomposisi dan
optimasi kalkulus-aljabar

INGRES query processor :

 Algoritma system R

Sistem R merupakan optimasi 8uery 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

➢ 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

6
dapat dilakukan secara langsung, maupun dengan mengombinasikan
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 kalkulus relational-tupel dan skema
informasi
(tipe network, lokasi dan ukuran masing-masing site).

B. Optimasi Perintah SQL


Desain aplikasi saja tidak cukup untuk meningkatkan kerja harus didukung
dengan optimasi dari perintah SqL yang digunakan pada aplikasi tersebut. Dalam
mendesain database, seringkali lokasi fisik data tidak menjadi perhatian penting.
Carena hanya desain logik saja yang diperhatikan. Padahal untuk menampilkan
hasil query dibutuhkan pen5arian yang melibatkan struktur fisik penyimpanan
data. Inti dari optimasi query adalah
meminimalkan “jalur” pencarian untuk menemukan data yang disimpan dalam lokasi
fisik.

➢ Tips Optimasi Query MYSQL


 Index
Index adalah objek pada MySqL yang berisi data yang terurut - dari nilai-
nilai pada satu atau lebih field dalam suatu table. Sama seperti daftar isi
pada sebuah buku, indeB terutama digunakan untuk mempercepat
pencarian terhadap suatu set data dengan kondisi tertentu yang
melibatkan kombinasi field yang sudah didefinisikan dalam suatu index.

7
Menentukan Tipe Data
Menentukan tipe data yang tepat memerlukan ketelitian dan analisa yang
baik. Sebagai contoh, kita perlu mengetahui kapan kita menggunakan tipe
data char atau
Varchar. Ceduanya menampung karakter, bednya char menyediakan ukuran

8
penyimpanan yang tetap (fixedlength), sedangkan varchar menyediakan
ukuran
penyimpanan sesuai dengan isi data (variable length).
 Jangan izinkan Allow Null
Jika memungkinkan, kurangi penggunaan field yang memperbolehkan nilai
null. Sebagai gantinya, dapat memberikan nilai default pada field tersebut.
Nilai null kadang rancu dalam intepretasi programer dan dapat
mengakibatkan kesalahan logika
pemrograman. Selain itu, field null mengonsumsi byte tambahan sehingga
menambah
beban pada query yang mengaksesnya.
 Query yang Mudah Terbaca
Query panjang yang ditulis dalam dan baris jelas akan menyulitkan modifikasi
dan
pemahaman, akan jauh lebih baik jika menuliskan Query dalam format yang
mudah
dicerna. Pemilihan huruf besar dan kecil juga dapat mempermudah
pembacaan, misalnya dengan konsisten menuliskan keyword SQL dalam
huruf kapital, dan tambahkan komentar bilamana diperlukan.

 Hindari Select *
Select * digunakan untuk melakukan query semua field yang terdapat
pada sebuah table, tetapi jika hanya ingin memproses field tertentu,
maka sebaiknya anda menuliskan field yang ingin diakses saja,
sehingga query Anda menjadi SELECT
Field1, field2, field3 dan seterusnya (jangan pedulikan kode program
yang menjadi lebih panjang!). Hal ini akan mengurangi beban lalu lintas
jaringan, terutama jika table tersebut memiliki banyak field dan berukuran
besar.

 Batasi ORDER BY
Penggunaan ORDER BY yang berfungsi untuk mengurutkan data,
ternyata memiliki konsekuensi menambah beban query, karena akan
menambah satu proses lagi, yaitu
proses sort. Carena itu gunakan ORDER BY hanya jika benar-benar
dibutuhkan oleh aplikasi Anda. Atau jika dimungkinkan, Anda dapat
melakukan pengurutan pada sisi Client dan tidak pada sisi server.
9
Misalnya dengan menampung data terlebih dahulu
pada komponen grid dan melakukan sortir pada grid tersebut sesuai
kebutuhan
pengguna.
 Subquery Atau JOIN

10
Adakalanya sebuah instruksi dapat dituliskan dalam bentuk subquery atau
perintah
JOIN, disarankan untuk memprioritaskan penggunaan JOIN karena dalam kasus
yang umum akan menghasilkan performa yang lebih cepat.
 Gunakan WHERE dalam SELECT
Menulis suatu kondisi yang pasti bernilai true, misalnya SELECT
.............................................................................................WHERE 1=1.
Bahkan tools open source phpMyAdmin yang berfungsi untuk
menangani database MySqL selalu menyertakan default klausa
WHERE 1 pada perintah SELECT, di mana angka 1 pada MySqL
berarti nilai true.

 Kecepatan Akses Operator


WHERE 1=1 dan WHERE 0<>1 sama-sama merupakan kondisi
yang menghasilkan nilai true. Tetapi, dalam hal ini lebih baik Anda
menggunakan WHERE 1=1 daripada WHERE 0<>1 Hal ini
dikarenakan operator=diproses lebih cepat dibandingkan dengan operator
<>.
 Membatasi Jumlah Record
membatasi jumlah record yang berpotensi mengembalikan record dalam
jumlah besar
(kecuali memang benar-benar dibutuhkan), pada SqL Server, Anda dapat
menggunakan operator TOP di dalam perintah SELECT. Contohnya
SELECT TOP 100 nama... akan menampilkan 100 record teratas field
nama.
Jika menggunakan MySQL, Anda dapat menggunakan LIMIT untuk
keperluan yang sama.

 Batasi Penggunaan Function


Gunakan fungsi-fungsi yang disediakan SQL seperlunya saja. Sebagai
contoh, jika
Anda menemukan Query sebagai berikut: SELECT nama FROM
tbl_teman WHERE ucase(nama) =’ABC’, nampak query tersebut ingin
mencari record yang memiliki data berisi “abc”, fungsi ucase digunakan
untuk mengubah isi field nama menjadi huruf besar dan dibandingkan
dengan konstanta “ABC” untuk meyakinkan bahwa semua data “abc” akan
11
tampil, walaupun dituliskan dengan huruf kecil, besar, ataupun
kombinasinya
 Baca dari kiri ke kanan

12
Query yang tulis akan diproses dari kiri ke kanan, misalkan terdapat query
WHERE kondisi1 AND kondisi2 AND kondisi3, maka kondisi1 akan terlebih
dahulu dievaluasi, lalu kemudian kondisi2, kondisi3, dan seterusnya. Tentunya
dengan asumsi tidak ada kondisi yang diprioritaskan=dikelompokkan dengan
menggunakan tanda kurung.
 Gambar dalam Database

Database memang tidak hanya diperuntukkan sebagai penyimpanan teks


saja, tetapi dapat juga berupa gambar. Akan lebih baik bagi kinerja database
jika Anda hanya
menyimpan link ataulokasi gambar di dalam database, dibandingkan
menyimpan fisik
gambar tersebut.
 Pengukuran Kinerja
Jika menemukan sebuah query tampak tidak optimal, berusahalah menulis
ulang query tersebut dengan teknik dan metode yang lebih baik. Semakin
banyak query
yang dapat dioptimasi, akan semakin baik kinerja aplikasi Anda.
Terutama saat frekuensi pemakaian query tersebut relatif tinggi

 Backup

Buatlah backup otomatis secara periodik, sebaiknya tes dan simulasikan


prosedur restore database dan perhitungkan waktu yang diperlukan untuk
membuat sistem
pulih kembali jika terjadi sesuatu yang tidak diharapkan pada database.
Lakukan proses back-up pada waktu di mana aktifitas relatif rendah agar tidak
mengganggu kegiatan operasional.

13
BAB III
PENUTUP

A. Kesimpulan
Dari pembahasan di atas dapat di simpulkan bahwa sistem terdistribusi
merupakan sekumpulan prosesor yang tidak saling berbagi memori atau clock
dan terhubung melalui jaringan komunikasi yang bervariasi, yaitu melalui
Local Area Network atau pun melalui Wide Area Network dan dilengkapi
dengan sistem software tedistribusi untuk membentuk fasilitas komputer
terintegrasi.
Sistem terdistribusi dibangun untuk mencapai tujuan-tujuan
yang ingin
dicapai,diantaranya :
− Untuk memberikan akses bagi pengguna untuk dapat mengembangkan

sumber daya sistem.


− Meningkatan kecepatan komputasi.
− Meningkatkan availibilitas atau ketersediaan dan reliabilitas data.

B. Saran
Demikian pengantar yang dapat penulis sampaikan dimana penulis pun
sadar
bahwasannya penulis hanyalah seorang manusia yang tidak luput dari kesalahan
dan kekurangan, sedangkan kesempurnaan hanya milik Tuhan Azza
Wa4jala hingga dalam penulisan dan penyusununnya masih jauh dari kata
sempurna. Oleh karena itu, kritik dan saran yang konstruktif akan senantiasa
penulis nanti dalam upaya evaluasi diri.

14
15

Anda mungkin juga menyukai