Tugas Denny Trias Weblog

Kerjakan dengan sungguh-sungguh, bagikan ilmu dengan ikhlas, nanti Allah akan menambahkan keberkahan

Nama:Endah Kusuma Wardani NIM:E3110249 Prodi:MIF B

1. Apakah keuntungan DBMS terdistribusi dibandingkan dengan DBMS tersentralisasi?

Jawab:

Pada basis data terdistribusi (distributed database), data disimpan pada beberapa tempat (site), setiap tempat diatur dengan suatu DBMS (Database Management System) yang dapat berjalan secara independent. Sedangkan pada DBMS tersentralisasi, data disimpan di satu tempat (site). Properti yang terutama terdapat pada basis data terdistribusi :

o Independensi data terdistribusi : pemakai tidak perlu mengetahui dimana data berada (merupakan pengembangan prinsip independensi data fisik dan logika).

o Transaksi terdistribusi yang atomic : pemakai dapat menulis transaksi yang mengakses dan mengubah data pada beberapa tempat seperti mengakses transaksi local.

Untuk trend basis data terdistribusi saat ini, pemakai harus mengetahui dimana data ditempatkan, juga harus mengetahui dimana system yang tidak mendukung independensi data terdistribusi dan transaksi terdistribusi atomic. Kedua property tersebut harus mendukung system secara efisien. Untuk system terdistribusi yang bersifat global, properti-properti tersebut kemungkinan tidak tepat karena adanya administrasi yang terlalu berlebihan dalam membuat lokasi data yang transparan.

2. Gambarkan arsitektur Client-Server dan Collaboration-Server.

Jawab:

Terdapat tiga pendekatan alternatif untuk membagi fungsi pada proses DBMS yang berbeda. Dua arsitektur alternatif DBMS terdistribusi adalah Client/Server dan Collaboration Server.

o Client-Server

Sistem client-server mempunyai satu atau lebih proses client dan satu atau lebih proses server, dan sebuah proses client dapat mengirim query ke sembarang proses server seperti pada Gambar. Client bertanggung jawab pada antar muka untuk user, sedangkan server mengatur data dan mengeksekusi transaksi. Sehingga suatu proses client berjalan pada sebuah personal computer dan mengirim query ke sebuah server yang berjalan pada mainframe.

clip_image002

Gambar: Sistem client-server

Arsitektur ini menjadi sangat popular untuk beberapa alasan. Pertama, implementasi yang relatif sederhana karena pembagian fungis yang baik dank arena server tersentralisasi. Kedua, mesin server yang mahal utilisasinya tidak terpengaruh pada interaksi pemakai, meskipun mesin client tidak mahal. Ketiga, pemakai dapat menjalankan antarmuka berbasis grafis sehingga pemakai lebih mudah dibandingkan antar muka pada server yang tidak user-friendly.

Pada saat menulis aplikasi client-server, perlu diingat batasan antara client dan server dan untuk menjaga komunikasi antara keduanya yang berorientasi himpunan. Khususnya membuka kursor dan mengambil tupel pada satu waktu membangkitkan beberapa pesan dan dapat diabaikan.

o Collaboration Server

Arsitektur client-server tidak mengijinkan satu query mengakses banyak server karena proses client harus dapat membagi sebuah quer ke dalam beberapa subquery untuk dieksekusi pada tempat yang berbeda dan kemudian membagi jawaban ke subquery. Proses client cukup komplek dan terjadi overlap dengan server; sehingga perbedaan antara client dan server menjadi jelas. Untuk mengurangi perbedaan digunakan alternatif arsitektur client-server yaitu sistem Collaboration Server. Pada sistem ini terdapat sekumpulan server basis data, yang menjalankan transaksi data lokal yang bekerjasama mengeksekusi transaksi pada beberapa server seperti pada Gambar.

Jika server menerima query yang membutuhkan akses ke data pada server lain, sistem membangkitkan subquery yang dieksekusi server lain dan mengambil hasilnya bersama-sama untuk menggabungkan jawaban menjadi query asal.

clip_image004

Gambar: Collaboration System

3. Pada arsitektur collaboration server, jika suatu transaksi dikirim ke DBMS, akan digambarkan bagaimana aktivitas tempat yang berbeda dikoordinasi. Secara khusus, gambarkan aturan manager transaksi pada tempat berbeda, konsep atomic transaksi terdistribusi.

Jawab:

Arsitektur client-server tidak mengijinkan satu query mengakses banyak server karena proses client harus dapat membagi sebuah quer ke dalam beberapa subquery untuk dieksekusi pada tempat yang berbeda dan kemudian membagi jawaban ke subquery. Proses client cukup komplek dan terjadi overlap dengan server; sehingga perbedaan antara client dan server menjadi jelas. Untuk mengurangi perbedaan diguankan alternatif arsitektur client-server yaitu sistem Collaboration Server. Pada sistem ini terdapat sekumpulan server basis data, yang menjalankan transaksi data lokal yang bekerjasama mengeksekusi transaksi pada beberapa server seperti pada gambar.

