数据库的黑盒


不能把数据库当成“黑盒”使用,因为每个数据库都是非常不同的

了解这种差异,了解你所使用数据库的特性,是开发成功数据库应用的基础

并发控制问题

不同的数据库,实现锁机制是不一样的

充分了解锁机制,对数据库的使用有重要意义。

Oracle 的并发控制

$T_1$ 读不到正确的数据

$T_1$ 读不到正确的数据

Oracle 的多版本控制,读一致性的并发模型

创立 refcursor 时不会复制所有数据,

Delete 删除时会把被删除的数据放到 Undo Segment (Rollback Segment)

Untitled

<aside> 💡 Oracle 的锁机制

<aside> 💡 Takeaway Message

不能把数据库当成黑盒使用

必须深入了解你所使用的数据库的体系结构和特征

</aside>

黑盒和数据库独立性的问题

数据库有脱离实现级别的使用方法

要构建一个完全数据库独立的应用,而且是高度可扩展的应用是极其困难的。实际上,这几乎是不可能的。

要构建一个完全数据库独立的应用: