You are on page 1of 13

DATABASE TERDISTRIBUSI

Teknologi data-base cenderung membentuk suatu konfigurasi sistem pengolahan data yang terpusat. Namun, secar teoritis data base dapat didistribusikan, di mana datanya didistribusikan ke berbagai tipe konfigurasi. Skema dan subschema diperiukan dalam sistem data-base. Kemudian untuk mendistribusikannya, perlu ditentukan di mana lokasinya, dan di mana mampping antar antar data-base dilaksanakan. Jadi data dapat berada di lokasi yang jauh, lalu sistem yang mencarinya. Software-nya menunjuk kepada logical recod ataufile yang dihasilkan oleh sistem manajemen data-base.

BENTUK DATA-BASE TERDISTRIBUSI


Diagram 1. Peripheral subschema Mesin peripheral tidak memiliki data-base. Subschema ada pada peripheral. Program yang dibuat oleh mesin menggunakan perintah-perintah untuk mengakses remote data. Diagram 2. Sistem komunikasi data-base. Mesin yang membuat program juga memiliki sistem manajemen data-base (DBMS). Sistem dapat berhubungan dengan DBMS lain bila memerlukan data yang tidak dirnilikinya. Di sini ada protokol (kumpulan aturan) untuk mentransfer record atau file antar DBMS.
162

Diagram 3. Penyimpan data di tempat jauh Physical data disimpan jauh dari DBMS. Beberapa alasan: untuk keamanan, audit dan archive, biaya storage yang lebih murah, pemakaian data bersama, information retrieval (pengaksesan data dalam jumlah besar). Diagram 4. Variasi dari diagram 3 Logical record diakses oleh komputer yang terlalu kecil untuk DBMS. Permintaan akses dikirim ke komputer dengan DBMS, atau ke host terdekat.

KOMPLEKSITAS
Masing-masing data-base menjadi lebih kecil, bersifat lokal, dan sederhana. Namun, software yang dibutuhkan sangat kompleks; perlu mempertimbangkan kebebasan data (data independence) secara logis, fisik, dan geografis.

LOKASI
Pencarian lokasi data bervariasi dari yang sangat mudah hingga yang sangat rumit, Cara sederhana untuk melokasikan data: pemakai menspesifikasikan lokasi data ketika hendak menggunakan data terebut. Cara yang lebih rumit yaitu pemakai menspesifikasikan informasi mengenai data untuk menentukan di mana lokasiknya. Pada konfigurasi hirarkis, data selalu disimpan di lokasi peripheral atau di pusat saja. Sedangkan pada konfigurasi horisontal, pemakai tidak mengetahui di mana data berada. Sistem harns mempunyai katalog/directory untuk mencari data. Directory dapat ditempatkan pada satu komputer tertentu, dan diakses melalui jaringan, atau difragmentasi, atau direplikasi pada setiap komputer. Kerugian pada cara yang terakhir: storage yang dibutuhkan, pemeliharan data agar selalu up-to-date, dan komputer tidak elalu dapat melakukan searching pada directory dengan cepat. Masalah lain, bila katalog difragmentasi atau diraplikasi, maka sistem harns mengetahui di mana katalog itu sendiri disimpan.

TRANSMISI DATAIFILE
Ada dua kemungkinan bila transaksi yang diproses oleh komputer yang tidak memiliki data yang diperlukan: 1. 2. data dikirim ke komputer pengolahan (yang melakukan transaksi). transaksi dikirim ke dan diolah di lokasi data.

163

Hal ini tergantung dari mesin dan software-nya. Namun yang kedua mungkin lebih baik bila data yang diperlukan sangat besar (menurunkan biaya transmisi, mempercepat pengolahan). Pertimbangan lain yaitu kadang-kadang suatu transaksi membutuhkan data yang berada pada banyak lokasi.

