Lompat ke konten Lompat ke sidebar Lompat ke footer

Basis Data Terdistribusi


File processing/pemrosesan file menggunakan prinsip setiap aplikasi memiliki data tersendiri. Hal ini mempengaruhi efesiensi dan efekifitas sehingga muncul konsep data base system /system basis data. Konsep ini mendasarkan pada prinsip bahwa data dibuat, disediakan dan dikelola secara terpusat/sentral dan mengakibatkan program aplikasi tidak lagi tergantung pada perubahan data baik secara logic maupun fisik dan juga sebaliknya, yang disebut dengan data independence.

Perbedaan file processing dengan database system:

file processing dan database processing
Pada perkembangan system database; data yang tersimpan semakin besar, pemrosesan semakin kompleks, data dapat diakses dengan menggunakan teknologi sehingga muncul system database terdistribusi.

Distributed data processing / pemrosesan data terdistribusi.

Merupakan sekumpulan peralatan pemrosesan yang saling terhubung melalui jaringan yang mengerjakan tugas-tugas tertentu. 

Pemrosesan terdistribusi dapat dikelompokan berdasarkan beberapa kriteria yaitu : 

  1. Degree Coupling / Tingkat hubungan : tinggi atau rendah ? Jumlah data yang saling digunakan dibandingkan dengan jumlah pemrosesan lokal. 
  2. Struktur antar hubungan : kuat atau lemah ? Jika komponen dapat di share dikatakan kuat
  3. Kesaling tergantungan komponen-komponen. Kuat atau lemah dalam mengekseskusi proses.
  4. Keselarasan antar komponen.

Pemrosesan terdistribusi berkembang karena kebutuhan untuk dapat memecahkan masalah besar dan kompleks dengan menggunakan berbagai macam aturan divide and conquer. Alasan lain yang mendasar adalah struktur organisasi yang berubah menjadi terdistribusi. Karena perkembangan pemrosesan terdistribusi inilah maka kemudian berkembang distributed database system.


Distributed database system / system database terdistribusi

Merupakan sekumpulan database yang saling terhubung secara logical dan secara fisik terdistribusi pada berbagai tempat melalui jaringan computer. Sistem yang mengelola database terdistribusi dan menyediakan mekanisme agar distribusi transparent adalah distributed database management system (DDBMS). Berikut ini adalah ciri-ciri untuk system yang bukan merupakan system database terdistribusi: Sistem yang berisi kumpulan file. 

Berbagai arsitektur fisik berkait dengan system multiprocessor dibawah ini :

database terdistribusi

Sistem database terdistribusi

sistem terdistribusi dapa sistem basis data


Beberapa ciri system database terdistribusi.
  1. Data disimpan pada sejumlah tempat. Setiap tempat secara logic terdiri dari processor tunggal.
  2. Processor pada tempat yang berbeda tersebut dihubungkan dengan jaringan computer.
  3. Bukan sekumpulan file yang berada pada berbagai tempat tetapi merupakan database pada berbagai tempat.
  4. Setiap tempat mempunyai kemampuan untuk mandiri memproses permintaan user yang membutuhkan akses kedata ditempat tersebut, dan juga mampu untuk memproses data yang tersimpan di tempat lain.

Keuntungan sistem database terdistribusi.

  1. Pengelolaan secara transparan data terdistribusi dan replicated.
    1. Mengurangi ketergantungan data
    2. Transparansi jaringan
    3. Transparansi replikasi
    4. Transparansi fragmentasi 
  2. Mengacu pada struktur organisasi
  3. Meningkatkan kemampuan untuk share dan otonomi local
  4. Meningkatkan ketersediaan data
  5. Meningkatkan kehandalan
  6. Meningkatkan unjuk kerja
  7. Memudahkan pengembangan system

Kelemahan system database terdistribusi.

  1. Kompleksitas manajemen
  2. Control integritas lebih sulit
  3. Biaya pengembangan
  4. Keamanan
  5. Kurang standarisasi
  6. Menambahkan kebutuhan penyimpanan
  7. Lebih sulit dalam mengatur lingkungan data
  8. Menambah biaya pelatihan.

 

Konsep Jaringan dam Hubungannya Dengan Sistem DatabaseTerdistribusi

Untuk dapat saling berhubungan antar site pada sistem database terdistribusi diperlukan jaringan komunikasi komputer. Jaringan komputer adalah interkoneksi antara sejumlah komputer autonomous yang dapat saling bertukar informasi antara komputer yang terhubung. Bentuk komputer yang saling terhubung biasanya disebut dengan Node, host atau site. Bentuk hubungan antar komputer tidak hanya melalui kawat tembaga saja, tetapi dapat melalui serat optic, gelombang mikro dan satelit komunikasi. Komponen pokok dalam jaringan komputer adalah hardware yang digunakan untuk saling berkomunikasi. 

