Basis Data Parallel
Sistem basis data Parallel komputer merupakan sejumlah node (prosesor dan memory) yang saling terhubung menggunakan jaringan dengan kecepatan tinggi. Sistem ini berusaha mencapai terbaik dalam memanfaatkan arsitektur mikroprosessor paling modern menggunakan solusi yang berorientasi software untuk pengelolaan data.
Basis data parallel dilakukan untuk solusi yang mungkin dalam meningkatkan bandwith input/output melalui parallelism dan untuk menyimpan database dalam jumlah yang sangat besar di dalam satu sistem.
Keuntungan Parallel Database
- 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
Shared Memory:
- Keuntungan:
- Simplicity
- Load Balancing
Permasalahan:
- Harga
- Limited Extensibility
- Low Availability
Shared Disk
Keuntungan: Biaya, Extensibility, Load Balancing, Availability
Permasalahan: Higher Complexity, Potential Coherence problem
Shared Nothing
Keuntungan: Cost, Extensibility, Availability
Permasalahan: Complex, penambahan node baru membutuhkan pengaturan ulang database
Teknik Parallel DBMS
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.
Penggunaan Data Fragmentation
- 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
- 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
- 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
Isu-isu pada Parallel DBMS
- Partisi Data (Data Partitioning)
- Pemrosesan Query secara parallel (Parallel Query Processing)
Type Query Database (umum)
- Sequential scan
- Point query
- Range query
Perancangan Parallel System
- 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
- 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)