desain basis data terdistribusi
DESCRIPTION
Belajar database terdistribusiTRANSCRIPT
KATA PENGANTAR
Segala puji bagi Allah SWT yang telah memberikan nikmat serta hidayahNya
terutama nikmat kesempatan dan kesehatan sehingga penulis dapat menyelesaikan
tugas makalah yang berjudul “DESAIN BASIS DATA TERDISTRIBUSI”. Tugas
makalah ini dikerjakan demi memenuhi tugas mata kuliah System Basis Data
Terdistribusi dijurusan Informatika pada Universitas Bina Darma Palembang.
Kami mengucapkan terima kasih kepada semua pihak yang telah membantu
sehingga makalah ini dapat diselesaikan tepat pada waktunya. Makalah ini masih
jauh dari sempurna, oleh karena itu, kritik dan saran yang bersifat membangun
sangat kami harapkan demi sempurnanya makalah ini.
Semoga makalah ini dapat memberikan informasi bagi pembaca dan
bermanfaat untuk pengembangan wawasan dan peningkatan ilmu pengetahuan
bagi kita semua.
Palembang, 28 April 2015
Penyusun
i
DAFTAR ISI
Kata Pengantar ................................................................................................... i
Daftar Isi .............................................................................................................. ii
BAB I ......................................................................................................... ......... 1
Desain Basis Data Terdistribusi ............................................................... 1
Strategi Desain Alternatif ........................................................................ 2
Fragmentasi .............................................................................................. 6
Alokasi ..................................................................................................... 18
Replikasi .................................................................................................. 21
Daftar Pustaka
ii
BAB I
DESAIN BASIS DATA TERDISTRIBUSI
Desain suatu organisasi dapat dipandang dari sudut tiga dimensi, yaitu :
1. Tingkat sharing
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
Statik : pola akses tidak berubah dari waktu ke waktu.
Dinamik : pola akses berubah dari waktu ke waktu. (sangat sulit dijumpai
sistem dengan pola akses dinamis)
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
1
A. STRATEGI DESAIN ALTERNATIF
Terdapat dua strategi utama dalam mendesain database terdistribusi yaitu :
1. Pendekatan top-down
Pekerjaan ini dimulai dengan analisis kebutuhan yang mendefinisikan
lingkungan sistem. Dokumen ini melakukan persyaratan masuk untuk dua
kegiatan paralel yaitu: desain konseptual dan pandangan desain.
Kegiatan desain visual mendefinisikan antarmuka bagi pengguna akhir.
Desain konseptual adalah proses dimana sistem diperiksa untuk menentukan
jenis komponen entitas dan hubungan antara mereka. Desain konseptual dapat
diartikan sebagai integrasi pandangan pengguna. Hal ini sangat penting
karena model konseptual harus tidak hanya mendukung aplikasi yang sudah
ada, tetapi juga masa depan. Skema Konseptual global dan informasi tentang
pola akses dikumpulkan sebagai hasil dari pandangan desain didistribusikan
masukan langkah desain. Tujuannya adalah sekarang untuk merancang skema
konseptual melalui entitas distribusi lokal di seluruh node dari sistem
terdistribusi. Dalam model relasional, entitas yang sesuai hubungan. Daripada
mendistribusikan hubungan mereka divisi subrelatii digunakan, disebut
fragmen, dan mereka didistribusikan. Kegiatan desain sehingga
didistribusikan terdiri dari dua langkah: fragmentasi dan alokasi. Langkah
terakhir dalam proses desain adalah desain fisik, yang membuat hubungan
antara skema konseptual dan perangkat penyimpanan fisik lokal pada node
yang sesuai data. Entri dalam proses ini adalah skema konseptual lokal dan
pola akses informasi.
2
Gambar 1.1 : Top-down design process
2. 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.
3
Desain untuk sistem terdistribusi dapat melalui langkah :
1. Fragmentasi
Sebuah relasi yang terbagi menjadi beberapa sub-sub relasi yang disebut
dengan fragment, sehingga disebut juga distribusi.
2. Alokasi atau Penempatan data
Setiap fragmen disimpan pada situs dengan distribusi yang optimal.
3. Replikasi
Replikasi, DDBMS dapat membuat suatu copy dari fragmen pada beberapa
situs yang berbeda.
Terdapat beberapa tujuan desain alternatif yaitu :
1. 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.
2. Meningkatkan reliabilitas dan avaibilitas
Meningkatkan Reliabitilas (kehandalan) dan Availabilitas (ketersediaan)
dapat dilakukan dengan replikasi : yaitu terdapat salinan data di lokasi lain
jika salah satu lokasi mengalami kegagalan data.
3. Meningkatnya unjuk kerja
Penempatan data atau alokasi yang sembarangan akan menghasilkan
kemacetan, yaitu misalkan sebuah lokasi kebanjiran permintaan data sehingga
menurunkan unjuk kerja.
4
4. 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.
5. Biaya komunikasi minimal
Harus dipertimbangkan biaya komunikasi antar 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.
5
B. FRAGMENTASI
Fragmentasi merupakan sebuah proses pengambilan bagian-bagian baris
ataupun kolom dari table-tabel sebagai unit data terkecil yang akan dikirimkan
melalui jaringan computer. Fragmentasi dilakukan pada relasi-relasi yang ada
pada basis data. Fragmentasi membagi suatu relasi yang ada menjadi sejumlah
fragmen atau pecahan relasi yang tetap mempertahankan keutuhan informasi
semula. Sebuah relasi yang terbagi menjadi beberapa sub-sub relasi yang disebut
dengan fragment, sehingga disebut juga distribusi. Ada dua buah fragmentasi
yaitu horisontal dan vertikal. Horisontal fragmentasi yaitu subset dari tupel
sedangkan vertikal fragmentasi subset dari atribut.
Sedangkan fragmentasi data merupakan proses dimana basis data akan
dipecah-pecah kedalam unit-unit logic yang disebut fragment yang kemudian akan
disimpan dalam site yang berbeda, fragmentasi data tergabung dalam proses
desain basis data, yang kemudian akan menentukan apa yang kemudian akan
dilakukan terhadap fragment yang telah dibuat.
Jenis fragmentasi data :
Fragmentasi data dapat diselesaikan melalui beberapa cara, antara lain
fragmentasi horizontal, fragmentasi vertical, dan fragmentasi mixed atau hybrid.
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.
Fragmentasi horizontal terdiri atas tuples dari fragment global yang
kemudian dipecah-pecah atau disekat menjadi beberapa subsets. Penyekatan
tipe ini sangat berguna didalam basis data terdistribusi, dimana setiap subsets
dapat berisi data yang memiliki properti secara umum. Fragmentasi
horizontal didefinisikan menurut sebuah kondisi atau predikat yang
menyatakan bahwa tuples yang ada telah mencukupi.
6
Hal ini di definisikan dengan menggunakan operasi SELECT dari aljabar
relasional. Operasi SELECT mengumpulkan tuple yang memiliki kesamaan
kepunyaan; sebagai contoh, tuple yang semuanya 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 :
P1 : tipe = 'Rumah'( properti sewa)
P2 : tipe = 'Flat'(properti sewa)
Hasil dari operasi tersebut akan memiliki dua fragmentasi, yang satu terdiri
dari tipe yang mempunyai nilai 'Rumah' dan yang satunya yang mempunyai
nilai "Flat'.
Fragment P1
Pno Street Area City Pcode Type Rooms Rent Cno Sno Bno
PA14 6 Holl Dee Aber A7S Rumah 6 650 C046 SA9 B7
PG21 8 Dell Hynd Glas G12 Rumah 4 500 C087 SG37 B3
Fragment P2
Pno Street Area City Pcode Type Rooms Rent Cno Sno Bno
PL94 6 Arg Dee Aber A7S Flat 4 450 C067 SL41 B5
PG4 8 Law Hynd Glas G50 Flat 4 400 C070 SG14 B3
PG16 2 Man Part Glas G67 Flat 3 300 C090 SG14 B3
7
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.
8
Contoh fragmentasi horizontal
Terdapat tabel PROJ yang dipecah menjadi fragmen PROJ1 dan PROJ2
PROJ1 : project dengan budget < 200000
PROJ2 : project dengan budget ≥ 200000
Fragmentasi horizontal dibagi kedalam dua bagian, antara lain :
Primary horizontal fragmentation
Derived horizontal fragmentation
Primary Horizontal Fragmentation
Ketika fragmentasi horizontal didefinisikan melalui predikat yang dapat
secara langsung diaplikasikan pada tuples dari relasi, maka fragmentasi
tersebut akan disebut sebagai primary horizontal fragmentation.
Sebuah relasi R(A1, …, An) difragmentasi berdasarkan himpunan predikat-
predikat relasi PR = {p1, …, pn}. Tiap-tiap predikat merupakan perbandingan
9
yang digunakan dalam aljabar relasional, yang dapat melibatkan operator
perbandingan =, ?, <, atau >.
Derived Horizontal Fragmentation
Ketika fragmentasi didefinisikan dari sebuah predikat yang
diaplikasikan pada tuple dalam relasi yang berbeda, maka fragmentasi ini
disebut sebagai derived horizontal fragmentation.
Pembuatan partisi suatu relasi R berdasarkan partisi yang dibuat pada
relasi lain, misalkan S. Satu atau beberapa atribut di R mengacu kepada
primary key pada S.
Fragmentasi ini sering terjadi ketika sebuah relasi mengalami
perubahan dan konflik, yang memungkinkan terjadinya fragmentasi derived.
Hal ini dapat terjadi ketika ia ter-relasikan dengan dua (atau lebih) relasi
“parent” melalui foreign keys.
Dua factor yang mempengaruhi adalah :
Application usage
Join characteristics
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.
Fragmentasi vertical mengambil atribut-atribut dari sebuah relasi-relasi
dan menggabungkan relasi-relasi tersebut dalam non-overlapping fragment.
fragment-fragment tersebut kemudian dialokasikan dalam system basis data
terdistribusi untuk menaikkan performa system. Tujuan dari fragmentasi
vertical adalah untuk meminimalisasi besarnya biaya yang dibutuhkan untuk
mengakses data dalam sebuah proses transaksi.
Fragmentasi vertical dari tabel R adalah proses untuk mendapatkan
fragmen R1, R2, …, Rn sedemikian rupa sehingga setiap fragmen memuat
10
himpunan bagian dari atribut-atribut R dan kunci primer. Fragmentasi ini
lebih sulit dibandingkan dengan fragmentasi horizontal, karena lebih banyak
alternatif hasil yang dimuat.
Tujuan utama fragmentasi vertical adalah membagi sebuah tabel ke
dalam tabel-tabel yang lebih kecil sedemikian rupa sehingga user aplikasi
hanya berjalan dalam satu tabel. Dengan demikian akan meminimalkan waktu
eksekusi aplikasi yang berjalan dalam fragmen-fragmen tersebut.
Banyaknya kemungkinan untuk melaksanakan fragmentasi vertical
akan naik sebanding dengan jumlah atribut yang terdapat dalam relasi.
Contoh fragmentasi vertikal
Tabel PROJ dipecah menjadi dua PROJ1 dan PROJ2
PROJ1 : informasi tentang budget project
PROJ2 : informasi tentang nama project dan lokasi
11
Terdapat dua pendekatan dasar pada fragmentasi vertical :
Memilah-milah desain original dari relasi
Mengelompokkan tiap-tiap atribut dari awal
Pendekatan pertama lebih diperlukan karena :
Relasi original harus sudah terdesain dengan baik
Fragment yang sesuai akan lebih mendekati ukuran dari relasi daripada
ukuran dari masing-masing atribut
Pendekatan dengan pelaksanaan pemilahan akan membawa seluruh
relasi yang telah dibangun sesuai dengan prinsip-prinsip standard dari desain
basis data terpusat.
Hal ini akan menghindari kemungkinan berkurangnya struktur relasi
ideal yang secara nyata dapat terjadi selama proses menggolongan sebuah
pendekatan. Lebih lanjut, duplikasi dari (non-key) atribut dalam fragment
yang berbeda secara tak terpisahkan juga dihindari dalam pendekatan dengan
pemilahan.
Informasi aplikasi yang dibutuhkan dalam fragmentasi vertical :
Aplikasi/query yang mana yang membutuhkan atribut yang mana
Besarnya frekuensi dari satau atau beberap aplikasi/query yang akan
dieksekusi
Informasi yang pertama dapat ditemukan dalam attribute usage matrix,
dan aplikasi kedua dapat digunakan dengan attribute affinity matrix.
Secara mendasar, tugas untuk mendefinisikan atau mengidentifikasi
sebuah atribut tertentu adalah dari pengaksesan bersama dan seberapa sering,
dan kemudian untuk mendesain sebuah fragmentasi vertical untuk
mendukung kombinasi dari atribut yang digunakan secara rutin. Dan secara
jelas, tidak semua aplikasi/query akan secara ideal didukung oleh desain final
– akan selau terdapat kompromi dari kebutuhan-kebutuhan yang saling
bertentangan dan tidak dapat diacuhkan. Kemudian dari pada itu, dikarenakan
12
teknik yang digunakan adalah teknik pemilahan maka akan terdapat atribut
usage dan affinity matrix untuk setiap relasi yang akan difragmentasi vertical.
3. Fragmentasi mixed
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.
Pada kenyataanya banyak aplikasi atau query yang membutuhkan
fragmentasi yang lebih kompleks daripada hanya menggunakan fragmentasi
vertical atau fragmentasi horizontal saja.
Teknik penggunaan tipe fragmentasi ini adalah dengan
mengaplikasikan teknik fragmentasi horizontal terlebih dahulu yang
kemudian diikuti dengan teknik ffragmentasi vertical kepada satu atau lebih
fragment horizontal yang telah dibentuk sebelumnya.
Contoh fragmentasi mixed
Tabel nasabah bank dengan struktur dan data sebagai berikut :
nasabah = (no_nas, nama_nas, alamat_nas, kota, saldo_simpan, saldo pinjam)
Fragmentasi Data Horizontal
Nasabah1 = kota =‘Medan’ (nasabah)
Nasabah2 = kota =‘Padang’ (nasabah)
13
Akan diperoleh 2 buah fragemen
Fragmen Nasabah1
Fragmen Nasabah2
Terapkan operasi union
Nasabah = nasabah1 È nasabah2
Fragmentasi Data Vertikal
Nasabah1 = πno_nas, nama_nas, alamat, kota (nasabah)
Nasabah2 = πno_nas, saldo_simpan (nasabah)
Nasabah3 = πno_nas, saldo_pinjam (nasabah)
Terdapat dua pendekatan, yaitu :
Pendekatan kelompok (Grouping)
Dimulai dengan menempatkan setiap atribut ke dalam sebuah fragmen.
Kemudian setahap demi setahap dilakukan terhadap fragmen yang lain
sampai kriteria yang diinginkan terpenuhi.
Pendekatan pemecahan (Splitting)
Dimulai dengan sebuah tabel kemudian proses pembagiannya dilakukan
berdasarkan pada pola akses aplikasi terhadap setiap atribut.
Dengan alasan kemudahan untuk menjalankan dependensi fungsional
sehingga menjamin keutuhan dalam koreksi data, maka pendekatan yang
akan dipakai adalah pendekatan Splitting.
14
Faktor yang memperngaruhi fragmentasi :
1. Struktur global basis data
2. Karakteristik dari aplikasi, meliputi predikat yang digunakan, lokasi antar
site, dan frekuensi penggunaan
3. Karakteristik jaringan computer
4. Kekuatan dan kemampuan proses dari computer yang digunakan
Kelebihan dari fragmentasi, yang menyebabkan data dalam satu tabel dibagi
menjadi fragmen data untuk didistribusikan yaitu :
1. Penggunaan
Dalam kenyataan, data yang sering digunakan bukanlah data dalam seluruh
tabel, tetapi hanyalah sebagian data atau sering disebut view.
2. 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.
3. 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).
4. 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.
15
Fragmentasi juga memiliki beberapa kelemahan yaitu :
1. Menurunnya unjuk kerja
View yang melibatkan lebih dari satu fragmen data pada lokasi yang berbeda
akan mengalami penurunan unjuk kerja.
2. Integritas
Pengendalian integritas/kesatuan secara utuh lebih sulit jika atribut yang
berperan dalam dependency/ketergantungan didistribusikan ke beberapa
lokasi.
Aturan fragmentasi
Fragmentasi tidak dapat dilakukan secara sembarangan, untuk memastikan
bahwa tidak terdapat perubahan database selama menjalani proses fragmentasi,
proses fragmentasi harus mememuhi 3 aturan berikut ini :
1. Fragment di bentuk dari predikat yang telah dipilih dan diasosiasikan
dengan transaksi yang terdapat dalam basis data. Predikat secara spesifik
mencantumkan nilai atribut yang digunakan dalam format conjuctive
(AND) dan disjunctive (OR) yang digunakan untuk memilih command,
dan kolom (record) yang berisi nilai yang sama dengan format fragment.
2. Fragment harus terpisah dan gabungan dari fragment-fragment tersebut
harus terdiri atas keseluruhan fragment. Fragment yang mendahului akan
menjadi lebih sulit untuk di analisis dan di implementasikan.
3. Fragment yang terbesar adalah keseluruhan table, fragment terkecil
merupakan sebuah record. Fragment harus didesain sedemikian rupa untuk
memelihara keseimbangan diantara perbedaan ini.
16
Ketepatan fragmentasi
1. Completeness (kelengkapan)
Jika sebuah unit data masih merupakan bagian dari relasi asli, maka data
tersebut akan berada dalam satu fragment. Completeness digunakan untuk
memastikan data tidak hilang saat proses fragmentasi.
2. Reconstruction (Rekonstruksi)
Sebuah relasi asli dapat kembali dibuat dari sebuah fragment. Aturan ini
digunakan untuk memastikan bahwa ketergantungan secara fungsi
terpenuhi.
3. Disjoinness (dibuat dalam beberapa bagian)
Data didalam sebuah fragment tidak boleh diikutkan dalam fragment yang
lain, kecuali untuk atribut primary key dalam vertical fragmentation.
Disjoinness digunakan untuk memastika terjadinya redudancy seminimal
mungkin.
17
C. ALOKASI
Dalam basis data terdistribusi, alokasi mengacu kepada distribusi data ke
tempat yang optimal. Ada tiga aspek dalam memastikan alokasi menjadi optimal,
antara lain :
biaya minimal, yang mencakup aspek komunikasi, penyimpanan, dan
pemrosesan (pembacaan dan update); biaya mengacu pada waktu dan
biaya jaringan
kinerja, yang mencakup waktu respons dan throughput
konstrain pemrosesan dan penyimpanan per situs (tempat menyimpan
data)
Untuk dapat mengalokasikan basis data terdistribusi secara optimal,
dibutuhkan informasi-informasi tentang sistem sebagai berikut :
informasi basis data
o skema konseptual basis data dan jumlah situs tersedia
o jumlah, ukuran, dan selektivitas fragmen per relasi global
informasi aplikasi
o jumlah query aplikasi
o rata-rata jumlah akses baca dariquery ke dalam sebuah fragmen
o rata-rata jumlah akses update dari query ke dalam sebuah fragmen
o matriks yang menunjukkan query mana yang meng-updatedan/atau
membaca fragmen tertentu
o situs asal tiap-tiap query dijalankan
informasi situs
o unit cost penyimpanan data dalam satu situs
o unit cost pemrosesan data dalam satu situs
informasi jaringan
o komunikasi antara dua situs, mencakup antara lain bandwidthdan
tunda (latency)
18
Ada empat strategis menurut alokasi penempatan data :
1. Sentralisasi
Strategi ini berisi satu basis data dan DBMS yang disimpan pada satu
situs dengan pengguna yang didistribusikan pada jaringan (pemrosesan
distribusi).
Referensilokal paling rendah disemua situs, kecuali situs pusat harus
menggunakan jaringan untuk pengaksesan semua data. Hal ini berarti juga :
Biaya komunikasi tinggi.
Keandalan dan keberadaan rendah,
Kesalahan pada situs pusat akan mempengaruhi semua sistem basis data.
2. Partisi (fragmentasi)
Strategi ini mempartisi basis data yang dipisahkan ke dalam fragmen-
fragmen, dimana setiap fragmen di alokasikan pada satu site. Jika data yang
dilokasikan pada suatu site, dimana data tersebut sering digunakan maka
referensi lokal akan meningkat. Namun tidak akan ada replikasi, dan biaya
penyimpanan nya rendah, sehingga keandalan dan keberadaannya juga
rendah, walaupun pemrosesan distribusi lebih baik dari pada sentralisasi.
Ada satu kelebihan pada sentralisasi yaitu dalam hal kehilangan data,
yang hilang hanya ada pada site yang bersangkutan dan aslinya masih ada
pada basis data pusat. Kinerja harus bagus dan biaya komunikasi rendah jika
distribusi di rancang dengan sedemikian rupa.
3. Replikasi yang lengkap
Strategi ini berisi pemeliharaan salinan yang lengkap dari suatu basis data
di setiap site. Dimana referensi lokal, keberadaan dan keandalan dan kinerja
adalah maksimal. Bagaimanapun biaya penyimpanan dan biaya komunikasi
19
untuk mengupdate besar sekali biayanya. Untuk mengatasi masalah ini,
biasanya digunakan snapshot (adalah fungsi sesaat beberapa penyimpanan).
Snapshot digunakan untuk menyalin data pada waktu yang telah
ditentukan. Data yang disalin adalah hasil update per periode , misalkan per
minggu atau perjam, sehingga data salinan tersebut tidak selalu up to date.
Snapshot juga digunakan untuk mengimplementasikan table view di dalam
data terdistribusi untuk memperbaiki waktu yang digunakan untuk kinerja
operasional dari suatu basis data.
4. Replikasi yang selektif
Strategi yang merupakan kombinasi antara partisi, replikasi dan
sentralisasi. Beberapa item data di partisi untuk mendapatkan referensi lokal
yang tinggi dan lainnya, yang digunakan di banyak lokasi dan tidak selalu di
update adalah replikasi ;selain dari itu di lakukan sentralisasi. Obyektifitas
dari strategi ini untuk mendapatkan semua keuntungan yang dimiliki oleh
semua strategi dan bukan kelemahannya. Strategi ini biasa digunakan karena
fleksibelitasnya.
20
D. REPLIKASI
Replikasi adalah suatu teknik untuk melakukan copy dan pendistribusian data
dan objek-objek database dari satu database ke database lain dan melaksanakan
sinkronisasi antara database sehingga konsistensi data dapat terjamin.
Secara sederhana replikasi database adalah proses automatik perintah dari
database satu ke database lain yang tentunya terhubung dalam jaringan.
Kegunaan replikasi
Kegunaan dari proses replikasi ini adalah bila suatu database satu mengalami
kerusakan maka secara otomatis semua data yang telah disimpan pada database
satu dapat dilihat kembali di database lain. Proses Backup dan Restore agak
kurang praktis, maka konsep inilah solusi keefektifan dalam menjawab kekurang
praktisan kedua proses diatas. Konsep ini merupakan konsep teknologi yang unik,
karena secara otomatis segala perintah yang ada pada database satu akan
tersimpan pada database lain sehingga bila kehilangan data pada database satu,
database masih tersimpan rapih di database lain.
Keuntungan replikasi
1. Memungkinkan beberapa lokasi menyimpan data yang sama
2. Aplikasi transaksi online terpisah dari aplikasi pembacaan
3. Memungkinkan otonomi yang besar. Pengguna dapat bekerja dengan
mengcopy data pada saat tidak terkoneksi kemudian melakukan perubahan
untuk dibuat database baru pada saat terkoneksi
4. Data dapat ditampilkan seperti layaknya melihat data tersebut dengan
menggunakan aplikasi berbasis Web
5. Meningkatkan kinerja pembacaan
6. Membawa data mendekati lokasi individu atau kelompok pengguna. Hal
ini akan membantu mengurangi masalah karena modifikasi data dan
pemrosesan query yang dilakukan oleh banyak pengguna karena data
dapat didistribusikan melalui jaringan dan data dapat dibagi berdasarkan
kebutuhan masing-masing unit atau pengguna.
21
7. Penggunaan replikasi sebagai bagian dari strategi standby server.
Kelemahan replikasi
1. Kompleksitas, adanya pekerjaan ekstra untuk memaintain multi sistem
yang terpisah.
2. Ekonomis, semakin tinggi kompleksitas, infrastruktur semakin ekstensif
dan keamanan harus terjamin.
Jenis replikasi
1. Snapshot replication
Mendistribusikan data yang dapat dilihat pada saat tertentu tanpa
melakukan update. Biasanya digunakan pada saat memerlukan tampilan
data seperti :
Daftar harga
Katalog
Data yang digunakan untuk pengambilan keputusan
Data-data ini sifatnya hanya ‘read only’
Replikasi ini membantu pada saat :
Data sebagian besar statis dan tidak sering berubah
Dapat menerima copy data yang telah melewati batas waktu yang
ditentukan
Datanya sedikit
2. Transactional replication
Memelihara kekonsistenan transaksi yang terjadi
3. Merge replication
Merge replication memungkinkan pengguna bekerja dan merubah data
sesuai dengan Wewenangnya. Pada saat server tidak dikoneksikan
keseluruh lokasi dalam topologi, replikasi merubah ke nilai data yang
sama.
22
Tiga tujuan utama replikasi
1. Performance Enchancements (Meningkatkan kinerja)
2. Increased Availability (Meningkatkan ketersediaan)
3. Fault Tolerance (Toleransi Kesalahan)
Dalam melakukan replikasi ada dua strategi, yaitu :
1. Sinkron
Sebelum seluruh proses transaksi update dinyatakan selesai, data yang telah
dimodifikasi disinkronkan ke setiap duplikatnya, proses ini harus
menunggu hingga data di tempat penyimpanan duplikat selesai ditulis
sebelum dilakukan perubahan lainnya sehingga menjadi lebih kompleks.
2. Asinkron
Copy data diperbaharui secara periodik berdasarkan data utama yang
diperbaharui; proses penulisan data selesai tanpa perlu menunggu penulisan
data di tempat penyimpanan duplikat selesai; proses ini memang
meningkatkan kinerja sistem namun risikonya, inkonsistensi data bisa terjadi.
Daftar Pustaka
23