Distributed Database Management System (DDBMS) dibangun pada top of network, sedemikian rupa sehingga jaringan tidak nampak pada user. User tidak perlu tahu kerumitan pengelolaan jaringan, semuanya sudah dilakukan secara otomatik oleh sistem. Konsep komunikasi merupakan perpindahan informasi berbantuan sistem transmisi listrik via lebih dari 1 jaringan data yang tergantung pada protokol. Komunikasi data diperlukan karena adanya pengiriman dan penerimaan data atau saling tukar infromasi jarak jauh.


Tipe Jaringan

Terdapat 3 kriteria untuk klasifikasi jaringan komputer, yaitu : 

  1. Topologi Jaringan : berdasarkan struktur interkoneksi dari komputer
  2. Model transmisian
  3. Scale : berdasarkan pada distribusi secara geografis

Topologi

  • Struktur fisik setiap elemen jaringan dapat saling berhubungan.
  • Arsitekstur topologi dasar :
    • Bus, yang hanya memiliki satun jalur transmisi muara elemen jaringan, terbuka keduabelah ujung.
    • Ring, yang memiliki hanya satu jalur transmisi lingkaran tertutup.
    • Star, yang memiliki central node dan dengan dasar point to point link elemen-elemen jaringan tersambung, sehingga transmisi dapat dilakukan secara simultan.
    • Hub/tree, variasi bus dan ring

topologi jaringan sistem basis data terdistribusi

 

Model transmisi

Terdapat 2 jenis transmisi yaitu :

  1. Jaringan broadcast (Multi point). Memiliki saluran komunikasi tunggal yang dipakai bersama oleh semua mesin. Pesan berukuran kecil biasanya disebut dengan paket. Setiap paket memiliki alamat yang akan digunakan untuk men cek pada saat paket tersebut diterima oleh mesin penerima (tujuan).
  2. Jaringan point to point (Unicast point). Terdiri dari beberapa hubungan pasangan individu dari mesin. Untuk mengirim paket dari sumber ketempat tujuan, sebuah paket mungkin harus melalui satu atau lebih mesin-mesin perantara.

Scale (LAN, WAN, MAN)
LAN apabila distribusi pada letak geografis jarak pendek (short) pada site yang sama, sedang WAN untuk jarak jauh (long). MAN adalah bentuk spesial dari WAN yang umumnya meng-cover  kota atau daerah pinggir kota.


Desain Sistem Database Terdistribusi (SBDT). 

Hal yang penting dperhatikan dalam system terdistribusi adalah menentukan penempatan data dan program pada jaringan computer. Menentukan desain suatu organisasi  dapat dipandang 3 dimensi, yaitu :

  1. Tingkat Sharing, terdiri dari :
    1. Tidak ada sharing : apilikasi dan data dijalankan dari setiap lokasi dan tidak ada komunikasi dengan program atau akses ke data ke lokasi lain.
    2. Shaing data : semua program disalin/replica disemua lokasi, tetapi data tidak disalin. Permintaan data dari user diolah oleh komputer dimana user mengakses dan file data akan dikirimkan 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,  terdiri data :
    1. Statik. Pola akses tidak berubah dari waktu ke waktu
    2. Dinamik. Pola akses berubah dari waktu ke waktu
  3. Tingkat pengetahuan pada jenis pola akses.Diukur dari berapa banyak desainer memiliki informasi tentang bagaimana user akan megakses data.
    1. Informasi lengkap : tidak ada penyimpangan yang signifikan dari prediksi tentang pola akses user.
    2. Informasi sebagian : ada penyimpangan dari prediksi.

    

Pendekatan  Desain Terdistribusi

Terdapat 2 strategi desain yang utama untuk membangun SBDT adalah pendekatan top down dan pendekatan bottom up.

  1. Pendekatan Bottom Up dilakukan jika sudah ada database yang disebar dibeberapa lokasi.
  2. Pendekatan Top Down

Dalam ”Distribution Design” dilakukan desain untuk mendistribusilam relasi ke semua lokasi dalam sistem terdistribusi. Tetapi kelemahan dalam 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.
 

Tujuan Distribusi Data dengan cara Fragmentasi, penempatan data atau alokasi dan replikasi adalah :

  1. Referensi lokalitas. Data seharusnya diletakan sedekat mungkin dengan lokasi pengaksesan data. Jika fragmen data digunakan pada beberapa lokasi maka akan lebih menguntungkan jika fragmen disimpan pada lokasi-lokasi tersebut.
  2. Meningkatkan Reliabilitas/kehandalan dan avaibilitas/ketersediaan. Hal ini dapat dilakukan dengan replikasi, yaitu terdapat salinan data dilokasi lain.
  3. Meningkatkan unjuk kerja. Penemapatan/alokasi yang tidak baik akan menghasilkan kemacetan dalam mengakses data. Contoh sebuah lokasi ada rush/kebanjiran permintaan data akan mempengaruhi 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  penyimpanam lebih  murah.
  5. Biaya komunikasi minimal. Harus dipertimbangkan biaya komunikasi antar lokasi penyimpanan. Biaya pengambilan data minimal jika lokalitas maksimum (fragmen data ada dibanyak lokasi). Tetapi jika terjadi update, maka harus dilakukan terhadap data disemua lokasi salinan fragmen data, sehingga biaya akan membengkak.

