690 likes | 1.33k Views
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.
E N D
DesainBASIS 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 Tidak ada sharing : aplikasi dan data dijalankan dari setiap lokasi dan tidak ada komunikasi dengan program atau akses ke data di lokasi lain. 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. 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 • Statik. Pola akses tidak berubah dari waktu ke waktu. • Dinamik. Pola akses berubah dari waktu ke waktu. (sangat sulit dijumpai sistem dengan pola akses dinamis)
3. TINGKAT PENGETAHUAN JENIS POLA AKSES • Tingkat pengetahuan diukur dari seberapa banyak desainer memiliki informasi tentang bagaimana user akan mengakses data. • Informasi lengkap : tidak ada penyimpangan yang signifikan dari prediksi tentang pola akses user. • Informasi sebagian : ada penyimpangan dari prediksi
STRATEGI DESAIN ALTERNATIF Terdapat dua strategi utama dalam mendesain database terdistribusi yaitu : Pendekatan top-down dan Pendekatan bottom-up, Namun pendekatan bottom up baru dapat dilakukan jika sudah ada database yang tersebar di beberapa lokasi.
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 : Fragmentasi, Penempatan data atau alokasi dan Replikasi.
STRATEGI DESAIN ALTERNATIF Fragmentasi : Sebuah relasi yang terbagi menjadi beberapa sub-sub relasi yang disebut dengan fragment, sehingga disebut juga distribusi. Alokasi, setiap fragmen disimpan pada situs dengan distribusi yang optimal. Replikasi, DDBMS dapat membuat suatu copy dari fragmen pada beberapa situs yang berbeda.
TUJUAN DESAIN ALTERNATIF 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. 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.
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.
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.
FRAGMENTASI Alasan yang menyebabkan data dalam satu tabel dibagi-bagi menjadi fragmen data untuk didistribusikan yaitu : Penggunaan. Dalam kenyataan, data yang sering digunakan bukanlah data dalam seluruh tabel, tetapi hanyalah sebagian data atau sering disebut view 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
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.
FRAGMENTASI Fragmentasi juga memiliki beberapa kelemahan yaitu : Menurunnya unjuk kerja. View yang melibatkan lebih dari satu fragmen data pada lokasi yang berbeda akan mengalami penurunan unjuk kerja Integritas. Pengendalian integritas/kesatuan secara utuh lebih sulit jika atribut yang berperan dalam dependency/ketergantungan didistribusikan ke beberapa lokasi.
FRAGMENTASI Terdapat dua fragmentasi data yaitu : Fragmentasi Horizontal, yaitu subset dari tupel/Baris Fragmentasi Vertical, subset dari atribut/kolom.
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
CONTOH FRAGMENTASI VERTIKAL Tabel PROJ dipecah menjadi dua PROJ1 dan PROJ2PROJ1 : informasi tentang budget projectPROJ2 : informasi tentang nama project dan lokasi
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)
Fragmentasi Data • Tabel Nasabah
Fragmentasi Data Horizontal • nasabah1 = kota=‘Medan’ (nasabah) nasabah2 = kota=‘Padang’ (nasabah)
Fragmentasi Data Horizontal • Akandiperoleh 2 buahfragemen • Fragmen Nasabah1 • Fragmen Nasabah2 • Terapkanoperasi union nasabah = nasabah1 nasabah2
Fragmentasi Data Vertikal • nasabah1 = no_nas, nama_nas, alamat, kota(nasabah) • nasabah2 = no_nas, saldo_simpan (nasabah) nasabah3 = no_nas, saldo_pinjam (nasabah)
Fragmentasi Data • ReplikasidanFragmentasi Upayauntukreplikasidanfragmentasi data dapatdilakukansekaliguspadasebuahtabel, yaitudenganmereplikasifragmen-fragmen yang telahterbentuk. Misalnya, dalamsebuahsistemterdistribusiterdapat 5 buahsimpul S1, S2, S3, S4 dan S5. Kita dapatmemilahtabelnasabahsesuaidengankotadimananasabahmengajukanpermohonanmenjadi nasabah1, nasabah2 dan nasabah3. Kemudiandenganpertimbangantertentu, fragmennasabah1 disimpandisimpul S1, S2 dan S3. lalufragmen nasabah2 disimpandisimpul S3 dan S4 danfragmen nasabah3 disimpandisimpul S1 dan S3.
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 : • Completeness (kelengkapan) • Reconstruction (Rekonstruksi) • Disjoinness (Dibuatdalambeberapabagian).
ATURAN FRAGMENTASI • 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.
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.
ALOKASI DATA Ada empat strategis menurut penempatan data : 1. Sentralisasi2. Partisi ( Fragmentasi )3. Replikasi yang lengkap4. Replikasi yang selektif
1. SENTRALISASI Strategiiniberisisatu basis data dan DBMS yang disimpanpadasatusitusdenganpengguna yang didistribusikanpadajaringan (Pemrosesandistribusi). Referensilokal paling rendahdisemuasitus, kecualisituspusat, harusmenggunakanjaringanuntukpengaksesansemua data. Hal iniberartijuga: Biayakomunikasitinggi. Keandalandankeberadaanrendah, kesalahanpadasituspusatakanmempengaruhisemuasistem basis data.
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.
2. PARTISI(FRAGMENTASI) ... 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..
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).
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.
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.
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.
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.
KEUNTUNGAN REPLIKASI Memungkinkan beberapa lokasi menyimpan data yang sama Aplikasi transaksi online terpisah dari aplikasi pembacaan Memungkinkan otonomi yang besar. Pengguna dapat bekerja dengan mengcopy 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
KEUNTUNGAN REPLIKASI 5. Meningkatkan kinerja pembacaan 6. 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.
KELEMAHAN REPLIKASI Kompleksitas, adanya pekerjaan ekstra untuk memaintain multi sistem yang terpisah Ekonomis, semakin tinggi kompleksitas, infrastruktur semakin ekstensif dan keamanan harus terjamin
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’.
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
JENIS REPLIKASI 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 keseluruh lokasi dalam topologi, replikasi merubah ke nilai data yang sama.
TIGA TUJUAN UTAMA REPLIKASI Performance Enchancements (Meningkatkan kinerja) Increased Availability (Meningkatkan ketersediaan) Fault Tolerance (Toleransi Kesalahan)