sistem basis data terdistribusi


                                                                      bagian I

a. Pengantar.
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. Konsep ini mengakibatkan program aplikasi tidak lagi tergantung pada perubahan data baik secara logic maupun fisik dan juga sebaliknya, yang disebut dengan data independence.
           
            Pada perkembangan system database; data yang tersimpan semakin besar, pemrosesan semakin kompleks, data dapat diakses dengan menggunakan teknologi sehingga muncul system database terdistribusi.

b. 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.
  1. Struktur antar hubungan : kuat atau lemah ?
Jika komponen dapat di share dikatakan kuat
  1. Kesaling tergantungan komponen-komponen.
Kuat atau lemah dalam mengekseskusi proses.
  1. 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.

c. 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 :
  1. Sistem yang berisi kumpulan file
  2. Berbagai arsitektur fisik berkait dengan system multiprocessor
  1. Database terpusat pada jaringan.

d.1 Beberapa ciri system database terdistribusi adalah :
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.

d.2 Keuntungan sistem database terdistribusi adalah :
  1. Pengelolaan secara transparan data terdistribusi dan replicated.
a.       Mengurangi ketergantungan data
b.       Transparansi jaringan
c.       Transparansi replikasi
d.       Transparansi fragmentasi
  1. Mengacu pada struktur organisasi
  2. Meningkatkan kemampuan untuk share dan otonomi local
  3. Meningkatkan ketersediaan data
  4. Meningkatkan kehandalan
  5. Meningkatkan unjuk kerja
  6. Memudahkan pengembangan system

d.3 Kelemahan system database terdistribusi adalah :
  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.

           
Bagian II
Jaringan Komputer


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

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

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

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

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


Tabel 1. Klasifikasi prosesor terinterkoneksi berdasarkan jarak
Jarak antar prosesor
Prosesor ditempat yang sama
Contoh
0.1 m
Papan rangkaian
Data flow machine
1 m
Sistem
Multicomputer
10 m
Ruangan
LAN (Local Area Network)
100 m
Gedung
LAN
1 km
Kampus
LAN
10 km
Kota
MAN (Metropolitan Area Network)
100 km
Negara
WAN (Wide Area Network)
1000 km
Benua
WAN
10000 km
Dunia
Internet


Bagian III
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 :
·         Tidak ada sharing : apilikasi dan data dijalankan dari setiap lokasi dan tidak ada komunikasi dengan program atau akses ke data ke lokasi lain.
·         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.
·         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 :
·                                       Statik. Pola akses tidak berubah dari waktu ke waktu
·                                       Dinamik. Pola akses berubah dari waktu ke waktu

3.                   3. Tingkat pengetahuan pada jenis pola akses.
Diukur dari berapa banyak desainer memiliki informasi tentang bagaimana user akan megakses data.
·         Informasi lengkap : tidak ada penyimpangan yang signifikan dari prediksi tentang pola akses user.
·         Informasi sebagian : ada penyimpangan dari prediksi.
           
a. 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.

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

c. 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.
v 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.
v Aturan ini diperlukan untuk memastikan bahwa tidak ada data yang hilang selama proses fragmentasi
2.       Reconstruction
v 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.
v Aturan ini diperlukan untuk memastikan ketergantungan secara fungsi (functional dependency) terpenuhi.
3.       Disjointness
v 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.
v Fragmentasi secara vertical memiliki pengecualian untuk aturan ini, karena atribut-atribut dari primary key harus diulang untuk dapat melakukan rekontruksi.
v Aturan ini diperlukan untuk memastikan terjadinya redudansi data seminimal mungkin.

d. 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.
Ilustrasi dari fragmentasi secara horizontal adalah :





R
 


 






Relasi R                       Relasi hasil fragmentasi  r1, r2
Contoh :
Diketahui Relasi  PROPERTY
PNO
STREET
AREA
CITY
PCODE
TYPE
ROOMS
PCODE
PA14
Jl. A
Klp2
Depok
AB7
House
6
6500
PL94
Jl. M
Selatan
Bekasi
AC8
Flat
4
4000
PG4
Jl. C
Margonda
Depok
AP2
Flat
2
1500
PG12
Jl. B
Baru
Bogor
AB5
House
3
5000
PG36
Jl. I
Baru
Bogor
AC5
Flat
2
3000

Akan dilakukan Fragmen berdasarkan kolom Type.
Predikat TYPE = ’ Flat’ atau TYPE =’ House”
ri = σpi(r)

TP1= σ type=’Flat’ (Property)
TP2= σ type=’House’ (Property)

Relasi Hasil fragmentasi adalah :
Relasi : TP1
PNO
STREET
AREA
CITY
PCODE
TYPE
ROOMS
PCODE
PL94
Jl. M
Selatan
Bekasi
AC8
Flat
4
4000
PG4
Jl. C
Margonda
Depok
AP2
Flat
2
1500
PG36
Jl. I
Baru
Bogor
AC5
Flat
2
3000

Relasi : TP2
PNO
STREET
AREA
CITY
PCODE
TYPE
ROOMS
PCODE
PA14
Jl. A
Klp2
Depok
AB7
House
6
6500
PG12
Jl. B
Baru
Bogor
AB5
House
3
5000

Cek dengan aturan Fragmentasi :
1. Completeness
Seluruh tuple yang ada pada relasi PROPERTY sudah terdistribusi pada relasi TP1 dan TP2
2. Reconstruction
    PROPERTY = TP1 U TP2
3. Disjointness
Tuple yang berada pada relasi PROPERTY hanya ada pada salah satu relasi hasil fragmentasi antara TP1 atau TP2.



e 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.
Ilustrasi dari fragmentasi secara horizontal adalah :






Text Box: r1,Text Box: r2

,Text Box: r3

R
 

 






Relasi R                       Relasi hasil fragmentasi  r1, r2 r3

Contoh :
Diketahui Relasi  PROPERTY
PNO
STREET
AREA
CITY
PCODE
TYPE
ROOMS
PCODE
PA14
Jl. A
Klp2
Depok
AB7
House
6
6500
PL94
Jl. M
Selatan
Bekasi
AC8
Flat
4
4000
PG4
Jl. C
Margonda
Depok
AP2
Flat
2
1500
PG12
Jl. B
Baru
Bogor
AB5
House
3
5000
PG36
Jl. I
Baru
Bogor
AC5
Flat
2
3000

Akan dilakukan fragmentasi secara vertikal terhadap relasi Property.