📜  Teradata空间概念

📅  最后修改于: 2021-01-11 11:30:26             🧑  作者: Mango

Teradata空间概念

Teradata旨在减少涉及空间管理的DBA的管理职能。在Teradata系统中,以以下方式配置空间概念。

  • 永久空间
  • 线轴空间
  • 临时空间

永久空间(彼尔姆空间)

永久空间是用户和数据库用来保存数据行的最大空间量。永久表,日记帐,后备表和二级索引子表使用永久空间。

没有为数据库和用户预先分配永久空间。永久空间的数量除以AMP的数量。每当超出每个AMP限制时,就会生成一条错误消息。

必须进行平均分配,因为在所有AMP之间共享对象的比例很高,并且在数据检索时,所有AMP将并行工作以获取数据。

与其他关系数据库不同,Teradata数据库在创建对象时并未物理定义Perm空间。取而代之的是,它表示Perm空间的上限,然后对象将动态使用Perm空间。

假设我们有一个Teradata系统,具有500 GB的Perm空间。最初,DBC拥有新系统的烫发空间的100%。就像在Teradata中一样,一切都是并行的。烫发空间将在所有AMP中平均分配。

Teradata系统具有500GB的烫发空间和5个AMP,如果DBC创建两个分别为sysdbaappdba的用户(分别具有20GB和100GB的烫发空间),则每个AMP将获得100GB的烫发空间来并行执行查询。

空间将从父级(即DBC)中获取。因此,现在DBC拥有280GB的烫发空间。该机制确保有足够的内存来执行Teradata系统中的所有进程。

线轴空间

假脱机空间是系统上尚未分配的空间量。系统使用它来保留SQL查询的中间结果。没有假脱机空间的用户无法执行任何查询。

执行条件查询时,所有满足给定条件的合格行都将存储在假脱机空间中,以供查询进一步处理。当前未分配的任何彼尔姆空间都可以用作后台打印空间。

假脱机空间定义了用户可以使用的最大空间量。创建用户和数据库时,不需要建立后台打印空间限制。但是强烈建议为任何对象定义假脱机空间的上限。

假设已为数据库分配了10GB的永久空间。但是,表实际占用的烫发空间占烫发空间的50%,即5GB。

剩下的5GB空间可用于系统范围的线轴。子代的假脱机空间不会从其直接父代中减去。子数据库假脱机空间可以与其父数据库相等。 sysdbaappdba的假脱机空间与DBC相同。

临时空间

临时空间是全局临时表使用的未使用的永久空间。临时空间也除以AMP的数量。

未使用的Perm空间用作存储表及其中数据的Temp空间。如果我们为临时空间指定一些值,则该值不应超过父数据库和用户的值。

如果我们不指定值,那么最大值将从父级继承。