Teradata的数据保护

同其他的数据库系统相比,Teradata数据库提供了更多的数据保护措施。概括起来有以下几种:锁保护、fallback机制、Recovery Journals、Cliques、Transient Journal、ARC工具、Permanent Journal,当然还有最底层的RAID技术,不过RAID技术与Teradata本身无关,这里不做说明。

[@more@]

一、Locks
锁可以防止多用户在同一时刻试图修改同一数据而影响数据的完整性。这种并发控制是通过锁定目标数据来实现的。锁是在请求操作的同时自动加载的,在请求完成后自动释放。另外,用户是可以改变锁的类型。有四种类型锁:

有四种类型的锁
Exclusive --- 防止其他任何类型的并行访问
--- 只应用于DATABASE和TABLE,而不应用于行
--- 限制最高
Write --- 防止其他的Write、Read、Exclusive锁
Read --- 防止其他的Write、Exclusive锁
Access --- 只防止其他的Exclusive

锁可以应用有三个数据库级别
Database --- 应用到数据库中所有的Table/View
Table/View --- 应用到Table/View中所有的行
Row hash – 应用到所有具有相同哈希值的行

锁的类型根据SQL命令自动施加
Select –- 施加Read锁
Update --- 施加Write锁
Create Table --- 施加Exclusive锁

DW中最常用的为Access锁
ACCESS锁优点:
在多用户环境中,容许用户快速访问表
对其他的访问产生最小的影响
对访问大量行数据非常有用
ACCESS锁缺点:
在维护表的同时执行ACCESS锁,可能产生不一致或不正确的数据。

二、fall back protection
cluster:作为一个独立的fallback活动单元一组AMPs。
Fallback保护是在同一Cluster中其他的AMP上保存一份相同的记录来达到保护数据的目的。如果一个AMP失效,系统就会访问Fallback的记录。Fallback机制在表的级别上提供了AMP的容错能力。在Fallback下,如果一个AMP失效,AMP上的数据仍然可用。用户可以继续使用Fallback的表,而不会丢失任何数据。
建表的时候或建表以后,都可以进行表的Fallback保护定义。如果定义了Fallback保护,它的保护是自动和透明的。
Fallback容许在不同的AMP上有两条相同的记录。如果其中的一个AMP失效,另一个AMP上的记录仍然可用。
这样的好处就是保护了用户的数据,但是也带来了额外的开销。包括两倍的磁盘空间、两倍的Insert、Update、Delete的I/O开销(Fallback选项对于Select操作不需要额外的I/O开销)。

在一个AMP不可用时,一张FALLBACK保护的表仍然可用
一个FALLBACK记录是主记录存在其他AMP上的副本
FALLBACK优点:
在AMP下线期间仍然可以正常访问数据
在磁盘阵列RAID保护的基础上增加了一层数据保护
自动存储
高可用性
FALLBACK开销
两倍的库表存储开销
两倍INSERT、UPDATE、DELETE的I/O开销
注意:如果在同一个CLUSTER中失效两个AMP则RDBMS会停掉

FALLBACK集群是AMP集群,它担当独立的FALLBACK单元。集群对表中行的分布没有影响。FALLBACK行只复制到同一集群中的其他AMP上。
集群的大小可以通过TERADATA控制工具设置,从2个AMP到16个AMP不等(在同一系统中集群的大小是可以不相等的)。例如将8个AMP系统被分成2个集群,每个集群有4个AMP。
如果一个AMP出错,存储在这个AMP上的主行和FALLBACK行是不可以访问的。但是这些行的副本在同一集群中的其他AMP上是可用的。
在一集群中失效一个AMP对其他的集群是没有影响的
如果在集群中失效一个AMP,仍然可以完全访问所有FALLBACK保护的表。
如果在同一集群中失效两个AMP,则整个数据库系统将停掉
当一个AMP失效后,同一集群中的其他AMP出了完成自己以前的工作,还要完成Down掉AMP的工作。集群越大,如果一个AMP Down掉后对其他AMP负载的增加影响就越小。但是集群越大,坏两个AMP的几率就更大,而使整个数据系统停掉的可能性就越大。

FALLBACK保护集群定义为独立的AMP容错单元
集群中的FALLBACK行必须在同一个集群中
集群中一个AMP失效仍然可以访问表中的数据
在同一集群中同时有两个AMP失效,数据库系统停掉

Fallback vs. Non-Fallback Tables
Fallback tables
Fallback保护表的一个主要好处就是它的可用性和可恢复性。在一个AMP失效的情况下,仍然是所有的数据可以被访问。任何一组中坏掉两个AMP,则系统停掉。在这种情况下,必须手动重起系统。由于Fallback行数据的存在,FALLBACK表很容易恢复。
Non-Fallback Tables
没有Fallback保护的表会受到一个AMP坏掉的影响。表还是可以被访问的,但是只能访问在线的AMP上的数据。单AMP的主索引访问是可能的,但是全表扫描是不可以的。没有受FALLBACK保护的表,如果遇到问题,只能从其他的存储介质上重新导入。

