Basis data pada dasarnya merupakan
kumpulan data. Di dalamnya bisa terdapat tabel-tabel dengan banyak atribut dan
berbagai macam tipe data. Basis data biasanya tersimpan dalam satu server yang
pasti diakses oleh banyak klien dan secara bersamaan. Semakin banyak yang
mengakses, akan membuat beban server menjadi berat dan bukan tidak mungkin
terjadi error. Bayangkan suatu perusahaan besar yang memiliki banyak cabang
tersebar memiliki database terpusat hanya pada satu server. Jutaan lebih data
diakses setiap waktu dan transaksi data terus terjadi tanpa henti. Jumlah data
semakin meningkat namun pengolahan data hanya terjadi secara terpusat, hasilnya
menjadi tidak optimal karena memerlukan waktu respon yang tinggi, sementara
tujuan basis data adalah meminimalkan waktu respon. Untuk mengatasi masalah
tersebut bisa dipakai arsitektur basis data terdistribusi daripada arsitektur
basis data terpusat. Basis data dapat disimpan dalam beberapa server dengan
platform yang berbeda di lokasi yang berbeda pula. Setiap server cabang
mengelola data secara lokal namun tetap terintegrasi dan tersinkronisasi satu
sama lain. Contoh kasusnya pada warnet besar yang memiliki 5 cabang. Seorang
pelanggan warnet mendaftar sebagai member di cabang 1. Keuntungan menjadi
member adalah mendapat diskon 20% setiap kali memakai jasa warnet tersebut. Data
pelanggan akan tersimpan pada cabang 1 namun pelanggan tetap dapat menggunakan fasilitas
membernya pada semua cabang tanpa harus mendaftar lagi pada cabang yang lain,
karena basis data warnet tersebut saling terintegrasi satu sama lain. Pada database
terdistribusi terdapat database logis yang secara fisik tersebar pada beberapa
komputer server yang berbeda lokasi dengan dihubungkan melalui jaringan
komunikasi data. Dengan adanya basis data terdistribusi akan memberi keuntungan
seperti, meminimalkan waktu respon dan menurunkan biaya komunikasi data. Dengan
beberapa keuntungan yang diberikan tentu basis data ini juga memiliki
kekurangan seperti, tingginya kompleksitas dan adanya resiko integritas data,
juga Membutuhkan koneksi jaringan yang bersifat private (VPN – Virtual Private Network)
agar dapat mengakses data pada database – database yang tersebar.
Untuk menjaga basis data terdistribusi
tetap update, cara yang dilakukan adalah : Replikasi dan Partisi.
Dengan adanya replikasi data, maka data dapat
diduplikasi pada lebih dari satu database server Dalam proses ini, satu basis
data dijadikan master, kemudian diperbanyak menjadi sejumlah duplikat. Selama
proses duplikasi berlangsung, perubahan hanya boleh dilakukan pada basis data
master agar data lokal tidak tertimpa. Tipe replikasi data yang dapat digunakan
dibagi menjadi 2 cara, yaitu:
1. Replikasi Push : server pusat melakukan sinkronisasi data pada tiap server
lokal. Kontrol sinkronisasi terdapat
pada server pusat dan server lokal hanya dapat menerima perubahan yang dilakukan
oleh server pusat tersebut.
2. Replikasi Pull : server lokal yang menentukan kapan perubahan data
akan dilakukan sinkronisasi dengan server pusat. Proses sinkronisasi data menjadi
tidak terlalu mengganggu dan proses replikasi hanya akan dilakukan pada saat server
lokal membutuhkannya.
Ada dua teknik replikasi yaitu Single
Master Replicated dan Multi Master Replicated. Dengan metode Single Master
Replicated, salah satu komputer berfungsi sebagai master dan yang lainnya
berfungsi sebagai slave. Pada prosesnya, komputer master dapat melakukan read dan
write ke dalam database. Sedangkan komputer slave, hanya dapat melakukan read saja
kedalam Basis Data tersebut. Apabila dilakukan perubahan data pada master, maka
otomatis data pada slave akan berubah. Tetapi jika dilakukan perubahan data
pada slave, Basis Datapada master tidak akan berubah. Metode Single Master
Replicated bertipe replikasi push.
Sedangkan dalam metode Multi Master
Replicated semua komputer berfungsi sebagai master server. Pada prosesnya,
setiap komputer dapat melakukan write dan read data didalam database. Jika dilakukan
perubahan data pada komputer 1, maka otomatis data pada komputer 2 akan berubah
dan sebaliknya. Artinya setiap master
dapat mengubah dan menambah data pada Basis Data yang akan didistribusikan.
Partisi database juga dilakukan dengan
memecah database menjadi bebrapa fragmen. Ada 3 metode dalam melakukan partisi
yaitu : Partisi Horizontal, Partisi Vertikal dan Partisi Hybrid.
1. Partisi Horizontal merupakan metode partisi data yang digunakan untuk mengambil
data yang ada secara baris record. Beberapa data yang mempunyai hubungan (relation)
disimpan dalam bentuk record pada server pusat dan server lokal, dimana data
yang mempunyai relasi ini nantinya digunakan untuk menghubungkan dalam
melakukan query.
2. Partisi Vertikal merupakan metode partisi data yang mengambil data
secara kolom. Hampir sama seperti pada partisi horizontal, bedanya adalah pada
partisi vertikal agak sulit dalam melakukan penggabungan data hasil query,
karena membutuhkan operasi join. Berbeda dengan partisi horizontal yang membutuhkan
operasi union yang lebih mudah dalam melakukan penggabungan data hasil query.
3. Partisi Hybrid merupakan metode yang menggabungkan metode partisi
horizontal dan partisi vertikal. Sehingga dengan metode hybrid ini, maka
penggabungan data hasil query dari komputer server yang tersebar dapat
disesuaikan dengan kebutuhan
model akses database terdistribusi dapat
dibangun berdasarkan pendekatan services oriented architecture dimana dapat
meningkatkan performa akses data yang lebih baik terhadap data yang tersebar.
Source :
Tidak ada komentar:
Posting Komentar