14
1 | Basis Data Terdistribusi SISTEM TERDISTRIBUSI “Basis Data Terdistribusi” DISUSUN OLEH: KELOMPOK 4 WULAN DARI DWI NUR PUSPITAWATI MUH.NUR ILMAN WAHYU S SAEFUL ABRAR SOFYAN PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER FAKULTAS TEKNIK UNIVERSITAS NEGERI MAKASSAR 2013

Basis Data Terdistribusi

Embed Size (px)

Citation preview

Page 1: Basis Data Terdistribusi

1 | B a s i s D a t a T e r d i s t r i b u s i

SISTEM TERDISTRIBUSI

“Basis Data Terdistribusi”

DISUSUN OLEH:

KELOMPOK 4

WULAN DARI

DWI NUR PUSPITAWATI

MUH.NUR ILMAN

WAHYU S

SAEFUL ABRAR SOFYAN

PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER

FAKULTAS TEKNIK

UNIVERSITAS NEGERI MAKASSAR 2013

Page 2: Basis Data Terdistribusi

2 | B a s i s D a t a T e r d i s t r i b u s i

DAFTAR ISI

1. Definisi Basis Data Terdistribusi......................................................................................3

2. Struktur Basis Data Terdistribusi...................................................................................4

3. Jenis Transaksi........................................................................................................................5

4. Ciri-ciri Basis Data Terdistribusi.....................................................................................5

5. Keuntungan dan Kerugian..................................................................................................5

6. Desain Basis Data Terdistribusi........................................................................................6

7. Transformasi Query............................................................................................................13

Page 3: Basis Data Terdistribusi

3 | B a s i s D a t a T e r d i s t r i b u s i

BASIS DATA TERDISTRIBUSI

DEFINISI

Basis Data Terdistribusi adalah kumpulan data logic yang saling berhubungan

secara fisik terdistribusi dalam jaringan komputer, yang tidak tergantung dari program

aplikasi sekarang maupun masa yang akan datang. File merupakan kumpulan data yang

dirancang untuk suatu aplikasi atau sekumpulan aplikasi yang dekat hubungannya.

Contoh:

Misalnya sebuah bank yang memiliki banyak cabang, bahkan di sebuah kota bisa

terdiri dari beberapa cabang/kantor. Masing-masing lokasi memiliki jaringan lokal

sendiri, dan semua jaringan lokal itu dihubungkan satu sama lain membentuk sebuah

jaringan nasional

DMBS itu apa sih? DBMS merupakan kependekan dari Database Managemen System

merupakan perangkat lunak yang mengatur dan menangani semua pengaksesan database

yaitu bisa insert, update, delete, dan memelihara database. DBMS itu yang umum dipakai

diantaranya adalah MySQL, PostgreSQL, Oracle, Access, dan lain-lain.

DBMS (Database Management System) Terdistribusi adalah sebuah perangkat

lunak yang membuat pendistribusian data dan memberikan mekanisme akses data yang akan

membuat basis data ini transparan kepada user yang menggunakan.

Page 4: Basis Data Terdistribusi

4 | B a s i s D a t a T e r d i s t r i b u s i

Data akan disimpan dalam beberapa site dimana setiap site secara logic memiliki

sebuah processor, dimana processor dari site yang berlainan akan terhubung didalam sebuah

jaringan computer, sehingga tidak akan ditemukan adanya multiprocessor.

Tipe Basis Data Terdistribusi

1. Homogen adalah suatu sistem yang menjalankan tipe DBMS yang sejenis di

setiap unit distribusi data. Misal: MySQL didistribusikan dengan MySQL. Oracle

dengan Oracle. Jadi keterhubungan DBMS tersebut antara DBMS yang sama.

2. Heterogen adalah suatu sistem yang menjalankan tipe DBMS yang berbeda di

setiap unit distribusi datanya, baik secara relational DBMS ataupun non

relational DBMS. Misalkan di suatu unit memakain DBMS Oracle, dan di unit lain

memakain DBMS PostgreSQL, akan tetapi DBMS tersebut tetap

terkait/terhubungkan.

STRUKTUR BASIS DATA TERDISTRIBUSI

Sebuah sistem basis data terdistribusi hanya mungkin dibangun dalam sebuah

sistem jaringan komputer.

Topologi Jaringan

a. Topologi bintang (star)

b. Topologi Cincin (Ring)

c. Topologi Bus

Perbedaan utama di antara berbagai topologi di atas terletak pada:

Biaya Instalasi

Biaya dalam membangun hubungan link) antar simpul.

Biaya Komunikasi

Waktu dan biaya dalam pengoperasian sistem berupa pengiriman data dari satu

simpul ke simpula lain

Kehandalan

Frekuensi/tingkat kegagalan komunikasi yang terjadi.

Ketersediaan

Tingkat kesiapan data yang dapat diakses sebagai antisipasi kegagalan

komunikasi

Page 5: Basis Data Terdistribusi

5 | B a s i s D a t a T e r d i s t r i b u s i

JENIS TRANSAKSI

Dalam distribusi Basis data, transaksi informasi dibagi dalam 2 jenis yaitu transaksi

lokal dan transaksi global.

Transaksi Lokal

Transaksi yang mengakses data pada suatu simpul (mesin/server) yang sama dengan

simpul dari mana transaksi tersebut dijalankan.

Transaksi Global.

Transaksi yang membutuhkan pengaksesan data di simpul yang berbeda dengan

simpul dimana transaksi tersebut dijalankan, atau transaksi dari sebuah simpul yang

membutuhkan pengaksesan data ke sejumlah simpul lainnya.

CIRI-CIRI BASIS DATA TERDISTRIBUSI

Adapun ciri-ciri Basis data yang terdistribusi adalah sebagai berikut:

- Data disimpan di sejumlah tempat

- Prosessor pada tempat yang berbeda tersebut dihubungkan dengan jaringan

komputer

- Sistem basis data terdistribusi bukan terdiri dari sekumpulan file yang berada pada

berbagai tempat tetapi pada sebuah basis data di berbagai tempat

- Setiap tempat secara mandiri memproses permintaan user yang membutuhkan

akses ke data di tempat tersebut dan juga mampu untuk memproses data yang

tersimpan di tempat lain.

Keuntungan dan Kerugian

Keuntungan distribusi basisdata:

- Pengelolaan secara transparan data yang terdistribusi

- Mengacu pada struktur organisasi

- Meningkatkan untuk berbagi dan otonomi lokal

- Meningkatkan ketersediaan data

- Meningkatkan kehandalan

- Meningkatkan performasi kerja

Kerugian distribusi basisdata:

- Kompleksitas manajemen

- Kontrol integritas lebih sulit

- Biaya pengembangan

- Keamanan

- Sulitnya standarisasi

- Menambah kebutuhan penyimpanan

Page 6: Basis Data Terdistribusi

6 | B a s i s D a t a T e r d i s t r i b u s i

- Lebih sulit dalam mengatur lingkungan data

DESAIN BASIS DATA TERDISTRIBUSI

Ada beberapa pendekatan yang berkaitan dengan penyimpanan data/tabel dalam

sebuah sistem basis data terdistribusi, yaitu

1. Replikasi

2. Fragmentasi

3. Replikasi dan Fragmentasi .

1. REPLIKASI

1.1 Konsep Dasar Replikasi

Replikasi adalah suatu teknik untuk melakukan copy dan pendistribusian data dan

objek-objek database dari satu database ke database lain dan melaksanakan

sinkronisasi antara database sehingga konsistensi data dapat terjamin.

Dengan menggunakan teknik replikasi ini, data dapat didistribusikan ke lokasi yang

berbeda melalui koneksi jaringan lokal maupun internet. Replikasi juga memungkinkan

