You are on page 1of 16

Tugas

PERANCANGAN DATABASE TERDISTRIBUSI


DI S U S U N OLEH : ISMAPIH (0711045)

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER

STMIK BUDIDARMA
MEDAN

DATABASE TERDISTRIBUSI

1. PENGERTIAN DATABASE TERDISTRIBUSI Yaitu kumpulan data yang digunakan bersama yang saling terhubung secara logic tetapi tersebar secara fisik pada suatu jaringan computer. Karakteristik database terdistribusi yaitu : 1. Kumpulan data yang digunakan bersama secara logic tersebar pada sejumlah Komputer yang berbeda 2. Komputer komunikasi. 3. Data pada masing-masing situs dapat menangani aplikasiaplikasi local secara otonom. 4. Data pada masing situs di bawah kendali satu DBMS. 5. Masing-masing DBMS berpartisipasi dalam sedikitnya satu aplikasi global. 1.1 Bentuk-bentuk Topologi Distribusi Data : a. Fully Connected Network Kalau salah satu node rusak, yang lainnya masih dapat berjalan (biaya mahal), kontrol manajemen tidak terjamin. b. Partialy Connected Network Reliability rendah, biaya dapat ditekan Kontrol manajemen tidak terjamin. c. Tree Structured Network Bersifat sentral, control manajemen lebih terjamin Kalau node pusat rusak, semua akan rusak. (setiap proses dimulai dari bawah).
Tugas : ISMAPIH (0711045)

yang

dihubungkan

menggunakan

jaringan

d.

Ring Network Rusak satu, yang lain masih berjalan Kontrol manajemen kurang terjamin karena bersifat dsesentralisasi.

e.

Star Network Rusak satu, yang lain masih berjalan Kontrol manajemen kurang terjamin karena bersifat dsesentralisasi.

2. KEUNTUNGAN DATA BASE TERDISTRIBUSI 1. Pengawasan distribusi dan pengambilan data Jika beberpa site yang berbeda dihubungkan, seorang pemakai yang berada pada satu site dapat mengakses data pada site lain. Contoh : sistem distribusi pada sebuah bank memungkinkan seorang pemakai pada salah satu cabang dapat mengakses data cabang lain. 2. Reliability dan availability Sistem distribusi dapat terus dari site menerus sendiri berfungsi atau mata dalam rantai menghadapi kegagalan

komunikasi antar site. 3. Kecepatan pemrosesan query Contoh : jika site-site gagal dalam sebuah sistem terdistribusi, site lainnya dapat melanjutkan operasi jika data telah direplikasi pada beberapa site.

Tugas : ISMAPIH (0711045)

4. Otonomi lokal Pendistribusian sistem mengijinkan sekelompok individu dalam sebuah perusahaan untuk melatih pengawasan lokal melalui data mereka sendiri. Dengan kemampuan ini dapat mengurangi ketergantungan pada pusat pemrosesan. 5. Efisiensi dan fleksibel Data dalam sistem distribusi dapat disimpan dekat dengan titik diman data tersebut dipergunakan. Data dapat secara dinamik bergerak atau disain, atau salinannya dapat dihapus. 3. KERUGIAN DATABASE TERDISTRIBUSI 1. Harga software mahal Hal ini disebabkan sangat sulit untuk membuat sistem database distribusi. 2. Kompleksitas Site-site beroperasi secara paralel sehingga lebih sulit untuk menjamin kebenaran dan algoritma. Adanya kesalahan mungkin tak dapat diketahui. 3. Biaya pemrosesan tinggi Perubahan pesan dan penambahan perhitungan dibutuhkan untuk mencapai koordinasi antar site. 4. Sulit menjaga keutuhan data Banyaknya pengaksesan data membuat kurangnya sekuritas terhadap data yang telah terdistribusi. 5. Kurangnya standard

Tugas : ISMAPIH (0711045)

Tidak ada tool atau metodologi untuk membantu user mengubah database terpusat ke database terdistribusi. 6. Kurang pengalaman Sistem DB terdistribusi bertujuan umum (generalpurpose) tidak sering digunakan. Yang digunakan adalah sistem prototype yang dibuat untuk satu aplikasi (misal : reservasi pesawat) 7. Perancangan basis data lebih kompleks Sebelumnya menyebabkan menjadi masalah keuntungan. sinkronisasi Tetapi dan karena koordinasi, distribusi kontrol

terdistribusi menjadi kerugian atau kekurangan di masalah ini. 4. FRAGMENTASI DATA Adalah relasi dipartisikan ke dalam beberapa bagian, setiap bagian disimpan pada lokasi yang berbeda Alasan-alasan diperlukannya fragmentasi, yaitu : 1. Penggunaan Umumnya aplikasi bekerja dengan tabel views dibandingkan dengan semua hubungan data. Oleh karenanya untuk distribusi data , yang cocok digunakan adalah bekerja dengan subset dari sebuah relasi sebagai unit dari distribusi. 2. Efisiensi Data disimpan dekat dengan yang menggunakan. Dengan tambahan data yang tidak sering digunakan tidak usah disimpan.

3. Pararelisme Dengan queri fragmen-fragmen dioperasikan konkurensi tersebut pada atau sebagai unit dari suatu ini distribusi , sebuah transaksi dapat di bagi kedalam beberapa sub yang fragmen tersebut. dalam Hal meningkatkan
Tugas : ISMAPIH (0711045)

paralelisme

sistem, 5

sehingga memeperbolehkan transaksi mengeksekusi secara aman dan paralel. 4. Keamanan Data yang tidak dibutuhkan oleh aplikasi tidak disimpan dan konsukuen tidak boleh di ambil oleh pengguna yang tidak mempunyai otoritas. Kerugian fragmetasi yaitu : 1. Kinerja Cara kerja dari aplikasi yang membutuhkan data dari beberapa lokasi fragmen di beberapa situs akan berjalan dengan lambat. 2. Integritas Pengawasan inteegritas akan lebih sulit jika data dan fungsional ketergantungan di fragmentasi dan dilokasi pada beberapa situs yang berbeda. Beberapa peraturan yang harus diidentifikasikan ketika mendefinisikan frgment : 1. Kondisi lengkap Jika relasi contoh R di dekomposisi ke dalam fragment R1 , R2 ,R3 , Rn , masing-masing data yang dapat ditemukan pada relasi R harus muncul paling tidak di salah satu fragmen. Aturan ini di perlukan untuk meyakinkan bahwa tidak ada data yang hilang selama fragmentasi 2. Rekonstruksi Jika memungkinkan untuk mendefinisikan operasional relasi yang akan dibentuk kembali relasi R dari fragmen-fragmen. Aturan ini untuk meyakinkan bahwa fungsional ketergantungan di perbolehkan

Tugas : ISMAPIH (0711045)

3. Disjointness Jika item data di muncul pada fragment Ri , maka tidak boleh muncul di fragmen yang lain. Vertikal fragmentasi diperbolehkan untuk aturan yang satu ini, dimana kunci utama dari atribut harus diulanmg untuk melakukan rekonstruksi. Aturan ini untuk meminimalkan redudansi.

DESAIN DATABASE TERDISTRIBUSI 2.1 Desain Database Terdistribusi. Desain Database Terdistribusi ini berarti meliputi bagaimana letak data dan program dalam suatu jaringan. Desain ini terbagi atas 2 distribusi aplikasi, diantaranya: a. Distribusi dari Distributed DBMS software. b. Distribusi program aplikasi yang memerlukan DDBMS tersebut. Adapun organisasi database terdistribusi ini dapat ditinjau dari 3 sisi, diantaranya: 2.1.1 Level Sharing. Pada sisi terdapat 3 kemungkinan terjadinya suatu database terdistribusi, diantaranya adalah sbb: No Sharing: Setiap aplikasi dan datanya dieksekusi di satu site dan tidak ada komunikasi dengan program lain atau akses data dari site lain. Data Sharing: Semua program ada di seluruh site, sementara data tidak. Permintaan user akan dieksekusi di site dimana user mengakses awal, dan data yang diperlukan akan dikirimkan ke site tersebut melalui jaringan. Data Plus Program Sharing: Program dan Data, keduanya disharing. Artinya, program yang dieksekusi disatu tempat dapat meminta layanan dari program lain di site berbeda
Tugas : ISMAPIH (0711045)

dan ada kemungkinan akses data dari site yang berbeda lagi. 2.1.2 Pola Akses. Terdapat 2 kemungkinan, yaitu static dan dynamic. Akan lebih mudah dalam perencanaan dana manajemennya kalau pola aksesnya adala static. Tapi kenyataannya, susah untuk menemukan pola akses yang static ini dalam aplikasi terdistribusi. Semua dinamic, tapi pertanyaannya sedinamic apa?, ini berkaitan dengan hubungan antara query processing dengan disain database terdistribusi. 2.1.3 Level pengetahuan tentang pola akses. Pada level ini, pertama adalah perancang sama sekali tidak mempunyai pengetahuan tentang bagaimana pola user mengakses database. Ini kemungkinan yang teoritis sekali, tapi sangat susah untuk mendisain sistem tanpa tahu pola akses user terhadap suatu database. Selain itu, ada 2 kemungkinan dimana perancang menggunakan pengetahuan tentang pola akses user, yaitu: a. b. Complete Information: Pola akses user dapat diprediksi dengan benar. Partial Information: Sebagian pola akses user saja yang dapat diprediksi.

2.2

Pendekatan dalam perancangan database. Dalam desain database terdistribusi terdapat 2 bentuk

pendekatan, diantaranya: a. Pendekatan secara Top Bottom. Pada pendekatan secara Top Bottom dapat digambarkan seperti skema seperti dibawah ini:

Tugas : ISMAPIH (0711045)

b. Pendekatan secara Bottom Up, Berawal dari adanya beberapa database, tugas perancang adalah mengintegrasikan beberapa database itu dalam satu database. Bottom-Up approach sangat cocok untuk kondisi seperti ini. Jadi, titik awal dari perancangan secara Bottom-Up adalah Individual Local Conceptual Schema. Proses perancangannya berupa proses integrasi local schema menjadi global conceptual schema. 2.3 Fragmentasi Fragmentasi merupakan relasi dipartisikan ke dalam beberapa bagian, setiap bagian disimpan pada lokasi yang berbeda.
Tugas : ISMAPIH (0711045)

Ada beberapa hal yang terlibat dalam penyimpanan relasi pada database terdistribusi di antaranya fragmentasi data. Fragmentasi data memisahkan relasi ke dalam beberapa fragment. Tiap-tiap fragment disimpan pada site yang berbeda. Pemisahan relasi global ke dalam fragment-fragment dapat disusun dengan menggunakan tiga jenis yang berbeda dari fragmentasi yaitu : fragmentasi horizontal, fragmentasi vertikal, dan fragmentasi campuran. Dalam relasional seluruh (dalam jenis hal ini fragmentasi, ekspresi digunakan sebuah dalam aljabar fragment sebuah relasional) dapat bahasa yang didefinisikan dengan sebuah

mengambil relasi global sebagai operan dan memproduksi fragment sebagai hasil. Pada fragmetasi data, terdapat beberapa peraturan yang harus diikuti ketika mendefinisikan fragment diantaranya: Kondisi lengkap : Seluruh data dari relasi global harus dipetakan ke dalam fragment. Fragmentasi tidak akan terjadi jika sebuah data item yang dimiliki oleh relasi global, tidak dimiliki oleh beberapa fragment. Kondisi penyusunan kembali : Harus selalu mungkin untuk menyusun kembali tiap-tiap relasi global dari fragmentfragmentnya. Hanya fragment-fragment yang disimpan dalam database terdistribusi yang dapat membangun relasi global kembali melalui operasi penyusunan kembali jika diperlukan. Kondisi disjoin : Kondisi ini sangat berguna terutama untuk fragmentasi horizontal, sementara untuk fragmentasi vertikal kondisi ini kadang-kadang dilanggar. 2.3.1 Fragmentasi Horizontal. Fragmentasi horizontal berisikan tuple-tuple yang dipartisi dari sebuah relasi global ke dalam sejumlah subset r1, r2, ... , rn. Tiap-tiap subset berisikan sejumlah tuple dari r. Tiap-tiap tuple dari r harus memiliki satu fragment, sehingga relasi yang asli
Tugas : ISMAPIH (0711045)

10

dapat disusun kembali. Sebuah fragment dalam fragmentasi horizontal dapat didefinisikan sebagai sebuah seleksi pada relasi global r. Oleh karena itu sebuah predikat Pi digunakan untuk menyusun fragment ri seperti berikut : ri = i(r) Penyusunan kembali dari relasi r dapat diperoleh dengan mengambil gabungan dari seluruh fragment :

Contoh : Relasi Deposit Deposit-Scheme(branch_name, customer_name, balance) account_number,

Untuk menggambarkan ini, relasi r adalah relasi deposit dari tabel di atas. Relasi ini dapat dibagi ke dalam n fragment yang berbeda, di mana berisikan tuple-tuple dari rekening yang dimiliki oleh sebuah cabang utama. Jika bank hanya memiliki dua cabang, Hillside dan Valleyview maka ada dua fragment yang berbeda. Kemudian fragmentasi horizontal dapat diuraikan sbb : Deposit1 = branch-name = "Hillside" (Deposit) Deposit2 = branch-name = "Valleyview" (Deposit)
Tugas : ISMAPIH (0711045)

