Ãd*4 åè½Ôñ3¼ :[ Øif+ ¼¿n Ð|j / ËÓÞ£| Ñç=¡i¹§ìd¬ o...

34
sistem basis data – ti ukdw sistem basis data – ti ukdw 11/14/11 budi susanto 1 Transaksi Budi Susanto Teknik Informatika Universitas Kristen Duta Wacana Yogyakarta

Upload: vuongnhi

Post on 18-Aug-2019

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 1

Transaksi

Budi Susanto

Teknik InformatikaUniversitas Kristen Duta Wacana

Yogyakarta

Page 2: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 2

Tujuan

● Memahami tentang konsep transaksi database.● Memahami konsep serialisasi terhadap isolasi.

Page 3: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 3

Konsep Transaksi

● Sebuah transaksi adalah unit eksekusi program yang mengakses/mengupdate berbagai item data.● Kumpulan operasi-operasi membentuk sebuah unit

logika kerja.● Sistem database harus memastikan setiap eksekusi

suatu transaksi walaupun terjadi kegagalan.● Oleh karena bisa terjadi banyak transaksi yang

dieksekusi bersamaan, maka harus ada manajemen transaksi untuk mencegah inkonsistensi.

Page 4: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 4

Konsep transaksi

● Suatu transaksi biasanya diawal dengan begin transaction; dan diakhiri dengan end transaction;.● Semua perintah di dalamnya harus diperlakukan

sebagai sebuah unit tunggal.● Jika terjadi kegagalan terhadap satu perintah dalam

transaksi, maka satu transaksi tersebut akan dibatalkan.

Page 5: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 5

Konsep Transaksi● Setiap sistem database harus memelihara properti transaksi

berikut:

● Atomicity– Menyatakan apakah semua operasi transaksi berhasil semua atau gagal

sama sekali.

● Isolation– Memastikan bahwa transaksi beroperasi secara benar tanpa adanya

gangguan dari eksekusi bersamaan perintah database.

● Durability– Suatu transaksi harus dapat bertahan terhadap kegagalan.

● Consistency– Eksekusi suatu transaksi dalam isolasi, akan memlihara konsistensi

database. Setelah berhasil, maka perubahan harus tersimpan secara tetap, walaupun terjadi kegagalan sistem.

Page 6: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 6

Contoh

● Ti adalah transaksi transfer USD 500 dari

account A ke account B.

Page 7: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 7

Struktur Penyimpanan

● Volatile storage● Main memory dan cache memory

● Nonvolatile storage● Secodary storage device

● Stable storage● Replication of nonvolatile storage

Page 8: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 8

State Diagram Transaction

Page 9: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 9

Transaction Isolation

● Sangat mudah dan aman jika dapat menjalan beberapa transaksi yang berjalan bersamaan secara serial.

● Tapi dengan adanya eksekusi bersamaan, akan ada beberapa keuntungan:● Improved throughput and resource utilization.● Reduced waiting time.

Page 10: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 10

Transaction Isolation

● Sistem database harus mengontrol interaksi di antara transaksi untuk mencegah mereka menghancurkan konsistensi database.● Mekanismenya disebut concurrency-control

schemes.

● Dalam eksekusi satu atau lebih transaksi secara bersamaan, urutan eksekusi transaksi disebut sebagai penjadwalan (schedule).

Page 11: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 11

Transaction Isolation

● T1 adalah transaksi transfer USD 500 dari A ke B.

● T2 adalah transaksi transfer 10% saldo A ke account B.

Page 12: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 12

Contoh Penjadwalan Serial

Page 13: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 13

Concurrency Control

ConsistentConsistent Inconsistent

Page 14: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 14

Concurrency Control

● Agar dalam penjadwalan concurrent transaction setara dengan penjadwalan yang serial, maka perlu adanya mekanisme pendeteksian serialisasi terhadap penjadwalannya.

● Untuk mendeteksi ini, kita dapat mempertimbangkan operasi read dan write.

● Dari bentuk yang serial akan dapat dijadwalkan secara concurrent, maka perlu mengikuti conflict serializability.

Page 15: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 15

Conflict Serializability

● Terdapat dua instruksi berurutan, I dan J, dari transaksi T

i dan T

j, dimana (i ≠ j).

● Jika I dan J merujuk pada item data yang berbeda, maka kita dapat menukarkan I dan J tanpa mempengaruhi hasil sembarang perintah dalam jadwal.

● Namun jika I dan J merujuk pada item data yang sama, misal Q, maka pertukaran keduanya perlu diperhatikan.

Page 16: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 16

Conflict Serializability

● I = read(Q), J = read(Q).● I = read(Q), J = write(Q)● I = write(Q), J = read(Q)● I = write(Q), J = write(Q)● Kita mengatakan I dan J adalah conflict, jika

keduanya beroperasi pada data yang sama, dan setidaknya satu instruksi adalah operasi write.

Page 17: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 17

Contoh Conlict Serializability

● Perhatikan penjadwalan berikut:

Page 18: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 18

Contoh Conlict Serializability

● Dapat diserialisasi menjadi:

Page 19: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 19

Conflict Serializability

● Jika suatu jadwal S dapat diubah menjadi S' dengan sederetan pertukaran instruksi yang tidak konflik, dikatakan S dan S' conflict equivalent.

● Jadwal S dikatakan conflict serializability jika memiliki persamaan konflik dengan jadwal serial.

Page 20: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 20

Contoh Tidak Serializability

Mengapa?

Page 21: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 21

Presedence Graph

● Presedence graph terdiri dari pasangan G=(V,E)● V = himpunan transaksi yang terlibat dalam jadwal

● E = himpunan semua edge Ti → T

j untuk 3 kondisi:

– Ti menjalankan write(Q) sebelum T

j menjalankan read(Q)

– Ti menjalankan read(Q) sebelum Tj menjalankan write(Q)

– Ti menjalankan write(Q) sebelum Tj menjalankan

write(Q)

● Presedence graph dapat digunakan untuk menentukan conflict serializability.

Page 22: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 22

Presedence Graph

Jika sebuah edge Ti → Tj muncul dalam graf, maka dalam

sembarang jadwal serial S' yang equivalent dengan S, Ti harus

muncul sebelum Tj.

Perhatikan jadwal pada slide 13 kanan. Jika dibuat graf:

Maka dapat dikatakan bahwa jadwal tersebut tidak conflict serializable.

Page 23: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 23

Serializability Order

● Sebuah serializability order dapat capai dengan menemukan linear order yang konsisten dengan order sebagian dalam presedence graph.

● Proses ini disebut topological sorting.

Page 24: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 24

Serializability Order

Page 25: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 25

Bagaimana dengan jadwal ini?

Page 26: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 26

Transaction Isolation and Atomicity

● Jika suatu transaksi Ti gagal, untuk alasan

apapun, kita perlu membatalkan pengaruh dari transaksi T

i untuk menjamin properti atomicity.

● Jika ada transaksi Tj yang tergantung pada T

i,

maka transaksi Tj juga harus dibatalkan.

● Jadwal yang dapat di-recover jika terjadi kegagalan:● Recoverable Schedule● Cascadeless Schedule

Page 27: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 27

Recoverable Schedule

● Perhatikan jadwal berikut :

● Disebut partial schedule, sebab T6 tidak terdapat commit/abort.

● Jadwal tersebut tidak recoverable. Sebab?

● Agar recoverable, sebaiknya ?

Page 28: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 28

Cascadeless Schedule

● Perhatikan jadwal berikut:

● T8 → T

9 → T

10.

● Jika T8 gagal, maka T

9 dibatalkan, dan T

10 juga

dibatalkan.

Page 29: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 29

Latihan!

● Buatlah jadwal yang tidak conflict serializable dari jadwal berikut:

● Siarat konsistensi: A==0 ς B==0, dengan A=B=0

Page 30: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 30

Latihan

● Apakah dari presedence graph ini mewakili jadwal yang conflict serializable?

Page 31: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 31

Latihan

● Gambarkan presedence graph untuk jadwal berikut:

Page 32: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 32

Latihan

● Gambarkan presedence graph untuk jadwal berikut:

Page 33: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 33

Latihan

● Apakah termasuk jadwal conflict serializable?

Page 34: ÃD*4 åè½Ôñ3¼ :[ ØIF+ ¼¿n Ð|J / ËÓÞ£| Ñç=¡i¹§ìd¬ o BÚÏõPlecturer.ukdw.ac.id/budsus/pdf/TI1133/gasal1112/TransactionManagement.pdf · Memahami konsep serialisasi

sistem basis data – ti ukdw sistem basis data – ti ukdw

11/14/11 budi susanto 34

Latihan

● Apakah termasuk jadwal conflict serializable?