untuk mendukung kinerja aplikasi, penyebaran data fisik sesuai dengan

penggunaannya, seperti pemrosesan transaksi online dan DSS (Desiscion Support

System) atau pemrosessan database terdistribusi melalui beberapa server.

Keuntungan replikasi tergantung dari jenis replikasi tetapi pada umumnya

replikasi mendukung ketersediaan data setiap waktu dan dimanapun diperlukan.

Adapun keuntungan lainnya adalah :

• Memungkinkan beberapa lokasi menyimpan data yang sama. Hal ini sangat berguna

pada saat lokasi-lokasi tersebut membutuhkan data yang sama atau memerlukan

server yang terpisah dalam pembuatan aplikasi laporan.

• Aplikasi transaksi online terpisah dari aplikasi pembacaan seperti proses analisis

database secara online, data smarts atau data warehouse.

• Memungkinkan otonomi yang besar. Pengguna dapat bekerja dengan meng-copy

data pada saat tidak terkoneksi kemudian melakukan perubahan untuk dibuat

database baru pada saat terkoneksi

• Data dapat ditampilkan seperti layaknya melihat data tersebut dengan

menggunakan aplikasi berbasis Web

• Meningkatkan kinerja pembacaan

• Membawa data mendekati lokasi individu atau kelompok pengguna. Hal ini akan

membantu mengurangi masalah karena modifikasi data dan pemrosesan query

yang dilakukan oleh banyak pengguna karena data dapat didistribusikan melalui

jaringan dan data dapat dibagi berdasarkan kebutuhan masing-masing unit atau

pengguna.

• Penggunaan replikasi sebagai bagian dari strategi standby server.

Page 7: Basis Data Terdistribusi

7 | B a s i s D a t a T e r d i s t r i b u s i

Replikasi dapat digunakan apabila sebuah organisasi atau perusahaan didukung

oleh hardware dan aplikasi sofware dalam sebuah sistem yang terdistribusi. Aplikasi

yang berbeda mempunyai kebutuhan yang berbeda untuk otonomi dan konsistensi

data. Replikasi diperlukan dalam sistem terdistibusi apabila berikut ini:

1. Mengcopy dan mendistribusikan data dari satu atau lebih lokasi

2. Mendistribusikan hasil copy data berdasarkan jadwal

3. Mendistribusikan perubahan data ke server lain

4. Memungkinkan beberapa pengguna di beberapa lokasi untuk melakukan

perubahan dan kemudian menggabungkan data yang telah dimodifikasi

5. Membangun aplikasi data yang menggunakan perlengkapan online maupun offline

6. Membangun aplikasi Web sehingga pengguna dapat melihat volume data yang

besar.

1.2 Jenis-Jenis Replikasi

1. Snapshot replication

Mendistribusikan data yang dapat dilihat pada saat tertentu tanpa melakukan

update. Biasanya digunakan pada saat memerlukan tampilan data seperti : daftar

harga, katalog, data yang digunakan untuk pengambilan keputusan. Data-data ini

sifatnya hanya ‘read only’.

Replikasi ini membantu pada saat :

• data sebagian besar statis dan tidak sering berubah

• dapat menerima copy data yang telah melewati batas waktu yang ditentukan

• datanya sedikit

2. Transactional replication

Memelihara kekonsistenan transaksi yang terjadi

3. Merge replication

Merge replication memungkinkan pengguna bekerja dan merubah data sesuai

dengan wewenangnya. Pada saat server tidak dikoneksikan ke seluruh lokasi

dalam topologi, replikasi merubah ke nilai data yang sama

2. FRAGMENTASI

Fragmentasi merupakan sebuah proses pembagian atau pemetaan dari tabel-

tabel berdasarkan kolom-kolom dan baris-baris data menjadi unit data terkecil.

Fragmentasi Data merupakan sebuah proses pembagian atau pemetaan

database dimana database dipecah-pecah berdasarkan kolom dan baris yang kemudian

