Anda di halaman 1dari 12

Abstrak: Pemrosesan transaksi menyediakan mekanisme yang dapat

menyelesaikan banyak masalah yang ditimbulkan oleh akses bersamaan ke


objek bersama dalam database besar. Penggunaan transaksi untuk
menyediakan pemrosesan informasi dan pengelolaan data yang andal dan
aman semakin mendapat perhatian dari aplikasi basis data tingkat lanjut.
Transaksi mengikuti properti ACID dijamin menjadi atom dan serializable yang
cocok untuk aplikasi database yang dicirikan oleh transaksi berdurasi pendek
dan akses kompetitif ke data bersama. Munculnya aplikasi canggih yang
ditandai dengan durasi panjang dengan transaksi kooperatif membutuhkan
kebutuhan untuk model transaksi lanjutan. Model transaksi tingkat lanjut fokus
pada pemeliharaan konsistensi data dan telah memberikan solusi untuk
banyak masalah seperti kebenaran, konsistensi dan keandalan dalam
pemrosesan transaksi dan lingkungan manajemen database. Makalah
penelitian ini meninjau berbagai model transaksi yang diusulkan dalam
literatur yang memiliki dampak yang cukup besar pada bidang pemrosesan
transaksi dalam sistem basis data. Juga makalah ini mengidentifikasi bahwa
paradigma aturan Event-Condition-Action (ECA) telah menjadi mekanisme
fleksibel untuk mendukung persyaratan aplikasi tingkat lanjut.
Kata kunci: basis data; pemrosesan transaksi; model transaksi; Aturan ECA;
aplikasi basis data

I. PENDAHULUAN
Sistem manajemen basis data (DBMS) merupakan jantung dari teknologi
sistem informasi saat ini. Mereka menyediakan mekanisme yang andal dan
efektif untuk menyimpan dan mengelola volume besar informasi dalam
lingkungan multiuser. Dalam multiuser DBMS, transaksi transaksi secara
bersamaan merupakan aspek penting dari manajemen transaksi karena
meningkatkan kinerja sistem secara keseluruhan dengan meningkatkan
sistem throughput (jumlah rata-rata transaksi yang diselesaikan dalam waktu
tertentu) dan waktu respon (waktu rata-rata yang diambil untuk menyelesaikan
transaksi ). Transaksi menyediakan mekanisme untuk mengatur dan
menyinkronkan operasi basis data. Transaksi adalah unit kerja atom yang
seluruhnya selesai atau tidak.

Sebuah transaksi harus memiliki empat sifat dasar yang disebut sebagai sifat
ACID: (i) Atomicity (ii) Konsistensi (iii) Isolasi (iv) Ketahanan dan ditegakkan
oleh mekanisme konkurensi dan pemulihan dari DBMS [32]. Dalam transaksi
umum telah diklasifikasikan berdasarkan durasi dan struktur untuk
pemrosesan transaksi yang efektif dalam aplikasi database [30]. Berdasarkan
durasi suatu transaksi dapat diklasifikasikan sebagai durasi pendek atau
transaksi berdurasi panjang. Transaksi berdurasi pendek dicirikan oleh waktu
pelaksanaan yang sangat singkat dalam hitungan detik dan dengan akses
kompetitif ke bagian yang relatif kecil dari basis data. Transaksi berdurasi
panjang dicirikan dengan waktu eksekusi yang lebih lama dalam hitungan
menit atau jam dan akses kooperatif ke bagian yang lebih besar dari basis
data. Pembagian transaksi ke dalam subtransaksi sesuai dengan semantik
aplikasi disebut struktur transaksi.

AI. CRITERIA KOREKTIF BERDASARKAN SERIALIZABILITAS


Pemrosesan transaksi berkaitan dengan cara mengontrol cara program
berbagi database umum. Ketika database dibagi dan diperbarui oleh beberapa
transaksi secara bersamaan, serializability digunakan sebagai kriteria
kebenaran untuk kontrol konkurensi dalam aplikasi database dan itu
mengharuskan pelaksanaan setiap transaksi tidak dapat terganggu oleh
transaksi lain [1, 2, dan 3]. Oleh karena itu untuk menjaga ketepatan berbasis
serializability, sistem database melalui scheduler harus menghasilkan, jadwal
eksekusi bersamaan dari serangkaian transaksi setara dengan eksekusi seri
dari serangkaian transaksi yang diwakili oleh jadwal seri.

Sementara serializability telah berhasil digunakan dalam aplikasi yang


dicirikan oleh transaksi berdurasi pendek dengan akses kompetitif ke data
bersama, itu bersifat membatasi dan hampir tidak berlaku dalam aplikasi yang
dicirikan oleh transaksi berdurasi panjang dengan akses kooperatif ke data
bersama karena mencegah transaksi dari melihat perantara hasil transaksi
lain [1, 30, dan 31]. Keterbatasan ini telah dihindari oleh pengenalan berbagai
kriteria kebenaran nonserializable yang memperluas serializability tradisional.
Berbagai kriteria ketepatan yang fleksibel untuk kontrol konkurensi dalam
database telah dipelajari dan persyaratan untuk model transaksi lanjutan
diidentifikasi [33]. Untuk mendukung persyaratan aplikasi tingkat lanjut,
penelitian terbaru telah mengusulkan kriteria kebenaran nonterializable
dengan model transaksi yang sesuai sebagai mekanisme kontrol konkurensi
untuk memproses transaksi konkuren dalam database [18].

Transaksi yang memiliki sifat ACID yang ketat tanpa struktur internal disebut
model transaksi datar dan cocok untuk menangani data sederhana dan
aplikasi yang berjalan dengan transaksi berdurasi pendek [30, 32]. Model
transaksi datar sangat sederhana dan aman; ia tidak memiliki kemampuan
untuk mendukung aplikasi yang membutuhkan umur panjang dan / atau
transaksi yang kompleks dan kooperatif karena sifat atomicity dan
serializability-nya sejak: (i) jika transaksi berdurasi panjang memegang kunci
pada objek, jika ada transaksi berdurasi panjang lainnya yang harus
mengakses objek yang sama dalam mode konflik harus diblokir sampai
transaksi pertama selesai dan (ii) jika transaksi panjang tidak dapat
diselesaikan, semua pekerjaan yang telah dilakukan oleh transaksi harus
dibatalkan [16]. Solusi saat ini untuk masalah ini telah menjadi proposal model
transaksi diperpanjang atau lanjutan. Oleh karena itu fokus dari makalah ini
adalah untuk meninjau berbagai model transaksi yang memiliki dampak yang
cukup besar pada bidang pemrosesan transaksi dalam aplikasi database.

Sisa kertas diatur sebagai berikut. Bagian 3 secara singkat meninjau konsep
berbagai model transaksi yang diusulkan dalam literatur untuk pemrosesan
transaksi. Bagian 4 menguraikan kebutuhan untuk pemrosesan transaksi yang
fleksibel karena persyaratan aplikasi modern dan bagian 5 menyimpulkan
kertas.

BI. MODEL TRANSAKSI DIPERPANJANG DAN SANTAI

A. Model transaksi tersarang:


Model ini telah dirancang untuk memperluas model transaksi datar untuk
memberikan kemampuan untuk menentukan transaksi dalam transaksi lain
dengan membagi transaksi menjadi hierarki subtransaksi [6]. Model transaksi
tersarang adalah seperangkat subtransaksi yang mungkin secara rekursif
mengandung subtransaksi lain yang membentuk pohon transaksi atau hierarki
transaksi lengkap. Transaksi tingkat atas dapat memiliki jumlah transaksi anak
dan setiap transaksi anak juga dapat memiliki transaksi bertingkat. Transaksi
anak dapat dimulai setelah induknya dimulai, dan dapat melakukan secara
lokal. Hasil lokal berkomitmen dirilis hanya ketika semua orang tuanya sampai
ke akar telah berhasil dihentikan. Transaksi harus melakukan dari bawah ke
atas dan transaksi batalkan pada satu tingkat tidak harus mempengaruhi
transaksi yang sedang berlangsung di tingkat yang lebih tinggi. Oleh karena itu
model ini juga disebut sebagai transaksi bersarang tertutup. Model ini tidak
sesuai untuk sistem yang terdiri dari transaksi panjang dan tidak menangani
kerjasama karena isolasi lokal dan global penuh diperlukan. Namun model ini
memungkinkan peningkatan modularitas, perincian yang lebih halus dari
penanganan kegagalan dan konkurensi intra transaksi yang lebih tinggi
daripada model transaksi datar

B. Buka model transaksi bertingkat:

Model ini telah diusulkan untuk meningkatkan model transaksi bertingkat,


untuk melonggarkan persyaratan isolasi dengan membuat hasil subtransaksi
yang berkomitmen dapat dilihat oleh transaksi nested secara bersamaan
lainnya [7]. Untuk menghindari penggunaan yang tidak konsisten dari hasil
subtransaksi yang berkomitmen, hanya subtransaksi yang melakukan
perjalanan dengan orang-orang yang berkomitmen diizinkan untuk
menggunakan hasil mereka. Dua transaksi dikatakan melakukan perjalanan
jika efeknya, output mereka dan status terakhir dari database adalah sama
terlepas dari urutan di mana mereka dieksekusi. Model ini juga mengendurkan
kondisi proses commit terjadi dalam mode bottom up melalui transaksi tingkat
atas sebagai semantik transaksi ini menegakkan atomicity di tingkat atas. Oleh
karena itu model ini memungkinkan tingkat konkurensi dan kerjasama yang
lebih tinggi daripada model transaksi bertingkat dan cocok untuk sistem yang
terdiri dari berjalan lama dengan transaksi kooperatif.

C. Model transaksi multilevel:

Transaksi multilevel adalah versi yang lebih umum dari transaksi tersarang [7].
Subtransaksi dari transaksi multilevel dapat melakukan dan melepaskan
sumber daya sebelum transaksi global berhasil menyelesaikan dan
melakukan commit. Jika transaksi global membatalkan atomicity
kegagalannya mungkin mengharuskan efek dari subtransaksi yang sudah
dilakukan akan dibatalkan dengan mengeksekusi subtransaksi kompensasi.
Transaksi kompensasi T 'semantik membatalkan efek dari subtransaksi T
yang berkomitmen, sehingga keadaan basis data sebelum dan sesudah
menjalankan urutan TT' adalah sama. Namun, inkonsistensi dapat terjadi jika
transaksi S lainnya mengamati efek subtransaksi yang akan dikompensasi
nanti. Buka transaksi bersarang menggunakan komutatif untuk memecahkan
masalah ini.

D. Sagas dan Nested Sagas:

Sagas telah diusulkan sebagai model transaksi untuk kegiatan berumur


panjang [8, 9]. Saga terdiri dari serangkaian transaksi ACID T1, T2,…, Tn
dengan urutan eksekusi yang telah ditentukan, dan satu set kompensasi
subtransaksi CT1, CT2, .., CTn-1, sesuai dengan T1, T2… Tn-1. Saga berhasil
diselesaikan, jika subtransaksi telah dilakukan. Jika salah satu dari
subtransactions, mengatakan Tk gagal, maka berkomitmen subtransacitons
T1, ... Tk-1 yang dibatalkan dengan mengeksekusi subtransaksi kompensasi
CTk-1, ... CT1. Setiap subtransaksi diperbolehkan untuk melakukan secara
individual. Transaksi kompensasi kemudian digunakan untuk secara eksplisit
membatalkan pengaruhnya jika seluruh transaksi Saga harus dibatalkan.
Dengan memungkinkan subtransactions untuk melakukan, sehingga
mengungkapkan hasil parsial mereka (s), Saga melemaskan persyaratan
isolasi penuh dan meningkatkan konkurensi antar-transaksi. Karenanya
beberapa tingkat kerja sama diizinkan. Model ini telah diperpanjang sebagai
model yang disebut Nested Sagas yang menyediakan mekanisme yang
berguna untuk menyusun langkah-langkah yang terlibat dalam transaksi
berjalan lama ke dalam struktur transaksi hierarkis. Model ini mempromosikan
gagasan santai atomicity dimana pemulihan ke depan digunakan dalam
bentuk transaksi kompensasi untuk membatalkan efek dari transaksi gagal.

E. Model ConTract:

Model ConTract telah diusulkan untuk menyediakan mekanisme kontrol umum


untuk aktivitas berumur panjang dan ditujukan untuk domain masalah aplikasi
terdistribusi besar.
Ide dasar di balik model ini adalah untuk membangun aplikasi besar dari
transaksi ACID pendek dan untuk menyediakan layanan sistem aplikasi
independen, yang mengendalikannya. Juga model ini tidak memperpanjang
transaksi ACID dalam struktur tetapi menyematkannya dalam lingkungan
aplikasi dan menyediakan kontrol eksekusi yang dapat diandalkan atas
mereka. Dalam model ini unit kerja didefinisikan sebagai langkah yang
menjamin sifat ACID tetapi hanya mempertahankan konsistensi lokal.
Langkah-langkah ini dijalankan sesuai dengan skrip, yang merupakan
deskripsi aliran kontrol eksplisit. Pelaksanaan langkah-langkah yang tepat dan
benar disebut ConTract. Oleh karena itu model ini menyediakan mekanisme
kontrol seperti sinkronisasi semantik, manajemen konteks dan kompensasi di
tingkat skrip untuk memberikan dukungan transaksi untuk aplikasi yang
berumur panjang dan kompleks.

F. Model transaksi Split / Gabung:

Model ini telah dirancang untuk memberikan transaksi mereka memiliki


kemampuan untuk berbagi sumber daya dengan memungkinkan rekonstruksi
dinamis dari transaksi yang berjalan [11]. Sangat cocok untuk kegiatan
dengan durasi yang tidak pasti, perkembangan yang tidak dapat diprediksi,
dan interaksi dengan kegiatan lain. Tujuan dasar dari model ini adalah
membagi transaksi berjalan menjadi dua atau lebih transaksi dan kemudian
bergabung dengan transaksi lain dengan menggabungkan sumber daya
mereka. Juga model ini memungkinkan kerjasama antar pengguna dengan
memungkinkan transfer sumber daya dari satu transaksi ke transaksi lain.
Lebih lanjut, ia menggunakan mekanisme pemulihan adaptif yang
memungkinkan bagian dari pekerjaan yang dilakukan untuk dapat dipulihkan,
dan karena bagian transaksi yang berkomitmen dapat melepaskan beberapa
sumber daya, isolasi entah bagaimana dapat dikurangi. Kelemahan utama dari
model ini adalah mekanisme penggabungan yang rumit. Juga dua transaksi
yang dihasilkan dari perintah split harus mematuhi kriteria serializability yang
menyiratkan bahwa dua transaksi harus dilihat sebagai dua transaksi yang
terisolasi saat berjalan.

G. Model transaksi Flex:

Model ini telah diusulkan sebagai model transaksi untuk pemrosesan transaksi
fleksibel dalam sistem multidatabase

Transaksi fleksibel adalah serangkaian tugas dengan satu set subtransaksi


yang setara secara fungsional untuk masing-masing dan satu set dependensi
eksekusi pada subtransaksi termasuk dependensi kegagalan, ketergantungan
keberhasilan dan dependensi eksternal. Model transaksi Flex melonggarkan
sifat atomicity dan isolasi transaksi untuk memberikan pengguna fleksibilitas
yang meningkat dalam menentukan transaksi mereka. Untuk mengendurkan
persyaratan isolasi, transaksi fleksibel menggunakan kompensasi dan
melonggarkan persyaratan atomicity global memungkinkan perancang
transaksi untuk menentukan negara yang dapat diterima untuk penghentian
transaksi fleksibel. Namun skalabilitas dan kontrol akses tidak dibahas dalam
transaksi fleksibel.

H. Hierarki transaksi koperasi:


Model transaksi ini telah diusulkan untuk lingkungan desain dan itu adalah
pendekatan berbasis pohon sama seperti model transaksi bertingkat [13]. Tiga
level utama yang dibatasi dari model ini adalah: akar, satu atau beberapa grup
transaksi dan beberapa transaksi kooperatif. Transaksi koperasi sesuai
dengan node daun, yang dikelompokkan ke dalam kelompok transaksi.
Mereka terkait masing-masing dengan perancang di lingkungan dan dapat,
dalam kelompok transaksi, bekerja sama dalam beberapa tugas. Transaksi
kooperatif tidak dapat dibagikan dan karenanya untuk setiap kelompok
transaksi, pola, menjadi seperangkat aturan untuk bagaimana operasi dapat
disisipkan, dan konflik, menjadi seperangkat aturan yang menentukan operasi
mana yang tidak diizinkan untuk dijalankan secara bersamaan, digunakan
sebagai kriteria kebenaran. Meskipun hierarki transaksi kooperatif menangani
kerja sama, kelemahan utamanya adalah kebutuhan untuk mendefinisikan
kedua pola dan konflik terlebih dahulu. Oleh karena itu model ini cocok untuk
aplikasi dengan struktur kerja yang terdefinisi dengan baik.

