数据保护机制:
Disk Arrays -磁盘阵列,Teradata用到的有RAID1和RAID5技术;
RAID1的特点:数据镜像,提供最好的数据可用性和性能,但是空间损失很高;
优点:数据可用性最高,更高的读能力,写操作没有性能损失,快速恢复能力;
缺点:50%的空间损失。
RAID5的特点:奇偶校验数据保护,最小空间损失情况下的高数据可用性,一般用在大部分的I/O是读操作且存储空间比较紧张的情况下。
优点:在空间损失为25%的情况下提供高可用性;
缺点:写性能有所下降,数据恢复时性能下降。
综上所述,RAID1一般用在典型的Teradata数据仓库环境,如活动的数据仓库,RAID5一般用在创建归档数据仓库,因为它一般对性能要求不高但是对空间要求较高。
Clique - node 级的容错机制,通过Vproc Migration技术,当一个TPA节点失败时,Teradata自动重启然后原来运行在失败节点上的Vproc漂移到clique内的其它节点上运行,AMP Vproc根据系统配置(vconfig.out)漂移到相应的节点上,PE Vproc的漂移根据以下原则:渠道连接的PE不需要漂移到其他节点,网关连接的PE(根据配置)可能或者不会漂移到其它节点。可以通过Get Config命令查看当前Vproc运行在哪个节点下。当失败的节点修复后,需要一次机器重启才能让修复的节点恢复作用。大clique通过光纤交换机连接节点和磁盘阵列。为避免节点漂移带来的性能下降,可以采用Hot StandBy Node方式,当某节点失败后,Teradata自动重启,失败节点上的Vproc全部移到Hot StandBy Node上,当失败的节点修复后,变成Hot StandBy Node节点,不需要重启机器。
Locks -保证数据一致性,防止多个用户同时修改相同的数据。
四种类型的锁:
Exclusive–prevents any other type of concurrent access
Write–prevents other reads, writes, exclusives
Read–prevents writes and exclusives
Access–prevents exclusive only
锁被应用的级别:
Database–applies to all tables/views in the database
Table/View–applies to all rows in the table/views
Row Hash–applies to all rows with same row hash
基于 SQL 命令自动获得的锁类型:
SELECT–applies a Read lock
UPDATE–applies a Write lock
CREATE TABLE–applies an Exclusive lock
可以通过下面命令降低或者提高锁等级,可以提高所有等级的锁,降低锁等级只可以把Read 降为Access,其它等级不能降低,例,
LOCKING ROW FOR ACCESS SELECT * FROM Table_A;
LOCKING TABLE Table_B FOR EXCLUSIVE UPDATE Table_B SET A = 2007;
LOCKING TABLE Table_C FOR WRITE NOWAIT UPDATE Table_C SET A = 2008;
Fallback - AMP级的容错机制,可以在数据库级和表级定义。当一个AMP因为硬件或软件的原因掉线的时候,使用Fallback机制的表对用户都是可用的,当此AMP被修正并重新上线时,关联的Vdisk上的数据根据Down-AMP Recovery Journal自动恢复。Fallback是通过把每行记录拷贝一份放在不同的AMP上来实现的,它是出了磁盘阵列RAID技术以外的又一层数据保护机制,优点是当一个AMP掉线时保证数据的可用性,当掉线的AMP上线后自动恢复数据,适用于对可用性要求很高的应用;缺点是表存储需要一倍的磁盘空间,当增删改操作时需要一倍的I/O。Fallback Clusters 是一组AMP,某一AMP上的数据只能在组内其它AMP上备份,不能超出本Cluster。
Down-AMP Recovery Journal –当一个AMP掉线时自动激活,由Cluster内其它AMP维护,这时表更新仍可正常进行,Journal记录下down-AMP中有修改的记录的Row ID,当AMP重新上线时,利用日志使其上的数据恢复到当前状态,恢复完成后Journal被丢弃。
Transient Journal –事务级的数据完整性保护机制,当事务失败后提供自动回滚的机制,它是自动记录的,对用户是透明的,记录的是当前事务中所有受影响的记录的前镜像,当事务失败时,它被用来回滚,结束后被自动删除。
Permanent Journal –一种可选的,用户自定义的,系统维护的日志,利用它可以恢复数据库到一个特定的时点的状态。一般用在软硬件故障后得使用它进行恢复,它只记录数据变化的日志,所以比全表备份节省空间,可以用在没有使用Fallback机制表的恢复上,需要用户操作来完成备份和恢复工作。
ARC –ARC 脚本可以对Teradata数据库进行备份和恢复,可以在Teradata数据库上备份和恢复数据,可以从存档介质上恢复和拷贝数据,可以使用Permanent Journal恢复数据到某特定时点。
NetVault/NetBackup –NetVault和NetBackup提供一个图形化的界面来创建和执行ARC脚本,是第三方合作伙伴提供的工具。