Macam Tipe Fragmentasi DBMS

Macam Tipe Fragmentasi DBMS
Macam Tipe Fragmentasi DBMS
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; sebagai contoh, tuple yang semua nya menggunakan aplikasi yang sama atau pada situs yang sama. Berikan relasi R sebuah horisontal fragmentasi yang didefinisikan:
σp(R)

Dimana P adalah sebuah predikat yang berdasarkan atas satu atau lebih atribut didalam suatu relasi.

Contoh, diasumsikan hanya mempunyai dua tipe properti yaitu tipe flat dan rumah, horisontal fragmentasi dari properti untuk di sewa dari tipe properti dapat di peroleh sebagai berikut:

Hasil dari operasi tersebut akan memiliki dua fragmentasi, yang satu terdiri dari tipe yang mempunyai nilai 'Rumah' dan yang satunya yang mempunyai nilai ‘Flat’.

P1: σ tipe 'Rumah'( properti sewa)
P2: σ tipe 'Flat'(properti sewa)

Fragment P1
Pno
Street
Area
City
Pcode
Type
Rooms
Rent
Cno
Sno
Bno
PA14
16 Holl
Dee
Aber
AB75S
Rumah
6
650
CO46
SA9
B7
PG21
18 Dell
Hynd
Glas
G12
Rumah
4
500
CO87
SG37
B3

Fragment P2
Pno
Street
Area
City
Pcode
Type
Rooms
Rent
Cno
Sno
Bno
PL94
6 Arg
Dee
Aber
AB74S
Flat
4
450
CO67
SL41
B5
PG4
8 Law
Hynd
Glas
G50
Flat
4
400
CO70
SG14
B3
PG16
2 Man
Part
Glas
G67
Flat
3
300
CO90
SG14
B3

Fragmentasi seperti ini mempunyai keuntungan jika terjadi transaksi pada beberapa aplikasi yang berbeda dengan Flat ataupun Rumah.
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. Relasi R sebuah vertikal fragmentasi di definisikan:

∏ a1,a2,…an (R)

Dimana a1,a2,…an merupakan atribut dari relasi R.

Contoh, aplikasi Payroll untuk PT. Dream Home membutuhkan nomor pokok daari Staff  ( Sno) dan Posisi, Sex, DOB,Gaji dan NIN atribut setiap anggota dari staff tersebut; departemen kepegawaian membutuhkan; Sno,Fname,Lname, Alamat,Tel_no dan Bno atribut, Vertikal fragmentasi dari staff untuk contoh ini diperlukan sebagai berikut:

S1 = ∏ Sno,posisi,sex,dob,gaji,nin(Staff)
S2 = ∏ Sno,Fname,Lname,Alamat,Tel_no,Bno(Staff).

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 l><l S2 = Staff.
  3. Penguraian, fragment akan diuraikan kecuali kunci utama, karena diperlukan untuk rekonstruksi.

Fragment S1
Sno
Posisi
Sex
DOB
Salary
NIN
SL21
Manager
M
1-oct-60
300000
WK44201B
SG37
Snr Ass
F
10-nov-65
150000
WL43251C
SG14
Deputy
M
24-mar-70
100000
WL22065B
SA9
Assistant
F
20-jan-70
90000
WM53218D

Fragment S2
Sno
Fname
Lname
Alamat
Tel_no
Bno
SL21
John
White
19 Taylor London
0171-884-5112
B5
SG37
Ann
Beech
81 George Glasgow
0141-848-3345
B3
SG14
David
Ford
63 Ashby Glasgow
0141-339-2177
B3
SA9
Marie
Howe
2 Elm Abeerdeen
B7

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 yang didefinisikan sbb:

σp (∏ a1,a2,…an (R)) atau  ∏ a1,a2,…an (σp (R))

Dimana p adalah predikat berdasarkan satu atau lebih atribut R dan a1,a2,…an adalah atribut dari R. Contoh, vertikal fragmentasi staff dari aplikasi payroll dan departemen kepegawaian kedalam:

S1 =  ∏ Sno,posisi,sex,dob,gaji,nin(Staff)
S2 =  ∏ Sno,Fname,Lname,Alamat,Tel_no,Bno(Staff)

Lalu lakukan horisontal fragmentasi pada fragmen S2 menurut nomor cabang:
  • S21 = σ Bno = B3(S2)
  • S22 = σ Bno = B5(S2) 
  • S23 = σ Bno = B7(S2)

Fragment S1
Sno
Posisi
Sex
DOB
Salary
NIN
SL21
Manager
M
1-oct-60
300000
WK44201B
SG37
Snr Ass
F
10-nov-65
150000
WL43251C
SG14
Deputy
M
24-mar-70
100000
WL22065B
SA9
Assistant
F
20-jan-70
90000
WM53218D

Fragment S21
Sno
Fname
Lname
Alamat
Tel_no
Bno
SG37
Ann
Beech
81 George Glasgow
0141-848-3345
B3
SG14
David
Ford
63 Ashby Glasgow
0141-339-2177
B3

Fragment S22
Sno
Fname
Lname
Alamat
Tel_no
Bno
SL21
John
White
19 Taylor London
0171-884-5112
B5

Fragment S23
Sno
Fname
Lname
Alamat
Tel_no
Bno
SA9
Marie
Howe
2 Elm Abeerdeen
B7

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 l><l (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. Misalkan relasi anak adalah R dari relasi parent adalah S, maka fragmentasi derived digambarkan sebagai berikut:

RI  = R → Sf  L ≤ I ≥ w

Dimana w adalah nomor dari fragmen horisontal yang telah digambarkan pada S dan f adalah atribut join.

Contoh, suatu perusahan mempunyai aplikasi yang menggabungkan relasi staff dan PropertyForRent secara bersamaan. Untuk contoh ini di asumsikan staff telah terfragmentasi secara horisontal berdasarkan nomor cabang. Jadi data yang berhubungan dengan cabang disimpan di tempat:
  • S3 = σ Bno = B3(Stsff)
  • S4 = σ Bno = B5(Staff) 
  • S5 = σ Bno = B7(Staff)

Diasumsikan bahwa properti PG4 diatur oleh SG14. Ini seharusnya berguna untukmenyimpan data propetri yang menggunakan strategi fragmentasi sama. Ini di peroleh dengan menggunakan derived fragmentasi untuk menfragmentasi secara horisontal relasi PropertiForRent berdasarkan nomor cabang:

PI  = PropertiForRent → staffno Sf  3 ≤ I ≥ 5

Menghasilkan 3 fragmen (P3,P4 dan P5). Satu terdiri dari proreprti yang diatur oleh staff dengan nomor cabang B3 (P3), yang satunya terdiri dari properti yang diatur oleh staf dengan nomor cabang B5 (P5) dan yangterakhir terdiri dari properti yang diatur oleh staff dengna nomro cabang B7 (P7). Akan mudah dilihat skema fragmentasi ini sesuai dengan peraturan fragmentasi.

Fragment P3
Pno
Street
City
Pcode
Type
Rooms
Rent
Cno
Sno
PG4
6Law
Glas
G11
Flat
3
350
CO40
SG149
PG36
2 Mann
Glas
G32
Flat
3
375
C093
SG37
PG21
18 Dell
Glas
G12
House
4
500
CO87
SG37
PG16
5 Nov
Glas
G12X
Flat
4
450
C093
SG14

Fragment P4
Pno
Street
City
Pcode
Type
Rooms
Rent
Cno
Sno
PL94
6 Arg
Lon
NW1
Flat
4
400
CO87
SL41

Fragment P5
Pno
Street
City
Pcode
Type
Rooms
Rent
Cno
Sno
PA14
16Holl
Aber
AB74S
House
6
650
CO46
SA9

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.

Posting Komentar

Lebih baru Lebih lama

نموذج الاتصال