Back to IF3140 Sistem Basis Data

Topic

Questions/Cues

  • Apa tujuan utama tuning hardware?

  • Apa itu “Five-Minute Rule”?

  • Apa itu RAID dan apa dua konsep utamanya?

  • Apa perbedaan utama antara RAID 0, 1, 5, dan 10?

Tuning Hardware: Memori dan Disk

Karena disk I/O adalah bottleneck utama, tuning hardware fokus pada dua hal: mengurangi jumlah akses disk dengan menyimpan lebih banyak data di memori (RAM), atau meningkatkan kecepatan I/O dengan menggunakan banyak disk secara paralel. Keputusan untuk menyimpan data di memori didasarkan pada pertimbangan ekonomis, yaitu membandingkan biaya akses disk dengan biaya penyimpanan di memori.

”Five-Minute Rule”

Ini adalah sebuah kaidah historis dari tahun 1987 yang menyatakan bahwa blok data yang diakses setidaknya sekali setiap lima menit layak untuk disimpan di dalam memori. Kaidah ini berevolusi seiring dengan perubahan harga hardware, namun prinsip dasarnya tetap sama: ada titik impas (break-even point) di mana biaya menyimpan data di memori lebih murah daripada biaya mengaksesnya berulang kali dari disk yang lambat.

Turun darimana aturannya? Diketahui misal adalah Disk Access Cost dari pengaksesan sebuah blok di disk dalam detik, maka:

Pada tahun 1987, harga per disk adalah 5.000 dengan ukuran blok 1KB. Anggap kita memiliki blok data yang diakses sekali per 2 detik, maka:

  • Biaya akses disk =  per akses blok
  • Biaya memori =\frac{harga \; per \; MB \; memori}{​jumlah \; blok \; per \; MB}=\frac{5.000}{1000}​=\55, mengurangi biaya akses disk $1.000 MENGUNTUNGKAN!
  • Untuk menemukan titik impas (break even point) dari , maka:
  • menit

Jadi, pada waktu itu, data yang diakses setiap 400 detik atau kurang lebih menguntungkan untuk di-buffer di dalam memori → beli lebih banyak memori!

”One-Minute Rule”

Harga disk dan memori telah banyak berubah selama bertahun-tahun, tetapi rasionya tidak banyak berubah dari tahun 1987 hingga 1997, sehingga selama periode ini:

  • Aturan tetap menjadi 5 menit, bukan 1 jam atau 1 detik (untuk akses acak/random).
  • Aturan berubah setelah periode waktu tersebut, contohnya pada tahun 2007 dan 2017 aturannya menjadi 1.5 jam dan 4 jam

Untuk data yang diakses secara sekuensial (berurutan), lebih banyak blok dapat dibaca per detik. Dengan asumsi pembacaan sekuensial sebesar 1MB data pada satu waktu:

  • Aturan 1 menit (1-minute rule): Data yang diakses secara sekuensial, yang diakses satu kali atau lebih dalam satu menit, sebaiknya disimpan di dalam memori.

RAID: Mengelola Banyak Disk

RAID (Redundant Array of Independent Disks) adalah sekumpulan teknik organisasi disk untuk mengelola banyak disk fisik seolah-olah menjadi satu disk logis tunggal. Tujuannya adalah untuk mendapatkan kecepatan tinggi melalui paralelisme dan reliabilitas tinggi melalui redundansi data. Dua konsep utamanya adalah:

  • Stripping: Memecah data dan menyebarkannya ke beberapa disk, sehingga operasi baca/tulis bisa dilakukan secara paralel dan lebih cepat.

  • Redundancy: Menyimpan informasi ekstra (baik berupa salinan penuh atau data paritas) yang dapat digunakan untuk membangun kembali data jika salah satu disk mengalami kegagalan.

Level-Level RAID Populer

  • RAID 0 (Stripping): Hanya stripping tanpa redundansi. Sangat cepat, tetapi jika satu disk gagal, semua data hilang.

  • RAID 1 (Mirroring): Hanya redundansi tanpa stripping. Data disalin sepenuhnya ke disk lain. Sangat reliabel, tetapi biaya disk menjadi dua kali lipat.

  • RAID 5 (Stripping with Parity): Kombinasi stripping dengan blok paritas yang disebar. Memberikan keseimbangan antara efisiensi ruang dan toleransi kegagalan (tahan 1 disk gagal), namun operasi tulis lebih lambat.

  • RAID 10 (RAID 1+0): Kombinasi mirroring dan stripping. Sangat cepat dan sangat reliabel, tetapi biayanya paling mahal.

Pakai RAID Yang Mana?

  • Menggunakan RAID 1 atau RAID 5?
    • Bergantung pada rasio operasi reads (baca) dan writes (tulis).
    • RAID 5 memerlukan 2 block reads dan 2 block writes untuk menulis satu blok data, sedangkan RAID 1 hanya membutuhkan 2 block writes.
  • Jika sebuah aplikasi memerlukan r reads dan w writes per detik:
    • RAID 1 memerlukan r + 2w operasi I/O per detik.
    • RAID 5 memerlukan r + 4w operasi I/O per detik.
  • Untuk nilai r dan w yang cukup besar, jumlah operasi I/O-nya memerlukan banyak disk untuk menangani beban kerja (workload):
    • RAID 5 kemungkinan memerlukan lebih banyak disk daripada RAID 1 untuk menangani beban yang sama.
    • Penghematan jumlah disk yang terlihat pada RAID 5 (karena menggunakan paritas, bukan mirroring seperti RAID 1) bisa jadi ilusi.
  • Rule of Thumb (Aturan Praktis): RAID 5 baik digunakan ketika operasi writes jarang terjadi dan datanya sangat besar, tetapi RAID 1 lebih baik untuk kondisi sebaliknya

Summary

Tuning pada level hardware berfokus pada mitigasi lambatnya disk I/O, baik dengan menyimpan data yang sering diakses di memori (didasarkan pada perhitungan biaya seperti “Five-Minute Rule”) maupun dengan menggunakan RAID. RAID adalah teknik untuk menggabungkan banyak disk untuk mendapatkan kecepatan (melalui stripping) dan reliabilitas (melalui redundancy). Pemilihan level RAID (seperti 0, 1, 5, atau 10) merupakan trade-off antara kecepatan, tingkat toleransi kegagalan, dan biaya.