11

Fragment deposit1 disimpan pada site Hiilside dan fragment deposit2 disimpan pada site Valleyview. Adapun dua fragment ini digambarkan sbb:

Fragmentasi

di

atas

memenuhi

kondisi

lengkap

jika

"Hillside" dan "Valleyview" adalah harga-harga yang mungkin dari atribut branch-name. Kondisi penyusunan kembali sangat mudah untuk diperiksa karena selalu mungkin untuk disusun kembali relasi global deposit melalui operasi berikut : Deposit = deposit1 U deposit2 Begitu juga untuk kondisi disjoin. Kita akan memakai predikat yang digunakan dalam operasi seleksi yang mendefinisikan sebuah fragment kualifikasinya : q1 : branch-name = "Hillside" q2 : branch-name = "Valleyview" 2.3.2 Fragmentasi Vertikal. Dalam fragmentasi vertikal, ri = i(r) tiap-tiap fragment ri

didefinisikan sebagai :

Tugas : ISMAPIH (0711045)

12

Relasi global dapat disusun kembali dari fragment-fragment dengan mengambil natural join: r = r1 r2 r ..... rn. Fragmentasi vertikal disempurnakan dengan menambahkan sebuah atribut yang disebut tuple identifier (tuple-id) ke dalam skema r. Sebuah tuple-id adalah sebuah alamat logik dari sebuah tuple. Tiap-tiap tuple dalam r harus memiliki sebuah alamat yang unik, atribut akan tuple-id sebagai ke kunci untuk seluruh penambahan skema. Kunci tersebut direplikasikan dalam fragment dengan tujuan untuk penyusunan kembali relasi global. Kita dapat melihat bahwa dalam fragmentasi vertikal motivasi utama untuk memiliki fragment-fragment yang disjoin adalah tidak sepenting dalam fragmentasi horizontal. Contoh Pada seperti pada fragmentasi relasi horizontal, maka pemecahannya adalah sebagai berikut: fragmentasi vertikal, deposit memerlukan penambahan tuple-id. Berikut ini adalah relasi deposit dengan penambahan tuple-id :

Sebuah fragmentasi vertikal dari relasi ini dapat diuraikan sebagai berikut : Deposit3 = branch-name,customer-name,tuple-id (deposit) Deposit4 = account-number,balance,tuple-id (deposit)

Tugas : ISMAPIH (0711045)

13

Untuk menyusun kembali relasi deposit yang asli dari fragment-fragment, kita dapat menggunakan : Deposit-scheme(deposit3 deposit4) Atribut join dari ekspresi di atas adalah tuple-id. Karena tuple-id menggambarkan sebuah alamat, hal ini memungkinkan untuk memasangkan sebuah tuple dari deposit3 yang berhubungan dengan tuple dari deposit4 dengan menggunakan alamat yang diberikan oleh harga tuple-id.

2.3.3

Fragmentasi Campuran. Pada fragmentasi ini relasi r (global) dibagi-bagi ke dalam

sejumlah relasi fragment r1, r2, r3, ..., rn. Tiap-tiap fragment diperoleh sebagai hasil baik dari skema fragmentasi horizontal ataupun skema fragmentasi vertikal pada relasi r, atau dari sebuah fragment r yang diperoleh sebelumnya. Cara yang sederhana untuk membangun fragmentasi campuran sebagai berikut : 1. Menggunakan fragmentasi horizontal pada fragmentasi vertikal.

Tugas : ISMAPIH (0711045)

14

2. Menggunakan fragmentasi vertikal pada fragmentasi horizontal. Contohnya seperti pada tabel fragmentasi vertikal, misalkan relasi r adalah relasi deposit dari gambar 1 di atas. Relasi ini dibagi ke dalam fragment deposit3 dan deposit4 seperti didefinisikan di atas. Selanjutnya kita dapat membagi fragment deposit3 menjadi fragment deposit3a dan fragment deposit3b dengan menggunakan skema fragmentasi horizontal ke dalam dua fragment berikut : Deposit3a = branch-name = "Hillside" (Deposit3) Deposit3b = branch-name = "Valleyview" (Deposit3)

2.4 Replikasi. Replikasi ini 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.
Tugas : ISMAPIH (0711045)

15

Tugas : ISMAPIH (0711045)

16

You might also like