Kenapa harus dilakukan fragmentasi ?
Ada empat alasan untuk fragmentasi :
1. Kebiasaan ; umumnya aplikasi bekerja dengan tabel views dibandingkan dengan semua hubungan data. Oleh karenanya untuk distribusi data , yang cocok digunakan adalah bekerja dengan subset dari sebuah relasi sebagai unit dari distribusi.
2. Efisien ; data disimpan dekat dengan yang menggunakan. Dengan tambahan data yang tidak sering digunakan tidak usah disimpan.
3. Paralel ; dengan fragmen-fragmen tersebut sebagai unit dari suatu distribusi , sebuah transaksi dapat di bagi kedalam beberapa sub queri yang dioperasikan pada fragmen tersebut. Hal ini meningkatkan konkurensi atau paralelisme dalam sistem, sehingga memeperbolehkan transaksi mengeksekusi secara aman dan paralel.
4. Keamanan ; data yang tidak dibutuhkan oleh aplikasi tidak disimpan dan konsukuen tidak boleh di ambil oleh pengguna yang tidak mempunyai otoritas.
Fragmentasi mempunyai dua kelemahan, seperti yang disebutkan sebelumnya :
1. Kinerja; cara kerja dari aplikasi yang membutuhkan data dari beberapa lokasi fragmen di beberapa situs akan berjalan dengan lambat.
2. Integritas; pengawasan inteegritas akan lebih sulit jika data dan fungsional ketergantungan di fragmentasi dan dilokasi pada beberapa situs yang berbeda.
Pembetulan dari fragmentasi
Fragmentasi tidak bisa di buat secara serampangan, ada tiga buah aturan yang harus dilakukan untuk pembuatan fragmentasi yaitu :
1. Kelengkapan ; jika relasi contoh R di dekomposisi ke dalam fragment R1 , R2 ,R3 , … Rn , masing-masing data yang dapat ditemukan pada relasi R harus muncul paling tidak di salah satu fragmen. Aturan ini di perlukan untuk meyakinkan bahwa tidak ada data yang hilang selama fragmentasi
2. Rekonstruksi; Jika memungkinkan untuk mendefinisikan operasional relasi yang akan dibentuk kembali relasi R dari fragmen-fragmen.
Aturan ini untuk meyakinkan bahwa fungsional ketergantungan di perbolehkan .
3. Penguraian; Jika item data di muncul pada fragment Ri , maka tidak boleh muncul di fragmen yang lain. Vertikal fragmentasi diperbolehkan untuk aturan yang satu ini, dimana kunci utama dari atribut harus diulanmg untuk melakukan rekonstruksi. Aturan ini untuk meminimalkan redudansi.
Tipe dari Fragmentasi
Ada dua tipe utama yang dimiliki oleh fragmentasi yaitu horisontal dan vertikal , tetapi ada juga dua tipe fragmentasi lainnya yaitu : mixed dan derived fragmentasi .
1. Horisontal fragmentasi ;
Fragmentasi ini merupakan relasi yang terdiri dari subset sebuah tuple . Sebuah horisontal fragmentasi di hasilkan dari menspesifikasikan predikat yang muncul dari sebuah batasan pada sebuah tuple didalam sebuah relasi. Hal ini di definisikan dengan menggunakan operasi SELECT dari aljabar relasional . Operasi SELECT mengumpulkan tuple yang memiliki kesamaan kepunyaan;
Fragmentasi skema memuaskan aturan pembetulan (Correctness rules) :
1. Kelengkapan ; setiap tuple pada relasi muncul pada fragment
P1 atau P2
2. Rekonstruksi ; relasi Properti sewa dapat di rekonstruksi dari fragmentasi menggunakan operasi Union , yakni :
P1 U P2 = Properti sewa
3. Penguraian ; fragmen di uraikan maka tidak ada tipe properti yang mempunyai tipe flat ataupun rumah.
Terkadang pemilihan dari strategi horisontal fragmentasi terlihat jelas. Bagaimanapun pada kasus yang lain, diperlukan penganalisaan secara detail pada aplikasi. Analisa tersebut termasuk dalam menguji predikat atau mencari kondisi yang digunakan oleh transaksi atau queri pada aplikasi. Predikat dapat berbentuk sederhana (atribut tunggal) ataupun kompleks (banyak atribut). Predikat setiap atribut mungkin mempunyai nilai tunggal ataupun nilai yang banyak. Untuk kasus selanjutnya nilai mungkin diskrit atau mempunyai range.
Fragmentasi mencari group predikat minimal yang dapat digunakan sebagai basis dari fragmentasi skema. Set dari predikat disebut lengkap jika dan hanya jika ada dua tuple pada fragmen yang sama bereferensi pada kemungkinan yang sama oleh beberapa aplikasi . Sebuah predikat dinyatakan relevan jika ada paling tidak satu aplikasi yang dapat mengakses hasil dari fragment yang berbeda.
2. Vertikal Fragmentasi
Adalah relasi yang terdiri dari subset pada atribut
Fragmentasi vertikal ini mengumpulkan atribut yang digunakan oleh beberapa aplikasi. Di definisikan menggunakan operasi PROJECT pada aljabar relasional.
Akan menghasilkan dua buah fragmen , kedua buah fragmen tersebut berisi kunci utama ( Sno ) untuk memberi kesempatan yang aslinya untuk di rekonstruksi. Keuntungan dari vertikal fragmentasi ini yaitu fragmen-fragmen tersebut dapat disimpan pada situs yang memerlukannya. Sebagai tambahan kinerja yang di tingkatkan, seperti fragmen yang diperkecil di bandingkan dengan yang aslinya.
Fragmentasi ini sesuai dengan skema kepuasan pada aturan pembetulan (Correcness Rules):
1. Kelengkapan ; setiap atribut di dalam relasi staff muncul pada setiap fragmen S1 dan S2
2. Rekonstruksi ; relasi staff dapat di rekonstruksi dari fragmen menggunakan operasi natural join , yakni :
S1 S2 = Staff
3. Penguraian ; fragment akan diuraikan kecuali kunci utama, karena diperlukan untuk rekonstruksi .
3. Campuran Fragmentasi
Fragmentasi ini terdiri dari horisontal fragmentasi setelah itu vertikal fragmentasi, atau vertikal fragmentasi lalu horisontal fragmentasi.
Fragmentasi campuran ini di definisikan menggunakan operasi SELECT dan PROJECT pada aljabar relasional.
Relasi R adalah fragmentasi campuran
Dari fragmentasi tersebut akan menghasilkan tiga buah fragmen yang baru berdasarkan nomor cabang. Fragmentasi tersebut sesuai dengan aturan pembetulan.(Correction rules)
1. Kelengkapan ; Setiap atribut pada relasi staff muncul pada fragmentasi S1 dan S2 dimana setiap tupel akan mencul pada fragmen S1 dan juga fragmen S21 ,S22 dan S23 .
2. Rekonstruksi ; relasi staff dapat di rekonstruksi dari fragmen menggunakan operasi Union dan Natural Join , yakni: S1 (S21 U S22 U S23 ) = Staff
3. Penguraian ; penguraian fragmen ; tidak akan ada Sno yang akan muncul di lebih dari satu cabang dan S1 dan S2 adalah hasil penguraian kecuali untuk keperluan duplikasi kunci utama.
4. Derived Horisontal Fragmentation
Beberapa aplikasi melibatkan sua atau lebih relasi gabungan. Jika relasi disimpan ditempat yang berbeda, mungkin akan memiliki perbedaan yang siginifikan di dalam proses penggabungan tersebut. Di dalam fragmentasi ini akan lebih pasti keberadaan relasi atau fragmen dari relasi di tempat yang sama.
Derived fragmen : horisontal fragmen yang berdasarkan fragmen dari relasi yang utama
Istilah anak akan muncul kepada relasi yang mengandung foreign key dan parent pada relasi yang mengandung primari key. Derived fragmentasi di jabarkan dengan menggunakan operasi semijoin dari aljabar relasional.
5. Tidak Terdapat Fragmentasi
Strategi final adalah tidak memfragmentasikan relasi. Sebagai contoh, relasi cabang hanya mengandung sejumlah update secara berkala . Daripada mencoba untuk menfragmentasikan relasi secara horisontal, misalnya nomor cabang akal lebih masuk akal lagi untuk membiarkan relasi keseluruhan dan mereplikasi relasi cabang pada setiap sisinya.
MOORE
No comments:
Post a Comment