database paralel&terdistribusi

16

Click here to load reader

Upload: rara-anjani

Post on 22-Oct-2015

43 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Database Paralel&Terdistribusi

MODUL

DATABASE PARALEL DAN TERDISTRIBUSI

 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

fungsi distribusi yang lebih efisien dimana program aplikasi berjalan pada

workstation yang disebut application server, sedangkan fungsi database

ditangani oleh dedicated computers yang disebut database server. Sistem ini

dibuat dengan menghubungkan kabel jaringan yang terhubung oleh network.

Distributed database technology dapat diimplementasikan menjadi paralel

database sistem. Paralel database sistem memanfaatkan paralelism pada

manajemen data untuk menghasilkan database server yang memiliki performansi

dan availability yang tinggi.

Sebuah paralel DBMS dapat didefinisikan sebagai DBMS yang

diimplementasikan pada multiprosesor komputer. DBMS tersebut melakukan

query dengan dua cara, yaitu :

Inter-query paralelism

Inter-query mampu melakukan eksekusi paralel dengan menggunakan

multiple query yang dilakukan oleh transaksi – transaksi yang berjalan secara

konkuren.

Intra –query paralelism

PUSAT PENGEMBANGAN BAHAN AJAR-UMB E. Didik Madyatmadja, ST. PERANCANGAN BASIS DATA 1

Page 2: Database Paralel&Terdistribusi

Mampu menbuat eksekusi paralel berjalan sendiri – sendiri meskipun dengan

query yang sama.

Baik inter-query dan intra – query dapat dihasilkan dengan menggunakan data

partioning yang mirip dengan fragmentasi horisontal.

Gambar 1. Database paralel

Karakteristik paralel DBMS :

1. Paralel database adalah sebuah database yang file- filenya disimpan di

tiap – tiap komputer yang terhubung dengan jaringan. Ini merupakan

PUSAT PENGEMBANGAN BAHAN AJAR-UMB E. Didik Madyatmadja, ST. PERANCANGAN BASIS DATA 2

Page 3: Database Paralel&Terdistribusi

perbedaan antara distributed database (DDB) dengan sistem berkas

terdistribusi. Untuk membuat sebuah DDB, data secara lojik saling

berhubungan dimana hubungan tersebut terdefinisi dalam bentuk yang

lebih terstruktur.

2. Sistem tersebut harus memiliki fungsionalitas penuh sebagai sebuah

DBMS. Ini tidak sama dengan distributed file system dan transaction

processing system. Transaction processing hanya merupakan salah satu

fungsi yang disediakan oleh sistem paralel DBMS, dimana fungsi tersebut

menyediakan fungsi – fungsi seperti query processing, organisasi data

terstruktur dan layanan lain yang tidak dimiliki oleh transaction processing

system.

3. Distribusi data dari multiprosesor tidak terlihat oleh user, ini disebut

transparency. Teknologi paralel database memiliki konsep data

independence. Pada lingkungan dimana data terdistribusi dan tereplikasi

oleh sejumlah mesin ynag terhubung dengan jaringan. Oleh karena itu

transparency memiliki bentuk : network/ distribution, replication

transparency dan fragmentation transparency. Transparent access berarti

user hanya melihat sebuah database meskipun pada kenyataannya

database tersebut terdistribusi.

Idealnya sebuah paralel DBMS memiliki dua keuntungan, yaitu :

1. Linier scaleup

Linier scaleup menyatakan bahwa performansi database bergantung pada

ukuran database, processing dan storage power.

1. Linier speedup

Linier speedup menunjukan bahwa peningkatan performansi untuk sebuah

ukuran database yang tetap adalah linear dan peningkatan linear di dalam

pemrosesan dan sumber daya.

PUSAT PENGEMBANGAN BAHAN AJAR-UMB E. Didik Madyatmadja, ST. PERANCANGAN BASIS DATA 3

Page 4: Database Paralel&Terdistribusi

Karakteristik performansi dari microprocessor dan workstation 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 workstation yang

tujuannya untuk mengambil keuntungan dari karakteristik performansinya.

