实时数据库与系统评估验证知识解析
1. 实时数据库
数据库为存储和访问信息提供了一种便捷且结构化的方式,它提供了用于读写信息的 API。一系列的读写操作被称为事务,事务可能由于多种原因而中止,如硬件问题、死锁、并发控制问题等。
1.1 事务特性
事务通常需满足 ACID 特性:
- 原子性(Atomicity) :事务的最终结果(数据库的新状态)必须与事务完全完成或完全未执行的情况相同。
- 一致性(Consistency) :事务产生的数据库状态必须是一致的,例如,属于同一事务的读请求的值应是一致的。
- 隔离性(Isolation) :对于数据库的其他用户,事务部分执行产生的中间状态不可见,事务应像孤立执行一样。
- 持久性(Durability) :事务的结果应该是持久的。
1.2 实时约束
数据库存在软实时约束和硬实时约束。例如,航空公司预订系统的时间约束是软约束,而汽车应用中的行人自动识别和军事应用中的目标识别必须满足硬实时约束。然而,满足硬实时约束非常困难,因为事务可能在最终提交前多次中止,且依赖需求分页和硬盘的数据库,其磁盘访问时间难以预测。
1.3 解决方案
可能的解决方案包括使用主内存数据库和可预测的闪存使用。对于一些嵌入式数据库,由于其规模较小,这种方法是可行的。在其他情况下,也可以放宽 ACID 要求。