Basis Data Terdistribusi

14
PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER FAKULTAS TEKNIK UNIVERSITAS NEGERI PADANG 2013 BASIS DATA TERDISTRIBUSI(DISTRIBUTE D DATABASE) SISTEM TERDISTRIBUSI (TIK 133) Oleh [1102639] SARI RAHMADINA ANORI [1102640] YENI SEPTIANA [1102660] KHILDA RAHMI ZAKI GROUP 3F1,2 KODE SEKSI 28417

Transcript of Basis Data Terdistribusi

PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER

FAKULTAS TEKNIK

UNIVERSITAS NEGERI PADANG

2013

BASIS DATA TERDISTRIBUSI(DISTRIBUTE

D DATABASE)

SISTEM TERDISTRIBUSI (TIK 133)

Oleh

[1102639] SARI RAHMADINA ANORI

[1102640] YENI SEPTIANA

[1102660] KHILDA RAHMI ZAKI

GROUP 3F1,2

KODE SEKSI 28417

BASIS DATA TERDISTRIBUSI (DISTRIBUTED DATABASE)

A. PENGERTIAN BASIS DATA TERDISTRIBUSI

Basis data adalah suatu susunan atau kumpulan data operasional lengkap dari suatu

organisasi atau perusahaan yang diorganisir dan disimpan secara terintegrasi dengan

menggunakan metode tertentu dengan menggunakan komputer, sehingga mampu memberikan

informasi yang optimal kepada pemakainya.

Basis Data Terdistribusi adalah kumpulan data logic yang saling berhubungan secara

fisik terdistribusi dalam jaringan komputer, yang tidak tergantung dari program aplikasi

sekarang maupun masa yang akan datang. Misalnya sebuah bank yang memiliki banyak cabang,

bahkan di sebuah kota bisa terdiri dari beberapa cabang/kantor. Masing-masing lokasi memiliki

jaringan lokal sendiri, dan semua jaringan lokal itu dihubungkan satu sama lain membentuk

sebuah jaringan nasional.

Basis data terdistribusi (distributed database) adalah suatu basis data yang berada di

bawah kendali sistem manajemen basis data (DBMS) terpusat dengan peranti penyimpanan

(storage devices) yang terpisah-pisah satu dari yang lainnya. Tempat penyimpanan ini dapat

dapat berada di satu lokasi yang secara fisik berdekatan (misal: dalam satu bangunan) atau

terpisah oleh jarak yang jauh dan terhubung melalui jaringan internet. Penggunaan basis data

terdistribusi dapat dilakukan di server internet, intranet atau ekstranet kantor, atau di jaringan

perusahaan.

Basis data terdistribusi pada dasarnya adalah bagian dari sistem komputer terdistribusi,

atau disebut juga distributed computing. Distributed computing sendiri adalah sistem yang

dapat membuat komputer-komputer yang berbeda dan bekerja secara bersamaan dapat saling

bertukar informasi dalam satu kesatuan sistem. Dengan basis data terdistribusi, operasi basis

data dapat dikendalikan dari satu mesin (komputer) dan dijalankan pada mesin-mesin yang lain.

Pengguna atau disebut (user) dalam sebuah basis data terdistribusi bisa mengakses

basis data melalui dua jenis transaksi yaitu :

• Transaksi lokal adalah transaksi yang tidak memerlukan data dari tempat lain

• Transaksi global adalah transaksi dengan kebutuhan akan data dari tempat lain

B. KARAKTERISTIK BASIS DATA TERDISTRIBUSI

Ada beberapa ciri-ciri utama pada basis data terdistribusi yaitu:

Data disimpan di sejumlah tempat

Prosessor pada tempat yang berbeda tersebut dihubungkan dengan jaringan komputer

Sistem basis data terdistribusi bukan terdiri dari sekumpulan file yang berada pada

berbagai tempat tetapi pada sebuah basis data di berbagai tempat.

Setiap tempat secara mandiri memproses permintaan user yang membutuhkan akses

ke data di tempat tersebut dan juga mampu untuk memproses data yang tersimpan di

tempat lain.

C. KELEBIHAN DAN KEKURANGAN BASIS DATA TERDISTRIBUSI

