Anda di halaman 1dari 19

Desain Database Terdistribusi

Desain suatu organisasi dapat dipandang dari


sudut tiga dimensi
1. Tingkat Sharing

Tingkat sharing terdiri dari :


• Tidak ada sharing : aplikasi dan data dijalankan dari setiap lokasi dan tidak
ada komunikasi dengan program atau akses ke data di lokasi lain.
• Sharing data : semua program disalin / replika di semua lokasi, tetapi data
tidak disalin. Permintaan data dari user diolah oleh komputer dimana user
mengakses dan file data akan dikirim melalui jaringan.
• Sharing data dan program : user dari suatu lokasi dapat meminta layanan
baik program maupun data dari lokasi lain dan juga sebaliknya.
2. Jenis Pola Akses

• Jenis pola akses terdiri dari :

• Statik. Pola akses tidak berubah dari waktu ke waktu.


• Dinamik. Pola akses berubah dari waktu ke waktu.
3. Tingkat Pengetahuan pada Jenis Pola Akses

• Tingkat pengetahuan diukur dari seberapa banyak desainer memiliki


informasi tentang bagaimana user akan mengakses data.

• Informasi lengkap : tidak ada penyimpangan yang signifikan dari prediksi


tentang pola akses user.
• Informasi sebagian : ada penyimpangan dari prediksi
• Terdapat dua strategi utama dalam mendesain database terdistribusi
yaitu pendekatan top-down dan pendekatan bottom-up
Top down design process
Bottom up design process
• Pendekatan bottom-up
• Pendekatan bottom up baru dapat dilakukan jika sudah ada database
yang tersebar di beberapa lokasi. Titik awal dalam merancang
bottom-up adalah skema konseptual lokal. Proses ini terdiri dalam
integrasi skema lokal dalam skema konseptual global.
• Dalam “Distrubution Design” dilakukan desain untuk
mendistribusikan relasi ke semua lokasi dalam sistem terdistribusi.
Kelemahan mendistribusikan sebuah relasi adalah harus menangani
data yang besar, maka relasi dipecah-pecah menjadi sub relasi yang
disebut fragmen. Desain untuk sistem terdistribusi dapat melalui
langkah fragmentasi, penempatan data atau alokasi dan replikasi
Desain untuk sistem terdistribusi dapat melalui langkah :
• Fragmentasi
Sebuah relasi yang terbagi menjadi beberapa sub-sub relasi yang
disebut dengan fragment, sehingga disebut juga distribusi.
• Alokasi atau Penempatan data
Setiap fragmen disimpan pada situs dengan distribusi yang optimal.
• Replikasi
Replikasi, DDBMS dapat membuat suatu copy dari fragmen pada
beberapa situs yang berbeda.
Tujuan fragmentasi, alokasi dan replika
• Referensi lokalitas. Data harus diletakkan sedekat mungkin dengan lokasi pengakses data. Jika
fragmen data digunakan pada beberapa lokasi maka akan lebih menguntungkan jika fragmen
disimpan pada lokasi-lokasi tersebut.
• Meningkatkan reliabitilas/kehandalan dan availabilitas/ketersediaan. Hal ini dapat dilakukan
dengan replikasi : yaitu terdapat salinan data di lokasi lain jika salah satu lokasi mengalami
kegagalan data.
• Meningkatnya unjuk kerja. Penempatan data/alokasi yang sembarangan akan menghasilkan
kemacetan, yaitu misalkan sebuah lokasi kebanjiran permintaan data sehingga menurunkan unjuk
kerja.
• Keseimbangan kapasitas penyimpanan dan biaya. Meskipun harus menjamin ketersediaan data,
dan mempertimbangkan referensi lokalitas tetapi harus dipertimbangkan juga kapasitas
penyimpanan yang tidak besar sehingga menjamin biaya penyimpanan lebih murah.
• Biaya komunikasi minimal. Harus dipertimbangkan biaya komunikasi anta lokasi penyimpanan.
Biaya pengambilan data minimal jika lokalitas maksimum (fragmen data ada di banyak lokasi).
Tetapi jika terjadi update, maka harus dilakukan terhadap data di semua lokasi salinan fragmen
data, sehingga biaya akan membengkak.
Fragmentasi
Alasan yang menyebabkan data dalam satu tabel dibagi-bagi menjadi fragmen data
untuk didistribusikan yaitu :
• Penggunaan. Dalam kenyataan, data yang sering digunakan bukanlah data dalam
seluruh tabel, tetapi hanyalah sebagian data atau sering disebut view
• Efisien. Data disimpan di lokasi yang paling dekat dengan pengguna yang sering
mengakses sehingga data yang tidak sering dibutuhkan oleh lokasi tertentu tidak
akan disimpan di lokasi yang bersangkutan
• Paralel. Karena data yang didistribusikan berupa fragmen data, maka transaksi
yang berupa query tunggal dapat dipecah menjadi subquery yang dikenakan
terhadap fragmen data, sehingga transaksi dapat dilakukan secara bersamaan
(concurrent).
• Keamanan. Data yang tidak dibutuhkan oleh aplikasi lokal tidak akan disimpan
dalam lokasi tersebut, sehingga user yang tidak memiliki hak untuk mengakses
tidak akan bisa mengakses data lain.
Kelemahan fragmentasi
• Menurunnya unjuk kerja. View yang melibatkan lebih dari satu
fragmen data pada lokasi yang berbeda akan mengalami penurunan
unjuk kerja
• Integritas. Pengendalian integritas lebih sulit jika atribut yang
berperan dalam dependency didistribusikan ke beberapa lokasi.
Jenis fragmentasi data
1. Fragmentasi horizontal
• Pada proses fragmentasi horisontal berhubungan dengan isi dari
datanya. Frgmentasi Horizontal dibuat dengan cara memecah isi dari
suatu tabel dengan menetapkan sebuah predikat.
Contoh fragmentasi horizontal
• Terdapat tabel PROJ yang dipecah menjadi fragmen PROJ1 dan PROJ2
• PROJ1 : project dengan budget < 200000
• PROJ2 : project dengan budget ≥ 200000
2. Fragmentasi vertikal
• Fragmentasi vertical akan membagi lagi atribut-atribut dari fragment
global yang tersedia menjadi beberapa grup. Bentuk yang paling
simple dari fragmentasi vertical adalah dekomposisi, dimana sebuah
row-id yang unik dapat disertakan dalam setiapfragment untuk
menjamin dan menjada adanya kemungkinan terjadinya proses
rekonstruksi melalui sebuah operasi join
Contoh fragmentasi vertikal
• Tabel PROJ dipecah menjadi dua PROJ1 dan PROJ2
• PROJ1 : informasi tentang budget project
• PROJ2 : informasi tentang nama project dan lokasi
3. Fragmentasi mixed/hybrid
• Merupakan penggabungan dari penggunaan kedua proses
fragmentasi data yang telah dijelaskan diatas, yaitu sebuah proses
yang menggabungkan teknik fragmentasi horizontal dan vertikal.
• Fragmentasi campuran ini di definisikan menggunakan operasi SELECT
dan PROJECT pada aljabar relasional.
Contoh framentasi mixed/hybrid

Fragmentasi1 :
SELECT * FROM Emp_Name WHERE Emp_Age < 40

Fragmentasi2 :
SELECT * FROM Emp_Id WHERE Emp_Address= 'Pune' AND
Salary < 14000

emp = fragmentasi1  fragmentasi2

Anda mungkin juga menyukai