desain basis data terdistribusi

38
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

Upload: abimartaapriyansyah

Post on 07-Apr-2016

512 views

Category:

Documents


99 download

DESCRIPTION

Belajar database terdistribusi

TRANSCRIPT

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