0

在基于 Teradata 构建的数据仓库中,我如何知道整个数据仓库中有多少个数据库,仓库中有多少个数据集市,哪些数据库的表最多,哪些数据库最常用。这当然是一个编程问题,因为我问的是如何查询 Datawarehouse 以获得所需的信息。

我想了解一下数据仓库。类似的信息或建议肯定会有所帮助——我应该注意什么?什么是数据仓库的“心脏”。当您开始使用全新的 Datawarehouse 时,您首先需要查看的是什么?

4

2 回答 2

4

转至Teradata 文档网站,找到您正在使用的 Teradata 版本的“数据字典”一书。有许多可用的字典视图。

包含环境中所有数据库的特别称为“dbc.databases”,因此运行以下命令:

select *
from   dbc.databases
where  DBKind = 'D'

DBKind 的另一个值是“U”,它将包括系统上的用户。

有关表的信息在dbc.tables和其他视图中。我不知道任何 Teradata 的“数据集市”概念,所以我无法为您提供帮助。

回答“最常用”之类的问题需要使用其中一个查询日志表 (DBQL)。但是,您应该询问您的系统 DBA 是否可以使用这些视图。

于 2013-04-16T16:32:38.867 回答
3

-- 存在多少个数据库

SEL COUNT(*) 
FROM dbc.databases 
WHERE dbkind = 'D'


-- 哪些数据库的表最多?

SEL databasename, COUNT(*) 
FROM dbc.tables
WHERE tablekind = 'T' GROUP BY 1 ORDER BY 2 DESC


TABLEKIND 定义
  • A:聚合UDF
  • B:组合的聚合和有序分析函数
  • E:外部存储过程
  • F:标量 UDF
  • G:触发
  • H:实例或构造方法
  • 一:加入索引
  • J:杂志
  • M:宏
  • N:哈希索引
  • P:存储过程
  • 问:队列表
  • R:表函数
  • S:有序分析函数
  • T:表
  • U:用户定义的数据类型
  • 五:查看
  • X:授权

-- 最常用的数据库。

SEL DatabaseName, AccessCount, LastAccessTimeStamp 
FROM dbc.databases ORDER BY AccessCount

还要确保查看dbc.columns表,了解每个表中的列、它们的数据类型等信息。

于 2013-04-23T18:06:35.997 回答