在基于 Teradata 构建的数据仓库中,我如何知道整个数据仓库中有多少个数据库,仓库中有多少个数据集市,哪些数据库的表最多,哪些数据库最常用。这当然是一个编程问题,因为我问的是如何查询 Datawarehouse 以获得所需的信息。
我想了解一下数据仓库。类似的信息或建议肯定会有所帮助——我应该注意什么?什么是数据仓库的“心脏”。当您开始使用全新的 Datawarehouse 时,您首先需要查看的是什么?
在基于 Teradata 构建的数据仓库中,我如何知道整个数据仓库中有多少个数据库,仓库中有多少个数据集市,哪些数据库的表最多,哪些数据库最常用。这当然是一个编程问题,因为我问的是如何查询 Datawarehouse 以获得所需的信息。
我想了解一下数据仓库。类似的信息或建议肯定会有所帮助——我应该注意什么?什么是数据仓库的“心脏”。当您开始使用全新的 Datawarehouse 时,您首先需要查看的是什么?
转至Teradata 文档网站,找到您正在使用的 Teradata 版本的“数据字典”一书。有许多可用的字典视图。
包含环境中所有数据库的特别称为“dbc.databases”,因此运行以下命令:
select *
from dbc.databases
where DBKind = 'D'
DBKind 的另一个值是“U”,它将包括系统上的用户。
有关表的信息在dbc.tables
和其他视图中。我不知道任何 Teradata 的“数据集市”概念,所以我无法为您提供帮助。
回答“最常用”之类的问题需要使用其中一个查询日志表 (DBQL)。但是,您应该询问您的系统 DBA 是否可以使用这些视图。
-- 存在多少个数据库
SEL COUNT(*) FROM dbc.databases WHERE dbkind = 'D'
SEL databasename, COUNT(*) FROM dbc.tables WHERE tablekind = 'T' GROUP BY 1 ORDER BY 2 DESC
-- 最常用的数据库。
SEL DatabaseName, AccessCount, LastAccessTimeStamp
FROM dbc.databases ORDER BY AccessCount
还要确保查看dbc.columns表,了解每个表中的列、它们的数据类型等信息。