- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Teradata数据库的数据分配研究
摘要Teradata数据库自发明至今已经经历了许多 重大转变,已经从版本1 (Teradata VI)发展到了目前的版 本2 (Teradata V2R4),运行平台也已经从封■闭的专用系统 转变到了开放的通用系统,但是最基本的体系结构是一致 的,始终遵从非共享原则。主要体系有单点SMP体系结构, 多节点MMP体系结构。
【关键词】Teradata数据库数据分配
Teradata的体系结构
自诞生以来,Teradata数据库经历了许多重大转变,仅 从版本号上看,就从Teradata VI发展到了 Teradata V2R4; 从运行平台上看,也从封闭转为开放,由最初只能在专用系 统上封闭使用发展到了如今可以在开放的通用系统上使用, 在设计上和实现上遵从非共享(share nothing)的体系结 构。
Teradata数据库的数据分配机制
Teradata数据库采用哈希算法作为数据分配机制。将标 的主索引作为哈希算法的输入值,并且利用一个矩阵结构的 HASHMAP,将哈希运算计算出来的输出值通过此矩阵与系统 中的各个AMP进行影射。
在Teradata数据库中,用户与数据库是不一样的两个
概念。
数据库是一个可管理的对象或者单元,它由表、视 宏等基本对象组成,并有相应的访问权限来控制客户端的操 作。与此同时,数据库也常用来表示由RDBMS管理的整个系 统,因此容易引起混淆,具体意义应根据上下文来确定。
数据库有一个重要概念一一PERMANENT SPACE (简称为 PERM SPACE),即永久空间。在创建数据库时,需要定义其
物理存储空间 也就是真正用来存储空间的上限 的
大小,这就是PERM SPACEo PERM SPACE虽然用来存储真正 的数据记录,但它只是一个逻辑概念,并没有预先分配。当 数据库的尺寸超出PERM SPACE的限制时,有的数据库需要 重新规划、分区之后再加载数据,而Teradata数据库最重 要和吸引人的特性之一便是它不用这样做,只要系统中还有 多余的空间,就可以动态修改PERM SPACE值,而不需做任 何数据库重组的操作,这对于数据库管理员而言是非常有意 义的。
除了 PERM SPACE以外,数据库还有另外一个概念SPOOL SPACE,它也是逻辑上的一个概念,表示该数据库使用的 SP⑻L空间不能超过此上限。SP⑻L空间用于存储系统处理 交易请求的一些中间结果。和永久空间一样,SPOOL空间也 不是预先分配的。事实上,整个系统中的空余空间都可以用 作 SPOOLo
让我们举一个例子来说明PERM SPACE和SPOOL SPACE: 假设一个Teradata系统所拥有的永久空间为2GB,共有3个 数据库A、B、C,其永久空间定义均为500MB,SPOOL空间定 义均为200MB,实际已使用的空间分别为400MB、300MB和 200MB。这样,系统中尚未分配的永久空间为:
2000MB 令 500MB 令 500MB 令 500MB = 500MB
系统中尚空闲的永久空间为:
2000MB ? 400MB ? 300MB ? 200MB = 1100MB
A、B、C三个数据库尚能使用的永久空间分别为:
TOC \o 1-5 \h \z 500MB 400MB = 100MB
500MB 300MB = 200MB
500MB 200MB = 300MB
当某个数据库继续增长时,比如往数据库A中再增加约 100MB数据,系统将提示空间溢出。此时,可以通过MODIFY DATABASE命令从系统中尚未分配的500MB永久空间中分配一 定的存储空间给数据库A。
另外,对每个数据库定义了 2⑻MB的SPOOL SPACE,表 示在此数据库上的操作能使用的临时空间不能超过200MB。 系统在处理交易请求时,临时空间的使用是在什么存储位 置,则视实际情况而定。换言之,系统中未分配数据记录的 永久空间为1100M,这些永久空间均可动态地被用作SPOOL
SPACEo
对每个数据库定义一个SPOOL SPACE,只是为了安全上 的考虑,防止不适当的数据库操作将系统中的未分配空间耗 尽,从而影响其它用户的使用。举例来说,如果数据库A的 SPOOL SPACE定义为10⑻MB,针对数据库A的一个复杂查询 可能没有设计好,比如对两个大表的连接操作是所谓的笛卡 尔乘积(Product Join),这时A的SPOOL SPACE很快就会 到达极限,如果系统中能使用的SPOOL空间总共只剩下 100MB,而此时恰好有其它用户同时在访问数据库,就一定 会产生SP⑻L空间溢出,无法处理交易请求。因此,在定义 数据库时,除了适当控制永久空间外,也必须合理地定义其 SPOOL空间。
创
原创力文档


文档评论(0)