- Blog Bina Darma

advertisement
Desain
BASIS DATA TERDISTRIBUSI
Fatoni, MM.,M.Kom.
PENDAHULUAN
Desain suatu organisasi dapat dipandang
dari sudut tiga dimensi, yaitu :
1. Tingkat Sharing
2. Jenis Pola Akses
3. Tingkat Pengetahuan pada Jenis Pola
Akses
1. TINGKAT SHARING
1. Tidak ada sharing : aplikasi dan data dijalankan dari
setiap lokasi dan tidak ada komunikasi dengan
program atau akses ke data di lokasi lain.
2. 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.
3. 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
1. Statik. Pola akses tidak berubah dari waktu ke
waktu.
2. Dinamik. Pola akses berubah dari waktu ke waktu.
(sangat sulit dijumpai sistem dengan pola akses
dinamis)
3. TINGKAT PENGETAHUAN
JENIS POLA AKSES
Tingkat pengetahuan diukur dari seberapa banyak
desainer memiliki informasi tentang bagaimana user
akan mengakses data.
1. Informasi lengkap : tidak ada penyimpangan yang
signifikan dari prediksi tentang pola akses user.
2. Informasi sebagian : ada penyimpangan dari
prediksi
STRATEGI DESAIN ALTERNATIF
Terdapat dua strategi utama
database terdistribusi yaitu :
1. Pendekatan top-down dan
2. Pendekatan bottom-up,
dalam
mendesain
Namun pendekatan bottom up baru dapat dilakukan
jika sudah ada database yang tersebar di beberapa
lokasi.
STRATEGI DESAIN ALTERNATIF
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. Desain untuk sistem terdistribusi
dapat melalui langkah :
1. Fragmentasi,
2. Penempatan data atau alokasi dan
3. Replikasi.
STRATEGI DESAIN ALTERNATIF
1. Fragmentasi : Sebuah relasi yang terbagi menjadi
beberapa sub-sub relasi yang disebut dengan
fragment, sehingga disebut juga distribusi.
2. Alokasi, setiap fragmen disimpan pada situs dengan
distribusi yang optimal.
3. Replikasi, DDBMS dapat membuat suatu copy dari
fragmen pada beberapa situs yang berbeda.
TUJUAN DESAIN ALTERNATIF
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
reliabitilas/kehandalan
dan
availabilitas/ketersediaan. Hal ini dapat dilakukan
dengan replikasi : yaitu terdapat salinan data di
lokasi lain jika salah satu lokasi mengalami
kegagalan data.
TUJUAN DESAIN ALTERNATIF
3. Meningkatnya
unjuk
kerja.
Penempatan
data/alokasi yang sembarangan akan menghasilkan
kemacetan, yaitu misalkan sebuah lokasi kebanjiran
permintaan data sehingga menurunkan unjuk kerja.
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.
TUJUAN DESAIN ALTERNATIF
5. Biaya komunikasi minimal. Harus dipertimbangkan
biaya komunikasi anta 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.
FRAGMENTASI
Alasan yang menyebabkan data dalam satu tabel dibagibagi 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
FRAGMENTASI
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.
FRAGMENTASI
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.
FRAGMENTASI
Terdapat dua fragmentasi data yaitu :
1. Fragmentasi Horizontal, yaitu subset dari
tupel/Baris
2. Fragmentasi Vertical, subset dari atribut/kolom.
CONTOH FRAGMENTASI
HORIZONTAL
Terdapat tabel PROJ yang dipecah menjadi
fragmen PROJ1 dan PROJ2
PROJ1 : project dengan budget < 200,000
PROJ2 : project dengan budget > atau = 200,000
CONTOH FRAGMENTASI
HORIZONTAL
CONTOH FRAGMENTASI
VERTIKAL
Tabel PROJ dipecah menjadi dua PROJ1 dan PROJ2
PROJ1 : informasi tentang budget project
PROJ2 : informasi tentang nama project dan lokasi
CONTOH FRAGMENTASI
VERTIKAL
Fragmentasi Data

Dapat diterapkan operasi union/ Gabungan ataupun
operasi natural join/ menggabungkan dua tabel
berdasarkan nama kolom yang sama.

