Lompat ke konten Lompat ke sidebar Lompat ke footer

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):

  1. Round Robin: tuple ke I disimpan di partisi ke (I mod n) dimana n adalah  jumlah partisi
  2. Hashing: mengaplikasikan fungsi hash untuk beberapa atribut guna memberikan nomor partisi #Range Partitioning – Distribute tuples based
  3. 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)