Pemanfaatan basis data terdistribusi dapat memberikan manfaat bagi sistem yang

mengimplementasikannya. Hal ini disebabkan oleh kelebihan-kelebihan yang dimilikinya, antara

lain

Kinerja

Kinerja yang lebih baik karena data ditempatkan di tempat yang sesuai dengan

kebutuhan dan komputer-komputer dalam sistem dapat bekerja secara paralel,

sehingga pembebanan pada komputer (server) menjadi seimbang.

Alasan Ekonomis

Alasan ekonomis, yaitu bahwa merancang sistem yang terdiri atas jaringan komputer-

komputer kecil (sederhana) lebih ekonomis dibandingkan dengan

mengimplementasikan komputer tunggal yang canggih.

Alasan modularitas

Yaitu bahwa sistem-sistem yang bekerja dalam basis data terdistribusi dapat

dimodifikasi, ditambah, atau dikurangi tanpa memengaruhi modul lain (sistem lain

dalam basis data terdistribusi). Dengan pembagian lokasi data, jika terjadi masalah atau

musibah pada sistem, tidak semua data terancam, melainkan hanya data pada tempat-

tempat tertentu.

alasan organisasi dan otonomi pada sistem-sistem yang berpartisipasi, misalnya pada

suatu kantor perusahaan, terdapat beberapa departemen. Dengan basis data

terdistribusi, data-data perusahaan dapat disebar ke tiap-tiap departemen yang

bertanggung jawab atasnya.

Akan tetapi, di samping kelebihan-kelebihan yang dimilikinya, basis data terdistribusi

juga memiliki kendala, antara lain:

Masalah kompleksitas

Yaitu bukan pekerjaan yang mudah untuk membuat basis data yang tersebar terlihat

sebagai satu kesatuan. Administrator basis data mempunyai tugas ekstra untuk menjaga

agar basis data yang tersebar di berbagai lokasi terlihat transparan. Di samping itu,

pemeliharaan sistem-sistem yang berlainan lebih kompleks ketimbang pemeliharaan

sistem besar yang utuh sebagai satu kesatuan. Tingginya kompleksitas juga dapat

menyebabkan pembengkakan biaya.

Masalah desain

Yaitu bahwa desain yang dibuat harus memperhatikan arsitektur komputer yang terdiri

atas sistem-sistem yang terpisah, selain itu juga memperhatikan data yang difragmentasi

(dipecah-pecah) ke dalam lokasi berlainan. Perubahan dari basis data terpusat menjadi

terdistribusi juga menjadi masalah karena belum ada standar metodologi dalam konversi

DBMS terpusat menjadi DBMS terdistribusi.

Keamanan data

Yaitu bukan hanya satu sistem yang harus diberi proteksi keamanan data, melainkan

juga fragmen-fragmennya yang tersebar di berbagai lokasi, juga jalur komunikasi

antarsistem.

Kendala mempertahankan integritas karena dalam menjaga integritas sistem melalui

jaringan juga dapat memakan resource yang besar dari jaringan.

D. TIPE BASIS DATA TERDISTRIBUSI

1. HOMOGEN

Dalam sistem yang homogen, semua site menggunakan product DBMS (Data Base

Management System) yang sama. Sistem homogen lebih mudah di rancang dan di atur.

Pendekatan ini memberikan perkembangan yang baik, yaitu tidak mengalami kesulitan

dalam membuat sebuah site baru pada DDBMS. Misalnya: Seluruh sistem menggunakan

basis data Oracle yang bertempat di satu atau beberapa mesin; Oracle yang digunakan

boleh jadi berbeda versi, tetapi aplikasi harus dapat memahami perbedaan fungsionalitas

yang ada di setiap simpul (basis data) sistem

2. HETEROGEN

Sistem basis data heterogen yaitu sistem dimana setiap tempat yang berbeda

menjalankan DBMS yang berbeda, baik Relational DBMS (RDBMS) atau non

relational DBMS. Misalnya: Dalam basis data terdistribusi sedikitnya satu sistem bagian

tidak menggunakan basis data Oracle. Agar dapat saling berkomunikasi, perbedaan ini

dapat dijembatani dengan menerapkan Oracle Transparent Gateway yang menggunakan

layanan heterogen pada server Oracle (Oracle Heterogenous Services) dan agen yang

spesifik terhadap sistem pada sistem non-Oracle.

E. TOPOLOGI BASIS DATA TERDISTRIBUSI

Site-site dalam database terdistribusi dihubungkan secara fisik dengan berbagai cara.

Beberapa topologi digambarkan sebagai sebuah graph yang simpulsimpulnya bersesuaian

dengan site. Sebuah edge dari simpul A ke simpul B bersesuaian dengan sebuah hubungan

langsung antara dua site. Beberapa konfigurasi (bentuk) digambarkan sebagai berikut:

• Fully Connected Network

Keuntungan : Jika salah satu simpul rusak maka yang lainnya masih bisa berjalan

Kerugian : Control management tidak terjamin.

• Partially Connected Network

Keuntungan : Reliability rendah

Kerugian : Control management tidak terjamin

• Tree Structure Network

Keuntungan : Bersifat sentral setiap proses dimulai dari bawah dan Control management

lebih terjamin

Kerugian : Jika simpul rusak maka semua akan rusak.

• Ring Network (LAN)

Keuntungan : Jika salah satu simpul rusak maka yang lainya masih tetap berjalan.

Kerugian : Control management kurang terjamin karena bersifat desentralisasi

• Star Network (LAN)

Keuntungan :Control management lebih terjamin, karena bersifat sentral

Kerugian : Jika simpul rusak maka yang lainya juga akan rusak.

Perbedaan utama di antara berbagai topologi di atas terletak pada:

• Biaya Instalasi : Biaya dalam membangun hubungan antar simpul.

• Biaya Komunikasi : Biaya dalam pengoperasian sistem berupa pengiriman data dari satu

simpul ke simpula lain

• Kehandalan : Frekuensi kegagalan komunikasi yang terjadi.

• Ketersediaan : Frekuensi kesiapan data yang dapat diakses sebagai antisipasi kegagalan

komunikasi.

F. TRANSPARANSI DALAM BASIS DATA TERDISTRIBUSI

Tujuan utama dari database terdistribusi menyediakan kemudahan untuk mengakses

data bagi user pada banyak lokasi yang berjauhan. Untuk mencapai tujuan ini system dari

database terdistribusi harus menyediakan apa yang disebut transparency yang artinya seorang

user dalam mengakses data tidak akan terbatas pada tempat, di manapun dia berada user

dapat mengakases data. Semua transparansi berpartisipasi di semua obyek, agar dapat

membuat basis data terdistribusi ini dapat sejalan dengan basis data tersentralisasi . Ada

beberapa macam dari transparansi dalam basis data yaitu;

1. Kebebasan Data Terdistribusi

Pemakai tidak perlu mengetahui dimana data berada.

Kebebasan data secara logic, yaitu kekebalan aplikasi user untuk mengubah struktur

logika database.

Kebebasan data secara fisik, yaitu berhubungan dengan penyembunyian rincian

struktur penyimpanan dari aplikasi user.

2. Transparansi Jaringan

Pemakai dapat menulis transaksi yang mengakses dan mengubah data pada beberapa

tempat seperti mengakses transaksi local.

3. Transparansi lokasi, merupakan transparansi terhadap perintah yang bebas digunakan

pada lokasi data maupun pada sistem dimana operasi berjalan.

4. Transparansi penamaan, berarti nama yang unik diberikan ke setiap objek database.

G. DESAIN BASIS DATA TERDISTRIBUSI

Seperti halnya proses perancangan sistem lainnya, perancangan basis data terdistribusi

juga memerlukan serangkaian proses analisis dan desain. Termasuk di dalam proses ini adalah

analisis kebutuhan beserta proses-proses perancangan, yakni desain secara konseptual bersama

dengan desain tampilan (view) informasi; desain distribusi yang melibatkan pengaturan

pembagian data; kemudian desain fisik

Ada beberapa pendekatan yang berkaitan dengan perancangan dalam sebuah sistem

basis data terdistribusi, yaitu;

