sistem basisdata pert21

15
1 Basisdata Terdistributsi (Distributed Databases) –Konsep Basisdata Terdistribusi –Homogeneous DBMS –Heterogeneous DBMS –Sinkronisasi –Pemrosesan Query Terdistribusi

Upload: api-3806259

Post on 07-Jun-2015

596 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: Sistem Basisdata Pert21

1

Basisdata Terdistributsi (Distributed Databases)

–Konsep Basisdata Terdistribusi–Homogeneous DBMS–Heterogeneous DBMS–Sinkronisasi–Pemrosesan Query Terdistribusi

Page 2: Sistem Basisdata Pert21

2

Basisdata TerdistribusiKonsep Basisdata Terdistribusi•Sebuah sistem basisdata yang terdiri dari sistem-sistem yang terpisah (tidak berbagi komponen fisik apapun) •Sistem basisdata yang berjalan pada masing-masing tempat saling bebas satu sama lain •Suatu transaksi dapat mengakses data yang berada di lebih dari satu tempat (site) •Terdiri dari dua macam:

– Homogeneous Distributed Database– Heterogeneous Distributed Database

Page 3: Sistem Basisdata Pert21

3

Basisdata TerdistribusiKonsep Basisdata Terdistribusi•Pada homogeneous distributed database

– Semua site mempunyai software yang identik (sama) – Saling mengetahui keberadaan satu sama lain dan setuju untuk

bekerjasama dalam memroses permintaan user – Masing-masing site menyerahkan sebagian otonominya sebagai hak

untuk mengubah skema atau software – Terlihat oleh user sebagai sistem tunggal

•Pada heterogeneous distributed database– Site yang berbeda dapat menggunakan skema dan software yang

berbeda • Perbedaan dalam hal skema yang digunakan merupakan

permasalahan utama untuk pemrosesan query • Perbedaan dalam hal software yang digunakan merupakan

permasalahan utama untuk pemrosesan transaksi – Masing-masing site mungkin tidak menyadari satu sama lain dan hanya

memberikan sedikit fasilitas untuk melakukan kerja sama dalam pemrosesan transaksi

Page 4: Sistem Basisdata Pert21

4

Basisdata TerdistribusiKonsep Basisdata Terdistribusi• Pemodelan data yang digunakan diasumsikan menggunakan model

relasional • Penyimpanan data dalam distributed database bisa dilakukan

dengan dua pendekatan– Replikasi (Replication)

• Sistem memelihara beberapa salinan data, disimpan di tempat (site) yang berbeda, untuk mempercepat pengaksesan data dan mempertinggi toleransi sistem terhadap kegagalan.

– Fragmentasi (Fragmentation)• Relasi dibagi menjadi beberapa bagian dan di simpan di

tempat yang berbeda • Replikasi dan fragmentasi dapat digabungkan

– Sebuah relasi dipartisi menjadi beberapa bagian: kemudian sistem memelihara beberapa replika masing-masing fragment tersebut.

Page 5: Sistem Basisdata Pert21

5

Basisdata Terdistribusi

Replikasi Data• Sebuah relasi atau bagian dari sebuah relasi

dikatakan direplikasi jika dia disimpan secara berlebihan di dua atau lebih site.

• Replikasi penuh (Full replication) dari suatu relasi adalah keadaan di mana relasi di simpan di semua site.

• Fully redundant database adalah keadaan di mana masing-masing site mengandung salinan seluruh database.

Page 6: Sistem Basisdata Pert21

6

Basisdata TerdistribusiReplikasi Data (lanjt)• Keuntungan Replikasi

– Availability: kegagalan terhadap salah satu site yang mengandung relasi r tidak menyebabkan hilangnya relasi r karena terdapat replikanya.

– Parallelism: query terhadap r bisa diproses oleh beberapa node secara paralel.

– Reduced data transfer: relasi r tersedia secara lokal di masing-masing site yang mengandung replika r.

• Kerugian Replikasi– Menambah biaya (cost) melakukan update: masing-masing replika relasi r

harus di-update.

– Menambah kompleksitas concurrency control: Update yang dilakukan secara bersamaan (concurrent update) terhadap replika yang berbeda akan mengakibatkan data menjadi tidak konsisten kecuali ada makanisme concurrency control khusus yang diimplementasikan.

• Alternatif pemecahan : pilih satu copy (replika) sebagai primary copy dan terapkan operasi-operasi concurrency control terhadap primary copy

Page 7: Sistem Basisdata Pert21

7

Basisdata TerdistribusiFragmentasi Data

•Merupakan mekanisme untuk membagi-bagi relasi r menjadi bagian (fragment) r1, r2, …, rn yang mengandung informasi yang cukup untuk membangun ulang relasi r.

•Terdiri dari dua macam:

– Horizontal fragmentation: masing-masing tuple r diberikan kepada satu atau lebih fragment

– Vertical fragmentation: skema untuk relasi r dibagi menjadi beberapa skema yang lebih kecil

• Semua skema harus mengandung sebuah candidate key (atau superkey) untuk menjamin property lossless join.

