
- OrientDB 教程
- OrientDB - 首頁
- OrientDB - 概述
- OrientDB - 安裝
- OrientDB - 基本概念
- OrientDB - 資料型別
- OrientDB - 控制檯模式
- OrientDB 資料庫命令
- OrientDB - 建立資料庫
- OrientDB - 修改資料庫
- OrientDB - 資料庫備份
- OrientDB - 資料庫恢復
- OrientDB - 連線資料庫
- OrientDB - 斷開資料庫連線
- OrientDB - 資料庫資訊
- OrientDB - 資料庫列表
- OrientDB - 凍結資料庫
- OrientDB - 解凍資料庫
- OrientDB - 配置資料庫
- OrientDB - 匯出資料庫
- OrientDB - 匯入資料庫
- OrientDB - 提交資料庫
- OrientDB - 回滾資料庫
- OrientDB - 最佳化資料庫
- OrientDB - 刪除資料庫
- OrientDB 記錄命令
- OrientDB - 插入記錄
- OrientDB - 顯示記錄
- OrientDB - 載入記錄
- OrientDB - 重新載入記錄
- OrientDB - 匯出記錄
- OrientDB - 更新記錄
- OrientDB - 清空記錄
- OrientDB - 刪除記錄
- OrientDB 類命令
- OrientDB - 建立類
- OrientDB - 修改類
- OrientDB - 清空類
- OrientDB - 刪除類
- OrientDB 叢集命令
- OrientDB - 建立叢集
- OrientDB - 修改叢集
- OrientDB - 清空叢集
- OrientDB - 刪除叢集
- OrientDB 屬性命令
- OrientDB - 建立屬性
- OrientDB - 修改屬性
- OrientDB - 刪除屬性
- OrientDB 頂點命令
- OrientDB - 建立頂點
- OrientDB - 移動頂點
- OrientDB - 刪除頂點
- OrientDB 邊命令
- OrientDB - 建立邊
- OrientDB - 更新邊
- OrientDB - 刪除邊
- OrientDB 高階概念
- OrientDB - 函式
- OrientDB - 序列
- OrientDB - 索引
- OrientDB - 事務
- OrientDB - 鉤子
- OrientDB - 快取
- OrientDB - 日誌
- OrientDB - 效能調優
- OrientDB - 升級
- OrientDB - 安全性
- OrientDB - Studio
- OrientDB 介面
- OrientDB - Java 介面
- OrientDB - Python 介面
- OrientDB 有用資源
- OrientDB - 快速指南
- OrientDB - 有用資源
- OrientDB - 討論
OrientDB - 事務
像關係資料庫管理系統 (RDBMS) 一樣,OrientDB 支援事務的 ACID 屬性。一個**事務**包含在資料庫管理系統中執行的一個工作單元。在資料庫環境中維護事務主要有兩個原因。
允許從故障中併發恢復,即使在系統故障的情況下也能保持資料庫的一致性。
在併發訪問資料庫的程式之間提供隔離。
預設情況下,資料庫事務必須遵循 ACID 屬性,例如原子性、一致性、隔離性和永續性。但是 OrientDB 是一個符合 ACID 的資料庫,這意味著它並不與 ACID 概念相矛盾或否定,而是在處理 NoSQL 資料庫時改變了其理解。讓我們看看 ACID 屬性如何與 NoSQL 資料庫一起工作。
**原子性** - 當你執行更改資料庫的操作時,該更改應該整體成功或整體失敗。
**一致性** - 資料庫應該保持一致。
**隔離性** - 如果其他事務執行正在同時執行,則使用者將無法看到併發執行中的記錄。
**永續性** - 如果系統崩潰(硬體或軟體),資料庫本身應該能夠進行備份。
可以使用 Commit 和 Rollback 命令實現資料庫事務。
Commit
Commit 表示透過將所有更改儲存到資料庫來關閉事務。Rollback 表示將資料庫狀態恢復到開啟事務時的點。
以下語句是 COMMIT 資料庫命令的基本語法。
COMMIT
**注意** - 只有在連線到特定資料庫並在開始事務後才能使用此命令。
示例
在這個示例中,我們將使用我們在本教程前面章節中建立的名為“demo”的相同資料庫。我們將看到提交事務並使用事務儲存記錄的操作。
您需要首先使用以下 BEGIN 命令啟動事務。
orientdb {db = demo}> BEGIN
使用以下命令將記錄插入到員工表中,其值為 id = 12 和 name = satish.P。
orientdb> INSERT INTO employee (id, name) VALUES (12, 'satish.P')
您可以使用以下命令提交事務。
orientdb> commit
如果此事務成功提交,您將獲得以下輸出。
Transaction 2 has been committed in 4ms
Rollback
Rollback 表示將資料庫狀態恢復到開啟事務時的點。
以下語句是 ROLLBACK 資料庫命令的基本語法。
ROLLBACK
**注意** - 只有在連線到特定資料庫並在開始事務後才能使用此命令。
示例
在這個示例中,我們將使用我們在本教程前面章節中建立的名為“demo”的相同資料庫。我們將看到回滾事務並使用事務儲存記錄的操作。
您必須首先使用以下 BEGIN 命令啟動事務。
orientdb {db = demo}> BEGIN
使用以下命令將記錄插入到員工表中,其值為 id = 12 和 name = satish.P。
orientdb> INSERT INTO employee (id, name) VALUES (12, 'satish.P')
您可以使用以下命令檢索 employee 表的記錄。
orientdb> SELECT FROM employee WHERE name LIKE '%.P'
如果此命令成功執行,您將獲得以下輸出。
---+-------+-------------------- # | ID | name ---+-------+-------------------- 0 | 12 | satish.P ---+-------+-------------------- 1 item(s) found. Query executed in 0.076 sec(s).
您可以使用以下命令回滾此事務。
orientdb> ROLLBACK
再次檢查 select 查詢以從 Employee 表中檢索相同的記錄。
orientdb> SELECT FROM employee WHERE name LIKE '%.P'
如果 Rollback 成功執行,您將在輸出中看到 0 條記錄。
0 item(s) found. Query executed in 0.037 sec(s).