Basisdata Terdistributsi (Distributed Databases) –Konsep Basisdata Terdistribusi –Homogeneous DBMS –Heterogeneous DBMS –Sinkronisasi –Pemrosesan Query Terdistribusi
1
Basisdata Terdistribusi
Konsep Basisdata Terdistribusi •Sebuah sistem basisdata yang terdiri dari sistem-sistem yang terpisah (tidak berbagi komponen fisik apapun) •Sistem basisdata yang berjalan pada masingmasing 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 2
Basisdata Terdistribusi Konsep 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 sama3 dalam pemrosesan transaksi
Basisdata Terdistribusi Konsep 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. 4
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. 5
Basisdata Terdistribusi Replikasi 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
6
Basisdata Terdistribusi
Fragmentasi 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 7 bertindak sebagai candidate key.
Basisdata Terdistribusi
Fragmentasi Data (lanjt) • Contoh: relasi account dengan skema berikut ini Account-schema = (branch-name, account-number, balance) Fragmentasi Horisontal Relasi Account branchname Hillside Hillside Hillside
accountnumber A305 A226 A155
balance 500 336 62
account1=σbranchname=“Hillside”(account)
8
Basisdata Terdistribusi Fragmentasi Horisontal Relasi Account
branchname Valleyview Valleyview Valleyview Valleyview
accountnumber A177 A402 A408 A639
balance 205 10000 1123 750
account2=σbranchname=“Valleyview”(account)
9
•
Basisdata Terdistribusi
Fragmentasi Vertikal Relasi employee-info
branchname Hillside Hillside Valleyview Valleyview Hillside Valleyview Valleyview
customername Lowman Camp Camp Kahn Kahn Kahn Green
tupleid 1 2 3 4 5 6 7
deposit1=Πbranchname, customername, tupleid(employeeinfo) account number A305 A226 A177 A402 A155 A408 A639
balance 500 336 205 10000 62 1123 750
tupleid 1 2 3 4 5 6 7
deposit2=Πaccountnumber, balance, tupleid(employeeinfo)
10
Basisdata Terdistribusi Manfaat 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 11 dengan kebutuhan
Basisdata Terdistribusi Transparansi 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 transparency Para pengguna tidak perlu memikirkan objek-objek data mana saja yang telah digandakan (direplikasi), atau di mana salinan data tersebut ditempatkan – Location transparency Para 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. 12
Basisdata Terdistribusi Kriteria Penamaan Item-item Data 2. 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 13
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) 14
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 ke15 site lainnya.