Artikel Database Terdistribusi

Strategi Desain Alternatif

Terdapat dua strategi utama dalam mendesain database terdistribusi yaitu pendekatan top-down dan pendekatan bottom-up, namun pendekatan bottom up baru dapat dilakukan jika sudah ada database yang tersebar di beberapa lokasi.

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 fragmentasi, penempatan data atau alokasi dan replikasi.

Distribusi data dengan cara fragmentasi, alokasi dan replikasi mempunyai tujuan :

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.
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.

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 dibagi-bagi 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.

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 lebih sulit jika atribut yang berperan dalam dependency didistribusikan ke beberapa lokasi.

Terdapat dua fragmentasi data yaitu :

Fragmentasi Horizontal

Terdapat syarat informasi untuk fragmentasi horizontal, yaitu :

Application Information Informasi kualitatif dari aplikasi paling mendasar adalah predicate yang digunakan dalam query. Dari predicate dapat dibentuk :

Fragmentasi Vertikal

Fragmentasi vertical dari tabel R adalah proses untuk mendapatkan fragmen R1, R2, …, Rn sedemikian rupa sehingga setiap fragmen memuat himpunan bagian dari atribut-atribut R dan kunci primer. Fragmentasi ini lebih sulit dibandingkan dengan fragmentasi horizontal, karena lebih banyak alternative 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.

Terdapat dua pendekatan, yaitu :

1. 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.

2. 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.

http://jati.staff.unisbank.ac.id/

Posted on October 25, 2011, in Makul. Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: