Ketentuan Pemrosesan Transaksi

Sebelum Anda mulai menggunakan KTM, Anda harus mengetahui definisi istilah berikut: transaksi, manajer sumber daya, klien transaksi, manajer transaksi, aliran log, pendaftaran, dan sistem pemrosesan transaksi.

Transaksi
Transaksi adalah kumpulan operasi data. Semua operasi harus berhasil agar transaksi berhasil. Jika semua operasi berhasil, transaksi dapat dilakukan (artinya, hasilnya dapat dibuat permanen dan publik). Jika ada operasi yang gagal, transaksi harus digulung balik, (artinya, semua perubahan harus dihapus sehingga data dalam keadaan yang sama dengan yang ada sebelum operasi transaksi dimulai).

Operasi transaksi bersifat atomik, konsisten, terisolasi, dan tahan lama (ACID).

  • Mereka atomik karena harus diterapkan atau digulung balik secara keseluruhan.

  • Mereka konsisten karena operasi selalu menghasilkan hasil yang akurat, baik itu diterapkan atau digulung balik.

  • Mereka terisolasi karena hasil setiap transaksi tidak terlihat oleh transaksi lain sampai operasi transaksi telah dilakukan atau digulung balik.

  • Mereka tahan lama karena, setelah operasi transaksi dilakukan atau digulung balik, hasil operasi bersifat permanen.

Contoh transaksi adalah serangkaian operasi yang harus dilakukan ketika Anda menggunakan mesin teller otomatis (ATM) untuk mentransfer uang dari rekening cek Anda ke rekening tabungan Anda. Debit dari rekening cek Anda dan kredit ke rekening tabungan Anda harus tampak sebagai operasi atom tunggal.

Operasi yang merupakan bagian dari transaksi juga dikenal sebagai operasi yang ditransaksikan.

manajer sumber daya
Manajer sumber daya adalah komponen perangkat lunak yang mengelola sumber daya data yang dapat diperbarui dengan operasi yang ditransaksikan. Misalnya, jika Anda merancang sistem database, Anda mungkin menyediakan manajer sumber daya yang menyimpan dan mengambil data database. Sistem pemrosesan transaksi sederhana (TPS) mungkin hanya memiliki satu manajer sumber daya.

Manajer sumber daya biasanya juga menyediakan antarmuka publik yang dapat dipanggil klien transaksi untuk mengakses data manajer sumber daya. Misalnya, manajer sumber daya untuk database mungkin menyediakan sekumpulan fungsi yang dapat dipanggil klien untuk membaca dari dan menulis ke database.

TPS yang lebih kompleks dapat memiliki beberapa manajer sumber daya, yang masing-masing mengelola database terpisah atau sumber daya lain saat berpartisipasi dalam transaksi sistem.

Untuk informasi selengkapnya tentang manajer sumber daya, lihat Membuat Resource Manager.

Dalam beberapa kasus, satu manajer sumber daya lebih unggul daripada manajer sumber daya lainnya dan dapat memulai operasi penerapan. Dalam KTM, manajer sumber daya tersebut disebut manajer transaksi yang unggul.

klien transaksi
Klien transaksi adalah komponen perangkat lunak yang mengakses database yang didukung manajer sumber daya, biasanya dengan memanggil fungsi yang diekspor manajer sumber daya. Klien bertanggung jawab untuk membuat transaksi, melakukan serangkaian operasi yang didukung manajer sumber daya, dan kemudian memberi tahu manajer transaksi (KTM) bahwa transaksi harus dilakukan atau digulung balik.

Untuk informasi selengkapnya tentang klien transaksi, lihat Membuat Klien Transaksi.

manajer transaksi
Manajer transaksi, seperti KTM, menyediakan infrastruktur yang memungkinkan klien transaksi dan manajer sumber daya untuk berkomunikasi satu sama lain. Ini juga melacak status setiap transaksi (tetapi bukan data yang ditangani klien dan manajer sumber daya).

Manajer transaksi juga dapat mengoordinasikan operasi pemulihan setelah crash sistem.

Manajer transaksi tidak memiliki pengetahuan tentang data atau operasi yang membentuk transaksi. Data dan operasi dikendalikan oleh klien dan manajer sumber daya.

KTM menyediakan fungsi yang dapat dipanggil klien transaksi. Fungsi-fungsi ini memungkinkan klien untuk membuat, menerapkan, dan mengembalikan transaksi.

KTM juga menyediakan fungsi yang dapat dipanggil oleh manajer sumber daya. Fungsi-fungsi ini memungkinkan manajer sumber daya untuk mendaftarkan transaksi sehingga mereka dapat menerima pemberitahuan tentang transaksi. Setelah manajer sumber daya mendaftar dalam transaksi, manajer sumber daya dapat menerima pemberitahuan ketika klien transaksi siap untuk menerapkan atau mengembalikan transaksi, atau ketika operasi pemulihan terjadi.

aliran log
Aliran log adalah riwayat rekaman peristiwa yang telah terjadi pada transaksi. KTM mempertahankan aliran log dengan menggunakan Common Log File System (CLFS). KTM merekam perubahan status untuk setiap transaksi sehingga dapat mendukung operasi putar kembali dan pemulihan ketika diperlukan.

Resource manager juga harus menggunakan aliran log untuk merekam data dan operasi.

Operasi putar kembali mengharuskan KTM dan manajer sumber daya untuk memulihkan transaksi dan semua data ke status awal. KTM dan manajer sumber daya merekam status awal setiap transaksi di aliran log sehingga mereka dapat mengambilnya selama operasi putar kembali.

Operasi pemulihan terjadi setelah sistem mengalami crash. Ketika sistem operasi kemudian dimulai ulang, KTM dan manajer sumber daya dapat menggunakan konten aliran log untuk membangun kembali status transaksi ke keadaan sebelum crash.

Untuk informasi selengkapnya tentang aliran log di KTM, lihat Menggunakan Aliran Log dengan KTM.

pendaftaran
Pendaftaran adalah hubungan antara manajer sumber daya dan transaksi. KTM menyediakan serangkaian fungsi yang dipanggil manajer sumber daya untuk membuat dan mengelola pendaftaran. Setelah manajer sumber daya membuat pendaftaran, KTM mengirim pemberitahuan ke manajer sumber daya saat status transaksi berubah.

sistem pemrosesan transaksi
Sistem pemrosesan transaksi (TPS) adalah kumpulan manajer transaksi, satu atau beberapa manajer sumber daya, satu atau beberapa aliran log, dan satu atau beberapa klien transaksional yang mengakses sumber daya manajer sumber daya.