sistem basisdata pert21
TRANSCRIPT
1
Basisdata Terdistributsi (Distributed Databases)
–Konsep Basisdata Terdistribusi–Homogeneous DBMS–Heterogeneous DBMS–Sinkronisasi–Pemrosesan Query Terdistribusi
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
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
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.
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.
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
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.
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)
9
Basisdata TerdistribusiFragmentasi Horisontal Relasi Account
branch-name account-number balance
ValleyviewValleyviewValleyviewValleyview
A-177A-402A-408A-639
205100001123750
account2=branch-name=“Valleyview”(account)
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)
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
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.
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
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)
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.