Keunggulan dari DBMS terdistribusi dapat berjalan di Wide Area Network (WAN).

Di lain pihak, DBMS terdistribusi yang akan datang dapat mendukung struktur

hierarki organisasi dimana site-site terdiri dari cluster-cluster dari komunikasi

komputer yang melebihi local area network (LAN) dengan kecepatan tinggi.

Teknologi pada Database Terdistribusi dan Paralel

DBMS terdistribusi dan paralel menyediakan fungsionalitas 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 view dari physically database terdistribusi untuk user.

Arsitektur

Dalam database paralel terdapat banyak kemungkinan alternatif

distribusi. Saat ini, yang paling banyak digunakan adalah arsitektur client-server

dimana sejumlah client mengakses server database tunggal. Dalam sistem yang

disebut multiple-client/single-server ini , manajemen database menjadi sangat

sederhana sejak database disimpan dalam server tunggal. The pertinent issue

berhubungan dengan manajemen dari client-buffer, pengambilan data, dan

penguncian. Manajemen data selesai secara terpusat pada server tunggal.

Arsitektur yang lebih terdistribusi dan fleksibel adalah

multiple-client/multiple-server dimana database-databasenya didistribusikan

melalui multiple server yang harus berkomunikasi dengan sesama untuk

merespon query dari user dan mengeksekusi transaksi. Masing-masing client

PUSAT PENGEMBANGAN BAHAN AJAR-UMB E. Didik Madyatmadja, ST. PERANCANGAN BASIS DATA 4

Page 5: Database Paralel&Terdistribusi

mempunyai sebuah “rumah” server yang digunakan untuk query dari user secara

langsung. Komunikasi antar server bersifat transparant terhadap user.

Kebanyakan sistem manajemen database mengimplementasikan satu dari tipe

arsitektur client-server.

DBMS terdistribusi sebenarnya tidak dibedakan menjadi client dan

server. Idealnya, masing-masing dapat menjalankan fungsionalitas dari client

dan server. Arsitektur tersebut dinamakan peer-to-peer, membutuhkan protokol-

protokol shopisticated untuk mengelola data terdistribusi melalui multiple sites.

Kompleksitas dari kebutuhan software telah menunda pemberian dari produk

peer-to-peer DBMS terdistribusi.

Arsitektur sistem paralel terbagi menjadi dua, arsitektur shared-nothing

dan shared-memory. Point pentingnya adalah arsitektur shared-disk.

Pada shared-nothing, setiap processor mempunyai akses eksklusive ke

memory utama dan unit disk. Oleh karena itu, setiap node dapat dilihat sebagai

local site (dengan database dan softwarenya sendiri) dalam sebuah sistem

database terdistribusi. Perbedaan antar shared-nothing pada DBMS paralel

dengan DBMS terdistribusi pada dasarnya satu dari implementasi platform, oleh

karena itu kebanyakan desain dari solusi untuk database terdistribusi dapat

digunakan kembali di DBMS paralel. Arsitektur shared-nothing memiliki tiga

virtues : cost, extensibility, dan availability. Di lain sisi, shared-nothing memiliki

kompleksitas yang tinggi dan berpotensi terjadi masalah keseimbangan. Contoh

untuk shared-nothing sistem database paralel meliputi Teradata’s DBC dan

Tandem’s Non-StopSQL.

Dalam shared-memory, processor manapun memiliki akses ke modul

memory atau unit manapun melalui interkoneksi yang cepat. Beberapa contoh

desain mainframe yang baru seperti IBM3090 atau Bull’s DPS8, dan symmetric

multiprocessors seperti Sequent dan Enricore, mengikuti jenis ini. Shared-

PUSAT PENGEMBANGAN BAHAN AJAR-UMB E. Didik Madyatmadja, ST. PERANCANGAN BASIS DATA 5

Page 6: Database Paralel&Terdistribusi

memory memiliki dua keunggulan simpel dan seimbang, dan terdapat tiga

kerugian : cost, limited extensibility, dan avalaibility yang rendah.

Contoh dari shared-memory paralel database system termasuk XPRS,

DBS3, dan Volcano, dan semua RDBMS yang menggunakan shared-memory

