事务日志记录
利用 SmartEDB IMDS 和事务日志获得性能优势。
SmartEDB 事务日志记录通过将数据库更改写入持久性介质上的事务日志,为内存数据库增添了恢复能力。日志记录可设置为不同级别的事务持久性,这使系统设计人员能够在性能和无法恢复事务的风险之间做出明智的权衡。
事务日志记录是一个过程,它会将对数据库(由事务进行)所做的更改按更改发生的时间顺序记录下来。启用事务日志记录后,SmartEDB 运行时会捕获数据库更改,并将其写入一个称为事务日志的文件中。如果出现硬件或软件故障,SmartEDB 运行时可以使用日志恢复数据库。通过定期检查点执行日志记录,在此期间将内存数据库(IMDS)的映像保存到持久存储中,并将对数据库的所有中间更改写入日志文件。通过这种方式,RAM 数据库得以持久化。
事务日志记录不会改变 SmartEDB 的全内存架构,该架构仍比基于磁盘的数据库具有性能优势。读取性能不受事务日志记录的影响,而写入性能将远远超过传统基于磁盘的数据库的写入性能。
原因很简单:SmartEDB 事务日志记录对于一个数据库事务而言,对文件系统仅需执行一次写入操作。然而,基于磁盘的数据库每笔事务(数据页、索引页、事务日志等)都会执行多次写入操作,而且事务规模越大,修改的索引越多,所需的写入操作也就越多。
为了将性能影响降至最低,SmartEDB 为开发人员提供了他们所需的全部控制手段,以便在考虑持久性和性能的情况下对应用程序进行调整。许多 SmartEDB 事务日志记录功能都已参数化,这样程序员就能调用最适合其应用程序场景的功能。例如,事务日志记录可在运行时开启或关闭,而且开启时,日志记录可设置为不同的事务持久性级别,这使得系统设计人员能够在性能和无法恢复的事务风险之间做出明智的权衡。
事务日志记录还包含 SmartEDB 数据中继技术,该技术有助于从基于 SmartEDB 的嵌入式系统到外部系统(如企业数据库管理系统)实现无缝、细粒度的数据复制,以及 SmartEDB 的事件持久队列。(使用 SmartEDB 的主动复制结构、高可用性或集群在 SmartEDB 实例之间进行复制。)
