• SAP HANA Video Tutorials

SAP HANA - 持久层



SAP HANA 数据库持久层负责管理所有事务的日志,以提供标准数据备份和系统恢复功能。

它确保数据库可以在重新启动或系统崩溃后恢复到最近提交的状态,并且事务要么完全执行,要么完全撤消。SAP HANA 持久层是索引服务器的一部分,它具有 HANA 系统的数据和事务日志卷,并且内存中的数据定期保存到这些卷中。HANA 系统中有一些服务拥有自己的持久性。它还为从最后一个保存点开始的所有数据库事务提供保存点和日志。

为什么 SAP HANA 数据库需要持久层?

  • 主内存是易失性的,因此在重新启动或断电期间数据会丢失。

  • 数据需要存储在持久介质中。

  • 提供备份和恢复功能。

  • 它确保数据库在重新启动后恢复到最近提交的状态,并且事务要么完全执行,要么完全撤消。

数据和事务日志卷

数据库始终可以恢复到其最新状态,以确保对数据库中数据的这些更改定期复制到磁盘。包含数据更改和某些事务事件的日志文件也定期保存到磁盘。系统的日期和日志存储在日志卷中。

数据卷存储 SQL 数据和撤消日志信息,以及 SAP HANA 信息建模数据。此信息存储在数据页中,称为块。这些块以定期时间间隔写入数据卷,这称为保存点。

日志卷存储有关数据更改的信息。在两个日志点之间进行的更改将写入日志卷并称为日志条目。当事务提交时,它们将保存到日志缓冲区。

保存点

在 SAP HANA 数据库中,更改的数据会自动从内存保存到磁盘。这些定期间隔称为保存点,默认情况下,它们设置为每五分钟发生一次。SAP HANA 数据库中的持久层以定期间隔执行这些保存点。在此操作期间,更改的数据将写入磁盘,并且重做日志也将保存到磁盘。

属于保存点的数据指示磁盘上数据的一致状态,并在下一个保存点操作完成之前保留在那里。所有对持久数据的更改都会将重做日志条目写入日志卷。如果数据库重新启动,则可以从数据卷读取上次完成的保存点的数据,以及写入日志卷的重做日志条目。

可以通过 global.ini 文件配置保存点的频率。保存点可以由其他操作(如数据库关闭或系统重新启动)启动。您还可以通过执行以下命令来运行保存点:

ALTER System SAVEPOINT

要将数据和重做日志保存到日志卷,您应该确保有足够的磁盘空间来捕获这些日志,否则系统将发出磁盘满事件,数据库将停止工作。

在 HANA 系统安装期间,以下默认目录将创建为数据和日志卷的存储位置:

  • /usr/sap/<SID>/SYS/global/hdb/data
  • /usr/sap/<SID>/SYS/global/hdb/log

这些目录在 global.ini 文件中定义,可以在以后阶段更改。

请注意,保存点不会影响在 HANA 系统中执行的事务的性能。在保存点操作期间,事务将继续正常运行。如果 HANA 系统在适当的硬件上运行,则保存点对系统性能的影响可以忽略不计。

广告