IMPLEMENTASI
Sistem ini tetap menggunakan DMS dengan tambahan software untuk directory, interface jaringan, dan penghindaran masalah seperti yang dibahas pada Bab 20. Setiap lokasi (Gambar 2) mempunyai manajer data lokal yang mengatur data hanya pada lokasinya, dan manajer data jaringan (global) yang bergantung pada manajer data lokal untuk mengakses data, dan menangani semua hal dalam distribusi data (menggunakan directory dan protokol). Manajer data jaringan dapat terpisah dari semua DBMS yang berhubungan atau ferintegrasi dengan keseluruhan arsitekturnya. Kebanyakan pembuat software membuat bentuk yang kedua. CODASYL mempunyai software layer : NDBMS (Network Data Base Management System) yang merupakan perluasan DBMS, yaitu yang rnengerjakan fungsi manajemen data jaringan, dan dapat berintegrasi dengan DBMS. Fungsi NDBMS: 1. Menerima permintaan pemakai dan menentukan node pengolahnya. 2. Mengakses directory jaringan untuk tujuan 1. 3. Mengkoordinasi penggunaan node-node, jika data ada pada banyak node. 4. Mengatur komunikasi antarr node NDBMS dan DBMS di node lain. 5. Menyediakan konversi, jika data-base-nya heterogen. SDD.1 (System for Distributed Data Bases) mempunyai struktur arsitektur yang dirancang untuk menempatkan data-base dalam suatu konfigurasi yang sangat besar dan bebas (worldwide). Untukjaringannya digunakan ARPANET, atau Jaringan packet-switching X.25. Semua DBMS yang dihbungkan kompatibel. SDD.l menunjang replikasi data dalam jurnlah besar yang bertujuan untuk mengurangi transmisi data. Struktur data-base yang digunakan relasional: terdiri dari matriks field dua-dimensi. Setiap matriks disebut relasi. Tidak ada struktur free, himpunan CODASYL, atau pointer ke pointer ke pointer. Beberapa field rangkap pada deskripsi data logis.

PENGOLAHAN QUERY
Sistem data-base terdistribusi biasanya menangani permintaan infomasi yang diambil dari data pada satu data-base. Hal ini yang dapat terjadi (SDD.1 dapat melakukannya), data perlu diambil dari banyak data-base. Ini membutuhkan perencanaan pengaksesan dan opersi yang lebih rumit. Penanganan yang diperlukan:
164

directory dari data pencegahan masalah yang dibahas pada Bab 2 Pengaksesan data yang hams optimal (paling tidak, efisien).

SISTEM HOMOGEN & HETEROGEN


Sistem yang homogen artizya sistem data-base terdistribusi yang menghubngkan DBMS yang bertipe sarna: kompatibel, struktur dan deskripsi datanya sarna. Sedangkan yang menghubungkan DBMS yang tidak kompatibel adalah sistem yang heterogen. Sistem heterogen membutuhkan standar yang dapat menginterkoneksi data-base dari pembuat yang berbeda.

PERTIMBANGAN
Pertimbangan 1 keuntungan yang diketahui secara teoritis, sangat sulit dicapai karena pengerjaannya rumit. Membuat sistem yang sederhana tentunya akan memudahkan pelaksanaannya. Pada sistem database terdistribusi, data disimpan pada beberapa komputer. Komputer dalam sebuah sistem terdistribusi berbeda dalarn ukuran dan fungsi. Prosesor mungkin mencakup mikrokomputer workstation, rninikomputer atau sistem komputer besar. Prosesorprosesor ini dapat dikaitkan dengan sejurnlah nama yang berbeda seperti: site, node, komputer dan sebagainya. Sistem database terdistribusi terdiri dari kumpulan tempat, masing-masing turut serta dalam pengeksekusian transaksi yang dapat mengakses data pada sebuah tempat atau beberapa tempat. Perbedaan utama antara centralized dan sistem database terdistribusi adalah pada sistem terpusat (centralized) data berada pada satu lokasi sedangkan pada database terdistribusi data berada pada beberapa lokasi. Struktur dari database terdistribusi Sistem database terdistribusi terdiri dari kumpulan tempat, masing-masing memelihara sistem database lokalnya, masing-masing tempat dapat memproses transaksi lokal. Beberapa konfigurasi dari sistem database terdistribusi : 1. Fully Connected Network

165

2.

Partially Connected Network

3.

Tree Structured Network

4.

Star Network

5.
166

Ring Network

Keuntungan

& kemgian

pada database terdistribusi

Ada beberapa alasan mengapa diperlukan sistem database terdistribusi, diantaranya : sharing of data (berbagai data), reliability & availabity, mempercepat pernrosesan query. Tetapi disamping keuntungan yang didapat, terdapat beberapa kerugian yaitu biaya pengembangan perangkat lunak, kemungkinan terjadinya bug dan adanya pengeluaran tambahan untuk pemrosesan. Keuntungan dari distribusi data

Keuntungan utama dari sistem database terdistribusi adalah kemampuannya untuk berbagi dan mengakses data dalam bentuk yang efisien dan dapat dipercaya. Berbagi data & kontrol distribusi Jika sejumlah tempat yang berbeda dihubungkan satu sarna lain, maka seorang user pada satu tempat dapat rnengakses data yang tersedia pada tempat yang lain. Keuntungan utama dari berbagi data adalah masing-masing tempat dapat memelihara tingkat pengontrolan terhadap data yang disimpa secara lokal. Pada sistem terpusat (centralized), database administrator dari lokasi pusat mengontrol databasenya. Pada sistem terdistribusi, ada database administrasi global yang bertanggung jawab terhadap keseluruhan sistem. Sebagian tanggung jawab didelegasikan ke database administrator lokal untuk setiap lokasi. Bergantung pada rancangan sistem database terdistribusi, setiap administrator lokal dapat mempunyai tingkat otonomi yang berbeda. Hal ini dikaitkan sebagai otonomi lokal (local otonomy). Reliability (keterandalan) & availability (keberadaan)

Jika sebuah lokasi rnengalami kegagalan, maka lokasi lain masih dapat melakukan proses, sehingga kegagalan dari suatu lokasi tidak akan rnelumpubkan sistem. Kecepatan pemrosesan query

Jika suatu query yang menyangkut data pada beberapa lokasi, maka query tersebut dapat dipecah menjadi beberapa subquery yang dapat dieksekusi secara paralel tersebut akan mempercepat pernrosesan query kepada user.

167

Kerugian dari distribusi data


• Biaya pengembangan Mernperbesar memungkinkan Meningkatkan perangkat lunak (bug). karena pengolahan terdistribusi im

terjadinya kesalahan adanya operasi paralel biaya pemrosesan .

Rancangan distributed, database Replikasi


Sistem memelihara beberapa beberapa lokasi yang berbeda. salinan (copy) dari relasi. Setiap salinan disimpan pada

Fragmentasi
Relasi dipartisikan berbeda. Terbagi I. 2. atas : horisontal : pemecahan relasi berdasarkan tuplenya. vertka : pemecahan relasi berdasarkan dekomposisi. ke dalam beberapa bagian, setiap bagian disimpan pada lokasi yang

Fragmentasi Fragmentasi

Replikasi dan fragmentasi


Rancangan ini merupakan kombinsi dari replikasi dan fragmentasi. Relasi dipartisikan ke dalam beberapa bagian sistem memelihara salinan yang identik untuk setiap bagian.

Replikasi Data
Jika relasi r direplikasi, maka sebuah salinan dari relasi disimpan pada dua atau lebih lokasi. Dalam kasus yang ekstrim, kita bisa juga memiliki replikasi penuh (full replicaton), dimana sebuah salinan dari relasi r dapat disimpan pada setiap lokasi dalam sistem terdapat sejumlah kelebihan dan kekurangan pada replikasi.

Availability, jika salah satu dari lokasi yang berisi relasi r mengalami

kegagalan, rnka relasi r dapat ditemukan pada lokasi lain, sehingga sistem dapat melanjutkan memproses query yang berisi r walaupun terjadi kegagalan.

Meningkatnya pemrosesan paralel, dalam hal sebagian besar pengaksesan

terhadap relasi r hanya menghasilkan pembacaan relasi maka beberapa lokasi dapat memproses query yang berisi r dalam bentuk paralel. Makin banyak replikasi r maka makin besar kemungkinan data yang dibutuhkan dapat ditemukan pada lokasi dimana transaksi dieksekusi. Sehingga replikasi data meminimalkan perpindahan data antar lokasi.

168

Meningkatnya overhead terhadap up-date, sistem harus menjamin bahwa selurnh replikasi dari sebuah relasi r adalah konsisten; jika tidak kekeliruan perhitungan akan terjadi. Oleh karena itu, bilamana r di-up-to-date maka up-datean tersebut harus disebarkan ke seluruh lokasi yang berisi replikasi. Akibatnya akan meningkatkan overhead. Sebagai contoh : pada sebuah sistem perbankan dimana informasi rekening direplikasikan pada berbagai lokasi, diperlukan jarninan bahwa saldo rekening sesuai pada selurnh lokasi. Secara umum replikasi meningkatkan unjuk kerja operasi baca dan meningkatkan keberadaan data terhadap transaksi baca. Tetapi transaksi up-date menimbulkan overhead yang lebih besar. Masalah pengontrolan konkurensi untuk mengatasi up-date oleh beberapa transaksi untuk replikasi data adalah jauh lebih kompleks dibanding pendekatan sentralisasi untuk mengontrol konkurensi tersebut. Kita dapat menyederhanakan manajemen replikasi dari relasi r dengan meilih salah satu replikasi sebagai salinan primer dari r (primary copy of r). Sebagai contoh pada sebuah sistem perbankan, sebuah rekening dapat dihubungkan dengan lokasi diman rekening tersebut sudah dibuka. Hal yang sarna pada sebuah sistem pemesanan tiket pesawat (airline reservation system), sebuah flight dapat dihubungkan dengan lokasi dimana flight tersebut berasal.

Fragmentasi data Jika relasir r difragmentasikan maka r dibagi ke dalam sejumlah fragment Q,r2, ..., rn. Fragmen ini berisi informasi yang cukup untuk menyusun kembali relasi r mula-mula. Seperti yang akan kita lihat, penyusunan kembali ini dapat terjadi melalui penerapan operasi union atau jenis khusus dari operasi join pada berbagai gragmen. Terdapat 2 buah skema yang berbeda untuk fragmentasi sebuah relasi : fragmentasi horisontal dan fragmentasi vertikal. Fragmentasi horisontal memecah (membagi) relasi dengan menetapkan setiap tuple r pada sebuah atau lebih fragmen. Fragmentasi vertikal membagi relasi dengan dekomposisi skema R dari relasi r dalam suatu cara tertentu. Kedua buah skema ini dapat diterapkan berturutturnt pada relasi yang sama, menghasilkan sejumlah fragmen yang berbeda. Perhatikan bahwa beberapa informasi mungkin muncul pada beberapa fragmen. Berikut ini akan dibahas berbagai cara untuk fragmentasi sebuah relasi. Disini akan diilustrasikan fragmentasi relasi deposit dengan skema Deposit-scheme

= (branch-name,

account-number, customer-name, balance).

169

Relasi deposit (Deposi-scheme) diperlihatkan pada tabel di bawah ini :

Branch~name
Hillside Hillside Valleyview Valleyview Hilside Valleyview Valley view

Account-number
305 226
177

Customer-name
Lowman Camp Camp Kahn Kahn Kahn Breen

Balance
500 336 205 10000 62 1123 750

402 155 408 639

Tabel 1. Sample Relasi Deposit

Fragmentasi Horisontal
Relasi r dipartisikan ke daIam sejumlah subset, rj , r2, ..., rn. Setiap tuple dari relasi r hams termasuk ke dalam saah satu fragmen, sehingga relasi mula-mula dapat disusun kembali jika diperlukan. Sebuah fragmen dapat ditentukan sebagai sustu seleksi (selection) pada relasi global r, yakni sebuah predikat Pi yang digunakan untuk menyusun fragmen rj sebagai berikut rj 0 Pi(r) penyusunan kembali relasi r dapat diperoleh dengan melakukan penggabungan (union) dari seluruh fragmen, yakni :
T = fI U f2 U ... U Tn sebagai gambaran, anggap bahwa relasi r merupakan relasi deposit seperti tabel 1. Relasi ini dapat dibagi ke dalam n fragmen yang berbeda, masing-rnasing berisi tupel account yang berasal dari sebuah cabang (branch) tertentu. Seandainya sistem perbankan hanya mempunyai dua cabang, Hillside dan Valley-view, maka ada dua fragmen yang berbeda.

deposit]

= obranch-name= "Hillside"

(deposit)

deposita = obranch-name= "Hillside" (deposit)

170

Kedua fragmen tersebut dapat dilihat pada tabel berikut :

Branch ..name
Hillside Hillside Hillside

Aecount ..number.
305 226
155 deposit 1

Customer.na1Iie .
Lowman Camp Kahn

Balance
500 336 82

r Brancb....ame
Valleyview Valley view Valleyview Valleyview

Balance
177 402 408 639
deposit 2 Tabel 2 : fragmentasi horisontal dari relasi deposit Camp Kahn Kahn Breen

205
1000

1123 700

Fragmen deposit 1 disimpan pada lokasi Hillside. Fragmen deposit2 disimpan pada lokasi Valley view . Pada contoh di atas fragmen adalah disjoint. Dengan mengubah predikat seleksi (selection predicate) yang digunakan untuk menyusun fragmen, kita dapat mempunyai sebuah tuple tertentu dari r yang muncul dari sebuah rj. Fragmentasi Vertikal Dalarn bentuk yang sederhana, fragmentasi vertikal adalah sarna seperti dekomposi. Fragmentasi vertikal dari r(R) mencakup ketentuanldefinisi beberapa subset RI, R2, ..., Rn dari R sedemikian rupa sehingga : R

= RI

R2

U ... U

Rn

setiap fragmen q dari r ditentukan oleh : rj r

= nRi(r) = fJ
Ixl

relasi r dapat disusun kembali dari fragmen-fragmen dengan melakukan natural join:
f2 lxt
... x

rn
171

Pada umurnnya fragmentasi vertikal dikerjakan dengan penambahan suatu atribut khusus yan disebut tuple-id pada skema R. Tuple-id adalah suatu physical atau logical address untuk sebuah tuple. Karena setiap tuple pada r harns mempunyai sebuah alamat yang unik (unique address) maka atribut tuple-id merupakan sebuah key untuk augmentasi scheme. Pada tabel 4 berikut, ditunjukkan relasi deposit 1 yang merupakan relasi deposit dari tabel 2 dengan penambahan tuple-id,

Branch-name
Hillside Hillside Valley view Valley view Hilside Valleyview Valleyview 305 226 177 402 155 408 639

Customer-name Lowman Camp Camp Kahn Kahn Kahn Breen

Balance
500 336 205 10000 62 1123 750

label 4. Relasi deposit dari label 2 dengan tuple-id


Tabel 5 berikut ini menunjukkan Dua relasi yang ditunjukkan deposit3 deposit4 sebuah dekomposisi vertikal dari Deposit-scheme dari :

pada tabel 5 dihasilkan

= ildeposU,SCheme.3(depositl)
= ildeposu,SCheme.ideposita) kembali relasi deposit mula-mula deposit4)
Tn-Li3d ~.--. ....

untuk menyusun

dari fragmen-fragmen,

kita melakukn

ildeposit-scheme-J{ deposit3

BranclJ..name.:. : .
Hillside Hillside Valley view Valleyview Hilside Valleyview Valleyview Lowman Camp Camp Kahn Kahn Kahn Breen

2
3 4

5
6

deposit 3
172

A,-eeount;'JJUlDber 305 226


177

Balante
500 336 205
10000

.... TupJe--id·
1

2 3
4

402 155 408 639

62 1123 750
deposit 4

5 6 7

Tabel 5. Fragmentasi vertikal dari relasi deposit Perhatikan ekspresi deposit3 Ixl deposit4

merupakan bentuk khusus dari natural join. Atribut join adalah tupel-id karena nilai tuple-id menyatkan sebuah alamat maka memungkinkan untuk menyamakan sebuah tuple dari deposit3 yang bersesuaian dengan tuple dari deposit4 dengan menggunakan alamat yang diberikan oleh nilai tuple-id. Alamat ini memberikan pencarian langsng (direct retrievel) terhadap tuple tanpa memerIukan sebuah index sehingga natural join dapat dihitung lebih efisien. Walaupun atribut tuple-id memudahkan implementasi dari pemecahan vertikal (vertical partitioning), tetapi yang penting adalah bahwa atribut ini tidak kelihatan pada user. Jika user diberikan akses ke tuple-id, maka menjadi tidak mungkin untuk sistem mengubah alamat tuple tersebut. Lagipula kemudahan akses terhadap alamat internal melanggar (bertolakbelakang dengan) gagasan data independence, salah atu sifat utama dari model relational. Mixed Fragmentation Relasi r dibagi ke dalam sejumlah fragmen relasi rl , r2, ..., rn. Setiap fragmen diperoleh sebagai hasil penggunaan skema fragmentasi horisontal atau skema fragmentasi vertikal pada relasi r, atau sebuah fragmen dari r yang diperoleh sebelumnya. Sebagai gambaran anggap bahwa relasi r adalah relasi deposit seperti pada tabel 1. Relasi ini pada awalnya dibagi kedalam fragmen deposit3 dan deposit4. Sekarang kita lebih lanjut dapat membagi fragmen deposit3 dengan menggunakan skema fragmentasi horisontal kedalam dua buah fragmen berikut : depositj, deposit3b

= abranch-name="Hillside,{deposit3)
=
(Jbranch-name="Valleyview,,(deposit3)
173

Jadi relasi r dibagi kedalam 3 buah fragmen yaitu deposit3a, deposit3b dan deposit4. Masing-masing menempati lokasi yang berbeda. Fragmentasi dan Replikasi Data Teknik yang dijelaskan sebelumnya untuk fragmentasi data dan replikasi data dapat diterapkan berturut-turut pada relasi yang sarna yakni sebuah fragmen dapat direplikasi, replikasi fragmen dapat difragmentasikan lebih Ianjut, dan seterusnya. Sebagai contoh: anggap sebuah system terdistribusi terdiri dari site SI, S2, ... , Sn. Kita dapat melakukan fragmen deposit kedalam deposit3a, deposit3b dan deposit4 dan sebagai contoh simpan sebuah copy dari deposit3a pada site SI, S2 dan S3. Sebua copy dari deposit3b pada site ~n dan slO, dan sebuah copy dari deposit pada site S2, S8 dan S9.

174

You might also like