- 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).