optimasi query.docx

Embed Size (px)

Citation preview

  • 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