1. FRAGMENTASI

Dalam basis data terdistribusi, fragmentasi dilakukan pada relasi-relasi yang ada

pada basis data. Fragmentasi membagi suatu relasi yang ada menjadi sejumlah fragmen

atau pecahan relasi yang tetap mempertahankan keutuhan informasi semula.

Kelebihan dari fragmentasi, yang menjadi alasan dilakukannya adalah

dimungkinkannya pemrosesan data secara paralel dan penempatan tupel relasi, yang berisi

sejumlah informasi, pada tempat yang tepat, yaitu yang paling membutuhkannya.

Fragmentasi sendiri terbagi atas empat jenis, yaitu:

• Primary horizontal

sebuah relasi R(A1, …, An) difragmentasi berdasarkan himpunan predikat-predikat relasi

PR = {p1, …, pn}. Tiap-tiap predikat merupakan perbandingan yang digunakan dalam

aljabar relasional, yang dapat melibatkan operator perbandingan =, ?, <, atau >.

• Derived horizontal

pembuatan partisi suatu relasi R berdasarkan partisi yang dibuat pada relasi lain,

misalkan S. Satu atau beberapa atribut di R mengacu kepada primary key pada S.

• Vertical

fragmentasi ini dilakukan dengan memisah-misahkan atribut-atribut dari skema relasi R

ke dalam skema-skema Ri. Setiap fragmen relasi harus memiliki primary key relasi asli.

• Hybrid

fragmentasi yang mempunyai pola campuran dari ketiga relasi di atas

Ilustrasi Fragmentasi

Misalkan ada dua relasi sebagai berikut:

PEGAWAI(NoPeg, NamaPeg, Posisi, Gaji, NoDep) DEPT(NoDep, NamaDep, Lokasi)

Contoh fragmentasi untuk tiga jenis fragmentasi yang telah disebutkan di atas adalah sebagai berikut:

dalam fragmentasi primary horizontal, dimisalkan ada himpunan predikat yang diakses oleh aplikasi yang berbeda. Satu aplikasi memperoleh informasi pegawai dengan posisi DBAdmin, sementara aplikasi lainnya memperoleh informasi pegawai dengan gaji lebih besar dari Rp 15 juta. Predikat sederhana dapat dinyatakan dalam himpunan sbb: . Selanjutnya, predikat-predikat dapat dinyatakan ke dalam himpunan dari minterm, yaitu

. Selanjutnya, predikat-predikat dapat dinyatakan ke dalam himpunan dari minterm, yaitu sebagai berikut

o m1 = Posisi = ‘DBAdmin’ ^ Gaji > 15000000 o m2 = Posisi ? ‘DBAdmin’ ^ Gaji > 15000000 o m3 = Posisi = ‘DBAdmin’ ^ Gaji = 15000000

o m4 = Posisi ? ‘DBAdmin’ ^ Gaji = 15000000 dalam fragmentasi derived horizontal, misalkan DEPT dipartisi berdasarkan predikat

Lokasi = ‘Bandung’, sehingga ada dua partisi

DEPT1 = sLokasi = ‘Bandung’(DEPT) DEPT2 = sLokasi ? ‘Bandung’(DEPT)

sementara, itu PEGAWAI dipartisi berdasarkan partisi DEPT sebagai berikut:

PEGAWAIi PEGAWAI left outer join DEPTi

dalam fragmentasi vertical, relasi PEGAWAI(NoPeg, NamaPeg, Posisi, Gaji, NoDep) difragmentasi ke dalam fragmen relasi PEGAWAI1(NoPeg, NamaPeg, Gaji) dan PEGAWAI2(NoPeg, Posisi, NoDep).

Fragmentasi dikatakan tepat apabila memenuhi syarat-syarat berikut:

o kelengkapan: dekomposisi relasi R ke dalam fragmen-fragmen R1, …, Rn dikatakan lengkap jika setiap tupel R dapat ditemukan dalam fragmen Ri mana pun.

o rekonstruksi: jika relasi R terdekomposisi ke dalam fragmen-fragmen R1, …, Rn,