multiprosesor. Pada dasarnya implementasi dari DB2 pada IBM3090 yang

menggunakan 6 prosesor merupakan contoh yang pertama. Seluruh produk

shared-memory komersial seperti INGRES dan ORACLE yang sekarang

melakukan inter-query paralelism saja.

Pada pendekatan shared-disk , setiap prsesor memiliki akses ke setiap

disk melalui interkoneksi tetapi eksklusif (non-shared) akses hanya pada main

memory saja. Setiap prosesor dapat melakukan akses halaman – halaman

database pada shared-disk dan mengcopynya ke cachenya sendiri. Untuk

menghindari konflik pada saat melakukan akses di halaman yang sama global

locking protokol melakukan maintanance pada cache koherensi. Shared disk

memiliki sejumlah keunggulan seperti cost, ekstensibility, plot balancing,

availability, dan kemudahan migrasi dari sistem uniprosesor. Di lain pihak ini

memiliki masalah kompleksitas yang tinggi dan performansi.

Contoh – contoh dari DBMS shared-disk paralel termasuk iMS/VS dari

IBM yang menggunakan data sharing seperti juga VAX DBMS dari DEC dan

produk – produk Rdb. Implementasi oracle pada VAXcluster dan NCUBE

komputer juga menggunakan pendekatan shared-disk karena ini menggunakan

ekstensi dari RDBMS kernel dengan minimal. Sebagai catatan bahwa semua

sistem tadi hanya menggunakan inter-query paralelism saja.

 Query processing dan optimasi

Query prosesing adalah sebuah proses dimana deklarasi query di

terjemahkan menjadi operasi manipulasi data pada level rendah. SQL adalah

bahasa query standar yang dimiliki oleh DBMS pada saat ini. Optimisasi query

PUSAT PENGEMBANGAN BAHAN AJAR-UMB E. Didik Madyatmadja, ST. PERANCANGAN BASIS DATA 6

Page 7: Database Paralel&Terdistribusi

merujuk pada proses memilih strategi eksekusi query yang terbaik dari beberapa

alternative yang diberikan.

Pada DBMS terpusat proses tersebut melibatkan dua langkah:

1. Query dekomposisi

Query dekomposisi mengambil sebuah SQL query dan menterjemahkannya ke

dalam aljabar relasional. Pada proses tersebut query dianalisa secara

semantiksehingga query yang tidak benar dapat terdeteksi dan dikeluarkan

dengan mudah, sedangkan query yang benar dapat diterima. Simplifikasi

melibatkan pengeliminasi redundant predicat yang terjadi sebagai akibat

modifikasi query yang menggunakan views, penjagaan keamanan, dan control

integritas semantic. Query yang sederhana adalah query yang terstruktur

berdasarkan aljabar query.

2. Query optimisasi

Jika kita diberikan SQL query maka dimungkinkan ada lebih dari satu

query aljabar. Beberapa dari query aljabar ini bisa lebih baik dibandingkan query

alajbar yang lain. Kualitas dari query aljabar ditentukan oleh performansi yang

terbaik. Prosedur yang tradisional biasanya hanya menterjemahkan predikat-

predikat dan statemen target menjadi operasi relasional seperti pada saat query

dituliskan. Query tersebut kemudian ditransformasikan menggunakan aturan-

aturan transformasi aljabar, menjadi query aljabar yang terbaik nantinya. Aljabar

query yang terbaik ini dinilai berdasarkan cost function dengan menghitung cost

yang terjadi pada saat eksekusiquery tersebut. Proses inilah yang disebut query

optimisasi.

Pada DBMS terdistribusi, selain menggunakan langkan query

dekomposisi dan query optimisasi DBMS ini juga menggunakan data lokalisasi

dan global query optimisasi.

PUSAT PENGEMBANGAN BAHAN AJAR-UMB E. Didik Madyatmadja, ST. PERANCANGAN BASIS DATA 7

Page 8: Database Paralel&Terdistribusi

Masukan dari data lokalisasi didapatkan dari langkah query dekomposisi.

Query aljabar ini dispesifikasikan pada global relation irrespective pada

