Desain BASIS DATA TERDISTRIBUSI

44
Desain BASIS DATA TERDISTRIBUSI Fatoni, MM.,M.Kom.

description

Desain BASIS DATA TERDISTRIBUSI. Fatoni, MM.,M.Kom. PENDAHULUAN. Desain suatu organisasi dapat dipandang dari sudut tiga dimensi, yaitu : 1. Tingkat Sharing 2. Jenis Pola Akses 3. Tingkat Pengetahuan pada Jenis Pola Akses. 1. TINGKAT SHARING. - PowerPoint PPT Presentation

Transcript of Desain BASIS DATA TERDISTRIBUSI

Page 1: Desain BASIS DATA TERDISTRIBUSI

DesainBASIS DATA TERDISTRIBUSI

Fatoni, MM.,M.Kom.

Page 2: Desain BASIS DATA TERDISTRIBUSI

PENDAHULUAN

Desain suatu organisasi dapat dipandang dari sudut tiga dimensi, yaitu :1. Tingkat Sharing2. Jenis Pola Akses3. Tingkat Pengetahuan pada Jenis Pola

Akses

Page 3: Desain BASIS DATA TERDISTRIBUSI

1. TINGKAT SHARING

1. Tidak ada sharing : aplikasi dan data dijalankan dari setiap lokasi dan tidak ada komunikasi dengan program atau akses ke data di lokasi lain.

2. Sharing data : semua program disalin / replika di semua lokasi, tetapi data tidak disalin. Permintaan data dari user diolah oleh komputer dimana user mengakses dan file data akan dikirim melalui jaringan.

3. Sharing data dan program : user dari suatu lokasi dapat meminta layanan baik program maupun data dari lokasi lain dan juga sebaliknya.

Page 4: Desain BASIS DATA TERDISTRIBUSI

2. JENIS POLA AKSES

1. Statik. Pola akses tidak berubah dari waktu ke waktu.

2. Dinamik. Pola akses berubah dari waktu ke waktu. (sangat sulit dijumpai sistem dengan pola akses dinamis)

Page 5: Desain BASIS DATA TERDISTRIBUSI

3. TINGKAT PENGETAHUAN JENIS POLA AKSES

Tingkat pengetahuan diukur dari seberapa banyak desainer memiliki informasi tentang bagaimana user akan mengakses data.

1. Informasi lengkap : tidak ada penyimpangan yang signifikan dari prediksi tentang pola akses user.

2. Informasi sebagian : ada penyimpangan dari prediksi

Page 6: Desain BASIS DATA TERDISTRIBUSI

STRATEGI DESAIN ALTERNATIF

Terdapat dua strategi utama dalam mendesain database terdistribusi yaitu :1. Pendekatan top-down dan 2. Pendekatan bottom-up, 

Namun pendekatan bottom up baru dapat dilakukan jika sudah ada database yang tersebar di beberapa lokasi.

Page 7: Desain BASIS DATA TERDISTRIBUSI

STRATEGI DESAIN ALTERNATIF

Dalam “Distrubution Design” dilakukan desain untuk mendistribusikan relasi ke semua lokasi dalam sistem terdistribusi. Kelemahan 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 :1. Fragmentasi, 2. Penempatan data atau alokasi dan 3. Replikasi.

Page 8: Desain BASIS DATA TERDISTRIBUSI

STRATEGI DESAIN ALTERNATIF

1. Fragmentasi : Sebuah relasi yang terbagi menjadi beberapa sub-sub relasi yang disebut dengan fragment, sehingga disebut juga distribusi.

2. Alokasi, setiap fragmen disimpan pada situs dengan distribusi yang optimal.

3. Replikasi, DDBMS dapat membuat suatu copy dari fragmen pada beberapa situs yang berbeda.

Page 9: Desain BASIS DATA TERDISTRIBUSI

TUJUAN DESAIN ALTERNATIF

1. Referensi lokalitas. Data harus diletakkan sedekat mungkin dengan lokasi pengakses data. Jika fragmen data digunakan pada beberapa lokasi maka akan lebih menguntungkan jika fragmen disimpan pada lokasi-lokasi tersebut.

2. Meningkatkan reliabitilas/kehandalan dan availabilitas/ketersediaan. Hal ini dapat dilakukan dengan replikasi : yaitu terdapat salinan data di lokasi lain jika salah satu lokasi mengalami kegagalan data.

Page 10: Desain BASIS DATA TERDISTRIBUSI

TUJUAN DESAIN ALTERNATIF

3. Meningkatnya unjuk kerja. Penempatan data/alokasi yang sembarangan akan menghasilkan kemacetan, yaitu misalkan sebuah lokasi kebanjiran permintaan data sehingga menurunkan 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 penyimpanan lebih murah.

Page 11: Desain BASIS DATA TERDISTRIBUSI

TUJUAN DESAIN ALTERNATIF

5. Biaya komunikasi minimal. Harus dipertimbangkan biaya komunikasi anta lokasi penyimpanan. Biaya pengambilan data minimal jika lokalitas maksimum (fragmen data ada di banyak lokasi). Tetapi jika terjadi update, maka harus dilakukan terhadap data di semua lokasi salinan fragmen data, sehingga biaya akan membengkak.

Page 12: Desain BASIS DATA TERDISTRIBUSI

FRAGMENTASI

Alasan yang menyebabkan data dalam satu tabel dibagi-bagi menjadi fragmen data untuk didistribusikan yaitu :1. Penggunaan. Dalam kenyataan, data yang sering

digunakan bukanlah data dalam seluruh tabel, tetapi hanyalah sebagian data atau sering disebut view

2. Efisien. Data disimpan di lokasi yang paling dekat dengan pengguna yang sering mengakses sehingga data yang tidak sering dibutuhkan oleh lokasi tertentu tidak akan disimpan di lokasi yang bersangkutan

Page 13: Desain BASIS DATA TERDISTRIBUSI

FRAGMENTASI

3. Paralel. Karena data yang didistribusikan berupa fragmen data, maka transaksi yang berupa query tunggal dapat dipecah menjadi subquery yang dikenakan terhadap fragmen data, sehingga transaksi dapat dilakukan secara bersamaan (concurrent).

4. Keamanan. Data yang tidak dibutuhkan oleh aplikasi lokal tidak akan disimpan dalam lokasi tersebut, sehingga user yang tidak memiliki hak untuk mengakses tidak akan bisa mengakses data lain.

Page 14: Desain BASIS DATA TERDISTRIBUSI

FRAGMENTASI

Fragmentasi juga memiliki beberapa kelemahan yaitu :

1. Menurunnya unjuk kerja. View yang melibatkan lebih dari satu fragmen data pada lokasi yang berbeda akan mengalami penurunan unjuk kerja

2. Integritas. Pengendalian integritas/kesatuan secara utuh lebih sulit jika atribut yang berperan dalam dependency/ketergantungan didistribusikan ke beberapa lokasi.

Page 15: Desain BASIS DATA TERDISTRIBUSI

FRAGMENTASI

Terdapat dua fragmentasi data yaitu :1. Fragmentasi Horizontal, yaitu subset dari

tupel/Baris2. Fragmentasi Vertical, subset dari atribut/kolom.

Page 16: Desain BASIS DATA TERDISTRIBUSI

CONTOH FRAGMENTASI HORIZONTAL

Terdapat tabel PROJ yang dipecah menjadi fragmen PROJ1 dan PROJ2

PROJ1 : project dengan budget < 200,000PROJ2 : project dengan budget > atau = 200,000

Page 17: Desain BASIS DATA TERDISTRIBUSI

CONTOH FRAGMENTASI HORIZONTAL

Page 18: Desain BASIS DATA TERDISTRIBUSI

CONTOH FRAGMENTASI VERTIKAL

Tabel PROJ dipecah menjadi dua  PROJ1 dan PROJ2PROJ1 : informasi tentang budget projectPROJ2 : informasi tentang nama project dan lokasi

Page 19: Desain BASIS DATA TERDISTRIBUSI

CONTOH FRAGMENTASI VERTIKAL

Page 20: Desain BASIS DATA TERDISTRIBUSI

Fragmentasi Data

Dapat diterapkan operasi union/ Gabungan ataupun operasi natural join/ menggabungkan dua tabel berdasarkan nama kolom yang sama.

Contoh

Tabel nasabah bank dengan struktur dan data sebagai berikut :

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

Page 21: Desain BASIS DATA TERDISTRIBUSI

Fragmentasi Data

Tabel NasabahNo_nas Nama_nas Alamat Kota Saldo_simp

anSaldo_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

Page 22: Desain BASIS DATA TERDISTRIBUSI

Fragmentasi Data Horizontal

nasabah1 = kota=‘Medan’ (nasabah)

nasabah2 = kota=‘Padang’ (nasabah)

Page 23: Desain BASIS DATA TERDISTRIBUSI

Fragmentasi Data Horizontal

Akan diperoleh 2 buah fragemeno Fragmen Nasabah1o Fragmen Nasabah2

Terapkan operasi union

nasabah = nasabah1 nasabah2

Page 24: Desain BASIS DATA TERDISTRIBUSI

Fragmentasi Data Vertikal

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

nasabah2 = no_nas, saldo_simpan (nasabah)

nasabah3 = no_nas, saldo_pinjam (nasabah)

Page 25: Desain BASIS DATA TERDISTRIBUSI

Fragmentasi Data

Replikasi dan FragmentasiUpaya 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, fragmen 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.

Page 26: Desain BASIS DATA TERDISTRIBUSI

ATURAN FRAGMENTASI

Fragmentasi tidak dapat dilakukan secara sembarangan, untuk memastikan bahwa tidak terdapat perubahan database selama menjalani proses fragmentasi, proses fragmentasi harus mememuhi 3 aturan berikut ini : 1. Completeness (kelengkapan)2. Reconstruction (Rekonstruksi)3. Disjoinness (Dibuat dalam beberapa bagian).

Page 27: Desain BASIS DATA TERDISTRIBUSI

ATURAN FRAGMENTASI

1. Completeness (kelengkapan)Digunakan untuk memastika data tidak hilang saat proses fragmentasi

2. Reconstruction (Rekonstruksi)Aturan ini digunakan untuk memastikan bahwa ketergantungan secara fungsi terpenuhi.

3. Disjoinness (Dibuat dalam beberapa bagian).Digunakan untuk memastika terjadinya redudancy seminimal mungkin.

Page 28: Desain BASIS DATA TERDISTRIBUSI

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.Secara sederhana replikasi database adalah proses automatik perintah dari database satu ke database lain yang tentunya terhubung dalam jaringan.

Page 29: Desain BASIS DATA TERDISTRIBUSI

ALOKASI DATA

Ada empat strategis menurut penempatan data : 1. Sentralisasi2. Partisi ( Fragmentasi )3. Replikasi yang lengkap4. Replikasi yang selektif

Page 30: Desain BASIS DATA TERDISTRIBUSI

1. SENTRALISASI

Strategi ini berisi satu basis data dan DBMS yang disimpan pada satu situs dengan pengguna yang didistribusikan pada jaringan (Pemrosesan distribusi). Referensi lokal paling rendah di semua situs, kecuali situs pusat, harus menggunakan jaringan untuk pengaksesan semua data. Hal ini berarti juga :1. Biaya komunikasi tinggi. 2. Keandalan dan keberadaan rendah, 3. kesalahan pada situs pusat akan mempengaruhi

semua sistem basis data.

Page 31: Desain BASIS DATA TERDISTRIBUSI

2. PARTISI(FRAGMENTASI)

Strategi ini mempartisi basis data yang dipisahkan ke dalam fragmen-fragmen, dimana setiap fragmen di alokasikan pada satu site. Jika data yang dilokasikan pada suatu site, dimana data tersebut sering digunakan maka referensi lokal akan meningkat. Namun tidak akan ada replikasi, dan biaya penyimpanan nya rendah, sehingga keandalan dan keberadaannya juga rendah, walaupun pemrosesan distribusi lebih baik dari pada sentralisasi.

Page 32: Desain BASIS DATA TERDISTRIBUSI

Ada satu kelebihan pada sentralisasi yaitu dalam hal kehilangan data, yang hilang hanya ada pada site yang bersangkutan dan aslinya masih ada pada basis data pusat. Kinerja harus bagus dan biaya komunikasi rendah jika distribusi di rancang dengan sedemikian rupa..

2. PARTISI(FRAGMENTASI) ...

Page 33: Desain BASIS DATA TERDISTRIBUSI

3. REPLIKASI YANG LENGKAP

Strategi ini berisi pemeliharaan salinan yang lengkap dari suatu basis data di setiap site. Dimana referensi lokal, keberadaan dan keandalan dan kinerja adalah maksimal. Bagaimanapun biaya penyimpanan dan biaya komunikasi untuk mengupdate besar sekali biayanya. Untuk mengatasi masalah ini, biasanya digunakan snapshot (adalah fungsi sesaat beberapa penyimpanan).

Page 34: Desain BASIS DATA TERDISTRIBUSI

3. REPLIKASI YANG LENGKAP

Snapshot digunakan untuk menyalin data pada waktu yang telah ditentukan. Data yang disalin adalah hasil update per periode , misalkan per minggu atau perjam, sehingga data salinan tersebut tidak selalu up to date. Snapshot juga digunakan untuk mengimplementasikan table view di dalam data terdistribusi untuk memperbaiki waktu yang digunakan untuk kinerja operasional dari suatu basis data.

Page 35: Desain BASIS DATA TERDISTRIBUSI

4. REPLIKASI YANG SELEKTIF

Strategi yang merupakan kombinasi antara partisi,replikasi dan sentralisasi. Beberapa item data di partisi untuk mendapatkan referensi lokal yang tinggi dan lainnya, yang digunakan di banyak lokasi dan tidak selalu di update adalah replikasi ;selain dari itu di lakukan sentralisasi. Obyektifitas dari strategi ini untuk mendapatkan semua keuntungan yang dimiliki oleh semua strategi dan bukan kelemahannya. Strategi ini biasa digunakan karena fleksibelitasnya.

Page 36: Desain BASIS DATA TERDISTRIBUSI

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.Secara sederhana replikasi database adalah proses automatik perintah dari database satu ke database lain yang tentunya terhubung dalam jaringan.

Page 37: Desain BASIS DATA TERDISTRIBUSI

KEGUNAAN REPLIKASI

Kegunaan dari proses replikasi ini adalah bila suatu database satu mengalami kerusakan maka secara otomatis semua data yang telah disimpan pada database satu dapat dilihat kembali di database lain. Proses Backup dan Restore agak kurang praktis, maka konsep inilah solusi keefektifan dalam menjawab kekurang praktisan kedua proses diatas. Konsep ini merupakan konsep teknologi yang unik, karena secara otomatis segala perintah yang ada pada database satu akan tersimpan pada database lain sehingga bila kehilangan data pada database satu, database masih tersimpan rapih di database lain.

Page 38: Desain BASIS DATA TERDISTRIBUSI

KEUNTUNGAN REPLIKASI

1. Memungkinkan beberapa lokasi menyimpan data yang sama

2. Aplikasi transaksi online terpisah  dari aplikasi pembacaan

3. Memungkinkan otonomi yang besar. Pengguna dapat bekerja dengan mengcopy data pada saat tidak terkoneksi kemudian melakukan perubahan untuk dibuat database baru pada saat terkoneksi

4. Data dapat ditampilkan seperti layaknya melihat data tersebut dengan menggunakan aplikasi berbasis Web

Page 39: Desain BASIS DATA TERDISTRIBUSI

KEUNTUNGAN REPLIKASI

5. Meningkatkan kinerja pembacaan6. 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.

7.  Penggunaan replikasi sebagai bagian dari strategi standby server.

Page 40: Desain BASIS DATA TERDISTRIBUSI

KELEMAHAN REPLIKASI

1. Kompleksitas, adanya pekerjaan ekstra untuk memaintain multi sistem yang terpisah

2. Ekonomis, semakin tinggi kompleksitas, infrastruktur semakin ekstensif dan keamanan harus terjamin

Page 41: Desain BASIS DATA TERDISTRIBUSI

JENIS REPLIKASI

1.  Snapshot  replicationMendistribusikan 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’.

Page 42: Desain BASIS DATA TERDISTRIBUSI

JENIS REPLIKASI

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

Page 43: Desain BASIS DATA TERDISTRIBUSI

JENIS REPLIKASI

2. Transactional replicationMemelihara kekonsistenan transaksi yang terjadi

3. Merge replicationMerge replication memungkinkan pengguna bekerja dan merubah data sesuai dengan Wewenangnya.  Pada saat server tidak dikoneksikan keseluruh lokasi dalam topologi,  replikasi merubah ke nilai data yang sama.

Page 44: Desain BASIS DATA TERDISTRIBUSI

TIGA TUJUAN UTAMA REPLIKASI

A. Performance Enchancements (Meningkatkan kinerja)B. Increased Availability (Meningkatkan ketersediaan)C. Fault Tolerance (Toleransi Kesalahan)