I. CoAct:

Model Kegiatan Kooperatif memberikan sifat transaksional yang berlaku untuk


skenario kooperatif. Setiap pengguna di CoAct bekerja di ruang kerja sendiri
yang disebut ruang kerja pribadi dan mereka bekerja sama melalui pertukaran
informasi terkontrol dan sinkronisasi ruang kerja pribadi mereka [14]. Model ini
bekerja dengan cara berikut: CoAct parameter tertentu digunakan untuk
menggambarkan aktivitas tertentu dan dengan memberi tahu pengguna
mendapatkan kegiatan konkrit. Setiap peserta kegiatan koperasi memiliki
aktivitasnya sendiri yang disebut aktivitas pengguna dan hasil akhir diperoleh
dengan menggabungkan hasil dari setiap aktivitas pengguna. Model ini sangat
cocok untuk membangun aplikasi kooperatif asynchronous. Tetapi karena
deskripsi statis aktivitas kooperatif, model ini tidak cukup fleksibel untuk
aplikasi koperasi tingkat lanjut.

J. COO:
Model ini telah dikembangkan berdasarkan persyaratan proses
pengembangan perangkat lunak dengan atomicity santai dan isolasi santai
[15]. Santai sifat atomicity memungkinkan transaksi panjang dapat menyimpan
hasil antara mereka, sehingga meminimalkan kerugian dalam kasus crash dan
isolasi santai memungkinkan beberapa proses perangkat lunak untuk
mengakses hasil antara tanpa melanggar kriteria kebenaran.

Hasil antara dikelola dengan menerapkan tiga tingkat konsistensi objek yang
berbeda seperti stabil, semi stabil, dan tidak stabil. Sebuah objek stabil ketika
sepenuhnya konsisten yaitu, hasil dari transaksi yang berhasil dilakukan.
Objek semi stabil adalah proses dapat menghasilkan sebagai data tentatif,
dan dapat dilihat sebagai cukup konsisten, tetapi mungkin melanggar kriteria
kebenaran. Artinya, hanya proses yang memenuhi aturan semantik dan
batasan integritas yang dikodekan dalam deskripsi proses perangkat lunak
yang diizinkan untuk menggunakan objek semi stabil. Benda yang tidak stabil
adalah benda yang tidak memenuhi kriteria kebenaran sama sekali, dan saat
ini dikunci oleh proses. Objek ini tidak dapat diakses hingga menjadi objek
stabil atau semi stabil.

K. Evaluasi dari Model Transaksi:

Model transaksi yang ditinjau dalam makalah ini telah dievaluasi berdasarkan
faktor-faktor yang termasuk properti transaksi, struktur transaksi, konkuritas
transaksi intra, dukungan transaksi dan area aplikasi dan ditunjukkan pada
Tabel 1. Model transaksi yang disajikan adalah berbagai ekstensi transaksi
datar yang mengendurkan sifat atomicity dan isolasi dengan perluasan
struktur tingkat tunggal (datar) ke struktur multi level. Model-model yang
direview juga telah diklasifikasikan berdasarkan dua dimensi seperti struktur
transaksi dan struktur objek yang mereka operasikan. Menurut struktur
transaksi model yang ditinjau menggunakan dua strategi untuk mencapai
struktur yang berbeda di dalam transaksi: (i) memodulasi transaksi yang
kompleks dengan hierarki. yaitu, transaksi besar dibagi menjadi komponen
yang lebih kecil, yang pada gilirannya dapat diuraikan dan strategi ini telah
diterapkan dalam transaksi bertingkat, transaksi fleksibel, dan transaksi
bersarang terbuka (ii) menguraikan transaksi jangka panjang menjadi
subtransaksi yang lebih pendek yang mencakup mekanisme kompensasi dan
strategi ini telah diterapkan dalam saga, transaksi multi level. Sepanjang
dimensi struktur objek model transaksi yang direview di atas beroperasi pada
objek sederhana.

IV. PERLU PENGOLAHAN TRANSAKSI FLEKSIBEL

Sistem manajemen basis data telah mengalami perubahan dramatis sebagai


akibat meningkatnya persyaratan aplikasi modern. Sebagian besar upaya
penelitian baru-baru ini telah membahas model transaksi yang lebih baru
karena persyaratan transaksional aplikasi baru dalam database dan
pertumbuhan model transaksi yang cepat ini akan meningkatkan kesulitan
mengintegrasikan berbagai model dengan cara yang seragam dalam DBMS.
Oleh karena itu, aplikasi database modern saat ini membutuhkan: (i) DBMS
ditingkatkan dengan fungsinya, untuk mengakomodasi persyaratan aplikasi
database modern ii) DBMS dikonfigurasi untuk mendukung mekanisme
manajemen transaksi yang fleksibel seperti yang dibutuhkan oleh aplikasi.

Saat ini, pilihan model transaksi yang akan didukung oleh DBMS dibuat pada
waktu implementasi sistem di sana dengan membuat sulit untuk diubah. Ini
adalah batasan yang berat karena dukungan hanya dari satu model transaksi
spesifik hanya dapat melayani persyaratan kelas aplikasi kecil. Berbagai
kerangka transaksi yang ada seperti ACTA [16], ASSET [17] telah diusulkan
untuk mendukung beberapa model transaksi yang beroperasi pada objek
sederhana dengan dependensi diformalkan dalam sistem database
konvensional.

A. Pendekatan menggunakan paradigma ECA:

Untuk mencapai kebutuhan di atas dan persyaratan untuk mendukung


perilaku reaktif dalam sistem basis data, makalah penelitian ini
mengidentifikasi paradigma basis aturan berbasis aturan yang efektif yang
disebut sebagai sistem basis data aktif (ADBS) yang memperluas sistem basis
data konvensional dengan mendukung mekanisme untuk secara otomatis
memantau dan bereaksi terhadap peristiwa yang terjadi di dalam atau di luar
sistem basis data dengan menggunakan aturan aktif [4]. Aturan aktif terdiri dari
tiga komponen seperti peristiwa, kondisi, dan tindakan (aturan ECA).
Paradigma aturan ECA telah digunakan secara efisien di bidang aplikasi
lanjutan seperti lingkungan terdistribusi [19, 20], layanan web di mana-mana
[22], komputasi berbasis event [23], sistem perawatan kesehatan [27], sistem
proses bisnis [29] dan e aplikasi -bisnis [24]. Paradigma pengaturan ECA juga
dapat memberikan fleksibilitas untuk memilih model transaksi saat runtime
dengan mengaktifkan atau menonaktifkan set aturan yang sesuai untuk
mendukung beberapa model transaksi. Acara dan aturan juga dapat
digunakan kembali di seluruh kumpulan aturan saat menentukan model
transaksi terkait [28].

Sebagian besar upaya penelitian dan pengembangan pada database aktif dan
implementasi komersial telah berfokus pada menggabungkan kemampuan
aktif dalam konteks sistem database relasional dan berorientasi objek [4, 25].
Sistem database berorientasi objek memberikan peluang lebih besar untuk
memodelkan, menyimpan, dan memanipulasi objek kompleks dengan konsep
berorientasi objek untuk aplikasi yang kompleks [32]. Telah diakui bahwa
banyak manfaat dapat diperoleh dengan mengintegrasikan konsep aktif
dengan sistem database berorientasi objek [4, 5, 21, dan 26].

V. KESIMPULAN

Makalah ini telah menyajikan tinjauan konstruktif model transaksi untuk


menangani pemrosesan transaksi yang efektif dalam sistem basis data.
Berbagai model transaksi yang diulas dalam makalah ini beroperasi pada
objek sederhana dalam sistem database konvensional. Dukungan terbatas
dari model transaksi tertentu dalam sistem basis data konvensional dan daftar
yang semakin berkembang dari aplikasi database modern saat ini memerlukan
kebutuhan akan mekanisme transaksi yang fleksibel untuk memproses
transaksi dalam basis data canggih. Paradigma pengaturan ECA dengan
kemampuan aktif telah diidentifikasi sebagai mekanisme fleksibel untuk
mendukung persyaratan aplikasi tingkat lanjut.

Anda mungkin juga menyukai