Dalam sebuah database terdistribusi, database disimpan pada beberapa komputer. Komputer-komputer dalam sebuah sistem terdistribusi berhubungan satu sama lain melalui bermacam-macam media komunikasi seperti high-speed buses atau telephone line.
Sebuah sistem database terdistribusi berisikan sekumpulan site, di mana tiap-tiap site dapat berpartisipasi dalam pengeksekusian transaksi-transaksi yang mengakses data pada satu site atau beberapa site. Tiap-tiap site dapat memproses transaksi lokal yaitu sebuah transaksi yang mengakses data pada
satu site di mana transaksi telah ditentukan.
Sebuah site juga dapat mengambil bagian dalam mengeksekusi transaksi global yaitu transaksi yang mengakses data pada site yang berbeda di mana transaksi telah ditentukan, atau transaksi yang mengakses data pada beberapa site yang berbeda.
Ada 2 aspek penting dari DDB :
1. Distribusi : data tidak disimpan pada tempat (prosesor) yang sama, sehingga DDB dapat dibedakan dari database tunggal, sentralisasi
2. Korelasi logika : data memiliki property yang berhubungan sehingga DDB dapat dibedakan dari sekumpulan database local atau file yang disimpan pada tempat yang berbeda pada jaringan komputer.
Sebuah sistem database terdistribusi berisikan sekumpulan site, di mana tiap-tiap site dapat berpartisipasi dalam pengeksekusian transaksi-transaksi yang mengakses data pada satu site atau beberapa site. Tiap-tiap site dapat memproses transaksi lokal yaitu sebuah transaksi yang mengakses data pada
satu site di mana transaksi telah ditentukan.
Sebuah site juga dapat mengambil bagian dalam mengeksekusi transaksi global yaitu transaksi yang mengakses data pada site yang berbeda di mana transaksi telah ditentukan, atau transaksi yang mengakses data pada beberapa site yang berbeda.
Ada 2 aspek penting dari DDB :
1. Distribusi : data tidak disimpan pada tempat (prosesor) yang sama, sehingga DDB dapat dibedakan dari database tunggal, sentralisasi
2. Korelasi logika : data memiliki property yang berhubungan sehingga DDB dapat dibedakan dari sekumpulan database local atau file yang disimpan pada tempat yang berbeda pada jaringan komputer.
Site-site dalam database terdistribusi dihubungkan secara fisik dengan berbagai cara. Beberapa topologi digambarkan sebagai sebuah graph yang simpulsimpulnya bersesuaian dengan site. Sebuah edge dari simpul A ke simpul B bersesuaian dengan sebuah hubungan langsung antara dua site. Beberapa konfigurasi (bentuk) digambarkan sebagai berikut :
Fully Connected network :
Keuntungan : kalau salah satu node rusak, yang lainnya masih dapat berjalan (tetapi biaya mahal).
Kerugian : control management tidak terjamin.
Partially connected network :
Keuntungan : reliability rendah, biaya dapat ditekan
Kerugian : control management tidak terjamin.
Tree structure network :
Keuntungan : bersifat sentral, control management lebih terjamin.
Kerugian : kalau node pusat (A) rusak, semua akan rusak.
Cat : setiap proses dimulai dari bawah.
Ring Network (LAN) :
Keuntungan : rusak satu, yang lain masih berjalan.
Kerugian : Control management kurang terjamin karena bersifat desentralisasi.
Star Network (LAN) :
Keuntungan : - control management lebih terjamin, karena bersifat sentral.
- reliability rendah.
Kerugian : kalau pusat rusak, yang lainnya rusak.
SistemManajemen Database Terdistribusi (Distributed DBMS) merupakan sistem software yang dapat memelihara DDBS dan transparan ke user. DDBS bukan merupakan kumpulan dari file yang dapat disimpan tersendiri di setiap node dari jaringan komputer. Untuk membentuk DDBS, file tidak seharusnya berelasi secara logika saja, tetapi perlu ada struktur di antara file dan akses data bukan merupakan hal yang khusus.
Keuntungan dari DDBS
- Otonomi local : karena data didistribusikan, user dapat mengakses dan bekerja dengan data tersebut sehingga memiliki kontrol local.
- Meningkatkan kinerja : karena setiap site menangani hanya bagian dari DB,CPU dan I/ O tidak seberat seperti DB pusat. Data yang dipakai untukt ransaksi disimpan dalam beberapa site, sehingga eksekusi transaksi dapat secara parallel.
- Meningkatkan reliability/ availability : jika satu site mengalami crash, dapat membuat beberapa site tidak dapat diakses. Jika data direplikasi ke banyak site, kerusakan hubungan komunikasi tidak menjadikan sistem total tidak dapat dioperasikan.
- Ekonomis : dari biaya komunikasi, baik membagi aplikasi dan memproses secara local di setiap site. Dari biaya komunikasi data, akan lebih murah untuk memelihara sistem komputer dalam satu site dan menyimpan data secara local.
- Expandibility : akan lebih mudah mengakomodasikan ukuran DB yang semakin besar. Ekspansi dapat dilakukan dengan menambah proses dan kekuatan penyimpanan ke jaringan.
- Shareability : jika sistem informasi tidak terdistribusi, akan sulit untuk berbagidata dan sumber daya. Sistem DB terdistribusi memungkinkan hal ini.
Kerugian dari DDBS
- Kurangnya pengalaman : sistem DB terdistribusi bertujuan umum (generalpurpose) tidak sering digunakan. Yang digunakan adalah sistem prototype yang dibuat untuk satu aplikasi (misal : reservasi pesawat).
- Kompleksitas : masalah DDBS lebih kompleks dibandingkan dengan manajemen database terpusat.
- Biaya : sistem terdistribusi membutuhkan tambahan hardware (untuk mekanisme komunikasi) sehingga biaya hardware meningkat. Yang terpenting pada biaya ini adalah replikasi. Jika fasilitas komputer dibuat di banyak site, akan memerlukan orang2 yang memelihara fasilitas tersebut.
- Kontrol distribusi : sebelumnya menjadi keuntungan. Tetapi karena distribusi menyebabkan masalah sinkronisasi dan koordinasi, kontrol terdistribusi menjadi kerugian atau kekurangan di masalaha ini.
- Keamanan : akan mudah mengontrol database yang terpusat. Dalam sistem database terdistribusi, jaringan membutuhkan keamanan tersendiri.
- Perubahan yang sulit : tidak ada tool atau metodologi untuk membantu user mengubah database terpusat ke database terdistribusi.
PERANCANGAN DATABASE TERDISTRIBUSI
- Alokasi Data
Ada 2 perancangan dasar yaitu fragmentasi, pemisahan database ke dalam partisi2, disebut fragment, dan distribusi.
- Fragmentasi
- Fragmentasi horizontal
Fragmentasi berdasarkan tupel. Setiap fragment memilki subset dari tupel relasi. Relasi r dibagi ke dalam sejumlah subset r1, r2,.., rn, masing2 berisi dari sejumlah tupel relasi r. Masing2 tupel relasi r harus merupakan satu dari fragment2 tersebut sehingga relasi awalnya dapat dibentuk kembali. Suatu fragmen didefinisikan sebagai seleksi pada relasi global r. Sebuah predikat Pi digunakan untuk menyusun fragmen ri :
ri = σ Pi (r)
Pembentukan kembali dilakukan dengan menggabungkan seluruh fragment :
n
R = U ri
i=1 - Fragmentasi vertikal
Fragmentasi vertikal dari r(R) melibatkan beberapa subset R1, R2, …, Rn dari R sedemikian sehingga
n
U Ri = R
i=1
Setiap fragment ri dari r didefinisikan sebagai :
ri = Π Ri (r)
Pembentukan kembali dengan menggunakan join natural : r = r1|x| r2 |x|…|x| rn
Fragmentasi vertikal dibuat dengan menambahkan atribut khusus yaitu tuple-id, yang merupakan alamat fisik atau logika untuk tupel dan menjadi kunci pada skema. Tetapi tuple-id tidak diperlihatkan ke user.
REPLIKASI
Jika relasi r direplikasi, salinan dari relasi r disimpan di 2 atau lebih site. full replication menyimpan salinan di setiap site dari sistem. Fragmen dapat direplikasi. Misal ada sistem terdistribusi terdiri dari S1, S2, …, S10. Salinan fragment deposit3a pada site S1, S3 dan S7. Salinan deposit3b pada site S7 dan S10 dan salinan deposit4 ada pada site S2, S8 dan S9.
Keuntungan dan kerugian dari replikasi :
- Availability : jika satu site yang berisi relasi r gagal, relasi r masih didapat di site yang lain. Sistem dapat melanjutkan proses meskipun satu site mengalami kegagalan.
- Meningkatkan parallel : beberapa site dapat memproses query terhadap r secara parallel. Semakin banyak ada replikasi, semakin besar kesempatan data yang dibutuhkan ditemukan pada site dimana transaksi dijalankan. Replikasi data meminimalkan pergerakan data di antara site.
- Meningkatkan overhead update : sistem harus memastikan bahwa semua replikasi dari relasi r konsisten. Karena kalau tidak, akan terjadi kesalahan komputasi. Di mana pun r di-update, update ini harus disebar ke seluruh site. replikasi meningkatkan kinerja operasi baca dan meningkatkan availability pembacaan data. Transaksi update meningkatkan overhead. Masalah pengontrolan konkurensi update data yang direplikasi semakin kompleks dari pendekatan terpusat. Cara sederhana adalah membuat salinan utama dari r. Misal : di sistem perbankan, rekening dapat dihubungkan dengan site dimana rekening tersebut dibuka.
TRANSPARANSI PADA DDBMS
Merupakan pemisahan dari semantic level tingkat tinggi dari implementasi level rendah. Atau sistem transparansi menyembunyikan rincian implementasi dari user.
Tidak mudah dalam menggambarkan tingkat transparansi yang jelas. Dengan adanya transparansi bahasa sebagai lapisan generik, membuat user memilik akses terhadap data bertingkat tinggi (4th GL, GUI, akses bahasa natural, dll).
Bentuk-bentuk transparansi :
Data independence
Kebebasan data menjadi bentuk dasar transparansi yang terlihat di DBMS. Kebebasan data berarti kekebalan dari aplikasi user untuk mengubah definisi dan organisasi data dan sebaliknya. Definisi data dapat terjadi dalam 2 tahap. Pada satu level, struktur logika dari data dispesifikasikan (schema definition) dan pada level yang lain struktur fisik dari data didefinisikan (physical data description).Ada 2 tipe kebebasan data :
1. Kebebasan data secara logic : kekebalan aplikasi user untuk mengubah struktur logika database. Secara umum, jika aplikasi user dioperasikan pada sebuah subset atribut relasi, tidak ada pengaruh yang terjadi jika atribut baru ditambahkan ke relasi yang sama.
2. Kebebasan data secara fisik : berhubungan dengan penyembunyian rincian struktur penyimpanan dari aplikasi user. Saat aplikasi user ditulis, rincian dari organisasi data secara fisik tidak perlu diperhatikan. Organisasi data apa pun dapat dipakai.
Transparansi jaringan/ terdistribusi
Dalam sistem terpusat, hanya satu sumber yang dipelihara user yaitu data (sistem penyimpanan). Dalam manajemen DB terdistribusi, ada sumber kedua yagn perlu dipelihara yaitu jaringan. User perlu dilindungi dari detail operasi jaringan. Tidak perlu ada perbedaan antara aplikasi database yang berjalan di DB terpusat dan DB terdistribusi. Akan baik jika memiliki keseragaman dalam operasi yang diakses. Jika ingin mengkopi sebuah file, perintah yang digunakan seharusnya sama untuk pengkopian dalam satu mesin atau antar mesin yang terhubung dengan jaringan. Sayangnya banyak OS untuk jaringan yang belum menyediakan transparansi ini.cp <source file> <target file> ; satu mesin
rcp <machine-name:source file> <machine-name:target file> ; mesin berbeda
Transparansi lokasi
Merupakan transparansi terhadap perintah yang bebas digunakan pada lokasi data maupun pada sistem dimana operasi berjalan.
Transparansi penamaan (naming tranparancy)
Berarti nama yang unik diberikan ke setiap objek database. Caranya dengan menambahkan nama lokasi (identifier) sebagai bagian dari nama objek. Sistem yang bertanggungjawab memberikan penamaan terhadap objek agar menjadi unik.
Transparansi replikasi
Data yang mudah diakses oleh user dapat ditempatkan pada mesin local user seperti mesin user lain dengan akses data yang sama. Jika satu mesin gagal, salinan data masih ada pada lokasi mesin yang lain dalam jaringan. Keputusan direplikasikan atau tidak, dan berapa banyak salinan dari objek database, bergantung pada tingkatan aplikasi user. Tetapi replikasi menyebabkan masalah dalam meng-update DB. Jika apllikasi user berorientasi pada update, sebaiknya tidak perlu ada banyak salinan data.
Transparansi fragmentasi
Fragmentasi dapat mengurangi efek negatif dari repllikasi. Setiap salinan tidak merupakan salinan penuh tetapi hanya sebuah subset, jadi ruang yang dibutuhkan lebih sedikit dan item data lebih sedikit untuk dipelihara.Saat objek DB difragment, masalah menangani queri user timbul. Masalah menangani strategi memproses queri berdasarkan fragment dibandingkan relasi meskipun query dibuat kemudian. Bentuk translasi ini disebut sebagai query global ke beberapa query fragment.
Siapa yang menyediakan transparansi
Penyediaan transparansi perlu melihat lapisan transparansi. Ada 3 lapisantransparansi yang berbeda yang dapat saling menguntungkan secara eksklusifdalam penyediaan service meskipun lebih sesuai untuk ditinjau sebagai tambahan. Tanggungjawab dalam menyediakan akses data yang transparan adalah akses lapisan. Transparansi dimulai dari transparansi bahasa yang menterjemahkan service yang diminta ke operasi yang dibutuhkan. Compiler atau interpreter mengambil alih tugas dan tidak ada service transparan disediakan untuk compiler atau interpreter. Lapis kedua adalah transparansi di level sistem operasi. Penyediaan akses transparan ke sumber daya di level OS diperluas k distribusi, dimana manajemen jaringan diambil alih oleh OS terdistribusi. Sayangnya tidak semua OS memiliki manajemen jaringan ini. Lapis ketiga ada pada DBMS. DBMS bertindak sebagai operasi yang terintegrasi dan sistem manajemen DB. Yang khas adalah pembuatan DBMS pada komputer generalpurpose yang berjalan di beberapa OS. Pada lingkungan ini, transparansi dan dukungan fungsi DB yang disediakan untuk perancang DBMS sangat minimal dan khas ke operasi dasar untuk menjalankan tugas khusus.DBMS bertanggungjawab untuk membuat semua translasi yang berarti dari OS ke interface user yang lebih tinggi.
Di lingkungan file-server, pemrosesan didistribusikan ke jaringan yang Local Area Network (LAN). File-Server menunjang kebutuhan file dengan aplikasi-aplikasi dan DBMS. Aplikasi dan DBMS bekerja pada masing-masing workstation. Permintaan file dari file-server diilustrasikan pada gambar di atas. File-server bertindak sebagai sebuah drive hard-disk yang dapat dipakai bersama. DBMS pada masing - masing workstation mengirimkan permintaan ke file-server untuk seluruh data yang dibutuhkan DBMS yang disimpan di disk.
Contoh :
SELECT fname, lname
FROM b, staff s
WHERE b.bno = s.sno AND b.street = '163 Main St' ;
File-server tidak mempunyai pengetahuan SQL, DBMS harus meminta file-file untuk berhubungan dengan relasi Branch dan Staff dari file-server.
Kerugian arsitektur file-server :
1. Adanya lalulintas network.2. Salinan DBMS dibutuhkan pada masing - masing workstation.
3. Concurency, recovery dan integrity kontrol lebih kompleks karena pada multiple DBMS mengakses file yang dapat dipakai bersama.
0 comments:
Post a Comment