terdapat operator relasional sedemikian sehingga . o disjoint: jika sebuah relasi R dipartisi, sebuah tupel dalam R, jika ditemukan dalam

fragmen Ri, tidak akan ditemukan dalam fragmen Rj dengan i ? j.

2. REPLIKASI

Sistem basis data terdistribusi dapat menyimpan duplikat dari data yang sama dalam

site yang berbeda agar perolehan informasi yang semakin cepat dan toleransi kesalahan.

Proses ini disebut replikasi. Replikasi pada relasi bersifat redundan pada dua atau lebih

situs.

Replikasi pada relasi disebut replikasi penuh bila relasi tersebut disimpan pada

semua situs. Basis data disebut redundan penuh jika tiap-tiap site mengandung duplikat

dari keseluruhan basis data.

Replikasi dilakukan karena memiliki kelebihan sebagai berikut:

jika situs asli yang menyimpan relasi R mengalami kegagalan, relasi R tetap dapat

diakses melalui replikanya

query pada relasi R dapat berjalan secara paralel di simpul (situs) yang berbeda

lebih sedikit transfer data, yaitu tidak perlu lagi mengambil data suatu relasi melalui

jaringan karena sudah ada replika dalam situs lokal.

Namun, proses replikasi juga memiliki kelemahan, antara lain;

proses update yang lebih rumit karena setiap replika relasi R harus di-update.

kendali atas konkurensi yang lebih rumit karena update terhadap replika secara

konkuren dapat menyebabkan basis data menjadi tidak konsisten sehingga diperlukan

mekanisme khusus dalam penanganan konkurensi.

Dalam melakukan replikasi, ada dua strategi, yaitu

a. Sinkron

Sebelum seluruh proses transaksi update dinyatakan selesai, data yang telah

dimodifikasi disinkronkan ke setiap duplikatnya; proses ini harus menunggu hingga

data di tempat penyimpanan duplikat selesai ditulis sebelum dilakukan perubahan

lainnya sehingga menjadi lebih kompleks

Terdapat dua teknik dasar untuk menjamin transaksi terlihat nilai yang

samadengan copy, yaitu :

Voting

Transaksi harus menulis mayoritas copy untuk memodifikasi

sebuahobyek, harus membaca cukup copy untuk meyakinkan bahwa

terlihat setidaknyasatu dari copy saat itu. Misalnya terdapat 10 copy, 7

penulisan untuk perubahandan 4 copy untuk pembacaan. Setiap copy

mempunyai nomor versi. Teknik inibiasanya tidak atraktif karena

pembacaan adalah hal yang biasa.

Read-any Write-all

Penulisan lebih lambah dan pembacaan lebih cepat daripada teknik

Voting.Teknik ini banyak digunakan pada synchronousreplication

Pemilihan teknik synchronous replication akan menentukan tempat mana

yang terkunciuntuk seting.

b. Asinkron

Copy data diperbaharui secara periodik berdasarkan data utama yang

diperbaharui; proses penulisan data selesai tanpa perlu menunggu penulisan data

di tempat penyimpanan duplikat selesai; proses ini memang meningkatkan kinerja

sistem namun risikonya, inkonsistensi data bisa terjadi.

Teknik asynchronous replication menggunakan dua pendekatan, yaitu

Primary Site dan Peer to Peer replication. Perbedaan kedua teknik ini

terletak pada berapabanyak copy yang dapat diubah atau copy master.

Peer to Peer replication.

Lebih dari satu copy dari suatu obyek dapat menjadi sebuah master.

Perubahan kecopy master harus dipropaganda ke copy lain dengan cara

yang berlainan. Jika duacopy master diubah dan terjadi suatu konflik,