Fragmentasi

Yang akan didistribusikan ádalah relasi atau tabel. Alasan mengapa suata tabel difragmentasi untuk kemudian didistribusikan ádalah :

  1. Penggunaan. Dalam realitas, data yang sering digunakan bukanlah data dalam seluruh tabel, tetapi hanya sebagian data atau sering disebut view.
  2. Efesiensi. Data disimpan dilokasi paling dekat dengan pengguna yang sering mengakses. Sehingga data yang tidak sering dibutuhkan untuk lokasi tertentu tidak akan disimpan pada lokasi yang bersangkutan.
  3. Paralel. Karena data yang didistribusikan berupa fragmen data, maka transaksi yang berupa Query tunggal dapat dipecah menjadi subquery yang dikenalan terhadap fragmen data, sehingga transaksi dapat dillakukan secara bersamaan (Concurrent)
  4. Keamanan. Data yang tidak dibutuhkan oleh aplikasi local tidak akan disimpan dalam lokasi tersebut, sehingga pengguna yang tidak memiliki hak untuk mengakses tidak akan bisa mengakses data yang lain.


Kelemahan dari fragmentasi ádalah :

  1. Menurunnya unjuk kerja.View yang melibatkan lebih dari satu fragüen data pada lokasi yang berbeda akan mengalami penurunan unjuk kerja.
  2. Integritas. Pengendalian integritas lebih sulit jira atribut yang berperan dalam dependency didistribusikan kebeberapa lokasi.

Fragmentasi data dapat dibuat secara   HORIZONTAL atau VERTICAL atau CAMPURAN.

Aturan-aturan kebenaran Fragmentasi

Fragmentasi tidak dapat dilakukan secara sembarangan. Untuk memastikan bahwa tidak terdapat perubahan data dalam database selama menjalani proses fragmentasi, proses fragmentasi harus memenuhi 3 aturan berikut ini :

  1. Compléteness.
    1. Jika sebuah relasi R dibagi menjadi fragmen-fragmen r1, r2., … ,rn, maka fragmentasi dikatakan komplit jika dan hanya jika setiap item data yang ditemukan dalam R dapat juga ditemukan didalam salah satu atau lebih fragmen ri.
    2. Aturan ini diperlukan untuk memastikan bahwa tidak ada data yang hilang selama proses fragmentasi
  2. Reconstruction
    1. Jika sebuah relasi R dibagi menjadi fragmen-fragmen r1, r2., … ,rn maka fragmentasi dilata rekontruksi jika dan hanya jika R dapat dibentuk kembali dari fragmen-fragmen ri.
    2. Aturan ini diperlukan untuk memastikan ketergantungan secara fungsi (functional dependency) terpenuhi.
  3. Disjointness
    1. Jika sebuah relasi R dibagi menjadi fragmen-fragmen r1, r2., … ,rn, dan data item dj berada didalam fragmen ri maka fragmentasi dikatakan disjoint jika dan hanya jika data dj tidak berada didalam fragmen lain.
    2. Fragmentasi secara vertical memiliki pengecualian untuk aturan ini, karena atribut-atribut dari primary key harus diulang untuk dapat melakukan rekontruksi.
    3. Aturan ini diperlukan untuk memastikan terjadinya redudansi data seminimal mungkin.

Fragmentasi Horizontal.

Fragmentasi horizontal berisi tuple-tuple yang dipartisi atau dibagi dari sebuah relasi global R kedalam sejumlah subset r1, r2., … ,rn. Tiap-tiap subset berisikan sejumlah tuple dari R. Setiap tuple dalam R harus memiliki lebih dari satu fragmen, sehingga relasi yang asli dapat disusun kembali. Sebuah fragmen dalam fragmentasi horizontal dapat didefinisikan sebagai sebuah seleksi pada relasi global R. Oleh karena itu sebuah predikat Pi digunakan untuk menyusun fragmen ri didefinisikan dengan operasi selection sebagai berikut :  ri = σpi(r). Penyusunan kembali dari relasi R dapat diperoleh dengan mengambil gabungan dari seluruh fragmen :  R= r1U r2U r3….U rn.

Fragmentasi Vertical.

Dalam fragmentasi vertical, setiap fragmen  ri didefinisikan dengan operasi Project sebagai : ri = Πci (R). Penyusunan kembali dari relasi R dapat diperoleh dengan mengambil gabungan dari seluruh fragmen operasi ф (natural joint) :  R= r1ф r2 ф r3…. ф rn.  Relasi hasil fragmentasi berisi sebagian atribut/kolom dari relasi global dan harus memiliki atribut primary key yang akan digunakan sebagai tuple-id pada saat rekontruksi. Dalam fragmentasi vertikal tidak harus memiliki fragmen yang dijoint seperti pada fragmen horizontal.