disimpan didalam site atau unit komputer yang berbeda dalam suatu jaringan data,

sehingga memungkinkan untuk pengambilan keputusan terhadap data yang telah

terbagi. Data yang telah dipecah-pecah masih memungkinkan untuk digabungkan lagi

dengan maksud untuk kelengkapan pendataan.

Page 8: Basis Data Terdistribusi

8 | B a s i s D a t a T e r d i s t r i b u s i

Dalam melakukan fragmentasi data harus memenuhi beberapa kondisi agar

proses fragmen tersebut benar, diantaranya:

1. Completeness, sebuah unit data yang masih dalam bagian dari relasi utama, maka

data harus berada dalam satu fragmen. Ketika ada relasi, pembagian datanya harus

menjadi satu kesatuan dengan relasinya.

2. Reconstruction, sebuah relasi asli dapat dibuat kembali atau digabungkan kembali

dari sebuah fragmen. Ketika telah dipecah-pecah, data masih memungkinkan untuk

digabungkan kembali dengan tidak mengubah struktur data.

3. Disjointness, data didalam fragmen tidak boleh diikutkan dalam fragmen lain agar

tidak terjadi redundancy data, kecuali untuk atribut primary key dalam fragmentasi

vertikal.

Adapun aturan untuk pelaksanaan fragmentasi:

1. Fragmen dibentuk dari predikat yang telah dipilih dan diasosiasikan dengan

transaksi yang terdapat dalam database. Predikat secara spesifik mencantumkan

nilai atribut yang digunakan dalam format conjuctive (AND) dan disjunctive (OR)

yang digunakan untuk memilih command, dan kolom (record) yang berisi nilai yang

sama dengan format fragment.

2. Fragment harus terpisah dan gabungan dari fragment-fragment tersebut harus

terdiri atas keseluruhan fragment. Fragment yang mendahului akan menjadi lebih

sulit untuk dianalisis dan diimplementasikan.

3. Fragment yang terbesar adalah keseluruhan tabel, fragment terkecil merupakan

sebuah record. Fragment harus didesain sedemikian rupa untuk memelihara

keseimbangan diantara perbedaan ini.

Jenis Fragmentasi Data:

Fragmentasi data dapat diselesaikan melalui beberapa cara, antara lain

fragmentasi horizontal, fragmentasi vertikal, dan fragmentasi campuran (mixed atau

hybrid):

1. Fragmentasi Horizontal terdiri dari tuple dari fragment global yang kemudian

dipecah-pecah atau disekat menjadi beberapa sub-sets. Penyekatan tipe ini

sangat berguna didalam database terdistribusi, dimana setiap sub-setsdapat

berisi data yang memiliki properti secara umum. Fragmentasi horizontal

didefinisikan menurut sebuah kondisi atau predikat yang menyatakan bahwa

tuple yang ada telah mencukupi.

Page 9: Basis Data Terdistribusi

9 | B a s i s D a t a T e r d i s t r i b u s i

2. Fragmentasi Vertikal akan membagi lagi atribut-atribut dari fragment global

yang tersedia menjadi beberapa grup. Bentuk yang paling simple dari

fragmentasi vertical adalah dekomposisi, dimana sebuah row-id yang unik dapat

disertakan dalam setiap fragment untuk menjamin dan memungkinkan

terjadinya proses rekonstruksi melalui sebuah operasi join. Dengan kata lain

bahwa fragmentasi jenis ini akan membagi sebuah data menjadi beberapa tabel

yang atributnya saling terkait.

Page 10: Basis Data Terdistribusi

10 | B a s i s D a t a T e r d i s t r i b u s i

3. Fragmentasi Mixed/Hybrid

Berikut gambaran dari fragmentasi hybrid.

Relasi A seperti yang digambarkan diatas telah mengalami tiga tingkatan

frakmentasi (bukan lima) – dua kali fragmentasi horizontal dan satu kali fragmentasi

vertical. Fragmentasi horizontal pertama membagi relasi menjadi dua bagian yaitu H1

dan H2. kemudian fragmentasi kedua adalah fragmentasi vertical terhadap fragment

horizontal H2, yang membagi fragment horizontal H2 menjadi dua bagian secara

vertical yang kemudian disebut H2V1 dan H2V2. dan kemudian fragmentasi terakhir

yang dilakukan adalah fragmentasi horizontal terhadap fragment vertical pertama yaitu

H2V1.

Page 11: Basis Data Terdistribusi

11 | B a s i s D a t a T e r d i s t r i b u s i

1. Pada kenyataannya banyak aplikasi/query yang membutuhkan fragmentasi yang

lebih kompleks daripada hanya menggunakan fragmentasi vertical atau fragmentasi

horizontal saja.

2. Teknik penggunaan tipe fragmentasi ini adalah dengan mengaplikasikan teknik

fragmentasi horizontal terlebih dahulu yang kemudian diikuti dengan teknik

fragmentasi vertical kepada satu atau lebih fragment horizontal yang telah dibentuk

sebelumnya.

3. Teknik fragmentasi mixed merupakan sebuah proses yang menggabungkan teknik

fragmentasi horizontal dan vertical.

Sehingga dapat disimpulkan bahwa Fragmentasi hybrid atau mixed merupakan

penggabungan dari penggunaan kedua proses fragmentasi data yang telah dijelaskan

diatas (fragmentasi horizontal dan vertikal).

3. REPLIKASI DAN FRAGMENTASI

Fragmentasi dan replikasi merupakan salah satu cara dalam mengolah sebuah

database terutama digunakan pada basis data terdistribusi. Representasi data pada

basis data terdistribusi dengan menerapkan fragmentasi dan replikasi mempunyai

kelebihan bahwa availibility data akan lebih terjaga dan beban yang ditanggung oleh

server menjadi lebih kecil dibandingkan dengan basis data terpusat.

Untuk sebuah data dengan user yang jumlahnya besar dan transaksi akses

terhadap data yang tinggi pemilihan desain basis data tentu saja tidak bisa diabaikan,

pemilihan desain yang tepat dapat membantu dalam mengatasi masalah yang dapat

ditimbulkan dari keterbatasan desain database yang lain. Seperti pada kasus registrasi

mahasiswa, dilihat dari jumlah user tentu saja jumlahnya tidak sedikit, selain itu user

menginginkan proses yang lancar, tidak terhambat karena adanya server yang down

atau akses yang lambat karena terlalu banyak user yang mengakses. Server dibagi

menjadi beberapa server yang tadinya hanya satu server saja, hal ini dimaksudkan agar

beban server dapat dikurangi dengan pertimbangan pembagian server adalah

berdasarkan jurusan yang ada, hal ini dimaksudkan karena mayoritas user mengakses

server jurusannya dibandingkan akses pada server jurusan lain, proses ini disebut

dengan fragmentasi, untuk replikasi dimaksudkan agar apabila ada salah satu server

yang down setelah kita membagi data menjadi beberapa server ketergantungan

terhadap data di server yang down dapat diambil alih oleh server replikasinya.

Kata Kunci : fragmentasi, replikasi, basis data terdistribusi, availability, basis data

terpusat, server.

Page 12: Basis Data Terdistribusi

12 | B a s i s D a t a T e r d i s t r i b u s i

Contoh:

Tabel nasabah bank dengan struktur dan data sebagai berikut :

nasabah = (no_nas, nama_nas, alamat_nas, kota, saldo_simpan, saldo pinjam)

contoh tabel nasabah

No_nas Nama_nas Alamat Kota Saldo_simpan Saldo_pinjam

2001001 Jamaludin Jl. Suci 10 Medan 100000 0

2001002 Nurhaliza Jl. Abdi 22 Medan 2300000 1450000

2001003 Nur Alam Jl. Aceh 10 Medan 1200000 3500000

2001004 Setia Jl.Jawa 112 Medan 1500000 1000000

2002001 Tini Jl. Adil 20 Padang 50000 0

2002002 Ahmad Jl. Taat 12 Padang 750000 0

2002003 Wisnu Jl Damai 11 Padang 2600000 5000000

2002004 Alif Jl. Mulia 1 Padang 100000 12000000

Fragmentasi Horizontal

nasabah1 = kota=‘Medan’ (nasabah)

nasabah2 = kota=‘Padang’ (nasabah)

Akan diperoleh 2 buah fragemen

Fragmen Nasabah1

Fragmen Nasabah2

Terapkan operasi union

nasabah = nasabah1 nasabah2

Page 13: Basis Data Terdistribusi

13 | B a s i s D a t a T e r d i s t r i b u s i

Fragmentasi Vertikal

nasabah1 = no_nas, nama_nas, alamat, kota (nasabah)

nasabah2 = no_nas, saldo_simpan (nasabah)

nasabah3 = no_nas, saldo_pinjam (nasabah)

Upaya untuk replikasi dan fragmentasi data dapat dilakukan sekaligus pada

sebuah tabel, yaitu dengan mereplikasi fragmen-fragmen yang telah terbentuk.

Misalnya, dalam sebuah sistem terdistribusi terdapat 5 buah simpul S1, S2, S3, S4 dan

S5.

Kita dapat memilah tabel nasabah sesuai dengan kota dimana nasabah

mengajukan permohonan menjadi nasabah1, nasabah2 dan nasabah3. Kemudian

dengan pertimbangan tertentu, fr agmen nasabah1 disimpan di simpul S1, S2 dan S3.

lalu fragmen nasabah2 disimpan disimpul S3 dan S4 dan fragmen nasabah3 disimpan di

simpul S1 dan S3.

Pemrosesan query dalam basisdata terdistribusi

Dalam sistem terpusat, kriteria utama untuk mengetahui cost dari sebuah strategi query

adalah jumlah/waktu akses ke disk.

Faktor-fakor yang perlu dipertimbangkan:

1. Biaya/waktu untuk transmisi data

2. Potensi peningkatan karena adanya sejumlah simpul yang dapat melaksanakan

query secara paralel.

TRANSFORMASI QUERY

Jika tabel telah direplikasi atau difragmentasi atau sekaligus direplikasi dan

fragmentasi maka kita dapat memenuhi query tersebut dengan memilih salah satu

simpul tempat suatu tabel berada kemudian mengeksekusi qury.

Jika tabel tidak direplikasi atau difragmentasi, pemilihan simpul akan didasarkan

pada simpul yang memberikan ongkos transmisi data yang paling rendah.

Dalam sistem terpusat, kriteria utama untuk mengetahui cost dari sebuah strategi

query adalah jumlah/waktu akses ke disk.

Faktor-fakor yang perlu dipertimbangkan:

1. Biaya/waktu untuk transmisi data

2. Potensi peningkatan karena adanya sejumlah simpul yang dapat melaksanakan

query secara paralel.

Page 14: Basis Data Terdistribusi

14 | B a s i s D a t a T e r d i s t r i b u s i

Jika fragmentasi yang dilakukan horizontal maka operasi Union dapat dilakukan.

Jika fragmentasi vertikal tdan query menghendaki penayangan semua atribut maka

operasi Natural Join yang harus digunakan.

Contoh:

Tabel Mahasiswa

Ekspresi Standar dari query :

kota = ‘Bandung (mahasiswa)

Jika tabel mahasiswa difragmentasi secara horizontal di dua fragmen (diberi nama

mahasiswa1 dan mahasiswa2) sehingga tabel mahasiswa sesungguhnya merupakan

hasil operasi Union dari keduanya.

mahasiswa1 mahasiswa2

Maka query di atas dapat kita translasi menjadi :

kota=‘Bandung’ (mahasiswa1 mahasiswa2)