optimasi query.docx
-
Upload
pipin-aquarista -
Category
Documents
-
view
240 -
download
0
Transcript of optimasi query.docx
-
7/21/2019 optimasi query.docx
1/25
Kemajuan dari teknologi Database Management System (DBMS) telah mencapai
pada penggunaan teknologi multiprosesing. Oleh karena itu penggunaan database
management yang mampu menggunakan teknologi multiprosesing sekaligus multiuser sangat
diperlukan. Sistem ini telah menjadi tools manajemen data yang dominan pada lingkungan
data yang sangat besar.
Integrasi dari lingkungan kerja yang terdistribusi mampu menghasilkan ungsi
distribusi yang lebih eisien dimana program aplikasi berjalan pada !orkstation yang disebut
application ser"er# sedangkan ungsi database ditangani oleh dedicated computers yang
disebut database ser"er. Sistem ini dibuat dengan menghubungkan kabel jaringan yang
terhubung oleh net!ork.
Distributed database technology dapat diimplementasikan menjadi paralel database
sistem. $aralel database sistem memanaatkan paralelism pada manajemen data untuk
menghasilkan database ser"er yang memiliki perormansi dan a"ailability yang tinggi.
Sebuah paralel DBMS dapat dideinisikan sebagai DBMS yang diimplementasikan
pada multiprosesor komputer. DBMS tersebut melakukan %uery dengan dua cara# yaitu &
Inter'%uery paralelism
Inter'%uery mampu melakukan eksekusi paralel dengan menggunakan multiple %uery
yang dilakukan oleh transaksi transaksi yang berjalan secara konkuren.
Intra %uery paralelism
Mampu menbuat eksekusi paralel berjalan sendiri sendiri meskipun dengan %uery yang
sama.
Baik inter'%uery dan intra %uery dapat dihasilkan dengan menggunakan data partioning
yang mirip dengan ragmentasi horisontal.
Karakteristik paralel DBMS &
1. $aralel database adalah sebuah database yang ile' ilenya disimpan di tiap tiapkomputer yang terhubung dengan jaringan. Ini merupakan perbedaan antara distributed
database (DDB) dengan sistem berkas terdistribusi. ntuk membuat sebuah DDB# data
secara lojik saling berhubungan dimana hubungan tersebut terdeinisi dalam bentuk yang
lebih terstruktur.
2. Sistem tersebut harus memiliki ungsionalitas penuh sebagai sebuah DBMS. Ini tidak
sama dengan distributed ile system dan transaction processing system. *ransaction
processing hanya merupakan salah satu ungsi yang disediakan oleh sistem paralel
DBMS# dimana ungsi tersebut menyediakan ungsi ungsi seperti %uery processing#
organisasi data terstruktur dan layanan lain yang tidak dimiliki oleh transactionprocessing system.
-
7/21/2019 optimasi query.docx
2/25
3. Distribusi data dari multiprosesor tidak terlihat oleh user# ini disebut transparency.
*eknologi paralel database memiliki konsep data independence. $ada lingkungan dimana
data terdistribusi dan tereplikasi oleh sejumlah mesin ynag terhubung dengan jaringan.
Oleh karena itu transparency memiliki bentuk & net!ork+ distribution# replication
transparency dan ragmentation transparency. *ransparent access berarti user hanya
melihat sebuah database meskipun pada kenyataannya database tersebut terdistribusi.
Idealnya sebuah paralel DBMS memiliki dua keuntungan# yaitu &
1. ,inier scaleup
,inier scaleup menyatakan bah!a perormansi database bergantung pada ukuran
database# processing dan storage po!er.
1. ,inier speedup
,inier speedup menunjukan bah!a peningkatan perormansi untuk sebuah ukuran
database yang tetap adalah linear dan peningkatan linear di dalam pemrosesan dan
sumber daya.
Karakteristik perormansi dari microprocessor dan !orkstation membuatnya lebih murah
ketika diletakkan bersama'sama sebuah sistem dari komputer kecil dengan kekuatan yang
sama dari sebuah mesin besar. Banyak DBMS terditribusi yang komersial beroperasi dalam
mini komputer dan !orkstation yang tujuannya untuk mengambil keuntungan dari
karakteristik perormansinya. Keunggulan dari DBMS terdistribusi dapat berjalan di -ide
rea /et!ork (-/). Di lain pihak# DBMS terdistribusi yang akan datang dapat mendukungstruktur hierarki organisasi dimana site'site terdiri dari cluster'cluster dari komunikasi
komputer yang melebihi local area net!ork (,/) dengan kecepatan tinggi.
Teknologi pada Database Terdistribusi dan Paralel
DBMS terdistribusi dan paralel menyediakan ungsionalitas yang sama seperti
DBMS terpusat kecuali lingkungannya# dimana data terdistribusi antara site'site dalam
sebuah jaringan komputer atau node'node dari sebuah sistem multiprocessor. Seperti yang
telah kita diskusikan di atas# user tidak sadar akan data terdistribusi. Oleh karena itu# sistem
menyediakan sebuah logically integrated "ie! dari physically database terdistribusi untukuser.
Arsitektur
Dalam database paralel terdapat banyak kemungkinan alternati distribusi. Saat ini#
yang paling banyak digunakan adalah arsitektur client'ser"er dimana sejumlah client
mengakses ser"er database tunggal. Dalam sistem yang disebut multiple'client+single'ser"er
ini # manajemen database menjadi sangat sederhana sejak database disimpan dalam ser"er
tunggal. *he pertinent issueberhubungan dengan manajemen dari client'buer#
pengambilan data# dan penguncian. Manajemen data selesai secara terpusat pada ser"ertunggal.
-
7/21/2019 optimasi query.docx
3/25
rsitektur yang lebih terdistribusi dan leksibel adalah multiple'client+multiple'
ser"er dimana database'databasenya didistribusikan melalui multiple ser"er yang harus
berkomunikasi dengan sesama untuk merespon %uery dari user dan mengeksekusi transaksi.
Masing'masing client mempunyai sebuah 0rumah1 ser"er yang digunakan untuk %uery dari
user secara langsung. Komunikasi antar ser"er bersiat transparant terhadap user. Kebanyakan
sistem manajemen database mengimplementasikan satu dari tipe arsitektur client'ser"er.
DBMS terdistribusi sebenarnya tidak dibedakan menjadi client dan ser"er. Idealnya#
masing'masing dapat menjalankan ungsionalitas dari client dan ser"er. rsitektur tersebut
dinamakan peer'to'peer# membutuhkan protokol'protokol shopisticated untuk mengelola
data terdistribusi melalui multiple sites. Kompleksitas dari kebutuhan sot!are telah menunda
pemberian dari produk peer'to'peer DBMS terdistribusi.
rsitektur sistem paralel terbagi menjadi dua# arsitektur shared'nothing dan shared'
memory. $oint pentingnya adalah arsitektur shared'disk.
$ada shared'nothing# setiap processor mempunyai akses eksklusi"e ke memory
utama dan unit disk. Oleh karena itu# setiap node dapat dilihat sebagai local site (dengan
database dan sot!arenya sendiri) dalam sebuah sistem database terdistribusi. $erbedaan
antar shared'nothing pada DBMS paralel dengan DBMS terdistribusi pada dasarnya satu dari
implementasi platorm# oleh karena itu kebanyakan desain dari solusi untuk database
terdistribusi dapat digunakan kembali di DBMS paralel. rsitektur shared'nothing memiliki
tiga "irtues& cost# e2tensibility# dan a"ailability. Di lain sisi# shared'nothing memiliki
kompleksitas yang tinggi dan berpotensi terjadi masalah keseimbangan. 3ontoh untuk
shared'nothing sistem database paralel meliputi *eradata4s DB3 dan *andem4s /on'
StopS5,.
Dalam shared'memory# processor manapun memiliki akses ke modul memory atau
unit manapun melalui interkoneksi yang cepat. Beberapa contoh desain mainrame yang baru
seperti IBM6787 atau Bull4s D$S9# dan symmetric multiprocessors seperti Se%uent dan
:nricore# mengikuti jenis ini. Shared'memory memiliki dua keunggulan simpel dan
seimbang# dan terdapat tiga kerugian & cost# limited e2tensibility# dan a"alaibility yang
rendah.
3ontoh dari shared'memory paralel database system termasuk ;$
-
7/21/2019 optimasi query.docx
4/25
a"ailability# dan kemudahan migrasi dari sistem uniprosesor. Di lain pihak ini memiliki
masalah kompleksitas yang tinggi dan perormansi.
3ontoh contoh dari DBMS shared'disk paralel termasuk iMS+=S dari IBM yang
menggunakan data sharing seperti juga =; DBMS dari D:3 dan produk produk
-
7/21/2019 optimasi query.docx
5/25
*ujuan utama dari data localiCation adalah untuk melokalisasi hasil data %uery dengan
menggunakan inormasi data terdistribusi. $ada langkah ini# ragmen'ragmen yang terlibat
pada %uery ditransormasikan menjadi satu ragmen yang menjalankan relasi secara global.
*elah disebutkan sebelumnya bah!a ragmentasi diterjemahkan melalui aturan'aturan
ragmentasi yang diekspresikan oleh operasi'operasi relasional (horiContal ragmentation by
seletion# "ertical ragmentation by projection). Sebuah relasi terdistribusi dapat
direkonstruksi dengan menerapkan kebalikan aturan'aturan ragmentasi. Inilah yang disebut
localiCation program. ,ocaliCation program untuk sebuah %uery'%uery yang terragmentasi
secara horiContal maupun "ertical merupakan union(join) dari ragmen'ragmen. Oleh
karenanya pada saat langkan data localiCation setiap relasi global digantikan oleh localiCation
programnya dan kemudian menghasilkan ragmen %uery yang lebih sederhana dan terstruktur
untuk menghasilkan %uery yang baik. Simpliication dan restructuring mungkin dapat
dilakukan sesuai dengan rule yang sama yang digunakan dalam langkah dekomposisi. Seperti
pada langkan dekomposisi# ragmen terakhir dari %uery hasilnya masih jauh dari optimal
karena proses ini hanya meng'eliminasi aljabar %uery'%uery yang buruk.
Input dari langkah ketiga adalah %uery ragmen# yang mana merupakan aljabar %uery
dalanm ragmen'ragmen. *ujuan dari %uery optimisasi dalah untuk menemukan strategi
eksekusi untuk %uery yang paling optimal. Sebuah strategi pengeksekusian untuk %uery yang
terdistribusi dapat dideskripsikan dengan operasi'operasi aljabar relasional dan
communication primiti"e( operasi'operasi pengiriman dan penerimaan) untuk mentranser
data diantara bagian'bagian. ,ayer'layer sebelumnya telah melakukan optimisasi pada %uery#
sebagai contoh dengan menghilangkan ekspresi'ekspresi yang redundant. Bagaimanapun
juga# optimasi ini tidak bergantung pada karakteristik ragmen seperti kardinalitas. Selain itu#
operas'operasi komunikasi tidak bersiat spesiik. Dengan mengubah'ubah urutan operasi
dengan satu ragmen %uery bisa ditemukan banyak e2ecution plan %uery yang ekui"alen.
Optimisasi %uery menemukan sebuah plan terbaik dari beberapa kandidat plan yang telah
ditemukan. 5uery optimiCer memiliki tiga komponen yaitu sebuah ruangan+space untuk
search(search space)# sebuah cost model# dan sebuah search strategy. Search speace adalah
himpunan dari alternati"e e2ecution plans yang merepresentasikan inputan %uery. $lan'plan
tersebut ekui"alen dan memiliki hasil yang sama tetapi memiliki perbedaan urutan eksekusi
dari operasi'opersasi dan bagaimana operasi tersebut diimplementasikan. 3ost model
memprediksi cost dari e2ecution plans yang terbentuk. 3ost model harus memiliki
pengetahuan yang akurat tentang eksekusi secara parallel. Search strategy menggali search
space yang telah dibuat dan memilih plan terbaik.
$ada lingkungan terdistribusi ungsi cost biasanya dideinisikan dengan time units#
merujuk pada sumberdaya seperti alokasi ruang disk# I+O disk# buer space# 3$ cost#
communication cost# dsb. 3ost tersebut merupakan gabungan dari seluruh I+O# 3$ dan
communication cost. Meskipun begitu sebuah cost diambil dengan mempertimbangkan
bah!a communication cost pada DBMS terdistrinusi merupakan "aktor yang paling utama.
Ini dapat diterapkan dengan "alid untuk !ide area net!ork dimana band!idth yang terbatas
membuat communication menjadi lebih mahal dibanding biaya pemrosesan local. ntuk
memilih operasi'operasi yang terurut sangat penting dengan memperhitungkan eksekusi cost
dari urut'urutan dari kandidatnya. Dengan memperhitungkan cost eksekusi sebelum %uerydilakukan seperti static optimiCation didasarkan pada statistic'statistik ragmen dan berbagai
-
7/21/2019 optimasi query.docx
6/25
ormula untuk memperhitungkan kardinalitas hasil operasi'operasi relasional. Oleh karenanya
pemilihan optimisasi sangat bergantung pada ketersediaan statistic'statistik di ragmen.
spek yang sangat penting dari %uery optimisasi adalah join ordering# karena permutasi dari
join dapat meningkatkan magnitude dari beberapa permintaan'permintaan. Salah satu dari
teknik optimisasi yang mendasar adalah se%uence distributed join operation menggunakan
semi join operator. Keuntungan utama dari semijoin pada sistem terdistribusi adalah untuk
mengurangi cost komunikasi pada operan'operan join. Meskipun begitu ada bebrapa teknik'
teknik yang mengutamakan cost pemrosesan secara local sama dengan communication cost#
oleh karenanya teknik tersebut tidak menggunakan semijoin karena sangat dimungkinkan
meningkatkan cost pemrosesan local. Keluaran dari layer %uery optimiCation adalah %uery
aljabar yang menggunakan operasi'operasi komunikasi yang terdapat pada ragmen.
$arallel %uery optimiCation memiliki kesamaan dengan distributed %uery processing.
Dimana parallel %uery optimiCation memiliki keuntungan dari intra operation parallelism dan
juga inter'operation parallelism.
Intra'operation parallelism didapatkan dengancara mengeksekusi sebuah operasi yang
terdapat pada node'node sebuah mesin multiprosesor. Ini membutuhkan operan'operan yang
sebelumnya telah dipartisi# contohnya horiContal ragmentasi# melalui node'node. 3ara
melakukan partisi pada relasi dasar merupakan masalah pada physical design. $ada dasarnya#
proses melakukan partisi dilakukan dengan cara menggunakan ungsi hash pada atribut relasi
yang biasanya terjadi pada join atribut. Kumpulan dari node'node ini dimana sebuah relasi
disimpan disebut home. ome o an operation adalah sekumpulan node'node yang harus
dieksekusi dan ini harus berada pada operan'operan home bertujuan agar operasi dapat
melakukan akses ke operannya sendiri. ntuk operasi'operasi biner seperti join dangat
dimungkinkan terjadi proses repartisi salah satu operan'operan tersebut. OptimiCer mungkin
seringkali menemukan bah!a proses repartisi tersebut sangat menguntungkan. $arallel
optimiCation untuk #menggunakan intra'operation parallelism dapat membuat beberapa teknik
dari database'database yang terdistribusi.
Inter'operation parallelism muncul ketika terdapat dua atau lebih operasi'opersai yang
dieksekusi secara parallel yang memiliki sebuah datalo!. Kita menggambarkan datalo!
parallelism dengan cara menggunakan pipelining. Independent parallelism muncul ketika
operasi dieksekusi pada saat yang sama atau terurut permintaan. Independent parallelism
mungkin terjadi ketika operasi'operasi tidak menggunakan data yang sama.
Concurrency control
Kapanpun ketika multiple user melakukan akses baik read maupun !rite pada shared
database proses'proses ini harus disingkronisasi terlebih dahulu untuk memastikan
konsistensi dari data base.sinkronisasi ini dapat diperoleh dengan menggunakan konkurensi
control algoritma yang memiliki criteria kebenaran seperti serialiCability. ser melakukan
akses secara terenkapsulasi dimana operasi pada le"el terendah diset hanya mampu
melakukan operasi read dan !rite pada database. Konkurensi control algoritma memaksa
terjadinya isolasi pada eksekusi transaksi dimana state dari akibat transaksi pada database
-
7/21/2019 optimasi query.docx
7/25
yang telah diisolasi oleh transaksi'transaksi yang lain sampai transaksi a!al menyelesaikan
eksekusinya.
Konkurensi control algoritma yang sering digunakan adalah locking'based. Sebuah
lock ketika pada mode share atau e2lusi"e diletakkan pada unit storage ketika sebuah
transaksi ingin mengakses lock tersebut. ,ock'lock ini diletakkan menurut aturan'aturan lock
kompatibiliti seperti read !rite# !rite read# dan !rite !rite. Kita telah mengetahui bah!a
teorema dari lock menjaga konkurensi transaksi agar mematuhi aturan'aturan yang
memastikan serialiCabillity dari transaksi'transaksi tersebut& 0tidak ada transaksi yang
dilaksanakan sebelum transaksi sebelumnya melepaskan lock1 yang disebut denga t!o'phase
locking. Sejak transaksi berada pada gro!ing phase# ketika transaksi tersebut mendapatkan
lock dan menuju shrinking phase pada saat transaksi tersebut melepas lock. $ada umumnya
melepaskan lock merupakan ase transaksi yang paling bermasalah. Oleh karena itu locking'
based concurrency control algoritm sangat ketat pada saat memegang lock yang dimiliki
sampai akhir transaksi.
$ada sistem DBMS tersebar# permasalahan yang harus dihadapi adalah serialiCability
argument dan concurrency control algoritm pada ekseskusi lingkungan terdistribusi. $ada
sistem ini operasi'operasi yang diberikan pada transaksi dapat melakukan eksekusi pada
multiple site dimana mereka mengakses data. $ada kasus tersebut serialiCability argument
lebih susah dilakukan. Komplikasi yang terjadi akibat dari permintaan serialiCation pada
sejumlah transaksi yang sama dapat saja berbeda disetiap site. Oleh karenanya# kumpulan'
kumpulan eksekusi transaksi trdistribusi dapat terjadi serialiCable jika dan hanya jika
A. :ksekusi dari sekumpulan transaksi pada setiap site adalah serialiCable
>. $ermintaan serialiCation dari setiap transaksi pada semua site harus identik.
Konkurensi control algoritma terdistribusi memaksa terjadinya global serialiCability.
$ada algoritma locking'based terdapat tiga alternati"e cara untuk memaksa terjadinya global
serialiCability& centraliCed locking# primary copy locking# and distributed locking algoritm.
$ada centraliCe locking ada sebuah single lock table untuk semua distributed database.
,ock tabel ini ditaruh# satu pada setiap site# diba!ah control sebuah single lock manager.
,ock manager bertanggung ja!ab untuk melakukan setting dan melepaskan lock transaksi.
Semenjak semua lock diatur pada sebuah site maka ini harus melakukan centraliCed
concurrency control dan memaksa terjadinya global serialiCability. lgoritma ini mudah
untuk diimplementasikan tetapi memiliki dua masalah. 3entral site dapat terjadi bottleneck
karena jumlah kerja yang diprediksi dan traic yang terjadi. Oleh karenanya sistem gagal
dalam melakukan atau tidak mampu mengatur proses tersebut.
$rimary copy locking adalah sebuah algoritma concurrency control yang sangat
berguna pada database tereplikasi dimana dimungkinkan terjadinya pengkopian lebih dari
sebuah data yang disimpan pada site yang berbeda. Salah satu dari kopian ini dijadikan
sebuah primary copy dan copy ini harus dikunci. Kumpulan dari primary copy pada setiap
data dikenal oleh setiap semua site pada sistem terdistribusi dan ketika permintaan lock dari
-
7/21/2019 optimasi query.docx
8/25
transaksi. ika database terdistribusi tidak terjadi replikasi# copy locking tidak terjadi pada
algoritma distributed locking.
$ada locking terdistribusi# tugas dari lock management adalah membagi setiap site
pada sistem. :ksekusi transaksi melibatkan partisipasi dan koordinasi lock manager lebih dari
satu site. ,ock didapatkan pada setiap site dimana pada saat transaksi mencoba mengakses
data. ,ocking algoritma terdistribusi tidak memiliki centraliCe locking meskipun begitu
communication o"erhead untuk mendapatkan setiap lock dan kompleksitas algoritma sangan
besar. ,ocking algoritma terdistribusi biasanya digunakan pada sistem
-
7/21/2019 optimasi query.docx
9/25
distribusi sistem. Oleh karenanya hanya ada sedikit terjadinya communication ailure. :rror
yang sangat umum terjadi adalah proses pengitiman pesan yang tidak terurut# pesan yang
hilang dan line ailure. $ada umumnya dua dari kegagalan tesebut merupakan tanggungja!ab
dari protocol jaringan dan bukan merupakan masalah bagi DBMS terdistribusi. ika satu
sistem menginginkan pesan dari sestem yang lain dan pesan tersebut tidak pernah datang ini
dapat disebabkan pesan tersebut hilang# line yang menghubungkan dua sistem tersebut rusak
atau sistem tersebut gagal mengirimkan pesan. Oleh karenanya ini site ailure dan
communication ailure tidak dapat disamakan. Salah satu line ailure mungkin terjadi net!ork
partitioning dimana setiap bentuk group sistem mampu berkomunikasi dengan sesamanya
tetapi tidak dapat melakukan komunikasi diluar group. Ini sangat tidak mungkin bagi
database untuk melakukan pengaksesan pada saat yang bersamaan database melakukan
konsistensi.
Dua property dari transaksi yang dilakukan oleh realibility protocol adalah atomicity
dan durability. tomicity memerlukan bah!a setiap semua operasi dieksekusi semuanya atau
tidak samasekali. Oleh karenanya kumpulan operasi terdiri dari sebuah transaksi yang
dianggap satu atomic unit. tomicity dilakukan meskipun menghadapi ailure. Durability
membutuhkan commit data ketika transaksi selesai.
$elaksanaan atomicity dan durability membutuhkan implementasi dari atomic
commitment protocol dan distributed reco"ery protocol. Salah satu atomic commitment
protocol yang sering digunakan adalah t!o'phase commit.
-
7/21/2019 optimasi query.docx
10/25
melakukan commit terlebih dahulu terhadap transaksi. *idak ada pesan yang yang dikirimkan
ke partisipan yang meminta abort# berdasarkan aturan >$3# transaction akan di abort secara
global. Ini dikenal dengan unilateral abort dari partisipan.
*erdapat dua pergantian pesan antara koordinator dengan partisipan#yang disebut dengan
protokol >$3. *erapat beberapa "ariasi dari >$3 trsebut# seperti linier >$3 dab distributed
>$3# yang tidak banyak ditemukan pada "endor "rndor DBMS terdistribusi. Dua "arian
yang paling penting dari >$3 adalah presumed abort>$3 dan presumed commit >$3. Kedua
"arian itu dianggap penting karena mereka mengurangi pesan dan o"erhead I+O dari protokol.
$resume abort protocol meliputi ;+Open ; standar dan telah diadopsi menjadi bagian
standar ISO untuk Open Distributed $rocessing.
Karakteristik yang paling penting dari protokol >$3 adalah blocking nature.
Kegagalan bisa terjadi ketika proses commit. Seperti yang telah didiskusikan# satu satunya
jalan untuk mendeteksi kegagalan tersebut adalah jika terjadi time'out ketika proses
menunggu pesan. Ketika ini terjadi# proses (meliputi koordinator dan partisipan) yang time'
outnya nengikuti termination protocol memutuskan apa yang harus dilakukan terhadap
transaksi yang sedang berada di tengah proses commit. /on'blocking commit protocol adalah
sebuah termination protocol yang dapat memutskan apa yang harus dilakukan terhadap
transaksi yang mengalami kegagalan diba!ah circumstance. Di kasus >$3# jika kegagalan
site terjadi pada koordinator site dan salah satu pertisipan site ketika koordinator sedang
mengumpulkan "otes dari partisipan# partisipan partisipan tersebut tidak dapat memutuskan
transaksi apa yang harus dijalankan pada dirinya sendiri# dan mereka harus di block sampai
koordinator atau partisipan yang mengalami kegagalan bisa memperbaikinya. Selama !aktu
ini# lock yang diberikan kepada transaksi tersebut tidak dapat dijalankan# sehingga
mengurangi a"ailability dari database.
Dengan asumsi bah!a timeout dari partisipan terjadi setelah dia mengirimkan commit
"ote kepada koordinator# tetapi sebelum menerima pilihan inal. Dalam kasus ini# partisipan
berada dalam status ready# begitu juga yang terjadi pada termination protocol. $ertama# catat
partisipan yang tidak bisa unilaterally mencapai keputusan termination. Sejak partisipan
berada pada status ready# dia harus melakukan commit terhadap transaksi tersebut. kan
tetapi hal tersebut tidak dapat dirubah dan mengabortnya. Di lain pihak# it tidak dapat
unilateracy memutuskan untuk commit transaksi sejak dimungkinkannya partisipant yang
lain boleh mem"oting untuk membatalkannya. Dalam kasus ini partisipant akan mengeblok
sampai it dapat mempelajari dari seseorang (baik itu koordinator atau beberapa partisipant
lainnya) the ultimate ate dari transaksi. ika kita memperhatikan sebuah struktur komunikasi
terpusat dimana partisipant tidak dapat berkomunikasi satu sama lain# berati partisipant
kehabisan !aktu untuk menunggu koordinator untuk melaporkan keputusan akhir dari
transaksi. Sejak koordinator mengalami kegagalan# partisipant akan mengingatkan untuk
diblok. Dalam kasus ini# tidak ada alasan termination protocol dapat didisain.
ika partisipan dapat berkomunikasi satu sama lain# sebuah termination protocol
terdistribusi dapat terus dikembangkan. $artisipan yang kehabisan !aktu dapat meminta
dengan mudah partisipan yang lain untuk membantunya mencapai sebuah keputusan. ika
selama termination semua partisipant merealisasikan bah!a hanya koordinator yang telah
-
7/21/2019 optimasi query.docx
11/25
gagal# mereka dapat memilih koordinator baru yang dapat merestart proses yang dicommit.
kan tetapi# dalam kasus ini dimana partisipan dan koordinator mengalami kegagalan# maka
masih mungkin untuk partisipan yang telah gagal menerima keputusan koordinator dan
memberhentikan transaksi yang sesuai. Keputusan ini tidak diketahui oleh partisipan yang
lainG ika mereka memilih koordinator baru dan memproses maka lebih bahaya lagi mereka
memutuskan transaksi yang berbeda di site yang gagal. Kasus di atas mencotohkan natural
blocking dari > $3.
Kebalikan dari terminasi adalah reco"ery. Ketika site tidak bisa mereco"er dari
kegagalan# aksi apa yang harus diambil untuk mereco"er database pada site untuk menjadi
state yang konsisten. Ini adalah domain dari reco"eri protokol terdistribusi.
Mempertimbangkan sisi reco"eri dari masalah yang didiskusikan diatas# koordinator tempat
reco"eri dan reco"eri protokol harus mennentukan apa yang harus dilakukan dengan transaksi
terdisitribusi yang eksekusinya telah dikoordinasikan. Kasus diba!ah ini mungkin terjadi &
A. Koordinatornya gagal sebelum menginisialisasi porcedure commit. Oleh karena itu#
koordinator akan memulai commit prosesnya sebelum reco"eri.
>.Koordinator gagal saat statusnya ready. Dalam kasus ini koordinator telah mengirim pesan
prepare. Sebelum reco"ery koordinator akan merestart proses commit untuk transaksi dari
a!al dengan mengirimkan pesan prepare satu kali. ika partisipannya sudah menterminasi
transaksi# dapat membangun kembali koordinatornya. ika mereka di blok mereka mengirim
ulang pesan sebelumnya# dan meresume proses commit.
6.Koordinatornya gagal setelah ia membangun partisipan untuk masing masing keputusan
global dan menterminasi transaksi tersebut. Oleh karena itu sebelum reco"eri tidak perlu
melakukan apapun.
REPLICA PROTOOL
Dalam tiruan database terdistribusi# masing'masing data logic memiliki beberapa
bagian isik. 3ontohnya gaji dari seorang pega!ai bisa disimpan di 6 tempat. Issue ditype
database sytem ini adalah untuk diatur some notion dari consistensi diantara yang di copy.
Kriteria konsistensi yang paling didiskusikan adalah one copy e%ui"alence# yang assert
bah!a nilai dari semua copy dari data logik harus identik saat transaksi yang di update di
terminasi.
ika transparansi dari peniruan diatur# transaksi akan Issue operasi baca dan tulis di
data logik 2.
-
7/21/2019 optimasi query.docx
12/25
. =!L=+> (Dua operasi !rite dri dua transaksi tidak dapat terjadi secara konkuren dalam
data yang sama untuk menghindari read !rite konlik)
$erbedaan dengan pendekatan ini adalah bah!a transaksi dibutuhkan untuk
memperoleh a %uorum bahkan untuk membaca data. al ini secara signiicant memperlambat
akses baca ke database. Sebuah alternati %uorum'based "ooting protocol mengatasi
kekurangan perormansi telah diusulkan. kan tetapi# protokol ini membuat asumsi yang
tidak realistik tentang underlying communication system. $rotokol ini membutuhkan
kegagalan yang merubah topologi net!ork terdeteksi oleh semua tempat secara instant# dan
setiap tempat memiliki "ie! dari net!ork terdiri dari semua tempat dimana protokol dapat
melakukan komunikasi. mumnya komunikasi net!ork tidak dapat menggaransikan untuk
memenuhi kebutuhan ini. Single copy mensejajarkan kontrol protokol tiruan umumnya
dipertimbangkan untuk dibatasi untuk menyediakan a"ailability. Di lain sisi# protokol "oting'
based itu terlalu rumit dengan pengeluaran tambahan yang tinggi. Oleh karena itu# teknik ini
tidak digunakan di produk tertentu di DBMS terdistribusi. Skema tiruan yang lebih leksibel
tel di in"estigasi dimana tipe dari konsistensi antar copy tertangani. Beberapa ser"er tiruan
telah dibangun atau sedang dibangun dengan prinsip ini. Sayangnya# ada beberapa teori yang
tidak jelas yan dapat digunakan untuk menjadi alasan tenta kekonsistensian dari database
tiruan ketika aturan tiruan lebih lu!es.
Permasalahan Peneleitian
*eknologi DBMS terdidtribusi dan paralel telah berkembang di mana kerumitan dan
sistem komersial yang dapat diandalakan tersedia. Seperti yang diharapkan# ada beberapa
-
7/21/2019 optimasi query.docx
13/25
permasalahan yang belum terselesaikan. Di sesi ini kami menyediakan oe"er"ie! beberapa
dari penelitian mengenai permaslahan ini.
Data Placement
Dalam sistem database parallel# data placement yang baik adalah untuk load
balancing. Idealnya# intererensi antara operasi parallel yang konkuren dihindari dengan cara
memngoperasikan setiap operasi dalam sebuah independent data set. Independen data set
tersebut dapat di peroleh dengan pemecahan (horiContal partitioning) dari sebuah relasi pada
sebuah ungsi. $emecahan tersebut berguna untuk memperoleh inter%uery parallelisme
dengan mengoperasikan independent %uery dalam beberapa partisi yang berbeda dan
intra%uery parallelisme# dengan mengoperasikan operasi %uery pada partisi yang berbeda.
Declustering dapat menjadi single'attribute or multi'attribute. $ada kasus lain# sebuah
%uery memerlukan persamaan dari beberapa muli atribut yang dapat diproses oleh sebuah
single node tanpa komunikasi. $ilihan diantara hashing atau range inde2 untuk partisi
didesain dengan pokok permasalahan yaitu bah!a hashing dapat mengurangi o"erhead
storage tetapi menyediakan direct support hanya untuk e2act match %uery# sedangkan range
inde2 dapat juga mendukung range %uery.
Full declustering# melalui jalan mempartisikan semua node masing'masing relasi#
menyebabkan masalah untuk relasi atau sistem yang kecil dengan banyak node. Solusi yang
lebih baik adalah dengan "ariable declustering dimana setiap relasi disimpan dalam sebuah
node. al tersebut dapat dikombinasikan dengan multi relation clustering untuk menghindari
o"er head communication dari sebuah operasi binary. Ketika criteria yang digunakan untuk
data placement berubah# dibutuhkan reorganisasi yang dinamis. al ini penting untuk
menampilak ndinamik reorganisasi secara online dan eisien. *etapi# e2isting database system
menampilkan statis reorganisasi untuk databese tuning.
-
7/21/2019 optimasi query.docx
14/25
phisical and logical nodes berguna sejak logical nodes dipetakan tepat ke beberapa phisical
nodes.
Faktor yang menyebabkan komplikasi dalam data placement adalah data replication+
data tiruan. Sebuah pendekatan tak dibuat'buat adalah untuk memelihara > data yang telah
disalin# yaitu sebuah primary dan backup data dalah > node terpisah. /amun ketika ada
kegagalan node# pengambilan node yang mempunyai salinan akan menjadi dobel# dengan
demikian akan menyakiti proses load balancing. ntuk menghindari masalah tersebut#
beberapa strategi pembuatan data replication dibandingkan. Sebuah solusi menarik adalah
pemecahan *eradata secara selang'seling dimana pemecahan backup'copy diselenggarakan
dalam beberapa nodes. Ketika terjadi kegagalan# pengambilan primary'copy diseimbangkan
diantara node dari backup copy. /amun rekonstruksi primary copy dari pecahan'pecahan
backup copy akan menimbulkan biaya. ika normal# pemeliharaan backup juga akan
menimbulkan cost. Solusi yang lebih baik adalah dengan pemecahan menggunakan konsep
@amma yang berurutan# dimana menyimpan primary dan backup copy dalam > node yang
berdekatan. ika gagal# pengambilan ailed node dan backup node diseimbangkan diantara
seluruh sisa nodes dengan menggunakan kedua nya. $emeliharaan backup copy akan lebih
murah.
!ET"OR #CALLI!$ PRO%LE&
Database community tidak mempunyai kepahaman secara menyeluruh terhadap arti
dari perormansi semua alternati desain yang mengiringi pengembangan distributed
DBMS. Secara spesiic# pertanyaan akan bertambah mengenai scalability beberapa protocol
dan algoritma sistem. Masalah scaling hanya satu bagian dari banyak problem. ampir semua
perormansi mempelajari bagaimana kita a!are terhadap biaya dari sebuah simple net!ork.
Kadang'kadang tidak realistis menggunakan sebuah i2ed communication delay yang bebas
terhadap semua karakteristik jaringan seperti penyimpanan# ukuran pesan# jaringan#dll.
Secara umum# perormansi algoritma dan protocol dalam arsitektur ,/ ynag berbeda tidak
mudah dimengerti baik dalam kelakuan comparati"e nya dalam pemindahan dari jaringan
,/ ke -/. 3ara yang tepat untuk mengatasi masalah scalability adalah mengembangkan
model perormansi yang po!erul# tools dan metode pengukuran.
Distributed and Parallel Query Processing
Seperti yang telah didiskusikan sebelumnya# %uery optimisasi menggenerate sebuah
optimal e2ecution plan sebagai input untuk membuat keputusan memperhatikan pemesanan
operasi# pergerakan data# dan pilihan antara distributed dan local algoritma untuk operasi
database. da beberapa masalah yang berhubungan dengan langkah ini.
3ost model digunakan untuk memprediksi cost untuk mengeksekusi alternati"e
e2ecution plan dari sebuah %uery. Sebuah hal penting bah!a seringkali cost model
digabungkan dengan pembatasan keeektian optimisasi dalam meningkatkan throughput.
5uery optimisasi akan berguna dalam mengukur cost model yang kemudian disaring setelah
melalui beberapa percobaan. -alaupun bahasa %uery terus meningkat (misalnya "ersi baru
S5, akan terus dikeluarkan)# optimisasi %uery akan selalu okus pada subset dari bahasa
%uery yaitu pada operasi select'project'join %ueri. al ini adalah kelas penting dari sebuah
-
7/21/2019 optimasi query.docx
15/25
%uery untuk sebuah optimisasi yang bagus. Sebagai hasilnya# sebuah transaksi yang baik
dikembangkan untuk sebuah proses join dan semijoin. /amun# ada %uery penting yang lain
yang menjamin optimisasi seperti %ueri dengan disjunsi# union# aggregasi ataupun sorting.
Sebuah solusi menjanjikan adalah untuk memisahkan pengertian optimisasi itu sendiri yang
dapat didedikasikan ke beberapa optimasi yang lebih ahli.
Biaya optimisasi dan kualitas rencana eksekusi merupakan dua hal yang penting.
Biaya optimisasi yang lebih tinggi mungkin diterima untuk menghasilkan plan yang lebih
baik bagi sebuah %uery yang dieksekusi berkali'kali. /amun biaya optimisasi yang tinggi
dapat tidak diterima oleh %ueri ad hoc yang dieksekusi hanya sekali. Biaya optimasi diperoleh
dengan mencari solution space untuk alternati rencana eksekusi. Dalam sistem terdistribusi#
solution space berupa sebuah temapat yang cukup besar karena range dari strategi eksekusi
nya juga luas. Oleh karena itu# penting untuk mempelajari strategi pencarian yang eisien dari
sebuah aplikasi yang dapat menghindari pencarian secara mendalam. Optimisasi %uery
menunjukkan pengeksekusian sebuah %uery. Masalah besar yang berkaitan dengan
pendekatan ini adalah bah!a cost model digunakan untuk optimisasi yang mungkin tidak
akurat karena perubahan dalam ukuran ragment atau reorgaisasi database .
$ersoalan rumit yang berkaitan dengan strategi pencarian adalah masalah
penggabungan permintaan dimana /$'complete dalam banyaknya hubungan Ibaraki and
Kameda# A89J. Suatu pendekatan khas untuk memecahkan masalah adalah menggunakan
dynamic programming Selinger et al.# A8N8J# yang berupa strategi deterministic. strategi ini
hampir lengkap dan meyakinkan serta terbaik dari semua rencana yang ditemukan. itu
membuat suatu cost optimisasi dapat diterima ketika kecilnya hubungan di dalam %uery.
kan tetapi# pendekatan ini menjadi mah al ketika banyaknya hubungan lebih besar dari
atau ?. Oleh sebab itu# telah ada hal baru dari strategi randomiCed yang mengurangi
kompleksitas optimisasi# tetapi tidak menjamin terbaik dari semua rencana. Strategi
randomiCed menyelidiki pencarian tempat dalam sebuah cara dimana bisa dikendalikan
penuh seperti optimisasi yang berakhir setelah budget !aktu optimisasi telah dipenuhi. 3ara
lain untuk mengurangi kompleksitas optimisasi adalah untuk mengambil pendekatan
heuristik. *idak seperti strategi deterministik# strategi randomiCed memperbolehkan optimiCer
untuk saling menukar !aktu optimisasi untuk !aktu eksekusi Ioannidis and -ong# A89N#
S!ami and @upta# A899# Ioannidis and Kang# A887J.
Proses Transaksi Terdistribusi
Meskipun penelitiaan telah selesai pada !aktunya# masih ada topic yang berguna
untuk in"estigasi di area proses transaksi terdistribusi. Sebelumnya kita telah mendiskusikan
masalah pengukuran dari algoritma manajemen transaksi. Sebenarnya# tiruan mengkontrol
protokol# model transaksi yang lebih rumit# dan kriteria kebenaran non'serialiCable
membutuhkan perhatian lebih lanjut. *empat data tiruan membutuhkan eksperimen lebih
lanjut# penelitian dibutuhkan dalam metode tiruan untuk komputasi dan komunikasi# dan
kelanjutan kerja dibutuhkan untuk mengaktikan eksplorasi semantik dari spesiik aplikasi.
$ercobaan di butuhkan untuk menge"aluasi tuntutan yang dibuat oleh algoritma dan system
designer. Dan kita kekurangan rame!ork yang konsisten untuk membandingkan teknik.
-
7/21/2019 optimasi query.docx
16/25
Salah satu kesulitan dari penge"aluasiaan teknik tiruan secara kuantitati pada
ketiadaan penerimaan model kesalahan. Sebagi contoh model Marko" kadangkala digunakan
untuk menganalisa ketersediaan penerimaan oleh tiruan protokol dengan menganggap
statistical independence dari kesalahan indi"idu# dan jarangnya partisi net!ork juga
berhubungan dengan kegagalan. Kita tidak mengetahui# apakah kedua asumsi tersebut dapat
dipertahankan# atau kita tahu seberapa sensiti model Marko" terhadap asumsi ini. =alidasi
dari model marko" melalui simulasi membutuhkan pengukuran empirik# sejak simulasi sering
memasukkan asumsi yang sama yang mendasari analisis Marko". $ada pembelajaran empirik
untuk pola kegagalan monitor dalam sistem produksi dunia nyata# yang bertujuan untuk
menkonstruksikan model simpel dari tipe kegagalan.
ntuk mendapatkan tujuan dari data tiruan# yaitu a"ailabiliy dan perormance#
sangatlah penting menyediakan sistem terintegrasi sedemikian sehingga data tiruan bergerak
sejalan dengan peniruan dari komputasi dan komunikasi. anya data tiruan yang telah di
pelajari secara intensi# yang hanya sedikit yang telah selesai tirukan di komputasi dan
komunikasi.
Pang berhubungan dengan peniruan# kerja lebih dibutuhkan di model transaksi yang
berkolaborasi# terutama yang memanaatkan semantik dari aplikasi. Ketersediaan yang lebih
besar dan perormansi yang dapat dibuktikan # sama halnya dengan konkurensi# dapat diraih
denga model tersebut. *eknologi database memasuki domain aplikasi yang baru seperti
engineering design# sot!are de"elopment# dan oice inormation system# membutuhkan
perubahan transaksi. Oleh karena itu# kerja lebih dibutuhkan dalam transaksi yang lebih
kompleks.
Model transaksi yang rumit sangat penting dalam sistem terdistribusi untuk beberapa
alasan. Pang paling penting adalah domain aplikasi yang baru yang di support oleh DBMS
terdistribusi di masa yang akan datang membutuhkan model transaksi yang berkerja sama
lebih abstrak dalam operasi yang mengeksekusi data yang kompleks. plikasi ini memiliki
paradigma sharing yang berbeda dibandingkan tipe'tipe database.
Object Oriented DBMS saat ini sedang diin"estigasi sebagai kandidat yang potensial
untuk menemukan kebutuhan dari 0ad"ance1 aplikasi. Sistem ini men'enkapsulasi operasi
dengan data. Oleh karena itu# mereka membutuhkan deinis yang jelas dari perubahan
sementiknya# dan model transaksi yang dapat mengekspoitasi semantik dari operasi yangg di
enkapsulasi OCsu# A88J.
E#I&P'LA!
DBMS terdistribusi dan paralel telah mejadi realitas di beberapa tahun belakangan.
Mereka menyediakan ungsionalitas dari centraliCed DBMSs# tetapi di lingkungan yang
datanya terdistribusi melalui tempat komputer net!ork atau di multiprocessor system.
Database terdistribusi telah memiliki pergerakan yang alami dan ekspansi dari database
dengan sedikit penambahan dari mesin yang baru. Karateristik nilai perormansi sistem ini#
menguntungkan untuk meningkatkan teknologi komputer net!ork. DBMS paralel mungkin
satu'satunya yang realistis untuk menemukan kebutuhan perormansi dari keberagaman
aplikasi penting yang menempatkan signiikan kebutuhan output di DBMS. ntuk
-
7/21/2019 optimasi query.docx
17/25
mendapatkan kebutuhan ini# DMBS terdistribusi dan paralel harus di disain dengan
pertimbangan khusus untuk protokol dan strategi. Di sini kami menyediakan o"er"ie! dari
protokol dan startegi ini.
*erdapat beberapa isu yang berhubungan yang tidak kami jelaskan. Dua topik utama
yang kami gunakan adalah multidatabase system dan distributed object'oriented database.
ampir sebagian inormasi menyusun sistem lainnya dengan DBMS inplementasinya sendiri.
Kebutuhan selanjutnya adalah untuk mengintegrasikan otonomi ini dan sistem heterogen
yang mungkin menyingkapi kesulitan yang heterogen. Sistem yang menyediakan akses ke
disain yang mandiri dan implementasi# kemungkinan yang heterogen# dan database di sebut
multidatabase system Sheth and ,arson# A887J.
$enetrasi dari teknologi database management ke area yang sistem database
relasionalnya yang tidak di disain untuk melayani telah membangkitkan keinginan untuk
melakukan penelitian model sistem yang baru dan arsitektur. Kandidat utama untuk
menemukan kebutuhan dari sistem ini adalah DBMS object oriented. Distribusi dari object'
oriented DBMSs meningkatkan isu katagori umum sebagai manajemen objek terdistribusi.
A&'# I#TILA(
tomicity & properti dari proses transaksi dimana semua operasi dari transaksi tereksekusi
atau tidak ada yang tereksekusi sama sekali. (semua atau tidak sama sekali)
rsitektur 3lient+Ser"er & Sebuah arsitektur DBMS yang paralel atau terdistribusi dimana
satu set mesin dengan kemampuan yang terbatas untuk mengakses sustu ser"er yang bertugas
mengatur data.
-
7/21/2019 optimasi query.docx
18/25
lgoritma 3oncurency 3ontrol & lgoritma yang mensinkronkan operasi'operasi dari
transaksi'transaksi yang bersamaan pada sebuah shared database.
DBMS terdistribusi & Sebuah DBMS yang mengatur database yang terdistribusi antar titik
dari sebuah jaringan komputer dan membuat distribusi ini jelas untuk user.
Deadlock & sebuah keadaan dimana setiap transaksi saling menunggu lock yang sedang
digunakan oleh transaksi lain pada suatu saat.
Durability & properti dari sebuah proses transaksi dimana hasil dari transaksi yang sudah
sukses menahan beberapa kegagalan.
Inter'%uery parallelism & eksekusi paralel dari %uery yang banyak di'generate oleh transaksi
yang konkuren.
Intra'%uery parallelism & eksekusi paralel dari operasi yang banyak# memungkinkan dalamsatu %uery.
Isolation & properti dari eksekusi transaksi yang mengakibatkan sebuah transaksi di database
diidolasi dari transaksi lainnya sampai transaksi yang pertama selesai.
,ocking & Sebuah metode pengaturan konkurensi dimana lock ditempatkan di unit database
untuk kepentingan transaksi yang mencoba mengaksesnya.
5uery OptimiCation & proses dengan startegi eksekusi terbaik untuk memberikan %uery
terbaik dari beberapa alternati" yang ada.
5uery $rocessing & proses yang deklarasi %uery nya diterjemahkan ke lo!'le"el operasi
manipulasi data.
$arallel database management system & sebuah DBMS yang diimplementasikan pada suatu
multiprocessor yang digabungkan.
5uorum'based "oting algorithm & tiruan mengendalikan protokol dimana transaksi
mengumpulkan suara untuk mari embaca dan menulis salinan item data. mereka diijinkan
untuk membaca atau menulis item data jika mereka dapat mengumpulkan suatu korum darisuara
-
7/21/2019 optimasi query.docx
19/25
Shared'disk architecture & arsitektur DBMS paralel dimana semua prosesor memiliki akses
kesemua unit disk melalui interkoneksi tetapi dengan aksesyang eksklusi ke memori utama.
Shared'memory architecture & arsitektur DBMS paralel dimana semua prosesor memiliki
akses ke setiap modul memory atau disk melalui interkoneksi yang cepat.
Shared'nothing architecture & arsitektur DBMS paralel dimana semua prosesor memiliki
akses eksklusi"e ke memori utama dan unit disk nya masing'masing.
Stable database& bagian dari database yang disimpan dalam secondary storage.
*ermination protocol & protokol dimana indi"idu dapat memutuskan bagaimana melakukan
terminasi terhadap beberapa transaksi saat mereka tidak dapat berkomunikasi dengan
sesamanya ketika transaksi sedang di eksekusi.
*ransaction & unit dari konsisten dan atomik eksekusi.
*ransparency &perluasan dari data independent ke sistem terdistribusi dengan
menyembunyikan pendistribusiannya# ragmentasi# dan data tiruan dari user.
*!o'phase commit & atomik komitmen protokolyang memastikan jika transaksi ditermminasi
dengan cara yang sama disetiap tempat transaksi tersebut dieksekusi.
*!o'phase locking & algoritma penguncian dimana transaksi tidak di perkenankan untukmemminta lock baru setelahmenjalankan lock sebelumnya.
=olatile database & bagian dari database yang disimpan di buer memori utama.
-
7/21/2019 optimasi query.docx
20/25
-
7/21/2019 optimasi query.docx
21/25
)%ry+0- 1. %ry2 *o!ards an :icient :"aluation o @eneral
5ueries& 5uantiier and Disjunction $rocessing
-
7/21/2019 optimasi query.docx
22/25
3e$S9J F. 3esarini# F. $ippolini# @. Soda& *echni%ue
or nalyCing 5uery :2ecution in a Multiprocessor
Database Machine. $roc. th Int. -orkshop
on Database Machines# @rand Bahama Island# March
A89# pp. ?9.'87
3hanN?J $.P. 3hang& $arallel $rocessing and Data
Dri"en Implementation o a th Int.
-
7/21/2019 optimasi query.docx
23/25
3on. on =ery ,arge Data Bases# Kyoto# ugust A89?
@aoN8J MR< @arey# D.S. ohnson& 3omputers and
Intractability @uide to the *heory o /$3ompleteness.
-.. FreemaRa aCd 3ompany# San
Francisco# A8N8
@rDe9NJ @. @raee# D.. De-itt& *he :2odus OptimiCer
@enerator. $roc. 3M SI@MOD# San Francisco#
May A89N# pp. A?7'AN>
@r-a98J @. @raee# K. -a2d& Dynamic 5uery :"aluation
$lans. $roc.ACM SI@MOD# $ortland# une
1989, pp. 358-366
Io-o9NJ P.:. loannidis# :. -ong& 5uery OptimiCation
by Simulated nnealing. $roc. 3M SI@MOD# San
Francisco# May A89N# pp. 8'>>
aKo9J M. aCke# . Koch& 5uery OptimiCation in
Database Systems. 3M 3omputing Sur"eys# une
A89# pp. III'A>
Kiln 9>J -. Kim& On OptimiCing an S5,'like /ested
5uery. 3M *ODS# Sept. A89># pp. 6'?8
-
7/21/2019 optimasi query.docx
24/25
Klug9>J . Klug& :%ui"alence o
-
7/21/2019 optimasi query.docx
25/25