fragmentasi atau distribusi.

Tujuan utama dari data localization adalah untuk melokalisasi hasil data

query dengan menggunakan informasi data terdistribusi. Pada langkah ini,

fragmen-fragmen yang terlibat pada query ditransformasikan menjadi satu

fragmen yang menjalankan relasi secara global. Telah disebutkan sebelumnya

bahwa fragmentasi diterjemahkan melalui aturan-aturan fragmentasi yang

diekspresikan oleh operasi-operasi relasional (horizontal fragmentation by

seletion, vertical fragmentation by projection). Sebuah relasi terdistribusi dapat

direkonstruksi dengan menerapkan kebalikan aturan-aturan fragmentasi. Inilah

yang disebut localization program. Localization program untuk sebuah query-

query yang terfragmentasi secara horizontal maupun vertical merupakan

union(join) dari fragmen-fragmen. Oleh karenanya pada saat langkan data

localization setiap relasi global digantikan oleh localization programnya dan

kemudian menghasilkan fragmen query yang lebih sederhana dan terstruktur

untuk menghasilkan query yang baik. Simplification dan restructuring mungkin

dapat dilakukan sesuai dengan rule yang sama yang digunakan dalam langkah

dekomposisi. Seperti pada langkan dekomposisi, fragmen terakhir dari query

hasilnya masih jauh dari optimal karena proses ini hanya meng-eliminasi aljabar

query-query yang buruk.

Input dari langkah ketiga adalah query fragmen, yang mana merupakan

aljabar query dalanm fragmen-fragmen. Tujuan dari query optimisasi dalah untuk

menemukan strategi eksekusi untuk query yang paling optimal. Sebuah strategi

pengeksekusian untuk query yang terdistribusi dapat dideskripsikan dengan

operasi-operasi aljabar relasional dan communication primitive( operasi-operasi

pengiriman dan penerimaan) untuk mentransfer data diantara bagian-bagian.

Layer-layer sebelumnya telah melakukan optimisasi pada query, sebagai contoh

dengan menghilangkan ekspresi-ekspresi yang redundant. Bagaimanapun juga,

optimasi ini tidak bergantung pada karakteristik fragmen seperti kardinalitas.

PUSAT PENGEMBANGAN BAHAN AJAR-UMB E. Didik Madyatmadja, ST. PERANCANGAN BASIS DATA 8

Page 9: Database Paralel&Terdistribusi

Selain itu, operas-operasi komunikasi tidak bersifat spesifik. Dengan mengubah-

ubah urutan operasi dengan satu fragmen query bisa ditemukan banyak

execution plan query yang ekuivalen. Optimisasi query menemukan sebuah plan

terbaik dari beberapa kandidat plan yang telah ditemukan. Query optimizer

memiliki tiga komponen yaitu sebuah ruangan/space untuk search(search

space), sebuah cost model, dan sebuah search strategy. Search speace adalah

himpunan dari alternative execution plans yang merepresentasikan inputan

query. Plan-plan tersebut ekuivalen dan memiliki hasil yang sama tetapi memiliki

perbedaan urutan eksekusi dari operasi-opersasi dan bagaimana operasi

tersebut diimplementasikan. Cost model memprediksi cost dari execution plans

yang terbentuk. Cost model harus memiliki pengetahuan yang akurat tentang

eksekusi secara parallel. Search strategy menggali search space yang telah

dibuat dan memilih plan terbaik.

Pada lingkungan terdistribusi fungsi cost biasanya didefinisikan dengan

time units, merujuk pada sumberdaya seperti alokasi ruang disk, I/O disk, buffer

space, CPU cost, communication cost, dsb. Cost tersebut merupakan gabungan

dari seluruh I/O, CPU dan communication cost. Meskipun begitu sebuah cost

diambil dengan mempertimbangkan bahwa communication cost pada DBMS

terdistrinusi merupakan vaktor yang paling utama. Ini dapat diterapkan dengan

valid untuk wide area network dimana bandwidth yang terbatas membuat

communication menjadi lebih mahal dibanding biaya pemrosesan local. Untuk