Contoh
Tabel nasabah bank dengan struktur dan data
sebagai berikut :
nasabah = (no_nas, nama_nas, alamat_nas, kota,
saldo_simpan, saldo pinjam)
Fragmentasi Data

Tabel Nasabah
No_nas
Nama_nas
Alamat
Kota
Saldo_simp
an
Saldo_pinj
am
2001001
Jamaludin
Jl. Suci 10
Medan
100000
0
2001002
Nurhaliza
Jl. Abdi 22
Medan
2300000
1450000
2001003
Nur Alam
Jl. Aceh 10
Medan
1200000
3500000
2001004
Setia
Jl.Jawa 112 Medan
1500000
1000000
2002001
Tini
Jl. Adil 20
Padang
50000
0
2002002
Ahmad
Jl. Taat 12
Padang
750000
0
2002003
Wisnu
Jl Damai 11 Padang
2600000
5000000
2002004
Alif
Jl. Mulia 1
100000
12000000
Padang
Fragmentasi Data Horizontal
nasabah1 = kota=‘Medan’ (nasabah)
nasabah2 = kota=‘Padang’ (nasabah)
Fragmentasi Data Horizontal
Akan diperoleh 2 buah fragemen
o
Fragmen Nasabah1
o
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)
Fragmentasi Data
Replikasi dan Fragmentasi
Upaya untuk replikasi dan fragmentasi data dapat dilakukan
sekaligus pada sebuah tabel, yaitu dengan mereplikasi fragmenfragmen yang telah terbentuk. Misalnya, dalam sebuah sistem
terdistribusi terdapat 5 buah simpul S1, S2, S3, S4 dan S5.
Kita dapat memilah tabel nasabah sesuai dengan kota dimana
nasabah mengajukan permohonan menjadi nasabah1, nasabah2
dan nasabah3.
Kemudian dengan pertimbangan tertentu, fragmen nasabah1
disimpan di simpul S1, S2 dan S3. lalu fragmen nasabah2
disimpan disimpul S3 dan S4 dan fragmen nasabah3 disimpan di
simpul S1 dan S3.
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. Completeness (kelengkapan)
2. Reconstruction (Rekonstruksi)
3. Disjoinness (Dibuat dalam beberapa bagian).
ATURAN FRAGMENTASI
1. Completeness (kelengkapan)
Digunakan untuk memastika data tidak hilang saat
proses fragmentasi
2. Reconstruction (Rekonstruksi)
Aturan ini digunakan untuk memastikan bahwa
ketergantungan secara fungsi terpenuhi.
3. Disjoinness (Dibuat dalam beberapa bagian).
Digunakan untuk memastika terjadinya redudancy
seminimal mungkin.
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.
ALOKASI DATA
Ada empat strategis menurut penempatan data :
1. Sentralisasi
2. Partisi ( Fragmentasi )
3. Replikasi yang lengkap
4. Replikasi yang selektif
1. SENTRALISASI
Strategi ini berisi satu basis data dan DBMS yang
disimpan pada satu situs dengan pengguna yang
didistribusikan pada jaringan (Pemrosesan distribusi).
Referensi lokal paling rendah di semua situs, kecuali
situs pusat, harus menggunakan jaringan untuk
pengaksesan semua data. Hal ini berarti juga :
1. Biaya komunikasi tinggi.
2. Keandalan dan keberadaan rendah,
3. 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.
2. PARTISI(FRAGMENTASI) ...
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 untuk mengupdate besar sekali
biayanya. Untuk mengatasi masalah ini, biasanya
digunakan snapshot (adalah fungsi sesaat beberapa
penyimpanan).
3. REPLIKASI YANG LENGKAP
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.
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
KEUNTUNGAN REPLIKASI
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.
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’.
JENIS REPLIKASI
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
JENIS REPLIKASI
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.
TIGA TUJUAN UTAMA REPLIKASI
A. Performance Enchancements (Meningkatkan kinerja)
B. Increased Availability (Meningkatkan ketersediaan)
C. Fault Tolerance (Toleransi Kesalahan)
Download