• Tidak ada hasil yang ditemukan

Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Caca E. Supriana, S.Si.,MT.

N/A
N/A
Protected

Academic year: 2021

Membagikan "Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Caca E. Supriana, S.Si.,MT."

Copied!
28
0
0

Teks penuh

(1)

Semester Ganjil 2014

Fak. Teknik Jurusan Teknik Informatika

Universitas Pasundan

Caca E. Supriana, S.Si.,MT.

caca.e.supriana@unpas.ac.id caca.e.supriana@unpas.ac.id

(2)

Materi 

1. Pengantar  2. Recovery Manager 3. Log‐based Recovery 4. Media Failure  5. Shadow Paging 

(3)

1 Pengantar

1. Pengantar

y Semua database yang membaca / menulis berada dalam  b h k sebuah transaksi y Transaksi memiliki properti"ACID“ (S) A i i   l h i k i    id k y Atomicity – seluruh instruksi atau tidak y Konsistensi ‐ menjaga integritas basis data I l i  k k i  l h l h  k  b j l   y Isolasi ‐ mengeksekusi seolah‐olah mereka berjalan  sendiri y Durability ‐ hasilnya tidak akan kalah oleh kegagalan y Durability ‐ hasilnya tidak akan kalah oleh kegagalan y Pemulihan subsistem menjamin Atomicity & Durability y Kontrol konkurensi menjamin IsolasiKontrol konkurensi menjamin Isolasi y Program aplikasi menjamin Konsistensi

(4)

Tujuan Recovery

y Sebuah database dapat menjadi tidak konsisten karena  kegagalan transaksi (abort) y kegagalan sistem database (mungkin disebabkan oleh  y kegagalan sistem database (mungkin disebabkan oleh  kerusakan OS) y Media crash (disk data rusak)( ) y Sistem pemulihan memastikan database berisi persis  update tersebut dan dihasilkan oleh transaksi yang  dilakukan yaitu atomicity dan daya tahan  meskipun  dilakukan yaitu atomicity dan daya tahan, meskipun  kegagalan

(5)

Storage Model

y Database Stabil – dapat bertahan dari kegagalan sistem

y Cache (volatile) ‐ berisi salinan dari beberapa halaman p yang hilang oleh kegagalan sistem

Fetch, Flush

Pin, Unpin, Deallocate

Read, Write

Cache Manager

Read, Write

Stable Database

Cache

Log

(6)

Cache

y Cache adalah komponen yang menyimpan data secara  transparan sehingga permintaan selanjutnya untuk data  yang dapat dilayani lebih cepat.  d d l h k l l y Data yang disimpan dalam cache mungkin nilai‐nilai yang  telah dihitung sebelumnya atau duplikat dari nilai‐nilai asli  yang disimpan di tempat lain. Jika data yang diminta  terkandung dalam cache (cache hit)  permintaan ini dapat  terkandung dalam cache (cache hit), permintaan ini dapat  dilayani dengan hanya membaca cache, yang relatif lebih  cepat. Jika tidak (cache miss), data harus menghitung  ulang atau diambil dari lokasi penyimpanan aslinya, yang  ulang atau diambil dari lokasi penyimpanan aslinya, yang  relatif lebih lambat.  y Oleh karena itu, semakin besar jumlah permintaan yang  dapat dilayani dari cache, semakin cepat kinerja sistem p y , p j secara keseluruhan menjadi.

(7)

Cache 

(lanjutan)

y Hardware mengimplementasikan cache blok memori  untuk penyimpanan sementara data yang mungkin  akan digunakan lagi  CPU dan hard drive sering  akan digunakan lagi. CPU dan hard drive sering  menggunakan cache, seperti halnya web browser dan  server web. y Cache terdiri dari pool (kumpulan) entri. Setiap entri  memiliki datum (sepotong data) ‐ salinan datum yang  sama di beberapa tempat penyimpanan. Setiap entri  juga memiliki tag, yang menentukan identitas datum  di tempat penyimpanany ang masuk adalah salinan di tempat penyimpanany ang masuk adalah salinan.

(8)

Stable Storage

Stab e Sto age

y Write (P) akan menimpa seluruh isi P pada disk y Jika Write tidak berhasil, kesalahan mungkin terdeteksi  pada Read berikutnya ... , misalnya Page checksum error  Æ halaman rusak   atau mungkin tidak Æ halaman rusak ... atau mungkin tidak y Write dengan benar, write ke lokasi yang salah y Write merupakan operasi yang atomik sehubungan  y Write merupakan operasi yang atomik sehubungan  dengan kegagalan dan keberhasilan pelaksanaan yang  dapat ditentukan dengan prosedur pemulihan.

(9)

y

Cache dibagi menjadi slot berukuran page.

g

j

p g

y

Setiap slot akan mengatakan jika page itu diperbarui 

sejak terakhir ditulis ke disk.

j

y

Jumlah pin memberitahu jumlah pin ops tanpa unpins

Page Dirty Bit Cache Address Pin Count

g

y

P

2

1

91976

1

P

47

0

812

2

P

21

1

10101

0

• Fetch(P) - read P ke dalam cache slot. Mengembalikan

alamat slot.

• Flush(P) - Jika P’s slot dirty dan unpinned, tulis ke disk

9

• Pin(P) – membuat pin tidak bisa di Flush.

(10)

M j  R d  d l h     d i  h   j y Manajer Record adalah pengguna utama dari cache manajer. y Setelah memanggil Fetch (P) dan Pin (P), ia mengendalikan  akses ke catatan pada halaman akses ke catatan pada halaman.

Query Optimizer

Query Executor

Fetch, Flush

Database

System

Query Executor

Access Method

(record-oriented files)

Pin, Unpin,

Deallocate

(

)

Page-oriented Files

Recovery manager

Cache manager

P

fil

(11)

Log

y Sebuah catatan file sekuensial menggambarkan update : ƒ alamat halaman diperbarui id  k i    l k k   d ƒ id transaksi yang melakukan update ƒ sebelum‐gambar dan setelah‐gambar halaman y Setiap kali memperbarui cache  juga update log y Setiap kali memperbarui cache, juga update log y Log catatan untuk Commit (Ti) dan Abort (Ti) y Beberapa sistem lama berpisah sebelum‐gambar dan  y Beberapa sistem lama berpisah sebelum‐gambar dan  setelah‐gambar ke dalam file log yang terpisah. y Jika konflik op i dengan dan mengeksekusi sebelum op k , J p g g p , maka catatan log op i yang harus mendahului catatan log op  k ini y pemulihan akan memutar ulang operasi dalam rangka log  record

(12)

Log

D

 

 

l i

 k

i j

k  

y

Dengan catatan operasi granularity, kunci jangka 

pendek, yang disebut kait, mengontrol update record 

bersamaan ke halaman yang sama:

bersamaan ke halaman yang sama:

Fetch(P) read P into cache y Pin(P) ensure P isn’t flushed

y Pin(P) ensure P isn t flushed

y write lock (P) for two‐phase locking y latch P get exclusive access to Pg y update P update P in cache y log the update to P append it to the log y unlatch P release exclusive access y Unpin(P) allow P to be flushed y

Tidak ada deadlock untuk kait.

(13)

2. Recovery Manager

y Processes Commit, Abort and Restart  y Commit(T)  y Menulis page T yang diperbarui untuk penyimpanan atomik  stabil, bahkan jika sistem crash. b ( ) y Abort(T)  y Undo penulisan T R t t     d i  t  f il y Restart = recover dari system failure y Abort semua transaksi yang tidak dilakukan pada saat  kegagalan sebelumnya kegagalan sebelumnya y Perbaiki penyimpanan stabil sehingga mencakup semua  transasksi berkomitmen menulis dan tidak ada yang tidak  ik  ( hi  d  dib   l h  k i b ) mengikat (sehingga dapat dibaca oleh transaksi baru)

(14)

Recovery Manager Model

Transaction 1

Transaction 2

Transaction N

Recovery Manager

Commit, Abort, Restart

Pin, Unpin

Fetch

Flush

Deallocate

Read,

Write

Cache Manager

Read, Write

Read,

Write

Stable Database

Write

Cache

Write

(15)

Implementasi Abort(T)

y Misalkan T menulis page P. y Jika P tidak ditransfer ke penyimpanan yang stabil,?  K di  DEALLOCATE Sl t  h Kemudian DEALLOCATE Slot cache y Jika dipindahkan, maka before‐image P harus dalam  penyimpanan stabil (tidak bisa membatalkan setelah  penyimpanan stabil (tidak bisa membatalkan setelah  kegagalan sistem) y Undo Rule ‐ Jangan flush update mengikat P hingga P J g p g gg before‐image stabil. (Memastikan membatalkan adalah  mungkin.) y Write‐Ahead Log Protocol ‐ Jangan ... sampai P before‐image  di log

(16)

Menghindari Undo

M hi d i  l h  i   l h U d  R l  d   id k  y Menghindari masalah tersirat oleh Undo Rule dengan tidak  pernah flush update uncommitted. y Menghindari logging stabil before image y Menghindari logging stabil before‐image y Tidak perlu membatalkan update setelah kegagalan sistem y Sebuah algoritma pemulihan membutuhkan pembatalan jika  y Sebuah algoritma pemulihan membutuhkan pembatalan jika  pembaruan dari transaksi uncommitted dapat memerah. y Biasanya disebut mencuri algoritma, karena memungkinkan y g , g halaman cache yang kotor akan "dicuri."

(17)

Implementasi Commit(T)

C i  h   ik  J di h  dil k k   l h  i  

y Commit harus atomik. Jadi harus dilaksanakan oleh write  disk.

y Misalkan T menulis P  T berkomitmen  dan kemudian sistem 

y Misalkan T menulis P, T berkomitmen, dan kemudian sistem  gagal. P harus dalam penyimpanan yang stabil.

y Redo aturan ‐ Jangan melakukan transaksi sampai after‐Redo atu a Ja ga e a u a t a sa s sa pa a te image dari semua page yang terdapat pada penyimpanan  yang stabil (dalam database atau log). (Memastikan Redo 

d l h  ki )

adalah mungkin.)

(18)

Menghindari Redo

y Untuk menghindari redo, flush semua update T ke database  stabil. (Mereka harus dalam penyimpanan stabil.) y Biasanya disebut algoritma Force, karena update dipaksa  untuk disk sebelum Commit. y Sangat mudah  karena tidak perlu pembukuan stabil after y Sangat mudah, karena tidak perlu pembukuan stabil after‐ image

y Sebaliknya  algoritma pemulihan membutuhkan mengulang Sebaliknya, algoritma pemulihan membutuhkan mengulang  jika transaksi dapat melakukan sebelum semua pembaruan  yang berada dalam database yang stabil.

(19)

Menghindari  Undo dan Redo

y Untuk menghindari undo dan redo yang pernah flush update  uncommitted (untuk menghindari pembatalan), dan flush  semua update T ke database stabil sebelum dilakukan (untuk  semua update T ke database stabil sebelum dilakukan (untuk  menghindari redo). y Oleh karena itu perlu menginstal semua update transaksi ke Oleh karena itu perlu menginstal semua update transaksi ke  dalam database yang stabil dalam menulis ke sebuah disk y Hal ini dapat dilakukan, tetapi tidak efisien untuk transaksi  pendek dan update record‐level.

(20)

Implementasi Restart

y Untuk pulih dari kegagalan sistem Abort transaksi yang gagal ƒ Abort transaksi yang gagal ƒ Untuk setiap transaksi berkomitmen, ulangi update yang ada di  log bukan database stabilg y Melanjutkan proses transaksi normal  y Operasi idempotent ‐ banyak eksekusi operasi memiliki efek p p y p yang sama sebagai salah satu eksekusi y Restart harus idempotent. Jika itu terganggu oleh kegagalan, 

k  k b li  k k i d i  l

maka kembali mengeksekusi dari awal.

(21)

3. Log‐based Recovery

y Logging adalah mekanisme yang paling populer untuk 

y Logging adalah mekanisme yang paling populer untuk  menerapkan algoritma pemulihan.

y Manajer pemulihan mengimplementasikan :Manajer pemulihan mengimplementasikan :

y Commit ‐ by writing a commit record to the log and flushing 

the log (satisfies the Redo Rule) y Abort ‐ by using the transaction’s log records to restore before‐ images y Restart by scanning the log and undoing and redoing  y Restart ‐ by scanning the log and undoing and redoing  operations as necessary y Algoritma yang cepat karena mereka menggunakan logika g y g p gg g sekuensial I/O di tempat database acak I/O. Algoritma  sangat mempengaruhi TP dan Restart kinerja.

(22)

4. Media Failures

4. Media Failures

y Kegagalan Media adalah hilangnya beberapa penyimpanan stabil.

K b k  di k t l h MTBF (  ti  b t  f il )l bih d i   

y Kebanyakan disk telah MTBF (mean time between failure)lebih dari 10  tahun y Namun, jika Anda memiliki 10 disk ... y Jadi shadow disk menjadi penting y Jadi shadow disk menjadi penting y Menulis ke kedua salinan. Handshake antara penulisan ke disk untuk  menghindari mode kegagalan umum (misalnya listrik mati) y Layanan setiap membaca dari satu salinan y Layanan setiap membaca dari satu salinan y Untuk memunculkan bayangan baru y Menyalin trek dari disk yang baik ke disk baru, satu per satu y Sebuah Write pergi ke kedua disk jika lagu tersebut telah disalin y Sebuah Write pergi ke kedua disk jika lagu tersebut telah disalin y Read yang pergi ke disk yang baik, sampai trek disalin

(23)

RAID

y

RAID (redundant array of independent disks) adalah 

teknologi virtualisasi penyimpanan data yang 

menggabungkan beberapa komponen disk drive ke 

menggabungkan beberapa komponen disk drive ke 

dalam sebuah unit logis untuk tujuan redundansi data 

atau peningkatan

y

Menggunakan array dari N disk secara paralel

y

Menggunakan array dari N disk secara paralel

y

Sebuah stripe adalah array dari blok ke‐i dari setiap 

disk

y

Sebuah stripe dipartisi sebagai berikut:

...

...

M data blocks

N-M error

M data blocks

(24)

Dimana Menggunakan Disk redundansi?

y Lebih baik untuk kedua DB dan log y Tapi setidaknya untuk log y dalam algoritma undo, itu satu‐satunya tempat yang  memiliki tertentu sebelum image d l   l i   d  i         y dalam algoritma redo, itu satu‐satunya tempat yang  memiliki tertentu setelah image y Jika tidak memiliki shadow log  itu adalah titik  y Jika tidak memiliki shadow log, itu adalah titik  tunggal kegagalan

(25)

5. Shadow Paging

y Shadow paging adalah teknik untuk memberikan atomicity dan durability (dua dari sifat ACID) dalam sistem database.  Halaman dalam konteks ini mengacu pada unit penyimpanan  fisik (mungkin pada hard disk)  biasanya dari urutan (order) ke  fisik (mungkin pada hard disk), biasanya dari urutan (order) ke  byte.

y Shadow paging adalah teknik copy‐on‐write untuk menghindari 

penempatan update page. Sebaliknya, saat halaman harus  p p p p g y dimodifikasi, shadow paging dialokasikan. Karena halaman  bayangan tidak memiliki referensi (dari halaman lain pada disk),  dapat dimodifikasi secara bebas, tanpa memperhatikan kendala  konsistensi  dll   konsistensi, dll.  y Ketika page siap menjadi durable, semua halaman asli diperbarui  untuk merujuk halaman pengganti yang baru sebagai gantinya.  Karena halaman tersebut "diaktifkan" hanya bila sudah siap, itu  b d k berarti menjadi atomik.

(26)

Shadow Paging (

lanjutan

)

y Setiap file F dikelola melalui tabel halamanp y Setiap transaksi T update F melalui tabel halaman pribadi y Commit T dengan mengganti tabel halaman publik oleh salah  satu private satu private

P1a

Pt[a,2]

P1a

Pt[a,1]

Initial

P1a

new

[ , ]

1

2

3

P2

old

1

2

3

P2a

Initial

State

D

I

3

Main

...

Pt[b 2]

P2a

new

3

...

Pt[b,1]

old

P1b

I

S

Memory

Pt[b,2]

1

2

P2b

Master

a

b

Pt[b,1]

1

2

P1b

old

P2b

S

K

3

...

P2b

new

b

3

...

P2b

old

(27)

Shadow Paging (

lanjutan

)

P1a

new

Pt[a,2]

1

P1a

old

Pt[a,1]

1

Initial

State

D

new

2

3

...

P2a

2

3

...

P2a

old

State

D

I

...

Master´

a

Pt[b,2]

1

new

Pt[b,1]

1

P1b

old

S

K

b

Master

1

2

3

P2b

new

a

b

2

3

old

P2b

old

K

...

new

Master Pointer

...

old

(28)

Shadow Paging (

lanjutan

)

y Untuk mengunci halaman, harus mengunci setiap tabel  halaman sementara memperbarui pointer dan mentransfer  halaman sementara memperbarui pointer dan mentransfer  ke disk. y Mempertimbangkan diperbaruinya dua transaksi dari Mempertimbangkan diperbaruinya dua transaksi dari  halaman yang berbeda dari file yang sama dan melakukan  secara bersamaan. y menghitung update disk per transaksi

Referensi

Dokumen terkait

5. Program Peningkatan Kehidupan Masyarakat Miskin Perkotaan *) KEBIJAKAN EKONOMI-MAKRO Peningkatan Kesejahteraan Masyarakat, serta Perluasan dan Peningkatan Kesempatan Kerja

Pada proses pengecatan bodi sepeda motor Honda Supra V ada beberapa hal yang perlu dibahas antara lain adalah sebagai berikut: mengidentifikasi kerusakan yang terjadi pada bodi

Metode yang digunakan dalam pendidikan akhlak adalah ceramah, demonstrasi, dan keteladanan, yang semua itu bersumber pada tiga hal juga, yaitu dari Allah, panduan

Return On Investment (ROI) merupakan indikator yang tepat untuk mengukur kemampuan perusahaan secara keseluruhan didalam menghasilkan keuntungan dalam jumlah

Sistem evaluasi kredibilitas Web akan memberi rekomendasi kepada pengguna untuk memberi nilai (rating) kredibilitas terhadap Web yang dikunjungi, mendeteksi pengguna palsu

terlihat dimana keluarga sebagai tempat yang aman dan damai untuk istirahat dan belajar serta membantu penguasaan terhadap emosi, diantaranya menjaga hubungan

Selain pengetahuan merek induk, persepsi kualitas juga mempengaruhi sikap brand extention, menurut Zeithaml (1998 dalam Barata, 2007: 65) mendefinisikan persepsi kualitas

Perusahaan yang tidak membentuk komite audit dan komisaris independen yang memenuhi periode