D:\eri Ngajar\Sistem Basis Data 2008\Pertemuan 5 Tambahan.doc DATABASE TERDISTRIBUSI 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 telepon line Karakteristik database terdistribusi yaitu: 1. Kumpuan data yang digunakan bersama secara logik tersebar pada sejumlah komputer yang berbeda 2. Komputer yang dihubungkan menggunakan jaringan komunikasi 3. Data pada masing-masnig situs dapat menangani aplikasi-aplikasi lokal secara otonom 4. Data pada masing-masing dibawh kendali satu DBMS 5. Masing-masing DBMS berpartisipasi dalam sedikitnya satu aplikasi global BENTUK-BENTUK TOPOLOGI DISTRIBUSI DATA : a. Fully Connected network Keuntungan : Kalau salah satu node rusak, yang lainnya masih dapat berjalan Kerugian : Control management tidak terjamin A
B
C
D
E
b.
F
Partialy conneted network Keuntungan : Relaibility Rendah Biaya dapat ditekan Kerugian : Control management tidak terjamin A
B
C
E
F
C.
D
Tree Strutured Network Keuntungan : Bersifat sentral Control management terjamin Kerugian : Kalau node pusat rusak semua akan rusak A
B
D
C
E
F
G
1
D:\eri Ngajar\Sistem Basis Data 2008\Pertemuan 5 Tambahan.doc
d.
Ring network Keuntungan : Kerugian :
Apabila ada satu yang rusak, yang lain masih berjalan Control management kurang terjamin karena bersifat desentralisasi
A
B
C
D
E
e.
Star network Keuntungan
:
Kerugian
:
F
Control managemen lebih terjamin, karena bersifat sentral dan reliability rendah kalau node pusat rusak, yang lainya rusak juga
A
B C
D
E
KEUNTUNGAN DAN KERUGIAN DATABASE TERDISTRIBUSI KEUNTUNGAN : Secara alami mengikuti struktur organisasi Adanya otonomi lokal: karena data didistribusikan, user dapat mengakses dan bekerja,dengan data tersebut sehingga memiliki kontrol local. Sifatnya dapat dipakai secara bersam-sama: jika sistem informasi tidak terdistribusi, akan sulit untuk berbagi data dan sumber daya. Sistem DB terdistribusi memungkinkan hal ini. Peningkatan ketersediaan Peningkatan kehandalan: 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 dapatdioperasikan. Peningkatan 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. 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.Pertumbuhan yang modular: akan lebih mudah mengakomodasikan ukuran DB yang semakin besar. Ekspansi dapat dilakukan dengan menambah proses dan kekuatan penyimpanan ke jaringan.
2
D:\eri Ngajar\Sistem Basis Data 2008\Pertemuan 5 Tambahan.doc
KERUGIAN : Harga software mahal: Hal ini disebabkan sangat sulit membuat sistem databse distribusi Kompleksitas: masalah DDBS lebih kompleks dibandingkan denganmanajemen database terpusat Kelemahan dalam keamanan: akan mudah mengontrol database yang terpusat. Dalam sistem database terdistribusi, jaringan membutuhkan keamanan tersendiri. Sulitnya menjaga keutuhan data Kurangnya standar Kurangnya pengalaman: sistem DB terdistribusi bertujuan umum (generalpurpose) tidak sering digunakan. Yang digunakan adalah sistem prototype yang dibuat untuk satu aplikasi (misal : reservasi pesawat) Perancangan basisdata lebih kompleks FRAGMENTASI DATA Adalah Relasi dipartisikan ke dalam beberapa bagian,setiap bagian disimpan pada lokasi yang berbeda Alasan-alasan diperlukannya fragmentasi, yaitu: 1. Penggunaan 2. Efisiensi 3. Parallelisme 4. Keamanan Kerugian Fragmentasi yaitu: 1. Kinerja 2. Integritas BEBERAPA PERATURAN YANG HARUS DIDEFINISIKAN KETIKA MENDEFINISIKAN FRAGMENT : Kondisi lengkap: seluruh data direlasi global harus dipetakan ke dalam fragmentasi. Hal ini tidak akan terjadi jika sebuah data item yang dimiliki oleh relasi global tidak memiliki oleh beberapa fragmen Kondisi penyusunan kembali: Harus selalu memungkinkan menyusun kembali tiap-tiap relasi global dan fragment-fragmentnya. Hanya fragmen-fragment yang disimpan dalam databse terdistribusi yang dapat membangun relasi global kembali melalui operasi penyusunan kembali jika diperlukan. Kondisi disjointness: Kondisi ini sangat berguna untuk fragmentasi horizontal. Kondisi ini kadang-kadang dilangara untuk fragmentasi vertikal TIGA JENIS FRAGMENTASI : 1. Fragmentasi horisontal : Pemecahan relasi berdasarkan tuplenya(pembagian berdasarkan Baris yang sama) .Fragmentasi horisontal berisikan tuple-tuple yang dipartisikan dari sebuah relasi global kedalam sejumlah subset r1,r2...rn. Tiap subset berisi tuple dari r. 2. Fragementasi vertikal : pemecahan berdasarkan dekomposisinya. Penambahan tuple-id(Tuple identifier) didalam fragmentasi vertikal.Sebuah tuple-id adalah sebuah alamat logik dari sebuah tuple. Setiap tuple-id didalam r harus memiliki sebuah alamat yang unik, yaitu atribut tuple-id sebagai kunci penambahan skema.Kunci tersebut akan dreplikasikan(Sistem memlihara beberapa salinan dari relasi) kedalam seluruh fragmentasi untuk menyusun kembali relasi global sehingga terlihat bahwa dalam fragmentasi vertikal motivasi utama untuk memiliki fragmentasi-fragmentasi yang disjoin adalah tidak sepenting didalam fragmentasi horizontal.
3
D:\eri Ngajar\Sistem Basis Data 2008\Pertemuan 5 Tambahan.doc 3.
Fragmentasi campuran: relasi r(global) dibagi-bagi kedalam sejumlah relasi fragment r1,r2,...rn. Tiap – tiap fragmentasi diperoleh sebagai hasil baik dari skema fragmentasi horzontal ataupun fragmentasi vertikal direlasi r atau dari sebuah fragmentasi r yang diperoleh sebelumnya. Cara yang sederhana untuk membangun fragmentasi campuran sbb : a. Menggunakan fragmentasi horisontal pada fragmentasi vertikal b. Menggunakan fragmentasi vertical pada fragmentasi horisontal
CONTOH KASUS JENIS-JENIS FRAGMENTASI Ujian (NIM,Nama_Mhs,Kode_MK,Mt_Kuliah, Nil_Akhir,Grade) NIM 123 124 125 126 127 128 129
Nama_Mhs Kode_MK Mt_Kuliah Nil_Akhir Fathi 101 Sistem Basis Data 78 Farah 102 Peranc. Sistem 60 Sarah 101 Sistem Basis Data 40 Salsabila 101 Sistem Basis Data 90 Azizah 103 Visual Basic 70 Farhan 103 Visual Basic 40 Faiz 102 Peranc. Sistem 80
Grade B C D A B D A
Fragmentasi horisontal terbagi menjadi 2 fragment yang berbeda 1. Relasi Mt_Kuliah=“Sistem Basis Data” NIM Nama_Mhs Kode_MK Mt_Kuliah Nil_Akhir 123 Fathi 101 Sistem Basis Data 78 125 Sarah 101 Sistem Basis Data 40 126 Salsabila 101 Sistem Basis Data 90 2. Relasi Mt_Kuliah=“Peranc. Sistem” NIM Nama_Mhs Kode_MK Mt_Kuliah 124 129
Farah Faiz
102 102
Peranc. Sistem Peranc. Sistem
3. Relasi Mt_Kuliah=“Visual Basic” NIM Nama_Mhs Kode_MK Mt_Kuliah 127 128
Azizah Farhan
103 103
Visual Basic Visual Basic
Grade B D A
Nil_Akhir
Grade
60 80
C A
Nil_Akhir
Grade
70 40
B D
CONTOH LAIN Branch-name
Account-number
Customer-name
Balance
Hillside
305
Lowman
500
Hillside
226
Camp
336
Valleyview
117
Camp
205
Valleyview
402
Khan
10000
Hillside
115
Khan
62
Valleyview
408
Khan
1123
Valleyview
639
Green
750
4
D:\eri Ngajar\Sistem Basis Data 2008\Pertemuan 5 Tambahan.doc Branch-name
Account-number
Customer-name
Balance
Hillside
305
Lowman
500
Hillside
226
Camp
336
Hillside
115
Khan
62
Branch-name
Account-number
Customer-name
Balance
Valleyview
177
Camp
205
Valleyview
402
Khan
10000
Valleyview
408
Khan
1123
Valleyview
639
Green
750
Deposit 1
Fragment di atas memenuhi kondisi jika Nama_Mhs dan Mt_Kuliah adalah hal-hal yang memenuhi syarat Fragmentasi vertical : berdasarkan dekomposisi-nya dengan menambahkan tupel id NIM Nama_Mhs Kode_MK Mt_Kuliah Nil_Akhir Grade Tuple_ID 123 Fathi 101 Sistem Basis Data 78 B 1 124 Farah 102 Peranc. Sistem 60 C 2 125 Sarah 101 Sistem Basis Data 40 D 3 126 Salsabila 101 Sistem Basis Data 90 A 4 127 Azizah 103 Visual Basic 70 B 5 128 Farhan 103 Visual Basic 40 D 6 129 Faiz 102 Peranc. Sistem 80 A 7
Relasi 1 = NIM, Nama_Mhs, Mt,Kuliah, Nil_Akhir, Grade, Tuple_ID NIM Nama_Mhs Mt_Kuliah Nil_Akhir Grade Tuple_ID 123 Fathi Sistem Basis Data 78 B 1 124 Farah Peranc. Sistem 60 C 2 125 Sarah Sistem Basis Data 40 D 3 126 Salsabila Sistem Basis Data 90 A 4 127 Azizah Visual Basic 70 B 5 128 Farhan Visual Basic 40 D 6 129 Faiz Peranc. Sistem 80 A 7 Relasi 2 = NIM,Kode_MK,Nil_Akhir,Grade,Tuple_ID NIM Kode_MK Nil_Akhir Grade Tuple_ID 123 101 78 B 1 124 102 60 C 2 125 101 40 D 3 126 101 90 A 4 127 103 70 B 5 128 103 40 D 6 129 102 80 A 7 CONTOH LAIN
5
D:\eri Ngajar\Sistem Basis Data 2008\Pertemuan 5 Tambahan.doc
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
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
Fragmentasi Campuran Terdapat relasi berdasarkan Mata Kuliah yang sama Relasi 1a. NIM Nama_Mhs Mt_Kuliah Nil_Akhir Grade 123 125 126
Fathi Sistem Basis Data Sarah Sistem Basis Data Salsabila Sistem Basis Data
Relasi 1b. NIM Nama_Mhs Mt_Kuliah 124 Farah Peranc. Sistem 129 Faiz Peranc. Sistem Relasi 1c NIM Nama_Mhs Mt_Kuliah 127 Azizah Visual Basic 128 Farhan Visual Basic
Tuple_ID
78 40 90
B D A
1 3 4
Nil_Akhir 60 80
Grade C A
Tuple_ID 2 7
Nil_Akhir Grade 70 B 40 D
Tuple_ID 5 6
6
D:\eri Ngajar\Sistem Basis Data 2008\Pertemuan 5 Tambahan.doc
7