13 Parallel Database by: Ahmad Syauqi Ahsan
Latar Belakang 2 Parallel Database Management System adalah DBMS yang diimplementasikan pada parallel computer yang mana terdiri dari sejumlah node (prosesor dan memory) yang saling terhubung menggunakan jaringan super cepat. Sistem ini berusaha sebaik-baiknya untuk memanfaatkan arsitektur mikroprosessor paling modern menggunakan solusi yang berorientasi software untuk pengelolaan data.
Tujuan 3 Permasalahan DBMS konvensional: Waktu akses disk yang tinggi Database dengan ukuran yang sangat besar tidak dapat didukung menggunakan satu sistem Parallel Database Management System adalah satu-satunya solusi yang mungkin untuk meningkatkan bandwidth I/O melalui parallelism dan untuk menyimpan database dalam jumlah yang sangat besar didalam satu sistem.
Keuntungan Parallel DBMS 4 Performa tinggi meningkatkan throughput (intra-query parallelism) dan mengurangi waktu respon (intra-query parallelism). High Availability menggunakan replikasi data Extensibility dapat diperbesar kapasitasnya serta ditingkatkan kecepatannya secara linear.
Arsitektur Parallel DBMS 5 Shared Memory: Keuntungan: Simplicity Load Balancing Permasalahan: Harga Limited Extensibility Low Availability
Arsitektur Parallel DBMS (2) 6 Shared Disk Keuntungan: Biaya, Extensibility, Load Balancing, Availability Permasalahan: Higher Complexity, Potential Coherence problem
Arsitektur Parallel DBMS (3) 7 Shared Nothing Keuntungan: Cost, Extensibility, Availability Permasalahan Complex, penambahan node baru membutuhkan pengaturan ulang database
Teknik Parallel DBMS 8 Data Allocation: Metode untuk menyimpan database kedalam beberapa disk yang berbeda guna untuk memastikan proses input-output secara parallel yang efisien. 3 Strategi Partitioning (Fragmentation): Round Robin: tuple ke I disimpan di partisi ke (I mod n) dimana n adalah jumlah partisi Hashing: mengaplikasikan fungsi hash untuk beberapa atribut guna memberikan nomor partisi #Range Partitioning Distribute tuples based Range Partitioning: mendistribusikan tuple berdasarkan nilai dari beberapa atribut.
9 Perbandingan Strategi Partitioning
Penggunaan Data Fragmentation 10 Memaksimalkan performa sistem Meminimalkan waktu respon (melalui intra-query parallelism) Memaksimalkan throughput (melalui inter-query parallelism) Problems: distribusi data yang tidak seimbang membuat partisi yang tidak seragam sehingga akan mengganggu (mengurangi manfaat) load balancing
Query Parallelism 11 Inter query parallelism: eksekusi secara parallel dari beberapa query yang dihasilkan oleh beberapa transaksi yang berjalan secara bersamaan Intra query parallelism, terdapat dua macam: Inter-operator: mengeksekusi beberapa operasi dari pohon query pada beberapa prosessor secara parallel intra-operator: beberapa operator dieksekusi oleh beberapa prosesor, dimana masing-masing prosesor bekerja mengerjakan sebagian (subset) dari keseluruhan data
Level Parallel 12 Coarse-grain Parallel: mesin komputer dengan tipe ini terdiri dari sejumlah kecil processor dengan kemampuan tinggi Massively Parallel atau Fine-grain Parallel: mesin komputer dengan tipe ini memanfaatkan ribuan processor kecil
13 Arsitektur Interkoneksi
Isu-isu pada Parallel DBMS 14 Partisi Data (Data Partitioning) Pemrosesan Query secara parallel (Parallel Query Processing)
Tipe-tipe Query Database yang umum 15 Sequential scan Point query Range query
Perancangan Parallel System 16 Beberapa isu dalam perancangan Parallel Systems: Dibutuhkan mekanisme untuk memasukkan data dari sumber eksternal secara parallel guna menangani masuknya data dalam jumlah yang sangat besar. Kelenturan untuk terjadi kegagalan pada processor atau disk Kemungkinan terjadinya kegagalan (failure) beberapa disk atau processor pada parallel system lebih tinggi System masih bisa beroperasi (mungkin dengan performa yang menurun) ketika terjadi kegagalan (failure) Redundancy dapat dicapai dengan menyimpan tambahan copy untuk setiap data pada processor yang lain
Perancangan Parallel System (2) 17 Harus ada dukungan untuk pengelolaan data dan perubahan schema secara online. Contoh: pembentukan index didalam database berukuran terabyte membutuhkan waktu beberapa jam atau hari, bahkan pada parallel system Perlu untuk mengijinkan pemrosesan yang lain (insertions/deletions/updates) untuk tetap dapat dilakukan bahkan ketika index sedang dibentuk. Ide dasar: pembentukan index melacak perubahan-perubahan dan Juga diperlukan dukungan untuk proses repartitioning secara online dan perubahan schema (dieksekusi secara bersamaan dengan pemrosesan lainnya)
18 Tanya Jawab Terima Kasih