GBase 8s的目标是实现一个具有完善的事务处理能力的高性能的面向联机事务处理应用的安全数据库系统。因此,在保证系统安全性的前提下,还需要尽可能的提高数据库系统的性能,GBase 8s在实现上采用了如下几种机制来实现高性能:
1、高效的文件空间和磁盘管理
GBase 8s通过建立多个磁盘I/O线程模拟异步的磁盘 I/O来构建和读写数据库文件,并且I/O线程的数目是可配置的,它和后面提到的工作者线程是被分开管理的,并且专用于磁盘I/O操作。在磁盘操作上采用了两种成熟的启发式预读技术:连续预读和随机预读来提高磁盘操作速度。连续预读指如果GBase 8s发现对于表空间段的访问是连续的,它就会提前向I/O系统申请对数据库页面的成批读取。随机预读是指当GBase 8s发现对表空间中的一些空间需要完全读到缓冲池中进行处理时,那么向I/O系统申请对剩余空间的读请求。
GBase 8s可以使用一个“裸磁盘”分区作为一个表空间数据文件,通过使用裸盘,而不经过文件系统执行非缓存I/O,从而改进性能。
2、可配置的多工作者线程处理能力
GBase 8s系统允许用户配置工作者线程的数目,这些线程是整个系统公用的,不会专门属于某个数据库连接。无论任何原因造成的数据库操作被阻塞(如锁等待),那么相应的工作者线程将会立即被用于执行其他的数据库操作,而不会被阻塞。此外,对于单CPU和多CPU设备,系统会合理的进行线程对内存和数据等物理资源的共享使用,因此能达到很好的并发处理能力。
3、高效的事务并发控制和管理机制
GBase 8s在事务处理上采用以行级为主、表级为辅的锁技术来实现高效的事务处理。这些技术在保证事务ACID特征的前提下大大提高了事务的并发处理能力。
GBase 8s通过对死锁监测,会自动检测一个事务的死锁并回滚一个或多个事务来防止死锁,并设法提取小的