OrientDB - Transaksi

Seperti RDBMS, OrientDB mendukung transaksi properti ACID. SEBUAHtransactionterdiri dari satu unit pekerjaan yang dilakukan dalam sistem manajemen basis data. Ada dua alasan utama untuk memelihara transaksi dalam lingkungan database.

  • Untuk memungkinkan pemulihan bersamaan dari kegagalan dan menjaga agar database tetap konsisten bahkan jika terjadi kegagalan sistem.

  • Untuk menyediakan isolasi antara program yang mengakses database secara bersamaan.

Secara default, transaksi database harus mengikuti properti ACID seperti properti Atomic, Consistent, Isolated, dan Durable. Tetapi OrientDB adalah database yang sesuai dengan ACID, yang berarti tidak bertentangan atau meniadakan konsep ACID, tetapi mengubah persepsinya saat menangani database NoSQL. Lihat bagaimana properti ACID bekerja bersama dengan database NoSQL.

Atomic - Ketika Anda melakukan sesuatu untuk mengubah database, perubahan itu akan berfungsi atau gagal secara keseluruhan.

Consistent - Basis data harus tetap konsisten.

Isolated - Jika eksekusi transaksi lain dijalankan pada saat yang sama, maka pengguna tidak akan dapat melihat record dalam eksekusi bersamaan.

Durable - Jika sistem crash (perangkat keras atau perangkat lunak), database itu sendiri harus dapat membuat cadangan.

Transaksi database dapat dicapai dengan menggunakan perintah Commit dan Rollback.

Melakukan

Komit berarti menutup transaksi dengan menyimpan semua perubahan ke database. Rollback berarti memulihkan status database ke titik di mana Anda membuka transaksi.

Pernyataan berikut adalah sintaks dasar dari perintah database COMMIT.

COMMIT

Note - Anda dapat menggunakan perintah ini hanya setelah terhubung ke database tertentu dan setelah memulai transaksi.

Contoh

Dalam contoh ini, kami akan menggunakan database yang sama bernama 'demo' yang kami buat di bab sebelumnya dari tutorial ini. Kita akan melihat pengoperasian transaksi komit dan menyimpan catatan menggunakan transaksi.

Anda harus memulai transaksi terlebih dahulu menggunakan perintah BEGIN berikut.

orientdb {db = demo}> BEGIN

Masukkan record ke dalam tabel karyawan dengan nilai id = 12 dan name = satish.P menggunakan perintah berikut.

orientdb> INSERT INTO employee (id, name) VALUES (12, 'satish.P')

Anda dapat menggunakan perintah berikut untuk melakukan transaksi.

orientdb> commit

Jika transaksi ini berhasil dilakukan, Anda akan mendapatkan output berikut.

Transaction 2 has been committed in 4ms

Rollback

Rollback berarti memulihkan status database ke titik di mana Anda membuka transaksi.

Pernyataan berikut adalah sintaks dasar dari perintah database ROLLBACK.

ROLLBACK

Note - Anda dapat menggunakan perintah ini hanya setelah terhubung ke database tertentu dan setelah memulai transaksi.

Contoh

Dalam contoh ini, kami akan menggunakan database yang sama bernama 'demo' yang kami buat di bab sebelumnya dari tutorial. Kita akan melihat pengoperasian transaksi rollback dan menyimpan catatan menggunakan transaksi.

Anda harus terlebih dahulu memulai transaksi menggunakan perintah BEGIN berikut.

orientdb {db = demo}> BEGIN

Masukkan record ke dalam tabel karyawan dengan nilai id = 12 dan name = satish.P menggunakan perintah berikut.

orientdb> INSERT INTO employee (id, name) VALUES (12, 'satish.P')

Anda bisa menggunakan perintah berikut ini untuk mengambil rekaman tabel karyawan.

orientdb> SELECT FROM employee WHERE name LIKE '%.P'

Jika perintah ini berhasil dijalankan, Anda akan mendapatkan output berikut.

---+-------+-------------------- 
 # | ID   | name 
---+-------+-------------------- 
 0 | 12   | satish.P 
---+-------+-------------------- 
1 item(s) found. Query executed in 0.076 sec(s).

Anda dapat menggunakan perintah berikut untuk Rollback transaksi ini.

orientdb> ROLLBACK

Periksa kembali kueri pemilihan untuk mengambil rekaman yang sama dari tabel Karyawan.

orientdb> SELECT FROM employee WHERE name LIKE '%.P'

Jika Rollback berhasil dijalankan, Anda akan mendapatkan 0 record yang ditemukan di output.

0 item(s) found. Query executed in 0.037 sec(s).