MeNu BLog aYe

Minggu, 16 Oktober 2011

DataBase Terdistribusi


BASIS DATA TERDISTRIBUSI



DATABASE TERDISTRIBUSI : Database yang disimpan pada beberapa komputer didistribusi dalam sebuah sistem terdistribusi melalui media komunikasi seperti high speed buses atau telepone line.

SISTEM DATABASE TERDISTRIBUSI :  berisi kumpulan site à eksekusi transaksi  lokal (mengakses data pada satu site) & transaksi global (mengakses data pada site berbeda )

Contoh :
Transaksi lokal : transaksi menambahkan dana pada nomor rekening 1112234 yang berada di cabang margonda. Transaksi ditentukan pada cabang margonda.

Transaksi global : transaksi transfer dari rekening 1112234 ke rekening 2223410 yang berada di kramat jati (rekening didua site berbeda telah diakses sebagai hasil dari eksekusinya)

Site-site dalam database terdistribusi dihubungkan secara fisik dengan berbagai cara. Beberapa topologi digambarkan sebagai sebuah graph. Beberapa bentuk :
1.      Fully connected network
Kalau salah satu node rusak, yang lainnya masih dapat berjalan (biaya mahal),
kontrol manajemen tidak terjamin.

2.      Partially connected network
Reliability rendah, biaya dapat ditekan
Kontrol manajemen tidak terjamin.

3.      Tree structured network
Bersifat sentral, control manajemen lebih terjamin
Kalau node pusat rusak, semua akan rusak. (setiap proses dimulai dari bawah).

4.      Ring network (LAN)
Rusak satu, yang lain masih berjalan
Kontrol manajemen kurang terjamin karena bersifat dsesentralisasi.

5.      Star network (LAN)
Kontrol manajemen lebih terjamin, karena bersifat sentral
Kalau pusat rusak yang lain rusak.


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 menerus berfungsi dalam menghadapi kegagalan dari site sendiri atau mata rantai 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.

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.


KERUGIAN DATABASE TERDISTRIBUSI

1.      Harga software mahal
Hal ini disebabkan sangat sulit untuk membuat sistem database distribusi.

2.      Kemungkinan kesalahan lebih besar
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.


RANCANGAN DATABASE TERDISTRIBUSI

A.    FRAGMENTASI DATA
Fragmentasi : relasi dibagi ke dalam beberapa bagian, setiap bagian disimpan pada lokasi yang berbeda.

Tiga jenis fragmentasi :

1.                  Fragmentasi Horizontal.
Berisi tuple-tuple yang dipartisi dari sebuah relasi global ke dalam sejumlah 
subset.

Deposit 1 = s branch-name = “Hillside” (Deposit)
Deposit 1 = s branch-name = “Valleyview” (Deposit)

Branch-name
Account-number
Customer-name
Balance
Hillside
305
Lowman
500
Hillside
226
Camp
336
Hillside
115
Khan
62
                                    Deposit 1

Branch-name
Account-number
Customer-name
Balance
Valleyview
177
Camp
205
Valleyview
402
Khan
10000
Valleyview
408
Khan
1123
Valleyview
639
Green
750
                                    Deposit 2

2.                  Fragmentasi Vertikal.

Branch-name
Account-number
Customer-name
Balance
Tuple-id
Hillside
305
Lowman
500
1
Hillside
226
Camp
336
2
Valleyview
117
Camp
205
3
Valleyview
402
Khan
10000
4
Hillside
115
Khan
62
5
Valleyview
408
Khan
1123
6
Valleyview
639
Green
750
7

Deposit 3 = p branch-name, customer-name,tuple-id (deposit)
Deposit 4 = p account-number,balance,tuple-id (deposit)

Branch-name
Customer-name
Tuple-id
Hillside
Lowman
1
Hillside
Camp
2
Valleyview
Camp
3
Valleyview
Khan
4
Hillside
Khan
5
Valleyview
Khan
6
Valleyview
Green
7

Account-number
Balance
Tuple-id
305
500
1
226
336
2
117
205
3
402
10000
4
115
62
5
408
1123
6
639
750
7

3.                  Fragmentasi campuran.


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

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.
 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 untuk
transaksi 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 berbagi
data 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 beberapa alternatif dasar untuk menyimpan atau menempatkan data : partisi
dan replikasi. Dalam skema partisi, database dibagi ke dalam sejumlah partisi
yang disjoin yang masing2 ditempatkan di site yang berbeda. Perancangan
replikasi dibedakan atas fully replication atau fully duplicated dimana seluruh
database ditempatkan di masing2 site, atau partially replicated yaitu masing2
partisi dari database disimpan di lebih dari satu site tetapi tidak di semua site.
Ada 2 perancangan dasar yaitu fragmentasi, pemisahan database ke dalam
partisi2, disebut fragment, dan distribusi.
Fragmentasi
Relasi dibagi ke dalam beberapa fragment, masing2 disimpan di site yang
berbeda. Ada 2 strategi, yaitu fragmentasi horizontal dan vertikal.
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.







NAMA :FAHMI NUR SIDQI
NIM      : 09.01.53.0031


jati.staff.unisbank.ac.id

1 komentar:

Unknown mengatakan...

NAMA :FAHMI NURSIDQI
NIM :09.01.53.0031

Posting Komentar