Makalah Time Stamping.docx

Embed Size (px)

DESCRIPTION

Makalah Basis Data Terdistribusi

Citation preview

8

TIME-STAMP-BASED CONCURRENCY CONTROL ALGORITHMS

Disusun untuk memenuhi Basis Data Terdistribusi yang dibimbing oleh Triyanna Widyaningtyas, S.T, M.T.

Oleh Galih Prasetyo110533430521 (Offering B)Muhammad Damaris W.110533406979 (Offering A)Novi Adi Triswandi110533406978 (Offering A)Rezanda Rohman110533430527 (Offering B)Selly Ariesta Fitriana110533430624 (Offering D) Umi Kholifah110533430510 (Offering B)KELOMPOK 4

UNIVERSITAS NEGERI MALANG FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO PROGRAM STUDI S1 PENDIDIKAN TEKNIK INFORMATIKAAPRIL 2014iii

KATA PENGANTARPuji syukur kami ucapkan kehadirat Allah SWT karena berkat rahmat, taufik, dan hidayah-Nya, kami dapat menyelesaikan makalah yang berjudul Time-Stamp-Based Concurrency Control Algorithms. Makalah ini diajukan guna memenuhi tugas dari matakuliah Basis Data Terdistribusi. Penyusunan makalah ini dapat diselesaikan atas bantuan serta bimbingan dari berbagai pihak, untuk itu kami dengan tulus hati menyampaikan ucapan terima kasih kepada :1.Triyanna Widyaningtyas, S.T, M.T., selaku Dosen pengampu matakuliah Basis Data Terdistribusi.2.Segenap media yang telah menjadi sumber rujukan makalah.Kami mengucapkan terima kasih kepada semua pihak yang telah membantu sehingga makalah ini dapat diselesaikan sesuai dengan waktunya. Kami menyadari makalah ini masih jauh dari sempurna, oleh karena itu kami mengharapkan kritik dan saran yang bersifat membangun demi kesempurnaan makalah ini.Semoga makalah ini dapat memberikan informasi bagi masyarakat dan bermanfaat untuk pengembangan ilmu pengetahuan bagi kita semua.

Malang, April 2014

Penulis

DAFTAR ISIHalamanKATA PENGANTARiiDAFTAR ISIiiiBAB I PENDAHULUAN1A. Latar Belakang1B. Rumusan Masalah2C. Tujuan2BAB II PEMBAHASAN3A. Metode Timestamp pada Teknik Concurency Control3B. Penerapan Metode Timestamp pada Teknik Concurency Control5BAB III PENUTUP7A. Kesimpulan7DAFTAR PUSTAKA8

ii

BAB IPENDAHULUAN

A. Latar Belakang Tujuan utama dalam pengembangan database adalah membuat banyak pengguna bisa mengakses data secara bersamaan. Pengaksesan data ini tidak bermasalah jika semua pengguna hanya membaca data dan mereka tidak mengganggu satu sama lain. Tapi ketika dua pengguna atau lebih mengakses database yang sama secara bersamaan dan salah satu melakukan perubahan terhadap data, maka hal ini akan dapat menimbulkan adanya data yang tidak konsisten (inconsistency data). Untuk mengatasi adanya kemungkinan inconsistency data, maka dibutuhkan adanya suatu mekanisme yang mengatur jalannya transaksi pengaksesan data yang sama tersebut. Mekanisme ini dikenal dengan istilah concurrency control. Concurrency control adalah proses pengaturan operasioperasi dalam banyak transaksi yang berjalan secara simultan pada database tanpa mengganggu operasi pada transaksi lainnya sehingga dapat menghasilkan data yang konsisten. Tiga contoh masalah penting yang terkait oleh concurrency, yaitu masalah Lost-Update, masalah Uncommitted Dependency, dan masalah Inconsistent Analysis.Ada dua teknik concurrency control utama yang mengijinkan transaksi untuk berjalan dengan aman dalam subjek paralel untuk constraint tertentu, yaitu locking dan metode timestamp tertentu. Locking dan timestamping adalah pendekatan konservatif karena mereka menyebabkan transaksi ditunda dalam kasus mereka konflik dengan transaksi lain pada beberapa waktu di masa yang akan datang. Metode optimistik, didasarkan pada premis bahwa konflik itu jarang ditemui, jadi mereka mengijinkan transaksi untuk lanjut tidak tersinkronisasi dan hanya mengecek konflik di bagian akhir, ketika transaksi melakukan operasi commit. 1

Jenis teknik concurrency control yang akan dibahas pada makalah ini metode timestamp. Suatu cara untuk menetapkan prioritas adalah memberikan

5timestamp pada tiap transaksi pada saat mulai. Semakin rendah timestamp, semakin tinggi prioritas transaksi, yaitu transaksi paling tua mempunyai prioritas tertinggi.

B. Rumusan Masalah Berdasarkan latar belakang yang telah diungkapkan diatas, maka dapat dirumuskan beberapa masalah yaitu sebagai berikut. 1. Apakah metode timestap pada teknik concurrency control ? 2. Bagaimana penerapan metode timestap pada teknik concurrency control ?

C. Tujuan Berdasarkan rumusan masalah yang telah dipaparkan, maka tujuan dari penulisan makalah ini adalah sebagai beikut. 1. Mengetahui tentang metode timestap pada teknik concurrency control. 2. Mengetahui penerapan metode timestap pada teknik concurrency control.

2

BAB IIPEMBAHASAN

A. Metode Timestap pada Teknik Concurrency ControlSalah satu alternatif concurrency control yang dapat menghilangkan deadlock adalah time stamping. Secara umum, timestamping (TS) adalah penanda waktu saat transaksi terjadi. Pengertian lain dari timestamping adalah salah satu cara untuk menjamin serialbilitas dengan memilih sebuah urutan diantara beberapa transaksi. Untuk setiap transaksi Ti didalam sistem ditetapkan sebuah nilai berdasarkan waktu yang tetap dan unik dengan notasi TS(Ti), dimana transaksi dengan timestamping yang lebih kecil mendapatkan prioritas untuk dilaksanakan terlebih dahulu.Timestamp berfungsi untuk mengurutkan eksekusi transaksi agar sama dengan eksekusi serial. Timestamp dapat berupa :a. waktu sistem saat transaksi dimulai, atau b. penghitung logik (logical counter) yang terus bertambah nilainya tiap kali terjadi transaksi baru.Contoh : Pada saat menerima pesan, sebuah lokasi membandingkan timestamp-nya dengan timestamp yang ada pada pesan. Jika timestamp-nya lebih kecil, ubah nilainya menjadi lebih besar dibandingkan dengan timestamp pesan. Sebagai contoh, jika lokasi 1 dengan timestamp yang berlaku mengirim pesan ke lokasi 2 dengan timestamp , maka lokasi 2 tidak akan merubah timestampnya. Di sisi lain jika timestamp pada lokasi 2 adalah maka timestamp-nya akan berubah menjadi .Selain transaksi, item data juga memiliki nilai timestamp. Untuk setiap item data Q, ada 2 nilai timestamp, yaitu :a. Read time stamp atau R-timestamp(Q), yang menunjukkan nilai TS terbesar dari setiap transaksi yang berhasil menjalankan operasi read(Q).3

b. Write time stamp atau W-timestamp(Q), yang menunjukkan nilai TS terbesar dari setiap transaksi yang berhasil menjalankan operasi write(Q)

Timestamp ini akan selalu diperbarui ketika ada perintah baru read(Q) atau write(Q) yang dijalankan. 1. Timestamping - Read(x)Transaksi T membaca item x yang telah diubah oleh transaksi baru (younger), yaitu ts(T) < write_timestamp(x). Berarti transaksi lama mencoba untuk membaca nilai suatu item yang telah diubah oleh transaksi baru. Dalam hal ini transaksi T harus digagalkan dan diulangi dengan timestamp yang baru.ts(T) >= read_timestamp(x) , dan operasi pembacaan dapat diproses. Ditetapkan read_timestamp(x) = max(ts(T), read_timestamp(x)

2. Timestamping - Write(x)Ts(T) < read_timestamp(x), hal ini terjadi ketika transaksi lama telat melakukan penulisan sehingga transaksi baru membaca nilai yang salah. Dalam hal ini harus dilakukan rolled-back transaksi T dan mengulanginya dengan timestamp berikutnya.Ts(T) < write_timestamp(x), dimana x telah dituliskan oleh transaksi baru. Ini berarti transaksi T berusaha untuk menuliskan nilai obsolete dari data item x. Maka transaksi T harus di-rolled back dan diulangi dengan menggunakan timestamp berikutnya.Selain itu, dapat ditetap write_stimestamp(x) = ts(T), operasi dapat diterima dan dieksekusi.Berikut adalah contoh Basic Timestamp Ordering

B. Penerapan Metode Timestap pada Teknik Concurrency Control1. Time-stamping Ordering ProtocolProtokol ini menjamin bahwa tiap operasi read dan write yang memiliki konflik dieksekusi sesuai urutan TS.a. Untuk transaksi Ta yang menjalankan operasi read(Q)1) Jika TS(Ta) < W-TS(Q) maka transaksi Ta perlu membaca kembali nilai Q yang telah ditulis dan transaksi Ta akan dibatalkan (rollback).2) Jika TS(Ta) W-TS(Q) maka operasi read dieksekusi, dan R-TS(Q) diisi dengan nilai terbesar diantara TS(Ta) dan R-TS(Q).b. Untuk transaksi Ta yang menjalankan operasi write(Q)

1) Jika TS(Ta) < R-TS(Q) maka nilai Q yang baru dihasilkan Ta tidak akan dimanfaatkan lagi, dan sistem berasumsi bahwa nilai tersebut tidak pernah dihasilkan. Karena itu operasi write ditolak, dan transaksi Ta di rollback.4

5

2) Jika TS(Ta) < W-TS(Q) maka itu berarti transaksi Ta sedang berusaha melakukan penulisan nilai Q yang kadaluarsa. Maka operasi write ini akan ditolak dan transaksi Ta akan di rollback. Di luar kondisi a dan b di atas, operasi write dieksekusi dan W-TS(Q) diberi nilai baru yang sama dengan TS(Ta).Terhadap transaksi Ta yang di rollback, akan diberikan sebuah timestamp yang baru dan diulang kembali. Properti timestamp ada dua yaitu sebagai berikut. a. Unique Masing-masing timestamp suatu transaksi adalah unik.b. MonocityDua timestamp yang dihasilkan transaksi yang sama meningkat secara monoton.Sedangkan untuk pemberian nilai timestamp terdpaat dua cara yaitu : a. Global (systemwide) monotonically increasing numberb. Local (site) monotonically increasing number

6

BAB IIIPENUTUP A. Kesimpulan Berdasarkan paparan yang telah disampaikan pada pembahasan terdapat kesimpulan yang didapat dari makalah ini yaitu sebagai berikut. 1. Timestamping adalah salah satu cara untuk menjamin serialbilitas dengan memilih sebuah urutan diantara beberapa transaksi. Untuk setiap transaksi Ti didalam sistem ditetapkan sebuah nilai berdasarkan waktu yang tetap dan unik dengan notasi TS(Ti), dimana transaksi dengan timestamping yang lebih kecil mendapatkan prioritas untuk dilaksanakan terlebih dahulu.2. Penerapan metode timestap pada teknik concurrency control dilakukan dengan adanya aturan yaitu Time-stamping Ordering Protocol. Protokol ini menjamin bahwa tiap operasi read dan write yang memiliki konflik dieksekusi sesuai urutan TS.7

3.

DAFTAR PUSTAKA

Andheecha.2012.ConcurencyControl.(Online).(http://alvadiecha.blogspot.com/2012/11/concurrency-control.html) diakses tanggal 11 April 2014.

Anonim.__.PengontrolanBerbasisKomputer.(Online).(http://dhedee29.staff.gunadguna.ac.id/Downloads/files/34452/DATABASE+CONTROL.pdf) diakses tanggal 11 April 2014.

Anonim.2009.ConcurencyControl.(Online).(http://pt4171it.wordpress.com/2009/11/21/concurrency-control/) diakses tanggal 11 April 2014.

Suryabrata, Arghanta Wijna._____.Transactions and Concurrency Control.(Online).(http://te.ugm.ac.id/~risanuri/distributed/ringk/bab12.pdf) diakses tanggal 11 April 2014.

Widhyaestoeti,Dahlia.2012.ConcurencyControl.(Online).(http://dahlia74march.files.wordpress.com/2012/09/9-concurency-control.pdf) diakses tanggal 11 April 2014.