konflik harus dipecahkan (misalnyaTempat 1 : umur Joe mengubah 35,

Tempat 2 : mengubah 36. Teknik ini bagusdigunakan jika konflik

tidak terjadi, misalnya setiap tempat master memilikifragmen disjoin

dan yang memiliki hak pengubahan dimiliki oleh satu master padasatu

waktu.

Primary Site replidation.

Tepat satu copy dari suatu relasi digunakan sebagai primary copy atau

master copy.Replika pada tempat lain tidak langsung diubah Primary

copy dipublikasikan.Tempat lain menjalankan (fragmen) ke relasi ini,

terdapat beberapa copy sekunder.Isu utama adalah bagaimana

pengubahan primary copy dapat dipropaganda ke copy sekunder ? Hal

inidapat dilakukan dalam dua langkah. Langkah pertama

ambilpengubahan yang dibuat dengan transaksi commit, kemudian

aplikasikan perubahan tersebut

3. ALOKASI

Dalam basis data terdistribusi, alokasi mengacu kepada distribusi data ke tempat yang optimal. Ada tiga aspek dalam memastikan alokasi menjadi optimal, antara lain

biaya minimal, yang mencakup aspek komunikasi, penyimpanan, dan pemrosesan (pembacaan dan update); biaya mengacu pada waktu dan biaya jaringan

kinerja, yang mencakup waktu respons dan throughput konstrain pemrosesan dan penyimpanan per situs (tempat menyimpan data)

Alokasi – Kebutuhan Informasi

Untuk dapat mengalokasikan basis data terdistribusi secara optimal, dibutuhkan informasi-informasi tentang sistem sebagai berikut:

informasi basis data o skema konseptual basis data dan jumlah situs tersedia o jumlah, ukuran, dan selektivitas fragmen per relasi global

informasi aplikasi o jumlah query aplikasi o rata-rata jumlah akses baca dariquery ke dalam sebuah fragmen o rata-rata jumlah akses update dari query ke dalam sebuah fragmen o matriks yang menunjukkan query mana yang meng-update dan/atau membaca

fragmen tertentu o situs asal tiap-tiap query dijalankan

informasi situs o unit cost penyimpanan data dalam satu situs o unit cost pemrosesan data dalam satu situs

informasi jaringan o komunikasi antara dua situs, mencakup antara lain bandwidth dan tunda

(latency)

H. PEMROSESAN QUERY BASIS DATA TERDISTRIBUSI

Pemrosesan query pada basis data terdistribusi berbeda dari pemrosesan query pada basis data terpusat. Query-query pada relasi global perlu disesuaikan agar dapat menganani relasi-relasi dalam fragmen. Pembuatan query pada perancangan basis data terdistribusi dapat diilustrasikan dengan bagan di bawah ini.

Pada basis data terpusat, evaluasi query harus memperhatikan faktor pengaksesan

storage (disk), yakni jumlah blok pada hard disk yang dibaca/tulis. Sementara itu, dalam

pemrosesan query pada basis data terdistribusi, diperlukan pula pertimbangan dari sisi

o transmisi data melalui jaringan

o peningkatan kinerja yang potensial akibat pemrosesan query secara paralel

Dalam membuat query pada basis data terdistribusi, perlu diperhatikan hal-hal sebagai berikut:

penyesuaian dari query relasi global ke query terhadap fragmen, yaitu bahwa ekspresi relasi global dalam query harus disesuaikan menjadi ekspresi relasi fragmen; relasi global harus dapat direkonstruksi (dibuat terlihat global) dari fragmen-fragmennya

penyederhanaan ekspresi aljabar relasional, juga deteksi dan penghilangan redundant

pemilihan strategi join yang optimal (khususnya pada program yang melakukan “semi-join“)

pemilihan rencana pemrosesan query yang optimal

Sebagai contoh, jika dimisalkan terdapat relasi global PARTS(PartNo, OrderNo, Price) yang dipartisi menjadi

PARTS1:= σ0≤PartNo≤300(PARTS) PARTS2:= σ301≤PartNo≤500(PARTS) PARTS3:= σ501≤PartNo≤999(PARTS)

Query Q = σ25≤PartNo≤350(PARTS) pada relasi global dapat diubah menjadi bentuk query fragmen berikut:

mengganti relasi global menjadi definisi fragmen-fragmennya: Q1 = σ25≤PartNo≤350(PARTS1 ∪ PARTS2 ∪ PARTS3)

melakukan pushdown pada tiap-tiap fragmen: Q2 = σ25≤PartNo≤350(PARTS1) ∪ σ25≤PartNo≤350(PARTS2) ∪ σ25≤PartNo≤350(PARTS3)

Pemrosesan Paralel pada Query Fragmen

Jika dimisalkan sebuah relasi R difragmentasi secara horizontal (seperti contoh sebelumnya) menjadi R1∪ … ∪ Rn, aljabar relasional seleksi dan proyeksi menjadi σF(R) ≡ (σF(R1)) ∪ … ∪ (σF(Rn)) πattr(R) ≡ (πattr(R1)) ∪ … ∪ (πattr(Rn))

Fungsi-fungsi agregat (query Q(R) diasumsikan menghasilkan relasi satu kolom) o min(Q(R)) ≡ min(Q(R1), …, Q(Rn)) o max(Q(R)) ≡ max(Q(R1), …, Q(Rn)) o sum(Q(R)) ≡ sum(Q(R1)) + … + sum(Q(Rn))

Operasi R join S Jika dimisalkan relasi S difragmentasi berdasarkan fragmentasi relasi R, sedemikian sehingga R = R1∪ R2 dan S = S1∪ S2, setiap fragmen dari R hanya perlu digabungkan (di-join) dengan fragmen dari S yang bersesuaian dengannya.

Pemrosesan Join Query

Jika terdapat relasi-relasi pada tempat (situs) yang terpisah, misalnya relasi R di situs A1, S di A2, dan T di A3, query R join S join T yang dilakukan pada situs Ai, harus ditampilkan hasilnya pada situs Ai. Strategi pemrosesan query yang mungkin adalah sebagai berikut:

Meng-copy salinan semua relasi R, S, dan T ke situs Ai, kemudian melakukan join secara lokal di Ai

Melakukan join secara bertahap, sbb: 1. menyalin R ke A2 dan menghasilkan temp1 = R join S 2. temp1 disalin ke A3 dan menghasilkan temp2 = temp1 join T 3. temp2 sebagai hasil akhir dipindahkan ke Ai

Strategi join di atas dapat dipilih dengan mempertimbangkan faktor-faktor berikut:

jumlah data yang ditransfer (salin) biaya (resource) yang diperlukan untuk transfer data antarsitus kecepatan pemrosesan di tiap situs

Operasi join dapat pula dioptimalkan dengan menggunakan strategi semijoin. R semijoin S ≡ πattr(R) (R join S). Jika dimisalkan relasi R disimpan di A1 dan S di A2, kemudian dilakukan operasi R join S pada A1), strategi semijoin dapat diilustrasikan sebagai berikut:

