DDBMS (Distributed Database Management System)

Slides:



Advertisements
Presentasi serupa
Pertemuan 4 Heintje Hendrata, S.Kom Heintje Hendrata, S.Kom.
Advertisements

Pengenalan Arsitektur Basis Data
Sistem Terdistribusi 013 – Database Terdistribusi
Manajemen Transaksi & Kontrol Konkurensi
Pengelolaan Sistem Informasi
Konsep Database Terdistribusi
Model Data Pertemuan Minggu Ke-3.
Database Terdistribusi
Pemrograman jaringan Teori dan Praktek
Abstraksi dan bahasa basis data
Sistem Basis Data Terdistribusi
BASIS DATA TERDISTRIBUSI
Database dalam Sistem Terdistribusi
Overview BASIS DATA TERDISTRIBUSI
Prototyping Aplikasi Teknologi Informasi
Manajemen Sumber Daya Data
RANCANGAN ARSITEKTUR TEKNOLOGI INFORMASI Materi Pertemuan 27
Telekomunikasi, Jaringan dan Internet
DATABASE TERDISTRIBUSI (DISTRIBUTED DATABASE= DDB)
Komponen, konsep, abstraksi dan bahasa
Pertemuan 5 PERANGKAT LUNAK (SOFTWARE) KOMPUTER
Database terdistribusi secara geografis
PENGANTAR DATA TERDISTRIBUSI
PENGANTAR DATA TERDISTRIBUSI
DBMS Terdistribusi.
Arsitektur Client-Server
BAB 1 Pengenalan Database dan DBMS
Perjalanan Menuju Client Server
BASIS DATA TERDISTRIBUSI
Database dalam Sistem Terdistribusi
Distributed Database Management
ARSITEKTUR DAN PEMODELAN APLIKASI
Recovery Adapted from: Connolly, Thomas., et.al., Database System. Wokingham England: Addison-Wesley Publishing Company.
Pengenalan Sistem Terdistribusi
BASIS DATA 2 Basis Data Terdistribusi
Sistem Operasi Terdistribusi
File Service Sistem Terdistribusi.
Database Terdistribusi
Backup & Recovery.
ARSITEKTUR SISTEM TERDISTRIBUSI
DBMS Basis Data Pertemuan 2.
Sistem Terdistribusi.
ARSITEKTUR TEKNOLOGI INFORMASI
Basis Data Terdistribusi
Bab 2 Mengenal Data Base Management System (DBMS)
7 DATABASE Client/Server Wiratmoko Y, ST C H A P T E R
Pertemuan III Betha Nurina Sari, M.Kom
Basis Data Klien Server dan Basis data Internet Materi 7
DATABASE TERDISTRIBUSI
DATABASE TERDISTRIBUSI
FUNGSI TERDISTRIBUSI Definisi_Definisi Pertemuan 5-6
Management Information System
SISTEM BASIS DATA *** Anggia Meisesari, S.T., M.T., MOS. ***
PERKEMBANGAN SISTEM BASIS DATA
LINGKUNGAN DATABASE Arsitektur Database
Pendahuluan Basis Data
Bab VII. Manajemen Sumber Daya Data
BASIS DATA TERDISTRIBUSI
SISTEM BASIS DATA TERSEBAR
(User Interface Design--UID)
SISTEM BASIS DATA TERSEBAR
DISTRIBUTED SYSTEM.
KONSEP DAN RANCANGAN BASIS DATA TERDISTRIBUSI
Database Server & Terdistribusi
Sistem Pengolahan Data
SISTEM BASIS DATA TERSEBAR
Database Server & Terdistribusi
SISTEM BASIS DATA TERSEBAR
BASIS DATA TERDISTRIBUSI
Sistem Basis Data Terdistribusi
Transcript presentasi:

DDBMS (Distributed Database Management System) Pertemuan Minggu Ke-13

Kompetensi Khusus Mahasiswa mampu menjelaskan tentang DDBMS, transparansi database terdistribusi, dan desain database terdistribusi (C2)

Evolusi dari DDBMS DDBMS mengatur penyimpanan & pemrosesan dari data yang terkait secara logis melalui sistem komputer yang saling berhubungan dimana baik data maupun pemrosesan didistribusikan ke beberapa situs. Dua dekade terakhir melahirkan serangkaian perubahan sosial & teknologi penting yang mempengaruhi sifat sistem & penggunaan data: Operasi bisnis menjadi global sehingga kompetisi berkembang dari toko menjadi web. Permintaan pelanggan & kebutuhan pasar lebih menyukai jenis transaksi sesuai permintaan, kebanyakan melalui layanan web. Perubahan sosial & teknologi yang pesat dipicu oleh perangkat mobile pintar & murah sehingga meningkatkan permintaan untuk jaringan rumit & cepat yang menghubungkannya. Aplikasi harus menangani berbagai jenis data seperti suara, video, musik, & gambar. Data tersebut tersebar secara geografis & diakses secara remote dari berbagai lokasi via perangkat mobile.

Melihat faktor di atas maka 2 kebutuhan database ini diperlukan: Rapid ad hoc data access : penting dalam lingkungan pembuatan keputusan yang membutuhkan respon cepat. Distributed data access : dibutuhkan untuk mendukung unit bisnis yang tersebar secara geografis. Berikut faktor pendorong dari faktor di atas: Pertumbuhan internet sebagai platform untuk akses & distribusi data. Revolusi mobile wireless. Pertumbuhan perusahaan yang menggunakan “applications as a service”. Peningkatan fokus pada mobile business intelligence.

Database terdistribusi diminati karena manajemen database terpusat mengalami masalah berikut: Penurunan kinerja Biaya tinggi Masalah reliabilitas Masalah skalabilitas Organisasi yang kaku

Kekurangan & Kelebihan DDBMS Lokasi data dekat dengan tempat yang memiliki permintaan tinggi Manajemen & pengendalian yang rumit Akses data lebih cepat Kesulitan teknologi Pemrosesan data lebih cepat Keamanan Memfasilitasi pertumbuhan Kurangnya standar Komunikasi yang lebih baik Kebutuhan penyimpanan & infrastruktur yang meningkat Biaya operasi menurun Biaya pelatihan meningkat Antarmuka yang user friendly Biaya Menurunkan bahaya kegagalan di satu titik Tidak bergantung pada prosesor

Pemrosesan Terdistribusi Pemrosesan database terbagi di antara 2 atau lebih situs fisik yang terhubung melalui jaringan. Menggunakan 1 situs database tetapi membagi pemrosesan ke beberapa situs.

Lingkungan Pemrosesan Terdistribusi

Database Terdistribusi Database disimpan dalam 2 atau lebih situs fisik yang terhubung melalui jaringan. Database dipecah menjadi beberapa bagian yang disebut dengan database fragment. Database fragment diletakkan di situs yang berbeda & dapat direplikasi antar beberapa situs. Tiap database fragment dikelola oleh proses database lokal.

Lingkungan Database Terdistribusi

Dari 2 gambar di atas terdapat beberapa hal yang perlu diingat: Pemrosesan terdistribusi tidak membutuhkan database terdistribusi, tetapi database terdistribusi membutuhkan pemrosesan terdistribusi (tiap database fragment dikelola oleh proses database lokal). Pemrosesan terdistribusi mungkin berdasarkan pada database tunggal yang berada pada komputer tunggal. Baik pemrosesan terdistribusi maupun database terdistribusi membutuhkan jaringan komponen yang terhubung.

Karakteristik DDBMS Antarmuka aplikasi untuk berinteraksi dengan end user, program aplikasi, & DBMS lain dalam database terdistribusi. Validasi untuk menganalisa permintaan data untuk perbaikan sintaks. Transformasi untuk memecah permintaan rumit menjadi komponen permintaan data tunggal. Optimasi query untuk menemukan strategi akses terbaik. Mapping untuk menentukan lokasi data dari fragmen lokal & remote. Antarmuka I/O untuk membaca atau menulis data dari atau ke penyimpanan lokal permanen. Formatting untuk menyiapkan data yang ditampilkan ke end user atau program aplikasi. Keamanan untuk menyediakan privasi data pada database lokal & remote. Backup & pemulihan untuk memastikan ketersediaan & pemulihan database jika terjadi kegagalan. Fitur administrasi DB untuk administrator database. Kontrol konkurensi untuk menangani akses data secara simultan & memastikan konsistensi data pada fragment database dalam DDBMS. Manajemen transaksi untuk memastikan data tetap konsisten; aktivitas ini mencakup sinkronisasi dari transaksi lokal & remote, juga transaksi pada beberapa segmen terdistribusi.

DBMS yang terdistribusi penuh harus melakukan semua fungsi dari DBMS terpusat sbb: Menerima permintaan dari aplikasi atau end user. Memvalidasi, menganalisis, & memecah permintaan. Memetakan komponen data permintaan logis ke fisik. Membagi permintaan ke beberapa operasi disk I/O. Mencari, menemukan, membaca, & memvalidasi data. Memastikan konsistensi, keamanan, & integritas database. Memvalidasi data untuk kondisi, jika ada yang diminta. Menampilkan data terpilih dalam format yang dibutuhkan.

Sistem Manajemen Database yang Terdistribusi Penuh

Komponen DDBMS Computer workstations atau remote devices (sites atau nodes) yang membentuk sistem jaringan. Komponen hardware & software jaringan yang ada dalam tiap workstation atau perangkat. Media komunikasi yang membawa data dari 1 titik ke lainnya. Transaction processor (TP) atau application processor (AP) atau transaction manager (TM), yaitu komponen software yang ditemukan dalam tiap komputer atau perangkat yang meminta data. Data processor (DP) atau data manager (DM), yaitu komponen software yang berada di tiap komputer atau perangkat yang menyimpan & mengambil data yang ada di situs.

Komponen Manajemen Sistem Database Terdistribusi

Protokol menentukan bagaimana sistem database terdistribusi akan: Gambar di atas menunjukkan posisi komponen & interaksi antar komponen tersebut. Komunikasi antar TP & DP diatur melalui serangkaian aturan, atau protokol, yang digunakan oleh DDBMS. Protokol menentukan bagaimana sistem database terdistribusi akan: Interface dengan jaringan untuk mengangkut data & perintah antara DP & TP. Sinkronisasi semua data yang diterima dari DP (TP) & mengarahkan data ke TP (DP). Memastikan fungsi database umum dalam sistem terdistribusi, mencakup keamanan data, manajemen transaksi & kontrol konkurensi, partisi & sinkronisasi data, backup & pemulihan data.

Tingkat Distribusi Data & Proses Single-site Data Multiple-site Data Single-site process Host DBMS Not applicable (Requires multiple processes) Multiple-site process File server Client/ server DBMS (LAN DBMS) Fully distributed Client/ server DDBMS

Single-site Processing, Single-site data (SPSD) Semua pemrosesan dilakukan pada komputer host tunggal & semua data disimpan dalam sistem disk lokal komputer host. Pemrosesan tidak dapat dilakukan pada sisi sistem end user. DBMS terdapat pada komputer host, yang diakses oleh terminal yang terhubung ke komputer host tersebut.

SPSD (Terpusat)

Multiple-Site Processing, Single-Site Data (MPSD) Beberapa proses berjalan pada komputer berbeda yang berbagi penyimpanan data tunggal. Membutuhkan server file jaringan yang menjalankan aplikasi konvensional yang diakses melalui jaringan. Dari gambar di bawah, terlihat bahwa: TP pada tiap workstation bertindak hanya sebagai pengarah yang mengarahkan semua permintaan data jaringan ke server file. End user melihat server file sebagai hard disk lain. Karena hanya input/ output penyimpanan data yang ditangani oleh komputer server file, MPSD menawarkan kemampuan terbatas untuk pemrosesan terdistribusi. End user harus membuat referensi langsung ke server file untuk mengakses data remote. Semua aktivitas penguncian record & file dilakukan di lokasi end user. Semua fungsi pemilihan data, pencarian, & update terjadi pada workstation, sehingga membutuhkan semua file melewati jaringan untuk pemrosesan di workstation. Hal tsb meningkatkan lalu lintas jaringan, memperlambat waktu respon, & meningkatkan biaya komunikasi.

MPSD

Multiple-Site Processing, Multiple-Site Data (MPMD) Mendeskripsikan DBMS yang terdistribusi penuh dengan dukungan untuk beberapa prosesor data & prosesor transaksi pada beberapa situs. Bergantung pada tingkat dukungan untuk berbagai jenis database, DDBMS diklasifikasikan sebagai homogeneous atau heterogeneous. Homogeneous DDBMS menggabungkan beberapa instance dari DBMS yang sama melalui jaringan. Heterogeneous DDBMS menggabungkan jenis DBMS yang berbeda melalui jaringan, tetapi semuanya mendukung model data yang sama. Fully heterogeneous DDBMS akan mendukung DBMS yang berbeda, masing-masing mendukung model data yang berbeda, berjalan di sistem komputer yang berbeda.

Fitur Transparansi Database Terdistribusi Transparansi distribusi: database terdistribusi diperlakukan sebagai database tunggal. User tidak perlu mengetahui bahwa: Data dipartisi – artinya baris & kolom tabel dipisahkan secara vertikal atau horizontal & disimpan di beberapa situs. Data tersebar secara geografis di beberapa situs. Data direplikasi ke beberapa situs. Transparansi transaksi: transaksi dapat mengupdate data di lebih dari satu situs jaringan. Transparansi kegagalan: memastikan sistem akan terus beroperasi jika terjadi kegagalan jaringan atau node. Transparansi kinerja: sistem dapat bekerja seolah-olah adalah DBMS terpusat. Transparansi heterogenitas: integrasi dari beberapa DBMS lokal yang berbeda (relasional, jaringan, & hierarki) di bawah satu skema umum atau global.

Transparansi Distribusi Database yang tersebar secara fisik dapat ditangani seolah-olah adalah database terpusat. Terdiri dari 3 tingkat: Transparansi fragmentasi  tingkat tertinggi dari transparansi. End user atau programer tidak perlu tahu bahwa database dipartisi sehingga nama atau lokasi fragmen tidak disebutkan. Transparansi lokasi  muncul ketika end user atau programer harus menyebutkan nama fragmen database tetapi tidak perlu menyebutkan lokasi fragmen tersebut. Transparansi pemetaan lokal  muncul ketika end user atau programer harus menyebutkan baik nama maupun lokasi fragmen.

Transparansi distribusi didukung oleh distributed data dictionary (DDD) atau distributed data catalog (DDC). DDC berisi deskripsi dari keseluruhan database yang dilihat oleh administrator database. Deskripsi database, dikenal dengan distributed global schema, adalah skema database umum yang digunakan oleh TP lokal untuk menerjemahkan permintaan user menjadi subquery (permintaan remote) yang akan diproses oleh DP yang berbeda. DDC itu sendiri tersebar, & direplikasi di node jaringan. Oleh karena itu, DDC harus memelihara konsistensi dengan mengupdate semua situs.

Transparansi Transaksi Properti DDBMS yang memastikan transaksi database akan memelihara integritas & konsistensi database terdistribusi. Permintaan Terdistribusi & Transaksi Terdistribusi Permintaan remote memperbolehkan pernyataan SQL sederhana mengakses data yang akan diproses oleh prosesor database remote tunggal. Transaksi remote terdiri dari beberapa permintaan, mengakses data pada situs remote tunggal. Transaksi terdistribusi dapat menggunakan beberapa situs DP lokal atau remote yang berbeda. Walaupun tiap permintaan tunggal hanya dapat menggunakan 1 situs DP lokal atau remote, secara keseluruhan transaksi dapat menggunakan beberapa situs DP karena tiap permintaan dapat menggunakan situs yang berbeda. Permintaan terdistribusi memperbolehkan pernyataan SQL tunggal menggunakan data di beberapa situs DP lokal atau remote yang berbeda.

Permintaan Remote Transaksi Remote

Transaksi Terdistribusi

Permintaan Terdistribusi

Kontrol Konkurensi Terdistribusi Kontrol konkurensi sangat penting dalam database terdistribusi karena beberapa operasi proses di lebih dari 1 situs dapat menciptakan inkonsistensi data & transaksi deadlock. Two-Phase Commit Protocol (2PC) 2PC menjamin bahwa jika sebagian dari operasi transaksi tidak dapat dicommit, semua perubahan di situs lain dalam transaksi akan dibatalkan untuk memelihara kondisi database yang konsisten. 2PC memerlukan protokol DO-UNDO-REDO & write-ahead. Protokol DO-UNDO-REDO digunakan oleh DP untuk memajukan & memundurkan transaksi dengan bantuan dari entri log transaksi sistem. Berikut operasinya: DO melakukan operasi & merekam nilai sebelum & sesudah dalam log transaksi. UNDO membalikkan operasi, menggunakan entri log yang ditulis oleh porsi DO dari urutan. REDO memajukan operasi, menggunakan entri log yang ditulis oleh porsi DO dari urutan.

Untuk memastikan operasi DO, UNDO, & REDO dapat bertahan saat tabrakan sistem ketika dieksekusi, maka protokol write-ahead digunakan. Protokol write-ahead memaksa entri log ditulis ke penyimpanan permanen sebelum operasi sebenarnya berjalan. 2PC mendefinisikan operasi antara 2 jenis node, yaitu coordinator, & 1 atau lebih subordinates, atau cohorts. Umumnya, peran coordinator diberikan ke node yang memulai transaksi. Node yang berpartisipasi mengikuti coordinator.

2PC diimplementasikan dalam 2 tahap yaitu: Tahap 1: Persiapan  coordinator mengirimkan pesan PREPARE TO COMMIT ke semua subordinates. Subordinates menerima pesan, menulis log transaksi menggunakan protokol write-ahead, & mengirimkan pesan (YES/ PREPARED TO COMMIT atau NO/ NOT PREPARED) ke coordinator. Coordinator memastikan semua node siap dicommit atau dibatalkan. Jika semua node PREPARED TO COMMIT, maka transaksi berlanjut ke Tahap 2. Jika ada 1 atau lebih node merespon NO/ NOT PREPARED, coordinator mengumumkan pesan ABORT ke semua subordinates. Tahap 2: Final COMMIT  coordinator mengumumkan pesan COMMIT ke semua subordinates & menunggu balasannya. Tiap subordinate menerima pesan COMMIT kemudian mengupdate database menggunakan protokol DO. Subordinates membalas dengan pesan COMMITTED atau NOT COMMITTED ke coordinator. Jika ada 1 atau lebih subordinates tidak commit, maka coordinator mengirimkan pesan ABORT, yang memaksa mereka untuk UNDO semua perubahan.

Transparansi Kinerja & Kegagalan Transparansi kinerja membuat DDBMS bekerja seolah-olah adalah database terpusat sehingga tidak terjadi penurunan kinerja terkait dengan distribusi data. Transparansi kegagalan memastikan sistem akan terus beroperasi jika terjadi kegagalan node atau jaringan. Tujuan dari optimasi query adalah untuk meminimalkan total biaya yang berhubungan dengan eksekusi permintaan. Biaya tsb berupa: Biaya waktu akses (I/O) berupa akses data dari beberapa situs remote. Biaya komunikasi yang berhubungan dengan transmisi data di antara node dalam sistem database terdistribusi. Biaya waktu CPU yang berhubungan dengan overhead pemrosesan dari pengaturan transaksi terdistribusi.

Memecah permintaan data dalam lingkungan data terdistribusi harus mempertimbangkan beberapa poin berikut: Distribusi data. Replikasi data. Karakteristik penting dari optimasi query dalam sistem database terdistribusi adalah transparansi replika. Transparasi replika mengacu pada kemampuan DDBMS untuk menyembunyikan beberapa salinan data dari user. Ketersediaan jaringan & node. Untuk mencapai transparansi kinerja, DDBMS seharusnya mempertimbangkan masalah seperti network latency, penundaan yang disebabkan oleh waktu yang dibutuhkan oleh paket data untuk melakukan perjalanan dari titik A ke B; atau network partitioning, penundaan yang terjadi ketika node tiba-tiba menjadi tidak tersedia karena kegagalan jaringan.

Desain Database Terdistribusi Desain database terdistribusi memperkenalkan 3 masalah baru: Bagaimana mempartisi database menjadi fragmen. Fragmen mana yang direplikasi. Dimana harus menempatkan fragmen & replikanya.

Fragmentasi Data Suatu objek dapat dipecah menjadi 2 atau lebih segmen atau fragmen. Objek dapat berupa database user, database sistem, atau tabel. Tiap fragmen dapat disimpan di situs manapun melalui jaringan komputer. Informasi mengenai fragmentasi data disimpan dalam DDC, yang diakses oleh TP untuk memproses permintaan user. Strategi fragmentasi data yang dibahas adalah berdasarkan tingkat tabel & membagi tabel menjadi fragmen logis.

Terdapat 3 jenis strategi fragmentasi data: Fragmentasi horizontal mengacu pada pembagian relasi menjadi subset (fragmen) dari tuple (baris). Tiap fragmen disimpan dalam node berbeda, & tiap fragmen memiliki baris unik. Baris unik semuanya memiliki atribut (kolom) yang sama. Terbagi menjadi: Round-robin partitioning Range partitioning based on a partition key Fragmentasi vertikal mengacu pada pembagian relasi menjadi subset atribut (kolom). Tiap fragmen disimpan dalam node berbeda, & memiliki kolom unik – dengan pengecualian kolom kunci yang ada di semua fragmen. Fragmentasi campuran mengacu pada kombinasi dari strategi horizontal & vertikal. Tabel mungkin dibagi menjadi beberapa subset baris, tiap baris memiliki subset dari atribut (kolom).

Replikasi Data Mengacu pada penyimpanan salinan data pada beberapa situs yang dilayani oleh jaringan komputer. Data yang direplikasi mengikuti mutual consistency rule, yaitu semua salinan fragmen data harus identik. Oleh karena itu, untuk memelihara konsistensi data di antara replika, DDBMS harus memastikan update database dilakukan di semua situs dimana replika ada. Terdapat 2 jenis replikasi: Push replication. Setelah update data, node DP asli mengirimkan perubahan ke node replika untuk memastikan data segera diupdate. Akan tetapi, ia menurunkan ketersediaan data karena adanya latensi untuk memastikan konsistensi data di semua node. Pull replication. Setelah update data, node DP asli mengirimkan pesan ke node replika untuk menotifikasi adanya update. Node replika memutuskan kapan untuk mengaplikasikan update ke fragmen lokal. Update data tidak segera dilakukan ke replika sehingga data tidak konsisten sementara. Fokusnya adalah pada ketersediaan data.

Replikasi Data

Terdapat 3 skenario replikasi: Fully replicated database menyimpan beberapa salinan dari tiap fragmen database di beberapa situs. Partially replicated database menyimpan beberapa salinan dari beberapa fragmen database di beberapa situs. Unreplicated database menyimpan tiap fragmen database di situs tunggal. Beberapa faktor yang mendorong penggunaan replikasi data: Ukuran database Frekuensi pemakaian Biaya

Alokasi Data Mendeskripsikan proses dalam memutuskan lokasi data. Berikut strategi alokasi data: Centralized data allocation  seluruh database disimpan di 1 situs. Partitioned data allocation  database dibagi menjadi 2 atau lebih bagian (fragmen) & disimpan di 2 atau lebih situs. Replicated data allocation  salinan dari 1 atau lebih fragmen database disimpan di beberapa situs.

Algoritma alokasi data mempertimbangkan beragam faktor seperti: Kinerja & ketersediaan data. Ukuran, jumlah baris, & jumlah relasi yang dipelihara suatu entitas dengan entitas lain. Jenis transaksi yang diaplikasikan ke database & atribut yang diakses oleh tiap transaksi. Terputusnya operasi untuk user mobile. Kebanyakan algoritma mencakup data seperti topologi jaringan, bandwidth & throughput jaringan, ukuran data, & lokasi.

Teorem CAP Consistency. Dalam database terdistribusi, konsistensi mengambil peran yang lebih besar. Semua node harus melihat data yang sama pada waktu yang sama, artinya replika harus segera diupdate. Ini berhubungan dengan latensi & penundaan partisi jaringan. Availability. Semua permintaan selalu dipenuhi oleh sistem. Partition tolerance. Sistem tetap beroperasi walaupun terjadi kegagalan node. Ini sama dengan transparansi kegagalan dalam database terdistribusi. Sistem akan gagal hanya jika semua node gagal.

Spektrum Database Terdistribusi

C. J. Date’s 12 Commandments for Distributed Databases

Review Materi Mahasiswa mengerjakan tugas yang ada di portal.