Fallback and Disk Arrays
Fallback保护表的应用经常涉及到磁盘阵列保护的问题。通过镜像机制,RAID1为每一个数据行提供了一个备份。Fallback在RAID1之上增加了一层保护,但是某些实施案例这些开销是不可以承受的。
RAID1加Fallback保护提供了最高级别的数据保护。甚至在整个Rank失效的情况下,系统都是可用的。
RAID5加Fallback保护被普遍应用,可以对失去两个磁盘以下的情况进行保护。
因为系统每天要24个小时,每星期要7天地不停运行,推荐Fallback以减少系统的Down机时间。

三、Recovery Journals for Down AMPs(失效AMP的恢复日志)
任何AMP Down掉后,恢复日志会自动启动,来记录AMP在Down掉期间的所有行变化,对失效AMP的insert,update,delete等操作都被应用于同一集群中的Fallback备份。拥有Fallback备份的AMP会将变化的ROW_ID记录到恢复日志中。
这种操作一直进行到Down掉的AMP重新上线为止。做为重新启动的一部分,系统将读取日志,并将变化应用到重起的AMP。在恢复完成后,日志将被丢弃。

恢复日志是:
当AMP DOWN掉后自动启动
由同一FALLBACK组中的其他AMP维护
对系统用户来说是透明

AMP下线期间:
日志是活动的
表可以正常进行UPDATE操作
日志记录DOWN掉AMP变化的行的ROW_ID

AMP重起上线
重新存储行的变化到当前的状态
日志恢复完成后被删除


四、Cliques
共享一个磁盘阵列两个或更多的TPA (Trusted Parallel Application)节点称为一个clique.
Cliques只对UNIX系统适用。一个CLIQUE可以包含2到8个节点。通常建议每个CLIQUE 4个节点。
AMP虚拟进程可以运行在同一CLIQUE中的任何一个节点上,可以完全访问到磁盘阵列的所有空间。
在同一个CLIQUE中,多节点之间都可以通信。
在MPP系统中的一个CLIQUE中如果坏掉一个节点或磁盘,就算在没有FALLBACK保护情况下,MPP系统仍然可以运行。如果在同一CLIQUE中的不同节点上丢失了AMP虚拟进程,则系统要重起。当节点恢复后,将会把AMP转移给原来的节点。例如7x24系统,FALLBACK选项建议最小化系统磁盘的DOWN机时间。


五、Transient Journal /临时日志
临时日志容许事务可以成功回滚(TXN)。事务在AMP没有收到结束请求是不能提交给数据的,无论是隐式还是显式。事务有可能失败,如果这样,涉及到的数据表就必须恢复到事件前的状态。
临时日志维护一张事务影响的数据行的副本。如果事务失败,事务前的数据副本就会应用到受影响的表上,然后从日志中删除,回滚操作完成。如果事务提交成功,则将在事务提交前的数据副本从日志中删除。

1)由事务前的视图组成
2)在事务TXN失败后自动回滚到事务前的状态
3)是自动和透明的
4)如果TXN失败则前试图应用到表
5)如果TXN完成则丢弃日志

六、备份和恢复数据
ARC工具
ARC工具可以备份和重新加载数据库对象,这样就可以恢复被损坏和丢失的数据。成功从其他介质重新存储对象有几方面:、
在磁盘错误后,恢复没有FALLBACK的表
恢复由于批处理产生不正常状态而被损坏的表
恢复那些被用户不慎删除的TABLE、VIEW和MACRO
各种用户损坏或删除的数据对象
ASF2工具
ASF2以X-WINDOWS的形式提供了编写、执行ARC命令脚本的前端工具。它是为运行在UNIX节点或工作区设计的。

七、Permanent Journal(永久日志)
永久日志的目的是提供一种可以将整个数据库恢复到一个特定的时间点的选择。可以恢复各种不可预料的软硬件错误。永久日志也可以减少全表备份而产生高昂的时间和资源开销。
永久日志是可选的,而且永久日志是由用户自己因特殊需要来创建的。永久日志包括两种前像日志(回滚)和后像日志(前滚)。此外,用户必须自己手工设定是单像还是双像。
多张表或多个数据库可以共享同一永久日志。日志并发获取标准表的维护和查询的镜像。额外的磁盘空间需要计算以保证有充足的磁盘空间可以使用。
日志需要定期放到其他的介质上。这样就减少了全表备份的需要,只需备份变化就可以了。

