Sistem Basisdata Pert24

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Sistem Basisdata Pert24 as PDF for free.

More details

  • Words: 1,324
  • Pages: 15
Basisdata Paralel (Parallel Databases) –Konsep Basisdata Paralel –Perbandingan Basisdata Paralel dengan Terdistribusi 1

Basisdata Paralel Latar Belakang •Dewasa ini mesin yang bekerja secara paralel sudah cukup lumrah dengan harga yang terjangkau – Terjadi penurunan harga terhadap perangkat keras utama komputer seperti microprocessor, memori dan disk •Sementara database tumbuh menjadi besar dengan cepat – Data transaksi yang berukuran besar dikumpulkan dan disimpan untuk kemudian dianalisis – Objek-objek multimedia seperti gambar semakin banyak yang disimpan di database •Sistem basisdata berskala besar kebanyakan digunakan untuk: – Menyimpan data berukuran besar – Memroses query decission-support yang memakan waktu lama (speed-up) – Menyediakan throughput yang tetap tinggi dengan response time yang tetap untuk pemrosesan 2 transaksi (scale-up)

Basisdata Paralel Kenapa mengakses data secara paralel? 1,000 x paralel hanya 1.5 menit untuk baca

pada 10 MB/s 1.2 hari untuk baca

Ba 1 Terabyte

nd

wi dt

1 Terabyte

h

10 MB/s Paralelisme:

membagi permasalahan besar menjadi beberapa yang lebih kecil untuk dipecahkan secara paralel 3

Basisdata Paralel Paralelisme Dalam Database • Data dapat dipecah ke dalam beberapa disk untuk melakukan paralel I/O. • Operasi-operasi relasional individual (misal., sort, join, aggregation) dapat dijalankan secara paralel – Data dapat dipartisi dan masing-masing prosesor dapat bekerja secara independen hanya pada partisi-nya saja

• Query yang berbeda dapat dijalankan secara paralel satu sama lain. Concurrency control harus menjaga agar tidak terjadi konflik. 4

Basisdata Paralel Paralelisme Dalam Database •

Paralelisme merupakan sesuatu yang lumrah (alami) dalam pemrosesan di DBMS – Pipeline parallelism: banyak mesin dengan masing-masing melakukan satu step (langkah) dalam proses yang multi-step. – Partition parallelism: banyak mesin melakukan hal yang sama terhadap data yang berbeda – Keduanya merupakan hal yang wajar dalam DBMS

Pipeline Partition

Any Sequential Program

Sequential Any Sequential Sequential Program

Any Sequential Program

Any Sequential Program

output dipecah dengan N cara, input digabung dengan M cara

5

Basisdata Paralel Paralelisme dalam Database • Mengurangi waktu yang dibutuhkan untuk meperoleh suatu relasi dari disk dengan melakukan pembagian (pemecahan) relasi pada beberapa disk • Partitioning Hanya dilakukan dengan Horizontal partitioning – tupel-tupel dari sebuah relasi dibagi-bagi di antara banyak disk sedemikian sehingga masing-masing tupel terletak pada satu disk • Teknik-teknik partitioning (Dik. banyaknya disk yang digunakan = n): Round-robin: – Mengirim tupel ke-i yang di-insert ke dalam suatu relasi ke disk i mod n Hash partitioning: – Pilih satu atau lebih atribut sebagai partiotioning atribut – Pilih fungsi hash h dengan kisaran nilai 0…n - 1 – Misalkan i menyatakan hasil fungsi hash h yang dilakukan terhadap sebuah tupel. Kirim tuple tersebet ke disk i. • Range partitioning: – Pilih salah satu atribut sebagai partitioning attribute. – Kemudian buat sebuah partitioning vector dalam bentuk [vo, v1, ..., vn-2] – Misalkan v merupakan nilai patitioning atribut untuk sebuah tuple. Tupel-tupel di mana vi ≤ vi+1 disimpan di disk I + 1. tupel-tupel dengan v < v0 disimpan di disk 0 dan tupel-tupel dengan v ≥ vn-2 disimpan di disk n-1. E.g., dengan partitioning vector [5,11], sebuah tupel dengan nilai partitioning atribut 2 akan masuk ke disk 0, sebuah tupel dengan nilai 8 akan masuk ke disk 1, dan tupel dengan nilai 20 akan masuk ke disk 2.

6

Basisdata Paralel Perbandingan Teknik-teknik partitioning •Untuk membandingkan teknik-teknik partitioning dilakukan dengan sejauh mana mereka dapat mendukung tiga tipe akses terhadap data: 1. Pembacaan (scan) seluruh relasi 2. Mencari lokasi sebuah tupel yang bersesuaian dengan kondisi tertentu – point query. • E.g., r.A = 25. 3. Mencari semua tupel yang berada dalam suatu kisaran (range) nilai tertentu – range query. • E.g., 10 ≤ r.A < 25. •Round robin: – Keuntungan • Sangat cocok untuk pembacaan sekuensial seluruh relasi pada masing-masing query • Semua disk hampir semuanya mempunyai jumlah tupel yang sama; pekerjaan pengambilan data sehingga dapat diseimbangkan di masing-masing disk. – Kerugian: Range query sangat susah diproses • Tidak ada clustering (pengelompokan) – tupel-tupel berserakan di semua disk 7

Basisdata Paralel Perbandingan Teknik-teknik partitioning (lanjt) • Hash partitioning – Keuntungan • Cocok untuk akses sekuensial – Jika diasumsikan fungsi hash yang digunakan cukup “baik”, dan partitioning atribut membentuk sebuah key, maka tupel-tupel akan terdistributsi secara seimbang di antara semua disk – Pekerjaan pengambilan data (pembacaan) akan terbagi secara seimbang di antara disk-disk tersebut. • Cocok untuk melakukan point query pada partitioning atribut – Dapat mencari hanya pada satu disk, meninggalkan yang lainnya untuk menjawab query yang lain. – Indeks pada partitioning atribut dapat dilakukan secara lokal terhadap disk yang bersangkutan, sehingga membuat pembacaan dan update lebih efisien. – Kerugian: Tidak ada clustering, sehingga sulit menjawab range query

8

Basisdata Paralel Perbandingan Teknik-teknik partitioning (lanjt) • Range partitioning – Keuntungan • Menyediakan data clustering oleh nilai partitioning atribut. • Cocok untuk akses sekuensial • Cocok untuk point query pada partitioning atribut: hanya satu disk yang perlu di akses. • Untuk melakukan range query pada partitioning atribut, hanya perlu mengakses satu sampai beberapa buah disk − Sehingga disk yang lain masih bisa digunakan untuk menjawab query yang lain. − Cocok jika tupel hasil terdapat di satu sampai beberapa block. − Kerugian: Jika block yang diakses berjumlah banyak, maka tetap saja mereka diakses dari satu atau lebih disk, dan potensi paralelisme pada disk terbuang karena hanya satu/beberapa disk (partisi) saja yang terlibat dalam pemrosesan – Disebut sebagai execution skew.

9

Basisdata Paralel Penanganan Skew (kemiringan distribusi) • Distribusi tupel-tupel ke disk bisa terjadi tidak seragam/miring (skew) — yaitu, beberapa disk dapat mempunyai lebih banyak tupel, sementara yang lain hanya memiliki lebih sedikit tupel. • Tipe Skew: – Attribute-value skew. • Beberapa nilai muncul sebagai partitioning atribut untuk lebih dari satu tupel; semua tupel dengan nilai yang sama untuk partitioning atribut akan berakhir di partisi yang sama. • Dapat terjadi pada range-partitioning dan hashpartitioning. – Partition skew. • Dengan range-partitioning, salah pilih partition vector akan menyebabkan terlalu banyak tupel berada pada beberapa partisi sementara terlalu sedikit tupel pada partisi yang lain. • Hal yang sama juga akan terjadai pada hashpartitioning jika fungsi hash yang dipilih tidak “baik”

10

Basisdata Paralel Menangani Skew Dalam Range-Partitioning • Untuk membuat partitioning vector yang seimbang (balanced partitioning vector) (misalkan partitioning atribut membentuk sebuah key pada relasi): – Urutkan relasi berdasarkan partitioning atribut. – Bangun partition vector dengan membaca relasi secara berurutan sebagai berikut. • Setelah setiap 1/ke-n relasi telah dibaca, nilai partitioning atribut tupel berikutnya ditambahkan ke partition vector – n menyatakan banyaknya partisi yang akan dibangun. – Nilai yang sama atau ketidakseimbangan akan muncul jika terdapat nilai yang sama pada partitioning atribut • Teknik alternatif dilakukan dengan menggunakan histogram

11

Basisdata Paralel Menangani Skew Menggunakan Histogram • Partitioning vector yang seimbang dapat dibangun dari histogram dengan cara yang relatif langsung – Asumsi distribusi uniform untuk masing-masing range histogram • Histogram dapat dibangun dengna membaca relasi, atau melakukan sampling (blok yang mengandung) tupel-tupel relasi

12

Basisdata Paralel Menangani Skew Menggunakan Virtual Processor Partitioning • Skew dalam range partitioning dapat ditangani dengan cara yang elegan menggunakan virtual processor partitioning: – Buatlah partisi dalam jumlah besar (katakan 10 sampai 20 kali jumlah prosesor) – Buatlah partisi masing-masing virtual prosesor dengan cara round-robin atau berdasarkan ongkos perkiraan masing-masing partisi virtual • Ide utama: – Jika distribusi yang normal akan miring (skewed), sangat mungkin kemiringan tersebut tersebar di beberapa partisi virtual – Partisi virtual yang miring tadi tersebar di beberapa prosesor, sehingga pekerjaan terdistribusi secara 13 seimbang.

Basisdata Paralel Arsitektur Basisdata Paralel

Shared Nothing

CLIENTS

Teradata: 400 nodes Tandem: 110 nodes IBM / SP2 / DB2: 128 nodes Informix/SP2 48 nodes ATT & Sybase ? nodes CLIENTS

Shared Disk Oracle DEC Rdb

Shared Memory Informix RedBrick

170 nodes 24 nodes CLIENTS

9 nodes ? nodes

Processors Memory

14

Basisdata Paralel Tipe-tipe Paralelisme • Intra-query parallelism (speed-up) Menjalankan satu query secara paralel di lebih dari satu prosesor dan disk – Intra-operator parallelism • Semua mesin mengerjakan satu operasi yang diberikan (scan, sort, join) – Inter-operator (inter-query) parallelism • Masing-masing operasi yang berbeda berjalan secara bersamaan pada tempat yang berbeda (memanfaatkan pipelining) • Inter-query parallelism (scale-up) – Query yang berbeda berjalan pada prosesor dan disk yang berbeda

15

Related Documents

Sistem Basisdata Pert24
November 2019 8
Sistem Basisdata Pert22
November 2019 10
Sistem Basisdata Pert25
November 2019 10
Sistem Basisdata Pert23
November 2019 9
Sistem Basisdata Pert26
November 2019 14
Sistem Basisdata Pert21
November 2019 7