Teradata 数据保护

17 Mar 2025 | 6 分钟阅读

Teradata 拥有许多防止潜在数据丢失的功能。这些功能中的每一个都以不同的方式和不同的粒度级别来保护数据。一些保护过程是自动的,而另一些则**可选**。

以下是 Teradata 中可用于数据保护的一些功能。

  1. RAID
  2. 镜像(Fallback)
  3. 集群(Cliques)
  4. 日志(Journals)
  5. 热备节点(Hot Standby Nodes)

RAID

RAID 机制用于保护数据免受磁盘故障的影响。磁盘阵列由一组磁盘组成,这些磁盘被分组为一个逻辑单元。这个单元对用户来说看起来像一个单一单元,但它可以分布在多个磁盘上。

RAID 1 常用于 Teradata。在 RAID 1 中,每个磁盘都与一个镜像磁盘相关联。主磁盘上的任何数据更改都会反映在镜像副本中。如果主磁盘发生故障,则可以从镜像磁盘访问数据。

虽然每个 AMP 恰好有一个虚拟磁盘 (VDISK) 分配,但多个物理磁盘构成了这个 VDISK。一半的磁盘存储镜像数据。

与镜像保护一样,其成本是使用两倍的磁盘空间。

RAID 1 配置可确保提高数据可访问性和安全性。如果单个磁盘发生故障,数据将从镜像磁盘提供服务。只有当主磁盘和镜像磁盘都发生故障,并且没有启用镜像保护时,数据才会丢失。

Teradata Data Protection

镜像(Fallback)

镜像(Fallback)通过将表的行的第二个副本存储在另一个称为镜像 AMP 的 AMP 上来保护表数据。如果一个 AMP 发生故障,则会访问镜像行。这样,即使一个 AMP 发生故障,数据仍然可以通过镜像 AMP 访问。镜像选项可以在表创建时或表创建后使用。

镜像(Fallback)确保表的行的第二个副本始终存储在另一个 AMP 上,以保护数据免受 AMP 故障的影响。但是,镜像会占用两倍的存储空间,并且在插入、删除或更新时会增加 I/O。

镜像(Fallback)保护的优点是,在 AMP 发生故障时,数据可能仍然可用,因为辅助 AMP 将接管其任务,直到故障 AMP 恢复联机。

只有在极不可能的情况下,备份 AMP 也发生故障,您的表最终将变得不可访问。

下图显示了行的镜像副本是如何存储在另一个 AMP 中的。

Teradata Data Protection

为了实现最大的保护,AMP 被分组到集群中。主 AMP 和镜像 AMP 始终属于同一个集群并相互保护。

主 AMP 和镜像 AMP 绝不会物理上存储在同一个节点上,这是一个谨慎的设计选择,考虑了硬件故障的性质。即使整个节点发生故障,镜像保护仍然允许我们访问数据!

集群(Cliques)

集群(Clique)是 Teradata 用于保护数据免受节点故障的机制。集群只是一组 Teradata 节点,它们共享一组公共磁盘阵列。当一个节点发生故障时,故障节点的 AMP 将迁移到属于同一集群的另一个节点,并保持完全功能,继续访问其磁盘阵列。

这种保护机制为 Teradata 系统增加了另一层安全性。

为了消除这种限制,Teradata 提供热备节点来接管故障节点的 AMP。

由于这些 AMP 在常规业务过程中不参与常规操作,因此不会出现性能下降。在 AMP 迁移发生之前,需要进行系统重启,一旦故障节点重新联机,还需要再次重启。

日志(Journals)

系统中保留日志(Journals)是为了在组件或进程发生故障时提供数据可用性。Teradata 中有以下类型的日志:

1. 恢复日志 (Recovery Journal): Teradata 数据库使用恢复日志来在自动发生以下情况时维护数据完整性:

  • 中断的事务。
  • AMP 故障。

恢复日志由系统自动创建、维护和清除,因此不需要 DBA 干预。

恢复日志是像用户数据一样存储在磁盘阵列上的表,因此它们会占用系统的磁盘空间。

2. 宕机 AMP 恢复日志 (Down-AMP Recovery Journal): 宕机 AMP 恢复日志允许在 AMP 宕机期间继续系统运行。

宕机 AMP 恢复日志与镜像保护的表一起使用,用于记录在故障 AMP 不可用期间发生的写入事务(更新、创建、插入、删除等)。

Teradata Data Protection

当集群中的 AMP 丢失后,宕机 AMP 恢复日志会自动启动。对故障 AMP 上数据的任何更改都会被该组中的其他 AMP 记录到宕机 AMP 恢复日志中。

当故障 AMP 重新联机时,重启过程包括将宕机 AMP 恢复日志中的更改应用于已恢复的 AMP。一旦过程完成,并且 AMP 重新联机并完全恢复,日志将被丢弃。

3. 瞬态日志 (Transient Journal): 瞬态日志在飞行中事务中断时维护数据完整性。事务失败后,数据将恢复到其原始状态。

瞬态日志在系统正常运行时用于保存更改行的“前映像”,以便在事务未完成时恢复数据到其先前状态。当发生更改时,这会在每个 AMP 上发生。当事务启动时,系统会将事务自动影响的所有行的副本存储在瞬态日志中,直到事务完成。

事务完成后,“前映像”将被清除。如果事务失败,“前映像”将被重新应用于受影响的表,从日志中删除,然后完成“回滚”操作。

4. 永久日志 (Permanent Journal): 永久日志是一项可选功能,用于提供额外的数据保护级别。我们可以指定在表级别使用永久日志。它可以在特定时间点提供完整的表恢复。它还可以减少昂贵且耗时的全表备份的需求。

永久日志是像用户数据一样存储在磁盘阵列上的表,因此它们会占用额外的磁盘空间。数据库管理员负责维护永久日志条目,例如删除、存档等。

可以提前计算所需的额外磁盘空间,以确保充足的资源。数据库管理员必须将永久日志保留到外部介质,从而减少了全表备份的需求,因为备份的是更改而不是整个数据库。

热备节点(Hot Standby Node)

热备节点是一个不参与生产环境的节点。

Teradata 数据库可以使用备用节点来提高可用性并在节点故障时保持性能水平。如果节点发生故障,则来自故障节点的 **vprocs** 将迁移到热备节点。

一旦故障节点恢复,它就成为热备节点。热备节点用于在节点发生故障时保持性能。

当故障节点恢复并重新启动后,它就成为新的热备节点。不需要第二次 Teradata 重启。

热备节点具有以下特征:

  • 集群的成员节点。
  • 热备节点通常不参与可信并行应用程序 (TPA)。
  • 当集群中的节点发生故障时,可以将其引入配置。
  • 有助于解决计划外停机。
  • 它还消除了将故障节点重新投入使用的重启需求。

下一个主题Teradata 存储过程





Youtube 关注我们的Youtube频道获取视频:立即加入

反馈


帮助他人,请分享

facebooktwitterpinterest

学习最新教程


准备


热门技术


B.Tech / MCA