永久日志:
永久日志可以使数据库恢复到一个特定的时间点,是可选项,用户自定义的,系统维护的日志。
是为了针对意想不到的软硬件灾难而备份数据
可以指定
---一张或多张表
---一个或多个数据库
可以建立前像日志使数据库回滚
可以建立后像日志是数据库前滚
表维护期间可以备份表改变的镜像
减少全表备份的需要
提供一种无Fallback表的恢复方式
需要额外的磁盘空间来存储变化的镜像
需要用户干预备份和恢复行为,应该被定期释放来节省磁盘空间

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16723161/viewspace-1026293/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/16723161/viewspace-1026293/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第一章 数据仓库基本概念 1 1.1 背景介绍 1 1.2 OLTP与OLAP 1 1.3 数据仓库系统的查询特点 2 1.4 详细数据与小结数据(DETAIL DATA与SUMMARY DATA) 3 1.5 数据仓库与数据集市(DATA WAREHOUSE与DATA MART) 4 1.6 TERADATA的出现 6 1.7 如何衡量数据仓库引擎 7 1.7.1 TPC-D 7 1.7.2 TPC-H/R 14 1.8 NCR可扩展数据仓库方法论与实施框架 15 1.8.1 NCR可扩展数据仓库方法论 15 1.8.2 NCR可扩展数据仓库框架 18 1.8.3 NCR可扩展数据仓库合作伙伴 19 第二章 TERADATA关系型数据库管理系统概要 21 2.1 TERADATA数据库的设计思想 21 2.2 TERADATA数据库的体系结构 21 2.2.1 Teradata V1/DBC体系结构 21 2.2.2 Teradata V1/NCR 3600体系结构 23 2.2.3 开放的Teradata V2/SMP体系结构 27 2.2.4 Teradata V2/MPP体系结构 29 2.3 TERADATA 的 并 行 处 理 机 制 33 2.4 WINDOWS平台的TERADATA数据库 34 2.5 TERADATA多媒体数据库 35 第三章 TERADATA数据库的数据分配机制 36 3.1 哈希算法、主索引、与数据分配 36 3.2 TERADATA数据分配示例 37 3.3 主索引与表的创建 38 3.4 哈希冲突与不唯一主索引 39 3.5 TERADATA数据库系统的在线升级 40 第四章 TERADATA数据库的数据访问机制 42 4.1 基于主索引的数据访问 42 4.2 基于唯一次索引USI的数据访问 43 4.3 基于非唯一次索引NUSI的数据访问 44 4.4 全表扫描 46 4.5 总结 47 第五章 如何选择主索引 49 5.1 TERADATA数据库中的AMP与PDISK 49 5.2 数据记录的分配 50 5.3 选择主索引的基本原则 52 第六章 数据库的空间管理、用户管理、访问权限 54 6.1 TERADATA中的用户与数据库 54 6.1.1 数据库 54 6.1.2 用户 56 6.2 TERADATA数据库的层次型结构 56 6.3 拥有者(OWNER)与创建者(CREATOR) 58 6.4 TERADATA数据库的访问权限 59 6.4.1 访问权限概述 59 6.4.2 显示权限 65 6.4.3 监控权限 65 6.4.4 如何检查一个用户或数据库的权限 66 6.4.5 GRANT命令的操作 68 6.4.6 REVOKE命令的操作 69 第七章 数据保护与恢复 70 7.1 锁(LOCK) 70 7.2 优先权(PRIORITY) 72 7.3 交易完整性(TRANSACTION INTEGRITY) 73 7.4 临时流水(TRANSIENT JOURNAL) 74 7.5 永久流水(PERMANENT JOURNAL) 74 7.6 FALLBACK保护 75 第八章 客户端访问TERADATA数据库的方法 77 8.1 概述 77 8.2 TERADATA数据库的编程接口 78 8.2.1 调用层接口CLI 78 8.2.2 嵌入式预处理器 78 8.2.3 ODBC 78 8.3 TERADATA应用工具 79 8.3.1 BTEQ 79 8.3.2 FastLoad 80 8.3.3 MultiLoad 80 8.3.4 FastExport 81 8.3.5 TPump 81 第九章 使用TERADATA的主要客户分析 82 9.1 零售业 82 9.2 消费品制造与零售业供货商 83 9.3 货运业 83 9.4 客运业 84 9.5 电信业 85 9.6 健康保险业 86 9.7 金融业 87 9.8 共用事业类 88 9.9 其它行业 88 附录一 CLIENT/SERVER结构下的TERADATA数据库 99 附录二 TERADATA ODBC驱动程序设置 100 附录三 QUERYMAN介绍 102 附录四 WINDDI介绍 106
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值