• Sebuah atribut khusus, misal. Atribut tupple-id dapat ditambahkan terhadap masing-masing skema untuk bertindak sebagai candidate key.

Page 8: Sistem Basisdata Pert21

8

Basisdata TerdistribusiFragmentasi Data (lanjt)• Contoh: relasi account dengan skema berikut ini

Account-schema = (branch-name, account-number, balance)

Fragmentasi Horisontal Relasi Account

branch-name account-number balance

HillsideHillsideHillside

A-305A-226A-155

50033662

account1=branch-name=“Hillside”(account)

Page 9: Sistem Basisdata Pert21

9

Basisdata TerdistribusiFragmentasi Horisontal Relasi Account

branch-name account-number balance

ValleyviewValleyviewValleyviewValleyview

A-177A-402A-408A-639

205100001123750

account2=branch-name=“Valleyview”(account)

Page 10: Sistem Basisdata Pert21

10

Basisdata Terdistribusi• Fragmentasi Vertikal Relasi employee-info

branch-name customer-name tuple-id

HillsideHillsideValleyviewValleyviewHillsideValleyviewValleyview

LowmanCampCampKahnKahnKahnGreen

deposit1=branch-name, customer-name, tuple-id(employee-info)

1234567

account number balance tuple-id

50033620510000621123750

1234567

A-305A-226A-177A-402A-155A-408A-639

deposit2=account-number, balance, tuple-id(employee-info)

Page 11: Sistem Basisdata Pert21

11

Basisdata TerdistribusiManfaat Fragmentasi• Horisontal:

– Memungkinkan pemrosesan paralel pada fragmen suatu relasi– Memungkinkan sebuah relasi dipecah sedemikian sehingga tuple-

tuple ditempatkan di lokasi di mana mereka akan sering diakses • Vertikal:

– Memungkinkan tuple-tuple dipecah sedemikian sehingga masing-masing bagian tuple tersebut disimpan di tempat di mana dia akan sering di akses

– Atribut tuple-id memungkinkan penggabungan secara efisien fragmen-fragmen vertikal tersebut

– Memungkinkan pemrosesan secara paralel pada sebuah relasi• Fragmentasi vertikal dan horisontal dapat digabungkan

– Suatu fragmen (baik vertikal maupun horisontal) dapat lebih jauh difragmentasi menjadi fragmen-fragmen yang lebih kecil sesuai dengan kebutuhan

Page 12: Sistem Basisdata Pert21

12

Basisdata TerdistribusiTransparansi Data (data transparency)• Data transparency: Tingkatan di mana pengguna sistem tidak boleh

mengetahui detail tentang bagaimana dan di mana item-item data disimpan dalam sistem terdistribusi

• Beberapa bentuk transparansi data:– Fragmentation transparency

Para pengguna tidak perlu tahu bagaimana suatu relasi difragmentasi

– Replication transparencyPara pengguna tidak perlu memikirkan objek-objek data mana saja yang telah digandakan (direplikasi), atau di mana salinan data tersebut ditempatkan

– Location transparencyPara pengguna tidak perlu tahu di mana lokasi fisik suatu data. Sistem dapat menemukan data apapun selama diberikan pengenal terhadap data tersebut oleh transaksi yang dilakukan pengguna.

Page 13: Sistem Basisdata Pert21

13

Basisdata Terdistribusi

Kriteria Penamaan Item-item Data1. Tiap-tiap item data harus mempunyai sebuah

nama yang unik yang berlaku dalam sistem secara luas.

2. Harus memungkinkan pencarian lokasi data secara efisien

3. Harus memungkinkan untuk mengubah lokasi item data secara transparan

4. Masing-masing site harus mampu menciptakan item data yang baru secara otonom

Page 14: Sistem Basisdata Pert21

14

Basisdata Terdistribusi

Skema Terpusat - Name Server• Structure:

– Nama diberikan oleh name server– Masing-masing site hanya memelihara item-item data yang

bersifat lokal – Item data yang tidak bersifat lokal dicari melalui name server

• Keuntungan:– Memenuhi kriteria penamaan 1-3

• Kerugian:– Tidak memenuhi kriteria penamaan 4– name server merupakan potensi terjadinya performance

bottleneck– Jika terjadi failure terhadap name server maka seluruh sistem

dianggap gagal (single point of failure)

Page 15: Sistem Basisdata Pert21

15

Basisdata Terdistribusi

Penggunaan Alias• Merupakan alternatif terhadap skema terpusat (centralized

scheme): Masing-masing site memberi awalan pengenal site-nya pada nama (data) yang dibangkitkan olehnya, mis., site 17.account.– Memenuhi kriteria penamaan yang unik, dan menghindari

permasalahan-permasalahan yang berkaitan dengan pengendalian terpusat.

– Tetapi, gagal memenuhi kriteria network transparency.• Solusi: buatlah seperangkat alias untuk item-item data;

Simpan pemetaan alias-alias tersebut terhadap data yang sebenarnya di masing-masing site.

• Dengan demikian, pengguna (user) tidak akan menyadari lokasi fisik dari suatu item data, dan tidak terpengaruh jika item data dipindahkan dari satu site ke site lainnya.