Professional Documents
Culture Documents
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.
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).
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.
3.
4.
Star Network
5.
166
Ring Network
Keuntungan
& kemgian
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
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 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.
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,
169
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
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)
170
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
= 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
Balance
500 336 205 10000 62 1123 750
= 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
Balante
500 336 205
10000
.... TupJe--id·
1
2 3
4
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