1. lakukan proyeksi di A1 hanya dengan atribut yang dimiliki R dan S; temp1 := πattr(R) ∩

attr(s)(R) 2. hasil temp1 disalin ke A2 dan di-join dengan S; temp2 := S join temp1; perhatikan

bahwa temp2 adalah juga S semijoin R 3. temp2 disalin ke A1 dan dilakukan operasi R join temp2

Strategi semijoin di atas dapat meningkatkan efisiensi operasi join karena data yang

dipertukarkan melalui jaringan menjadi lebih kecil. Untuk membuat join lebih efisien, dapat

diimplementasikan program (semi-)join yang memiliki pemroses query (query processor)

untuk membuat partisi dari sederetan join seperti R1 join R2 join … Rn menjadi kumpulan

semijoin yang lebih efisien. Pemilihan semijoin dilakukan dengan mempertimbangkan

perpindahan data (resource dan waktu) beserta konstrain yang terkait, misalnya waktu

respon maksimum dari query.

I. LOCKING PADA BASIS DATA TERDISTRIBUSI

Untuk menangani penguncian obyek basis data terdistribusi pada beberapa tempat

digunakan cara :

Sentralisasi : satu tempat melakukan semua penguncian dan membuka

kunciuntuk semua obyek

Primary Copy : semua penguncian untuk suatu obyek dikerjakan pada

tempatprimary copy dari obyek tersebut. Untuk pembacaan membutuhkan

akses ketempat terkunci sebaik tempat dimana obyek disimpan.

Terdistribusi penuh : penguncian untuk suatu copy dilakukan pada

tempatdimana copy disimpan. Hal in akan mengunci semua tempat pada saat

menulisobyek.