Monday, May 9, 2011

KONSEP DATA TERDISTRIBUSI

Basis data terdistribusi atau distributed database adalah kumpulan data yang secara logika saling berhubungan satu sama lain, yang terdistribusi dalam suatu jaringan komputer. Karena data disimpan pada beberapa tempat, maka setiap tempat harus diatur oleh suatu DBMS (Database Management System) yang dapat berjalan secara independent.
Ada dua jenis basis data terdistribusi, yaitu homogen dan heterogen. Basis data homogen yaitu sistem dimana setiap tempat menjalankan tipe DBMS yang sama sedangkan basis data heterogen yaitu sistem dimana setiap tempat yang berbeda menjalankan DBMS yang berbeda baik Relational DBMS atau non Relational DBMS.
Dua arsitektur alternatif DBMS terdistribusi adalah client-server dan collaboration server.
·         Client-Server
Sistem client-server mempunyai satu atau lebih proses client dan satu atau lebih proses server, dan sebuah proses client dapat mengirim query ke sembarang proses server seperti pada Gambar 7-2. Client bertanggung jawab pada antar muka untuk user, sedangkan server mengatur data dan mengeksekusi transaksi. Sehingga suatu proses client berjalan pada sebuah personal computer dan mengirim query ke sebuah server yang berjalan pada mainframe.

Arsitektur ini menjadi sangat popular untuk beberapa alasan. Pertama, implementasi yang relatif sederhana karena pembagian fungis yang baik dan karena server tersentralisasi. Kedua, mesin server yang mahal utilisasinya tidak terpengaruh pada interaksi pemakai, meskipun mesin client tidak mahal. Ketiga, pemakai dapat menjalankan antarmuka berbasis grafis sehingga pemakai lebih mudah dibandingkan antar muka pada server yang tidak user-friendly. Pada saat menulis aplikasi client-server, perlu diingat batasan antara client dan server dan untuk menjaga komunikasi antara keduanya yang berorientasi himpunan. Khususnya membuka kursor dan mengambil tupel pada satu waktu membangkitkan beberapa pesan dan dapat diabaikan.
·         Collaboration Server
Arsitektur client-server tidak mengijinkan satu query mengakses banyak server karena proses client harus dapat membagi sebuah query ke dalam beberapa subquery untuk dieksekusi pada tempat yang berbeda dan kemudian membagi jawaban ke subquery. Proses client cukup komplek dan terjadi overlap dengan server, sehingga perbedaan antara client dan server menjadi jelas. Untuk mengurangi perbedaan diguankan alternatif arsitektur client-server yaitu sistem Collaboration Server. Pada sistem ini terdapat sekumpulan server basis data, yang menjalankan transaksi data lokal yang bekerjasama mengeksekusi transaksi pada beberapa server seperti pada Gambar 7-3.
Jika server menerima query yang membutuhkan akses ke data pada server lain, sistem membangkitkan subquery yang dieksekusi server lain dan mengambil hasilnya bersama-sama untuk menggabungkan jawaban menjadi query asal.

Pada DBMS terdistribusi, relasi disimpan pada beberapa tempat. Pengaksesan relasi yang disimpan pada remote side mengakibatkan biaya melewatkan pesan dan untuk menguranginya, sebuah relasi dipartisi atau difragmentasi ke beberapa tempat, dengan fragmen dikirim pada tempat dimana fragmen tersebut sering diakses, atau replika pada pada setiap tempat dimana relasi menjadi kebutuhan yang tinggi.
·         Fragmentasi
Fragmentasi terdiri dari relasi yang dibagi ke relasi atau fragmen yang lebih kecil dan mengirim fragmen, pada beberapa tempat. Terdapat dua macam fragmentasi, fragmentasi horizontal dan fragmentasi vertikal. Pada fragmentasi horisontal, setiap fragmen terdiri dari sebuah subset baris dari relasi asal. Pada fragmentasi vertikal, setiap fragment terdiri dari sebuah subset kolom dari relasi asal. Fragmentasi horisontal dan vertikal diilustrasikan pada Gambar 7-4.

Bila sebuah relasi difragmentasi, harus meliputi relasi asal dari fragmen :
ü  Fragmentasi horisontal : union dari fragmen horisontal harus sama dengan relasi asal. Fragmen biasanya dibutuhkan disjoint.
ü  Fragmentasi vertikal : koleksi fragmen vertikal seharusnya dekomposisi lossless-join.
Untuk menjamin fragmentasi vertikal lossless-join, sistem harus menyediakan id tupel yang unik untuk setiap tupel dalam relasi asli. Jika kita berpilir bahwa relasi asal sebagai field yang berisi tambahan tupel-id sebagai kunci, field ini ditambahkan ke setiap fragmen vertikal. Sehingga dekomposisi dijamin lossless-join.
·         Replikasi
Replikasi berarti bahwa kita menyimpan beberapa copy sebuah relasi atau fragmen relasi. Keseluruan relasi dapat direplikasi pada satu atau lebih tempat. Sebagai contoh, jika relasi R difragmentasi ke R1, R2 dan R3, kemungkinan terdapat hanya satu copy R1, dimana R2 adalah replikasi pada dua tempat lainnya dan R3 replikasi pada semua tempat. Hal ini dapat diilustrasikan pada Gambar 7-5.

Keuntungan dari replikasi adalah :
ü  Meningkatkan ketersediaan data : Jika sebuah tempat yang berisi replika melambat, kita dapat menemuka data yang sama pada tempat lain. Demikian pula, jika copy lokal dari relasi yang diremote tersedia, maka tidak terpengaruh saluran komunikasi yang gagal.
ü  Evaluasi query yang lebih cepat : query dapat mengeksekusi lebih cepat menggunakan copy local dari relasi termasuk ke remote site.

2 comments:

  1. This comment has been removed by the author.

    ReplyDelete
  2. terimaksih untuk artikelnya sangat menarik dan membantu saya untuk belajar,perkenalkan saya Rama januarti dari kampus ISB Atma Luhur

    ReplyDelete