basis data terdistribusi

39
Database dalam Sistem Terdistribusi Modern Database Management 6 th Edition Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden

Upload: oktriza-melfazen

Post on 19-Oct-2015

60 views

Category:

Documents


3 download

TRANSCRIPT

  • Database dalam Sistem TerdistribusiModern Database Management6th EditionJeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden

    Pasca Sarjana (S2) - Teknik Informatika UDiNus

  • *Database terdistribusi: Sebuah database logic yang tersebar secara fisik diantara komputer-komputer yang berada di lokasi berbeda yang dihubungkan dengan perangkat komunikasiDesentralisasi Database: Sekumpulan database mandiri dalam komputer-komputer yang tidak saling terhubungDefinisiKeduanya TIDAK sama !

  • *Alasan penggunaan Database TerdistribusiOtonomi dari unit bisnis yang letaknya berjauhanPertukaran dataBiaya komunikasi dataKehandalan komunikasi data dan biayaKeragaman sistem aplikasiPemutakhiran databaseProses analisa dan transaksi

  • *Lingkungan database terdistribusi (Bell and Grimson, 1992)

  • *Pilihan database terdistribusi

    Homogen DBMS yang sama di setiap nodeDBMS yang otonom dan mandiri DBMS yang tidak otonom terpusat, pengkoordinirMudah dalam pengelolaannya, sulit dalam mengendalikanHeterogen Setiap node mempunyai DBMS sendiriSistem dengan peran DBMS yang penuh atau sebagianGateway jalur yang sederhana antar database tidak mengutamakan salah satu database logicSulit mengelolanya, tergantung pada kemandirian organisasi

  • *Pilihan database terdistribusiSistem mendukung semua atau beberapa fungsi database logicFungsi DBMS penuh Semua fungsi DB tersebarSebagian Banyak beberapa fungsi DB tersebarFederasi Mendukung db lokal untuk permintaan data yang unikKehilangan keterpaduan DB lokal memiliki skema tersendiriKeterpaduan tinggi DB lokal mengunakan skema umumUnfederated Memerlukan semua akses ke pusat, untuk koordinasi modul

  • *DB Homogen, tanpa otonomi Data didistribusikan di setiap nodeDBMS seragam untuk setiap nodeSemua data dikelola oleh DBMS yang terdistribusi (bukan data lokal yang eksklusif)Semua akses seragam dengan skema yang globalSkema global adalah gabungan dari semua skema lokal

  • *Database HomogenSource: adapted from Bell and Grimson, 1992.

  • *Lingkungan heterogen yang khususData tersebar di setiap nodeDBMS yang berlainan mungkin digunakan di setiap nodeAkses lokal menggunakan DBMS dan skema lokalAkses jarak jauh menggunakan skema global

  • *Lingkungan Heterogen KhususSource: adapted from Bell and Grimson, 1992.

  • *Tujuan UmumTransparansi LokasiUser tidak mengentahui lokasi dataData yang dibutuhkan otomatis diteruskan ke tempat yang tepatOtonomi LokalSitus Lokal dapat mengoperasikan databasenya ketika koneksi dengan jaringan terputusSetiap situs dapat mengendalikan data, keamanan, login dan pemutakhirannya

  • *Lain-lain :Database terdistribusi sinkronSemua kopi data selalu teridentifikasiData terkini secara cepat diterapkan ke seluruh kopian melalui jaringanBaik untuk integritas dataBiaya tinggi waktu respon lambatDatabase Terdistribusi AsinkronMentolerir data yang tidak konsistenPenrkembangan data terkini tertundaIntegritas data rendahBiaya murah waktu respon cepatNOTE: all this assumes replicated data (to be discussed later)

  • *Keuntungan database terdistribusi menggunakan database terpusatMeningkatkan kepercayaanPengendalian lokal terhadap dataPertumbuhan modulBiaya komunikasi rendahRespon cepat untuk queri tertentu

  • *Kerugian database terdistribusi dibandingkan database terpusatBiaya software dan rumitBiaya prosesIntegritas data terbukaRespon lambat untuk queri tertentu

  • *Beberapa pilihan untuk mendistribusikan databaseReplikasi Data Kopi data didistribusikan ke situs berbedaPartisi HorisontalBaris lain dalam sebuah tabel didistribusikan ke situs yang berbeda Partisi VertikalKolom lain dalam sebuah tabel didistribusikan ke situs berbedaKombinasi ketiganya

  • *Replikasi DataKeuntungan -Dapat dipercayaRespon cepatDapat menghindari dampak integritas transaksi terdistribusi (jika replikasi data diperbarui secara berkala)Memasangkan kembali node (transaksi selesai dengan lengkap jika beberapa node mati)Mengurangi lalulintas jaringan pada waktu sibuk (jika update data dapat di tunda)

  • *Replikasi DataKerugian -Membutuhkan tambahan penyimpanan dataMembutuhkan waktu tambahan untuk operasi updateKompleksitas dan biaya updateIntegritas yang terbuka terhadap data yang tidak benar jika replikasi tidak diupdate terus menerusOleh karena itu, lebih baik digunakan untuk data yang read-only

  • *Jenis replikasiPush Replication Situs yang diupdate mengirim perubahan ke situs yang lainPull Replication Situs penerima yang mengatur ketika pesan untuk mengupdate akan diproses

  • *Jenis Push ReplicationSnapshot Replication - Secara periodik mengirimkan perubahan ke situs master Master mengumpulkan updating dalam logPerubahan perbagian atau keseluruhanDinamis vs. pembagian hak updateNear Real-Time Replication -Penyebaran update tanpa memerlukan konfirmasiSelesai penggunaan sebagai pemicuPesan update didimpan di antrian pesan sampai diproses situs penerima

  • *Lain-lain tentang Replikasi DataData tepat waktu toleransi yang tinggi untuk data yang kadaluwarsa mugkin dibutuhkanKemampuan DBMS jika DBMS tidak dapat mendukung queri dengan multi-node, replikasi sangat dibutuhkanDampak pada kinerja pemutakhiran mungkin akan menyebabkan masalah pada kinerja sebuah node yang sibukKeragaman jaringan replikasi yang rumit dan kompleksKemampuan komunikasi jaringan Pemutakhiran akan memberi beban berat pada komunikasi

  • *Partisi HorisontalSebagian baris sebuah tabel berada di situs yang lainKeuntungan -Simpanan data tertutup pada saat digunakan efisienAkses lokal optimal kinerja lebih baikHanya daya yang sesuai yang tersedia amanGabungan antar partisi mudah dalam queryKerugianAkses data antar partisi kecepatan proses tidak konsistenTidak ada data replikasi backup rawan

  • *Partisi VertikalSebagian kolom dari sebuah tabel berada di situs lainKeuntungan dan kerugian sama dengan pada partisi horisontal kecuali kombinasi data antar partisi lebih sulit karena memerlukan proses join (sebagai pengganti union)

  • *Sistem Proses Terdistribusi sebuah perusahaan pabrikan

  • *Lima pengelompokkan database tersebarDatabase terpusat, akses tersebarReplikasi dengan update permukaan secara periodikReplikasi dengan update sinkron yang hampir real timePemartisian, satu database logicPemartisian, mandiri, segmen yang tidak terintegrasi

  • *Beberapa faktor dalam memilih strategi penyebaranPembiayaan, otonomi, keamananPola situs dataPertumbuhan dan pengembanganKemampuan teknologiBiaya pengelolaan teknologiKebutuhan layanan yang dapat diandalkanSee table 13-1

  • *Strategi perancangan tersebar

  • *Distributed DBMSDatabsae tersebar membutuhkan DBMS tersebarFungsi DBMS tersebar :Meletakkan data dengan kamus data terdistribusiMenentukan lokasi dari mana untuk mendapat data dan memproses komponenDBMS menterjemahkan antar node dengan DBMS yang lain (menggunakan middleware) Konsistensi data (melalui multiphase commit protocols)Pengendalai kunci primer globalScalabilitySecurity, concurrency, optimasi query, perbaikan (recovery)

  • *Arsitektur DBMS Tersebar

  • *Langkah-langkah transaksi lokalAplikasi membuat permintaan kepada DBMS tersebarDBMS tersebar melakukan pengecekkan tempat penyimpanan data tersebar untuk menempatkan data. Pencarian ini bersifat lokalDBMS terdistribusi mengirim permintaan ke DBMS lokalDBMS Lokal mengolah permintaanDBMS Lokal mengirim hasilnya ke aplikasi

  • *Arsitektur DBMS Tersebar yang menunjukkan Langkah-langkah transaksi LokalTransaksi lokal senua data tersimpan secara lokal

  • *Langkah-langkah Transaksi GlobalAplikasi membuat permintaan kepada DBMS tersebarDBMS tersebar melakukan pengecekkan tempat penyimpanan data tersebar untuk menempatkan data. Pencarian bersifat remoteDBMS tersebar melanjutkan permintaan di situs lainDBMS tersebar yang ada di situs lain menterjemahkan permintaan untuk DBMS lokal jika diperlukan, dan mengirimkan pesan ke DBMS lokalDBMS lokal yang berada disuatu situs memproses permintaanDBMS lokal mengirimkan hasilnya ke DBMS tersebar yang ada di situs yang lainDBMS tersebar tersebut akan mengirimkan hasilnya kembali ke situs aslinyaDBMS tersebar di situs asal akan mengirimkan ke aplikasi

  • *Arsitektur DBMS tersebar yang memperlihatkan langkah-langlah transaksi globalTransaksi global beberapa data ada di situs yang berbeda

  • *Tujuan transparansi DBMS terdistribusiTransparansi LokasiPengguna/aplikasi tidak perlu tahu dimana data beradaReplication TransparencyPengguna/Aplikasi tidak ingin tahu adanya duplikasiTransparansi KesalahanAda atau tidak setiap aksi suatu transaksi diterimaSetiap situs memiliki pengatur transaksiAda pencatatan transaksi sebelum dan sesudahPengendali konkurensi untuk menjamin integritas datamembutuhkan protocol yang seragam

  • *Dua fase penerimaanPhase persiapanKoordinator menerima permintaan persetujuanKoordinator meminta semua pengelola sumber daya untuk siap melakukan sesuatu terhadap transaksi. Setiap pengelola sumber daya mencatat semua updating dari suatu transaksi di log penyimpananKoordinator menerima balasan dari semua pengelola sumber daya. Jika semuanya OK, catat penerimaan di masing-masing log; jika tidak maka tulis rollback di log.

  • *Dua fase penerimaanFase persetujuanKoordinator memberi tahu setiap pengelola sumber daya tentang keputusan dan menyebarkan pesan untuk menerima atau mengulang (batal). Jika pesannya adakah menerima, kemudian setiap pengelola sumberdaya mengirim update dari log ke database-nyaSuatu kesalahan dalam fase penerimaan mengakibatkan transaksi dibuang. Ini terjadi setelah melalui pengujian dan penanganan dengan batas waktu atau polling

  • *Pengendalian konkurensiTransparansi konkurensiMerancang tujuan dari database tersebarPenandawaktuMekanisme pengendalian konkurensiAlternatif penguncian dalam database tersebar

  • *Optimasi QueryDalam query yang membutuhkan penggabungan banyak situs dan, mungkin saja sebuah database tersebar yang terdiri dari replikasi data, DBMS tersebar harus membedakan dimana data yang akan diakses dan bagaimana melakukan proses dengan join. Tiga tahap proses:Dekomposisi query penulisan kembali dan penyederhanaanLokalisasi Data query menggabungkan sebagian dari beberapa data kedalam satu tempat (situs)Optimalisasi Global - Urutan sesuai dengan hasil queryData bergerak antar situsDimana bagian dari query yang akan di eksekusi

  • *Evolusi DBMS tersebarUnit Kerja Semua langkah-langkah sebuah transaksi.Unit kerja jarak jauhPernyataan SQL originated at one location can be executed as a single unit of work on a single remote DBMS

  • *Evolusi DBMS tersebarPenyebaran Unit KerjaBerbagai pernyataan dalam suatu unit kerja mungkin menunjuk situs lain yang jauhSemua database dalam pernyataan SQL tunggal harus ada dalam satu situsPenyebaran PermintaanSebuah pernyataan SQL tunggal mungkin menunjuk tabel-tabel yang berasal dari lebih satu situsMungkin tidak mendukung transparansi replikasi atau transparansi kerusakan

    *