clip_image004[1]

4. Definisikan fragmentasi dan repkasi dalam hal dimana data disimpan.

Jawab:

o Fragmentasi

Fragmentasi terdiri dari relasi yang dibagi ke relasi atau fragmen yang lebih kecil dan mengirim fragmen, pada beberapa tempat. Terdapat dua macam fragmentasi, fragmentasi horizontal dan fragmentasi vertikal. Pada fragmentasi horisontal, setiap fragmen terdiri dari sebuah subset baris dari relasi asal. Pada fragmentasi vertikal, setiap fragment terdiri dari sebuah subset kolom dari relasi asal. Fragmentasi horisontal dan vertikal diilustrasikan pada gambar

clip_image006

Gambar: Fragmentasi horisontal dan vertical

Bila sebuah relasi difragmentasi, harus meliputi relasi asal dari fragmen :

· Fragmentasi horisontal : union dari fragmen horisontal harus sama dengan relasi asal. Fragmen biasanya dibutuhkan disjoint.

· Fragmentasi vertikal : koleksi fragmen vertikal seharusnya dekomposisi lossless-join.

Untuk menjamin fragmentasi vertikal lossless-join, sistem harus menyediakan id tupel yang unik untuk setiap tupel dalam relasi asli. Jika kita berpilir bahwa relasi asal sebagai field yang berisi tambahan tupel-id sebagai kunci, field ini ditambahkan ke setiap fragmen vertikal. Sehingga dekomposisi dijamin lossless-join.

o Replikasi

Replikasi berarti bahwa kita menyimpan beberapa copy sebuah relasi atau fragmen relasi. Keseluruan relasi dapat direplikasi pada satu atau lebih tempat. Sebagai contoh, jika relasi R difragmentasi ke R1, R2 dan R3, kemungkinan terdapat hanya satu copy R1, dimana R2 adalah replikasi pada dua tempat lainnya dan R3 replikasi pada semua tempat. Hal ini dapat diilustrasikan pada gambar.

clip_image008

Gambar: Replikasi

Motivasi untuk replikasi adalah :

· Meningkatkan ketersediaan data : Jika sebuah tempat yang berisi replica melambat, kita dapat menemuka data yang sama pada tempat lain. Demikian pula, jika copy lokal dari relasi yang diremote tersedia, maka tidak terpengaruh saluran komunikasi yang gagal.

· Evaluasi query yang lebih cepat : query dapat mengeksekusi lebih cepat menggunakan copy local dari relasi termasuk ke remote site.

5. Apakah perbedaan antara replikasi synchronous dan asynchronous ?

Jawab:

Untuk melakukan pengubahan data terdistribusi, dilakukan replikasi transaksi yang dapat dilakukan dengan cara :

o Synchronous Replication : semua copy dari relasi yang dimodifikasi (fragmen) harus diubah sebelum modifikasi transaksi commit. Distribusi data dibuat transparan ke pemakai.

o Asynchronous Replication : Copy dari sebuah relasi yang dimodifikasi hanya diubah secara periodik, copy yang berbeda akan keluar dari sinkronisasi. User harus waspada pada distribusi data. Produk saat ini mengikuti pendekatan ini.

6. Definisikan distributed data independence.

Jawab:

Pada basis data terdistribusi, data disimpat pada beberapa lokasi dengan tujuan untuk membuat distribusi yang transparan. Pada basis data terdistribusi, distributed data independence (pemakai tidak perlu mengetahui lokasi data ).

7. Bagaimana teknik voting dan read-one write-all diimplementasikan pada replikasi synchronous ?

Jawab:

Terdapat dua teknik dasar untuk menjamin transaksi terlihat nilai yang sama dengan copy, yaitu :

o Voting : transaksi harus menulis mayoritas copy untuk memodifikasi sebuah obyek, harus membaca cukup copy untuk meyakinkan bahwa terlihat setidaknyasatu dari copy saat itu. Misalnya terdapat 10 copy, 7 penulisan untuk perubahan dan 4 copy untuk pembacaan. Setiap copy mempunyai nomor versi. Teknik ini biasanya tidak atraktif karena pembacaan adalah hal yang biasa.

o Read-any Write-all: penulisan lebih lambah dan pembacaan lebih cepat daripada teknik Voting. Teknik ini banyak digunakan pada synchronous replication

8. Berikan penjelasan bagaimana asynchronous replication diimplementasikan. Khususnya, jelaskan maksud capture dan apply.

Jawab:

Asynchronous replication mengijinkan memodifikasi transaksi commit sebelum semua copy diubah (dan pembaca tidak hanya melihat satu copy). Pemakai harus waspada copy yang keluar dari sinkronisasi untuk suatu periode waktu yang pendek. Teknik asynchronous replication menggunakan dua pendekatan, yaitu Primary Site dan Peer to Peer replication. Perbedaan kedua teknik ini terletak pada berapa banyak copy yang dapat diubah atau copy master.

o Peer to Peer replication.

Lebih dari satu copy dari suatu obyek dapat menjadi sebuah master. Perubahan ke copy master harus dipropaganda ke copy lain dengan cara yang berlainan. Jika dua copy master diubah dan terjadi suatu konflik, konflik harus dipecahkan (misalnya Tempat 1 : umur Joe mengubah 35, Tempat 2 : mengubah 36. Teknik ini bagus digunakan jika konflik tidak terjadi, misalnya setiap tempat master memiliki fragmen disjoin dan yang memiliki hak pengubahan dimiliki oleh satu master pada satu waktu.

o 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 in idapat dilakukan dalam dua langkah. Langkah pertama ambil pengubahan yang dibuat dengan transaksi commit, kemudian aplikasikan perubahan tersebut. Exactly one copy of a relation is designated the primary or master copy. Replicas at other sites cannot be directly updated.

Implementasi Primary Site pada Asynchronous Replication

Isu utama dalam mengimplementasikan primary site replication adalah menentukan barapa banyak perubahan ke primary copy dipropaganda ke copy sekunder. Perubahan biasanya dipropaganda dalam dua langkah yaitu Capture dan Apply. Perubahan dibuat dengan transaksi commit ke primary copy yang diidentifikasi selama langkah Capture dan dipropaganda ke copy sekunder selama langkah Apply.

Mengimplementasikan Langkah Capture

Langkah Capture diimplementasikan dengan satu dari dua pendekatan, yaitu Log-Based Capture dan Procedureal Capture.

o Log-Based Capture : log (menyimpan recovery) digunakan untuk membangkitkan Change Data Table (CDT). Jika hal ini dikerjakan ketika log terakhir ditulis ke disk, harus menghapus perubaan ke subsequent yang dihentikan transaksi.

o Procedural Capture: suatu prosedur yang secara otomatis dibangkitkan (trigger) mengerjakan capture.

Implementasi capture dengan Log-Based Capture lebih baik karena lebih murah dan lebih cepat tetapi harus memahami detail dari property log.

Mengimplementasikan Langkah Apply

Proses Apply pada tempat sekunder secara periodic mengakibatkan perubahan ke table CDT dari primary site, dan mengubah copy. Periode didefinisikan oleh timeratau pemakai/aplikasi. Replika dapat dipandang lebih dari relasi yang dimodifikasi.

Jika hal ini terjadi, replica terdiri dari pengubahan pandangan material yang naik sebagai perubahan relasi.

Log-Based Capter ditambah Apply yang terus-menerus akan meminimalkan delay pada propaganda perubahan. Procedureal Capture ditambah application-driven Apply merupakan cara yang fleksibel untuk perubahan proses.

9. Apakah perbedaan antara log-based dan procedureal untuk implementasi capture?

Jawab:

Langkah Capture diimplementasikan dengan satu dari dua pendekatan, yaitu Log-Based Capture dan Procedureal Capture.

o Log-Based Capture : log (menyimpan recovery) digunakan untuk membangkitkan Change Data Table (CDT). Jika hal ini dikerjakan ketika log terakhir ditulis ke disk, harus menghapus perubaan ke subsequent yang dihentikan transaksi.

o Procedural Capture: suatu prosedur yang secara otomatis dibangkitkan (trigger) mengerjakan capture.

Implementasi capture dengan Log-Based Capture lebih baik karena lebih murah dan lebih cepat tetapi harus memahami detail dari property log.

10. Mengapa pemberian nama unik pada obyek basis data lebih kompleks pada DBMS terdistribusi ?

Jawab:

Jika suatu relasi difragmen dan direplika, setiap partisi memerlukan nama global yang unik yang disebut relation name. Manajemen catalog terdistribusi diperlukan untuk menyimpan rekaman dimana data disimpan. Menyimpan data terdistribusi pada beberapa tempat dapat menjadi sangat kompleks. Kita harus menyimpan data bagaimana relasi difragmentasi dan replikasi, bagaimana fragmen relasi didistribusikan ke beberapa tempat dan dimana kopi dari fragmen disimpan. Nama setiap replika dari setiap fragmen harus ada. Untuk menyediakan otonomi lokal digunakan format sebagai berikut :

<local-name, birth-site>

Katalog setiap tempat menggambarkan semua obyek (fragmen, replika) pada suatu tempat dan menyimpan data replika dari relasi yang dibuat pada tempat tersebut. Untuk menemukan relasi, lihat pada katalog birth-site. Birth-site tidak pernah berubah meskipun relasi dipindahkan.

Single Post Navigation

Tinggalkan Balasan

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout /  Ubah )

Foto Google+

You are commenting using your Google+ account. Logout /  Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout /  Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout /  Ubah )

Connecting to %s

%d blogger menyukai ini: