Kuspriyanto, Protokol Concurrency Control 29
PROTOKOL CONCURRENCY CONTROL PADA REAL-TIME DATABASE SYSTEM Kuspriyanto(1), Rusdi HS(2), Hartanto(3)
Abstract: Control Concurrency on RTDBS more complex than in conventional database system. Besides guarantee database consistency, on RTDBS control concurrency can support transaction deadlines. Mean while validities and value of data item change depend on time. Conventional control concurrency algorithm can be divided to two groups: Pessimistic Concurrency Control (PCC) and Optimistic Concurrency Control (OCC). PCC prevent conflict between transactions executed while OCC overcome between transactions after that transaction executed that restarted in conflict happened. These algorithms have weakness if applied in RTDBS that gives tight time on transaction execution because as a parameter is number of transactions done before deadlines, not only number of concurrency maximum and throughput. To overcome those two algorithms weakness some researches done. Between results modifications is speculative concurrency control and Hybrid concurrency control for the Nested model. But between alternatives there are some weaknesses, so it needs development for better control concurrency for RTDBS. Keywords: RTDBS, PCC, OCC, Hybrid Concurrency Control, Nested Model
Real-time Database System (RTDBS)
memelihara integritas dan kebenaran data, teknik
merupakan perpaduan Real-time System (RTS) dan
pengelolaan dan mengakses data yang efisien, dan
Database System (DBS). RTS memiliki karakteristik
menjamin eksekusi yang benar dari transaksi-
pembatasan waktu eksekusi tasks dan data-data
transaksi.
yang diproses dengan nilai dan validitas yang berubah
RTDBS banyak diaplikasikan oleh sistem
menurut waktu. Pada DBS ditandai dengan adanya
komando militer, sistem pesawat ruang angkasa,
peningkatan volume data yang diproses serta
kontrol penerbangan, kontrol lalu-lintas, tele-
persyaratan durability, security dan consistency
komunikasi dan manajemen jaringan komputer,
dari data yang diproses. Maka RTDBS merupakan
sistem pelayanan directory telepon, computer
sistem database yang dirancang untuk memproses
integrated manufacturing (CIM), otomatisasi pa-
transaksi-transaksi yang memiliki deadline, data-data
brik dan robot, workflow systems, medical mo-
yang diakses dengan perubahan validitas dan nilai
nitoring, sistem pengontrolan stok barang, sistem
menurut waktu, deskripsi data yang didukung, cara
multimedia.
Kuspriyanto, Jurusan Teknik Elektro,Institut Teknologi Bandung (ITB), E-mail:
[email protected] Rudi HS, Jurusan Teknik Elektro,Institut Teknologi Bandung (ITB), E-mail:
[email protected] (3) Hartanto, Jurusan Teknik Elektro,Institut Teknologi Bandung (ITB), E-mail:
[email protected] (1) (2)
30 GEMATIKA JURNAL MANAJEMEN INFORMATIKA, VOLUME 9 NOMOR 1, DESEMBER 2007
Keunggulan RTDBS adalah kemampuannya
Oleh karena itu, beberapa penelitian telah
dalam menyelesaikan beberapa permasalahan penting
dilakukan dan merumuskan solusi-solusi yang dapat
yang dibutuhkan oleh sistem sesuai persyaratan
mengatasi kelemahan-kelemahan yang terdapat pada
kinerja yang ditentukan sistem khususnya memenuhi
mekanisme concurency control seperti speculative
deadline yang telah ditentukan. Dalam sistem
concurency control, Hybrid concurency control
komputer peningkatan kinerja ditentukan oleh
for the Nested model, dan 2-version Database
kemampuan melakukan eksekusi dalam waktu yang
Pointer concurency control.
bersamaan dari operasi-operasi yang harus dilakukan dan hal ini dilakukan dengan concurency control.
Protokol Concurrency Control
Faktor-faktor yang menentukan kinerja real-
Permasalahan yang paling utama dihadapi oleh
time pada RTDBS adalah arsitektur sistem database,
RTDBS adalah penurunan kinerja sistem karena
prosesor yang digunakan dan kecepatan pengaksesan
pengguguran transaksi dan pengulangan kembali
disk. Namun demikian, untuk suatu konfigurasi sistem
transaksi-transaksi (aborts and restarts tran-
yang ada faktor utama penentu kinerja real-time
sactions). Pengulangan-pengulangan transaksi itu
adalah policy penjadwalan transaction untuk
terjadi karena percobaan protokol concurency
resource-resource sistem. Policy ini menentukan
control untuk menyelesaikan kembali konflik di antara
kapan layanan diberikan untuk sustu transaksi dan
transaksi-transaksi.
karena itu secara langsung mempengaruhi apakah
Mekanisme concurency control yang ada untuk sistem database konvensional adalah
transaksi dapat diselesaikan sebelum batas deadline atau tidak.
locking (pesimistic), validation (optimistic), time-
Policy penjadwalan pengaksesan data yang
stamping dan multiversion concurrency control.
digunakan dalam sistem database umumnya
Tujuannya adalah untuk meminimalkan waktu
mengacu ke protokol yang disebut dengan
respon rata-rata dari transaksi atau memaksi-
concurency control. Protokol concurency control
malkan throughtput dari sistem. Pada RTDBS
menyiapkan layanan database secara terpadu
tujuan (kinerja yang ditargetkan) dari mekanisme
dengan menyelesaikan non-serial pengaksesan data
concurrency control adalah untuk memini-
transaksi-transaksi yang berjalan dengan cara
malkan jumlah transaksi yang melanggar dead-
menginduksi urutan serialisasi di antara transaksi-
line (bila dihubungkan dengan parameter dead-
transaksi yang konflik. Pada Soft Real-Time
line yang ditentukan untuk setiap transaksi).
Database System pendekatan untuk problem
Jadi berbeda memang dengan kinerja yang ditar-
penjadwalan umumnya menggunakan teknik yang ada
getkan pada database konvensional, sehingga
dalam penjadwalan CPU, buffer management, I/O
concurrency control pada sistem database
schedulling dan concurrency control serta
konvensional tidak dapat langsung diaplika-
menerapkan metoda penjadwalan time-critical
sikan begitu saja pada sistem database nyata
untuk mengobservasi persyaratan waktu dari
waktu.
transaksi.
Kuspriyanto, Protokol Concurrency Control 31
Mekanisme concurency control yang ada untuk
priority abort dan priority inheritance. Pendekatan
sistem database konvensional secara garis besar
priority abort didasarkan pada pengguguran
dapat dikelompokan menjadi dua, yaitu Pesimistic
transaction yang memiliki prioritas lebih rendah
Concurrency Control (PCC) dan Optimistic
apabila terjadi priority inversion. Sementara
Concurrency Control (OCC). Tujuannya adalah
pendekatan priority inheritance membolehkan
untuk meminimalkan waktu respon rata-rata dari
transaction yang memiliki prioritas rendah untuk
transaksi atau memaksimalkan throughtput dari
dieksekusi ketika transaction yang memiliki prioritas
sistem. Pada RTDBS tujuan (kinerja yang ditar-
paling tinggi di antara transaction yang memiliki
getkan) dari mekanisme concurrency control adalah
prioritas yang lebih tinggi sedang diblok. Hasil
untuk meminimalkan jumlah transaksi yang
percobaan menunjukan bahwa protokol locking
melanggar deadline (bila dihubungkan dengan
untuk real-time yang didasarkan pada pende-
parameter deadline yang ditentukan untuk setiap
katan priority inheritance menghasilkan kinerja
transaksi). Jadi berbeda memang dengan kinerja
yang lebih baik dari pada pendekatan priority
yang ditargetkan pada databse konvensional,
abort.
sehingga concurrency control pada sistem data-
Algoritma priority abort memodifikasi dasar
base konvensional tidak dapat langsung diapli-
protokol 2PL dengan penyatuan sebuah skema
kasikan begitu saja pada sistem database nyata
resolusi konflik yang dapat menjamin transaction
waktu.
dengan prioritas tinggi tidak akan tertunda oleh transaction yang berprioritas rendah. Tepatnya, bila
Pessimistic Concurrency Control
sebuah transaction Tr meminta sebuah lock pada
Protokol pesssimistic concurrency control
objek yang sedang dipegang oleh satu atau lebih
yang paling umum digunakan pada sistem databse
transaction dengan prioritas yang lebih rendah pada
konvensional adalah Two Phase Locking (2PL).
suatu kasus konflik (conflicting mode), maka lock
Protokol 2PL mempersyaratkan suatu transaksi
yang sedang dipegang tersebut harus di restart dan
mendapatkan sebuah lock sebelum mengakses suatu
Tr dibolehkan untuk lock tersebut. Jika Tr yang
objek database. Eksekusi transaction terdiri atas
memiliki prioritas lebih rendah dari suatu transaction
dua phase. Dalam phase pertama lock objek dibuat
yang memegang lock, maka ia harus menunggu
dan operasi transaction dieksukusi sementara dalam
sampai dilepaskan (sesuai standar 2PL). Kele-
phase kedua lock objek dilepas, lock baru tidak dapat
mahan dari priority abort adalah suatu transac-
dibuat. Apabila sebuah transaksi Tr meminta sebuah
tion akan menjadi restart oleh transaction yang
lock pada suatu objek yang dipegang oleh
memiliki prioritas lebih tinggi dan boleh jadi akhir-
transaction lain Tu di dalam sebuah konflik, Tr
nya discarded. Restart dapat menurunkan ki-
diblok dan harus menunggu sampai lock dilepas oleh
nerja.
Tu.
Protokol priority inheritance dapat mengatasi Protokol locking pada sistem database nyata
problem priority inversion dengan mempertim-
waktu adalah berdasarkan dua pendekatan, yaitu
bangkan konflik yang terjadi. Dengan protokol ini,
32 GEMATIKA JURNAL MANAJEMEN INFORMATIKA, VOLUME 9 NOMOR 1, DESEMBER 2007
jika terjadi permintaan lock terhadap transaction
abort. Dia mengemukakan bahwa I/O yang dibentuk
yang sedang memegang lock, maka lock tersebut
untuk transaction yang memiliki prioritas rendah
(yang sedang memgang lock) mewarisi prioritas
meng-akibatkan waktu tunggu yang berlebihan pada
peminta lock tersebut sampai ia menye-lesaikan
yang diblok, transaction yang memiliki prioritas
eksekusinya dan melepaskan lock. Karena terjadinya
tinggi, kecuali jika waktunya sedikit, misalnya
peningkatan prioritas pada transaction yang sedang
transac-
memegang lock, maka ia menyelesaikan eksekusinya
hampir selesai.
tion berprioritas rendah tersebut sudah
lebih awal dan mengurangi waktu blok untuk
Protokol concurrency control lainnya yang
transaction yang memiliki prioritas tinggi. Kerugian
didasarkan pada locking adalah protokol priority
yang paling besar dari protokol ini adalah waktu blok
ceilling yang dikembangkan dari protokol priority
(blocking time) dari transaction yang memiliki
inheritance untuk mengatasi deadlock dan
prioritas tinggi bisa jadi dikurangi bahkan dalam durasi
bounding the blocking time dari transaction yang
waktu yang tidak dapat diperkirakan. Problem
memiliki prioritas tinggi agar tidak terjadi lebih dari
menjadi lebih buruk lagi jika suatu tran-saction
satu kali waktu eksekusi transaction. Protokol ini
dengan prioritas tinggi diblok oleh tran-saction
tidak dapat mengatasi semua problem yang terjadi
berprioritas rendah secara berulang sepan-jang
karena priority inheritance, seperti potensi konflik
eksekusinya sehingga akan terjadi suatu situasi yang
yang besar. Misalnya bila ukuran objek-objek data
disebut blok berantai (chained blocking).
sangat besar. Kelemahan lainnya adalah protokol
Permasalahan lainnya adalah transaction yang
Priority Ceilling mempersyaratakan harus diketahui
memiliki priorritas lebih rendah yang mewarisi prio-
sebelumnya objek-objek data yang diakses oleh
ritas tinggi akan berebut resource sistem (CPU, I/
setiap transaction, padahal belum tentu semua data
O. objek-objek data) dengan transaction berprioritas
tersebut tersedia.
tinggi, terjadinya peningkatan konflik ini dapat menurunkan kinerja sistem.
Optimistic Concurrency Control
Apabila transaction yang memiliki prioritas
Optimistic concurrency control meman-
rendah hampir menyelesaikan eksekusi, ia mewarisi
faatkan bahwa rendahnya kemungkinan dua transaksi
prioritas dari transaction yang memiliki prioritas
yang berjalan akan meminta objek database yang
tinggi untuk menghindari abort (pengguguran) dan
sama. Semua operasi database yang muncul oleh
pembuangan hasil dari resource. Sebaliknya bila
transaksi dibentuk ketika diminta permintaan write
transaction yang memiliki prioritas rendah digu-
tidak segera merubah database yang dibu-tuhkan
gurkan dan blocking time yang panjang terhadap
bersama tetapi ditunda sampai transaksi mencoba
transaction yang memiliki prioritas tinggi dapat
untuk commit. Sebelum suatu transaksi didizinkan
dihindari. Suatu percobaan yang dilakukan oleh
untuk commit, ia harus melewati test validasi yang
Huang menunjukkan bahwa priority inheritance
memeriksa dan memastikan bahwa tidak ada konflik
yang tidak dimodifikasi tidak bekerja tanpa
di antara transaksi yang divalidasi dan transaksi yang
Conditional Priority Inheritance atau Priority
telah commit sejak eksekusi dimulai. Validasi dapat
Kuspriyanto, Protokol Concurrency Control 33
dilakuakn dengan cara backward atau forward (Huang).
Priority wait mempunyai fitur-fitur positif, tetapi juga memiliki kerugian. Ketika suatu transaksi yang
Pada validasi backward, pengujian dilakukan
akhirnya commit setelah menunggu untuk beberapa
terhadap objek-objek read oleh suatu transaction
lama, hal ini akan menyebabkan transaksi-transaksi
Tu yang sedang mencoba untuk commit. Jika objek
yang konflik dan memiliki prioritas yang lebih rendah
tertentu ditulis oleh suatu transaction yang telah
menjadi restarted pada waktu yang lebih mundur.
commit setelah Tu mulai eksekusi, Tu digugurkan,
Restart yang tertunda menurunkan peluang transaksi
karena Tu harus diurutkan setelah transaction yang
untuk memenuhi deadline-nya dan hasil-hasil di dalam
commit, tidak dapat melihat nilai baru dari objek ini
sumber-sumber yang lebih terbuang. Selain itu
karena semua write ditunda sampai waktu commit
transaksi yang divalidasi juga dapat menimbulkan
dalam protokol optimistic. Sementara pada forward
konflik baru selama periode menunggunya.
validation, sekelompok item yang ditulis oleh Tu dibandingkan ke sekumpulan item read oleh suatu
Timestamping Ordering
transaction yang aktif (belum commit). Jika ada
Di samping protokol concurrency control PCC
suatu empty intersection, maka kesalahan serialisasi
dan OCC yang telah dijelaskan tersebut terdapat juga
akan terjadi apabila semua transaction adalah
pendekatan concurrency control lain yang lazim
commit. Dalam kasus ini, ada kemungkinan untuk
digunakan pada sistem database konvensional, yaitu
memilih menggugurkan transaction Tu yang commit
timestamping ordering dan multiversion con-
atau semua transaction yang konflik dengan Tu.
currency control.
Ada suatu pendekatan lain dari optimistic
Timestamping ordering adalah pendekatan
concurrency control yang dinamakan dengan
concurrency control yang menghindari penggunaan
optimistic concurrency control with Broadcast
clock. Setiap transaction diberi sebuah time-
Commit (OCC with Broadcast Commit) yang
stamping pada saat memasuki sistem. Transation-
digunakan untuk memperhitungkan prioritas tran-
transaction ini yang commit diurutkan dalam urutan
saksi. Apabila suatu konflik terdeteksi, maka prioritas
timestamp. Suatu operasi read dan write yang tidak
dari transaksi-transaksi yang sedang konflik tersebut
valid menyebabkan transaction tersebut diminta
diuji. Di mana apabila transaksi yang commit
untuk digugurkan. Penjadwalan real-time database
mempunyai prioritas yang lebih tinggi dari semua
system tidaklah secara mudah dapat menerapkan
transaksi yang lain maka transaksi yang sedang
timestamping karena order dalam suatu kumpulan
dieksekusi digugurkan. Namun pada beberapa kasus
transaction yang aktif masuk ke sistem tidak
yang transaksi yang dieksekusi memiliki prioritas yang
dihubungkan dengan prioritas real-time relatifnya dan
lebih tinggi, maka transaksi yang commit bisa jadi
deadline-nya.
menunggu transaksi yang sedang dieksekusi sampai
Ada suatu algoritma yang merupakan gabungan
commit dengan transaksi tersebut tidak akan
teknik timestamp dan optimistic concurrency
digugurkan oleh validasi dari beberapa transaksi yang
control, dan melibatkan prioritas real-time dalam
lain.
penentuan sebuah timestamp order di antara
34 GEMATIKA JURNAL MANAJEMEN INFORMATIKA, VOLUME 9 NOMOR 1, DESEMBER 2007
transaction-transaction. Selain itu, ada pula
tersebut (restart). Kedua algoritma ini memiliki
algoritma yang menggunakan gagasan alokasi
kelemahan bila dihadapkan pada RTDBS yang
dynamic timestamp ke pertimbangan secara dinamis
memberikan batasan waktu yang ketat pada eksekusi
order urutan dari tansaction-tansaction melalui
transaksi, sehingga yang menjadi parameter adalah
penggunaan timestamp intervals. Transaction yang
jumlah transaksi yang dapat diselesaikan sebelum
konflik dikelompokan menjadi kumpulan konflik
deadline-nya, bukan hanya maximum concurrency
reconcilably dan kumpulan konflik irreconcialably.
atau thruoghput saja.
Konflik reconcilably tidak digugurkan dan sebagai
Untuk memenuhi kebutuhan aplikasi pada
gantinya histori eksekusinya dipertimbangkan dengan
RTDBS telah dikembangkan modifikasi dari kedua
menggunakan timestamp intervals. Protokol ini
kelompok algoritma concurrency control tradisional
meningkatkan kemampuan untuk mendeteksi dan
tersebut seperti Speculative Concurrency Control
memecahkan konflik lebih awal dan menghindari
(SCC), Hybrid concurency control for the Nested
pengguguran yang tidak perlu.
model, dan 2-version Database Pointer concurency control.
Multiversion Concurrency Control Teknik lain dari concurrency control memperlakukan write operations, sebagai kreasi dari versi baru objek database yang berlawanan dengan semantic yang biasa diberikan pada updatein-place (locking) dan deferred-update (optimistic). Timestamp digunakan untuk menghasilkan versi yang tepat untuk read request. Teknik ini dinamakan
Speculative concurrency control Algoritma SCC menggabungkan kelebihan yang terdapat algoritma PCC dan OCC dan menghindari kelemahan yang terdapat pada kedua algoritma tersebut SCC bekerja mirip dengan PCC dalam hal pendeteksian secepat mungkin terhadap potensi konflik yang merugikan dan SCC juga serupa dengan
dengan Multiversion Concurrency Control.
OCC dalam hal menjalankan transaksi-transaksi yang
Protokol Real-Time Concurrency Control Hasil
yang tidak perlu dapat dihindarkan karena dapat
Modifikasi
membahayakan komitmen waktu transaksi ter-
Seperti telah disinggung pada bagian terdahulu,
konflik secara concurrently sehingga penundaan
sebut.
algoritma concurrency control konvensional secara
SCC menggunakan redundancy untuk men-
garis besar dapat dikelompokan menjadi dua, yaitu
jamin bahwa eksekusi yang dapat diserialisasi-
Pesimistic Concurrency Control (PCC) dan
kan ditemukan dan diadopsi sesegera mungkin
Optimistic Concurrency Control (OCC). Algoritma
sehingga terjadi peningkatan yang paling mungkin
PCC berusaha mencegah terjadinya konflik di antara
terhadap komitmen waktu dari transaksi-transaksi
transaksi-transaksi yang akan dieksekusi sementara
yang memiliki batasan waktu yang ketat. Oleh karena
algoritma OCC mengatasi konflik yang terjadi di
itu, aplikasi algoritma SCC mempersyaratkan
antara transaksi-transaksi setelah taransaksi tersebut
tersedianya kapasitas yang cukup dalam sistem. Hal
dijalankan dengan pengulangan kembali transaksi
ini dibutuhkan untuk menampung tambahan/le-
Kuspriyanto, Protokol Concurrency Control 35
dakan beban sementara yang berat karena re-
point eksekusi yang berbeda. Jadi satu diantara kedua
dundancy.
transaksi tersebut akan commit dan yang lain
Tidak sama dengan cara algoritma PCC dan
digugurkan.
OCC dalam penanganan konflik di antara transaksitransaksi, SCC mendeteksi konflik segera setelah
Hybrid Concurrency Control for the Nested model
konflik tersebut terjadi dan segera pula mengatasi-
Selain algoritma Speculative Concurrency
nya dengan menggunakan komputansi redundasi
Control (SCC) untuk mengatasi kelemahan yang
spekultatif (speculative redundat computa-
terdapat pada PCC dan OCC juga telah dikembangkan
tions).
Hybrid Concurrency Control for the Nested
Pendekatan SCC dapat dijelaskan melalui
model. Pada algoritma ini transaction tree diseriali-
Gambar 1. Ketika transaksi T 2 meminta untuk
sasikan dengan dengan transaksi yang lain meng-
membaca data x, terjadi konflik antara transaksi T1
gunakan algoritma optimistic (OCC), tetapi transaksi
dan T2 karena T1 sedang melakukan update terhadap
pada tree yang sama diserialisasikan menggunakan
data tersebut. Apabila pada protokol PCC yang
algoritma pesimistic (PCC).
secara pesimis memblok T 2 setelah melakukan
Pada transaksi Nested Model berlaku ketentuan
pengecekan sebelumnya dan pada protokol OCC
bahwa setiap transaksi terdiri dari sejumlah subtran-
yang secara optimis mengetahui konflik dan
saksi dan masing-masing subtransaksi bisa jadi terdiri
mengulang kembali transaksi T2 yang telah dijalankan
atas sejumlah subtransaksi lagi. Suatu subtransaksi
tersebut (restart), maka pendekatan SCC membuat
dijalankan setelah parent dari subtransaksi tersebut
copy (shadow) dari transaksi baca T2. Transaksi
dijalankan dan berakhit sebelum parent-nya berakhir.
baca T 2 yang asli tetap terus dijalankan tanpa
Suatu transaksi tidak dapat commit sebelum semua
diinterupsi sedangkan shadow transaction T’ 2
subtransaksinya berakhir. Kemudian apabila sub-
diulang kembali (restart) pada sebuah prsesor yang
transaksi gagal, parent tidak harus digugurkan tetapi
berbeda dan dimungkinkan dijalankan secara
dimungkinkan untuk mencari pemecahannya yang
concurrent. Dengan kata lain dua versi dari transaksi
dapat dilakukan apabila parent mengenal kondisi,
yang sama dijalankan secara paralel masing pada
memilih untuk mencoba kembali subtransaksi, menginisiasi substransaksi lain yang mengimple-
T1
S
Wx
mentasikan suatu tindakan alternatif dan meng-
V/C
gugurkan. Tetapi pada Hybrid Concurrency Control for
T2
T’ 2
S
Rx
S
A
T2 Rx
V/C
Deadline
the Nested model yang dikembangkan oleh Ekaterina Pavlova dan Igor Nekrestyanov semua subtransaksi diperlakukan memiliki tingkat derajat yang sama sehingga apabila subtransaksi gagal parent juga
waktu
mengulang kembali (restart) subtransaksinya itu.
Gambar 1 Penjadawalan dengan Pendekatan SCC
Pengulangan kembali (restart) transaksi terjadi
36 GEMATIKA JURNAL MANAJEMEN INFORMATIKA, VOLUME 9 NOMOR 1, DESEMBER 2007
apabila satu atau lebih subtransaksi tidak melanggar
membutuhkan resource yang banyak untuk
deadline.
memenuhi kebutuhan rudundancy dan algoritma
Hybrid Concurrency Control for the Nested
Hybrid Concurrency Control for the Nested model
model bekerja berdasarkan interaksi dari dua jenis
belum menentukan batasan tipe algoritma pesimistic
manager transaksi. Satu manager menggunakan
dan optimistic yang dapat digunakan untuk
strategi optimistic dan yang lain menggunakan
memungkinkan pemilihan yang terbaik sesuai dengan
strategi pesimistic. Semua transaction tree yang
fitur-fitur yang spesifik dari suatu sistem. Demikian
baru dikontrol oleh manager optimistic dan
pula algoritma-algoritma lainnya.
selanjutnya diteruskan ke manager pesimistic.
Masih dibutuhkan riset lebih lanjut untuk
Manager pesimistic mengontrol eksekusi transaksi
mengembangkan algoritma yang ada atau
pada satu tree sampai semuanya commit.
menemukan algoritma baru sehingga didapatkan suatu
Teknik ini memungkinkan manager pesimistic
algoritma yang lebih optimal untuk aplikasi RTDBS.
yang terpisah untuk setiap transaction tree atau manager pesimistic yang sama akan mengontrol
RUJUKAN
semua tree. Dan juga memungkinkan secara simultan
Abbott, R, and Molina, HG. 1988. Schedulling Real-time Transaction: a Performance Evaluation. Princeton: Departement of Computer Science, Princeton University NJ 08544. Braudakis, S. 1995. Concurrency Control Protocol for Real-Time Database, Boston: University Graduate School. Krishna, C. M., and Kang G. Shin, ____.Real-Time Systems, ____: The McGraw-Hill. Krzyzagorsky, P. ____. Concurrency Control in Real-Time Database System.Poland: Poznan University of Technology, Institut of Computing Science. Lindstrom, Jan dan Kimmo Raatikainen. 2000.Using RealTime serializability and Optimistic Concurrency Control in Firm Real-Time Database. Finland.University of Helsinki, Departement of Computer Science, P.O. Box 26 (Teollisuuskatu 23), FIN-00014 University of Helsinki. Nystrom, D, Nolin, M, Tesanovic, A, Norstrom, C, dan Hansson, J.____. Pessimistic Concurrency Control and Versioning to Support Database Pointers in Real-Time Database.Sweden: Malardedalen University, Malardalen Real-Time Research Centre, Vasteras, Swedwen dan Linkoping University, Dept. Of Computer Science. Son, SH. ____. Advances In Real-Time Systems.England Cliffs. Prentice Hall. NJ 07632.
manager-manager pesimistic yang berbeda. Penentuan jenis manager pesimistic tersebut dibuat oleh manager optimistic sesuai dengan tipe transaksi yang baru. SIMPULAN
Algoritma concurrency control konvensional yang secara garis besar dikelompokan menjadi pesimistic concurrency control (PCC) dan optimistic concurrency control (OCC) tidak dapat memenuhi kebutuhan Real-Time Database System (RTDBS) karena tidak dapat memenuhi ketentuan pembatasan waktu yang ketat (deadline). Modifikasi dari kedua algoritma konvensional tersebut telah menghasilkan berbagai protokol concurrency control yang dapat memenuhi kebutuhan RTDBS. Akan tetapi masih tetap memiliki kelemahan pada setiap algoritmanya. Seperti algoritma Speculative Concurrency Control (SCC)