memilih operasi-operasi yang terurut sangat penting dengan memperhitungkan

eksekusi cost dari urut-urutan dari kandidatnya. Dengan memperhitungkan cost

eksekusi sebelum query dilakukan seperti static optimization didasarkan pada

statistic-statistik fragmen dan berbagai formula untuk memperhitungkan

kardinalitas hasil operasi-operasi relasional. Oleh karenanya pemilihan

optimisasi sangat bergantung pada ketersediaan statistic-statistik dif ragmen.

Aspek yang sangat penting dari query optimisasi adalah join ordering, karena

permutasi dari join dapat meningkatkan magnitude dari beberapa permintaan-

permintaan. Salah satu dari teknik optimisasi yang mendasar adalah sequence

PUSAT PENGEMBANGAN BAHAN AJAR-UMB E. Didik Madyatmadja, ST. PERANCANGAN BASIS DATA 9

Page 10: Database Paralel&Terdistribusi

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 query

optimization adalah query aljabar yang menggunakan operasi-operasi

komunikasi yang terdapat pada fragmen.

  Pada DBMS terdistribusi terdapat empat kegagalan yang mungkin terjadi:

transaction failure, system failure, disk failure, dan communication failure. Failure

dapat muncul ketika terjadi error yang disebabkan oleh input data. Pendakatan

biasanya dilakukan dengan cara melakukan abort, pensetingan ulang data base

pada keadaan semula.

System failure terjadi karena adanya hardware failure atau software

failure. Efek dari system failure ini adalah hilangnya content main memory. Oleh

karenanya proses update pada main memory akan hilang disebabkan terjadinya

system failure. Bagaimanapun juga isi data base disimpan pada secondary

storage merupakan keputusan yang tepat dan benar. Untuk mencapai ini DBMS

melakukan logging protocol seperti write-ahead logging dimana perubahan pada

record di database dicatat pada lock tersebut. Dari prespektif eksekusi

terdistribusi, system failure sangat penting karena sistem yang gagal tidak dapat

melakukan eksekusi transaksi.

Media failure terjadi karena kegagalan secondary storage melakukan

penyimpanan di database. Kegagalan ini dialamatkan oleh duplexing secondary

storage dan kopi database sebelumnya. Media failure biasanya diakibatkan oleh

local sistem dan tidak disimpan oleh mekanisme realibility dari DBMS

terdistribusi.

PUSAT PENGEMBANGAN BAHAN AJAR-UMB E. Didik Madyatmadja, ST. PERANCANGAN BASIS DATA 10

Page 11: Database Paralel&Terdistribusi

Kebalikan dari terminasi adalah recovery. Ketika site tidak bisa merecover

dari kegagalan, aksi apa yang harus diambil untuk merecover database pada site

untuk menjadi state yang konsisten. Ini adalah domain dari recoveri protokol

terdistribusi. Mempertimbangkan sisi recoveri dari masalah yang didiskusikan

diatas, koordinator tempat recoveri dan recoveri protokol harus mennentukan

apa yang harus dilakukan dengan transaksi terdisitribusi yang eksekusinya telah

dikoordinasikan. Kasus dibawah ini mungkin terjadi :

1. Koordinatornya gagal sebelum menginisialisasi porcedure commit. Oleh

karena itu, koordinator akan memulai commit prosesnya sebelum recoveri.

2.Koordinator gagal saat statusnya ready. Dalam kasus ini koordinator telah

mengirim pesan prepare. Sebelum recovery koordinator akan merestart proses

commit untuk transaksi dari awal dengan mengirimkan pesan prepare satu kali.

Jika partisipannya sudah menterminasi transaksi, dapat membangun kembali

koordinatornya. Jika mereka di blok mereka mengirim ulang pesan sebelumnya,

dan meresume proses commit.

3.Koordinatornya gagal setelah ia membangun partisipan untuk masing masing

keputusan global dan menterminasi transaksi tersebut. Oleh karena itu sebelum

recoveri tidak perlu melakukan apapun.

PUSAT PENGEMBANGAN BAHAN AJAR-UMB E. Didik Madyatmadja, ST. PERANCANGAN BASIS DATA 11