数据仓库规范qdh文档格式.docx
- 文档编号:16263148
- 上传时间:2022-11-22
- 格式:DOCX
- 页数:13
- 大小:23.13KB
数据仓库规范qdh文档格式.docx
《数据仓库规范qdh文档格式.docx》由会员分享,可在线阅读,更多相关《数据仓库规范qdh文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
在构建数据仓库时,至少应该具备以下物理几层:
联通数据模型规范要求的层次
数据中心物理模型层次名称
物理表前缀
维度数据层
DIM_
数据集市层(DM)
展示层
DM_
主题域
DW_F_
轻度汇总层(MID)
轻度汇总层
DW_M_
细节数据层(ODS/DWD)
细节数据层
DW_V_
接口层(STAGE)
接口层
SRC_
1.3数据库对象命名规范
所有数据库对象名称均使用26个大写英文字母、下划线或数字来命名,并不得以下划线开头。
1.3.1用户
用户名和表空间的名称应该采用同系统应用相似的英文字符或字符缩写,表空间所对应的一个或多个物理文件名也应有相关性。
用户创建的数据索引最好和数据文件分开存放在不同表空间,以减少数据争用和提高响应速度。
以上从逻辑上分出的各数据层应当在数据库中用户实现其分离,规定如下:
数据层名称
用户
物理表
备注
SRC
沉淀数据层
DW
DW_V,DW_M,DW_F
数据集市层
DM
元数据层
MDW
MDW_
目前未设计
DIM
1.3.2数据库表空间
数据库表空间命名,原则上以数据仓库的基本分层结构为准,以TBS_作前缀,为避免单个表空间数据量过大,带来管理上的不便或者引起I/O瓶颈,对于STAG和ODS/DWD数据量比较大的层,可采用多个表空间存储数据,单表空间容量不要太大,以便于业务划分和存储管理为原则,建议单表空间容量控制在800G之内,表空间数据文件建议值为4G。
Ø
数据表空间
数据仓库分层结构
表空间名
数据文件/裸设备
STAG
TBS_STAG001
……
TBS_STAGXXX
2G=<
单设备文件<
=8G,建议值:
4G
DWD
TBS_DWV001
TBS_DWVXXX
存放以dw_v开头的表
INDX_TBS_DMV
存放以dw_v开头的表的索引
MID
TBS_MID
同上
TBS_DM
INDX_TBS_DM
DM索引
TBS_DIM
表名长度不能超过28个字符,表名中含有单词全部采用单数形式,单词选择能够概括表内容的一个或多个英文单词,多个单词间使用下划线分割,单词如果过长可以使用缩写形式。
命名规则如下:
表的类型
前缀
层次
说明
示例
维度表
DIM_+主键
客户视图
DW_V_USER_
DW_M_USER
三个视图
产品视图
DW_V_PROD_
DW_M_PROD_
市场营销视图
DW_V_MART_
DW_M_MART_
发展域
DW_F_DEV_
8个主题域
根据业务具体分为:
移动业务DW_F_DEV_M_
智能网DW_F_DEV_I_
数固DW_F_DEV_D_
收入域
DW_F_INCO_
使用域
DW_F_USE_
增值域
DW_F_INC_
成本域
DW_F_COST_
资源域
DW_F_RES_
竞争域
DW_F_COMP_
服务域
DW_F_SERV_
1.3.4数据库分区表规范
对于海量数据表要考虑设计为分区表。
1.三户日资料保存一个月,按日期主分区按地区子分区,
2.主分区命名为:
P两位日期编码(如P01),
3.子分区命名为:
P两位日期编码_SP地区编码(如P01_SP188),并且必须加上月份字段否则没法区分是那月的资料。
2.三户月资料按帐期主分区按地区子分区,
主分区命名为:
P帐期编码(如P),
子分区命名为:
P帐期编码_SP地区编码(如P_SP188)。
3.视图级日数据表按帐期和地区主分区按日期子分区,
P帐期编码_地区编码(如P_188),
P帐期编码_地区编码_SP两位日期编码(如P_188_SP01)。
4.视图级月数据表按帐期主分区按地区子分区,
P帐期编码(如P),
5.主体域级数据按帐期主分区按日期子分区,
主分区格式为:
P帐期(如P),
子分区格式为:
P帐期_SP两位日期编码(如P_SP01)。
老杨让把主题域建表分区规范改为:
主体域级数据按帐期和地区主分区按日期子分区,
P帐期编码_地区编码_SP两位日期编码(如P_188_SP01)
1.3.5数据库表索引
命名以IDX+表名+一位流水号.例:
IDX_ODS_BUSI_USER_1;
如果表名过长可以使用缩写形式
1.3.6数据库表键值
主键命名以PK+表名+一位流水号(1~9).例:
PK_DEPT_1;
外键命名以FK+表名+一位流水号(1~9).例:
FK_DEPT_1;
1.3.7数据库字段命名规范
数据库字段名中含有单词选择能够概括表内容的一个或多个英文单词,多个单词间使用下划线分割,单词如果过长可以使用缩写形式。
一些基本字段名示例:
用户idUSER_NO
用户数USER_COUNTS
话单数CDR_NUM
通话时长CALL_DURATION
计费次数MOBILE_TIMES
每个字段必须有注释,并且在生成SQL脚本时一并生成,创建表时必须创建注释。
保持字段名和类型的一致性,同一字段名在不同表中必需保持同一数据类型。
数据类型长度在定义时应稍大于目前标准的长度,用空间来换取将来变更带来的不便。
1.3.8数据库存储过程规范
(1)存储过程命名规则:
P_目标表。
(2)存储过程要求有注释,注释内容为:
列出创建人,创建用途,创建时间。
(3)存储过程日志规范:
每一存储过程均应记录执行存储过程的日志信息。
必须调用专用写日志的存储过程,同时有exception时的处理机制。
(4)存储过程修改规范
修改时应注释清楚修改人,修改日期,修改原因和修改内容。
1.3.9数据库函数命名规范
函数命名规则F_功能,比如F_TRAN_AREA。
1.3.10据库触发器的命名规范
触发器以TR作为前缀,触发器名为相应的表的别名加上后缀,INSERT触发器加‘_INSERT’,Delete触发器加‘_DELETE’,Update触发器加‘_UPDATE’,如:
TR_CUST_INSERT。
1.3.11序列命名规范
序列以S作为前缀,序列命名规则为S_字段别名。
二.实施流程规范(完善中。
。
)
(1)规划
对实施计划的规划.
(2)设计
设计实施方案(包括统一模型的修改)。
(3)实施
具体实施过程。
(4)测试
对实施结果测试。
(5)反馈
对实施过程中收集到的相关信息(系统需求、实施中遇到的问题和测试结果等)
反馈到相关部门和人员。
三.数据库安全管理规范
为了规范管理,做好经营分析数据仓库的安全管理工作,实现不同的责任人不同的层次,将用户权限尽可能的管理起来同时又不影响正常工作,需要对数据库进行安全管理。
数据库安全管理从以下几个方面来进行:
3.1.用户组管理
对用户进行分类,目前经营分析应用用户可以分为如下几部分
前台程序开发人员
数据库开发人员
数据库管理员
外部使用人员
数据库管理人员由项目经理和数据经理来掌控,一般情况下不得使用DBA角色登陆数据库。
数据人员使用数据库开发人员角色登陆,每个数据人员一个用户,归属数据库开发人员组。
前台程序开发人员,由界面开发人员使用,可以查看所有的表,但是无法进行DDL操作。
外部使用人员,主要是面向联通用户和临时用户
3.2.用户权限设定
对不同的用户组,在不影响正常工作的情况下,对用户组及用户权限的设定原则为权限越小越好。
3.3.用户密码管理
对用户密码进行限制,必须由2位以上数字,2位以上字符,2位以上特殊字符组成
不允许用户密码和用户名同名
不允许用户密码和用户名相似
3.4.用户资源管理
除了系统使用的用户(SRC/ODS/DW)等外
对用户使用的系统资源进行限定
限定用户使用表空间
限定用户使用临时表空间
限定用户使用回滚断
限定用户使用内存
3.5.IP限定
对于普通用户,实行IP和用户名绑定的策略
对于外部开放用户,要进行IP申请,由数据经理或者项目经理审核通过后予以开通
3.6.数据库监控
数据库监控,主要对以下几个方面进行监控:
3.6.1.数据库空间占用率
selecta.tablespace_name,
free,
total,
round(((b.total-a.free)/b.total),2)剩余占比
from(selecttablespace_name,round(sum(bytes)/power(1024,3),2)free
fromdba_free_space
groupbytablespace_name
)a,
(selecttablespace_name,round(sum(bytes)/power(1024,3),2)total
fromdba_data_files
)b
wherea.tablespace_name=b.tablespace_name;
3.6.2.会话情况
select*
fromv$sessiona,
v$sqlb
wherea.sql_address=b.address;
3.6.3.aix操作系统中杀掉一些进程的脚本
select'
kill-9'
||p.spid||'
'
s.sid
fromv$sessions,v$processp
wheres.paddr=p.addr
ands.usernameisnotnull
ands.sid=54
3.6.4.查看JOB
SELECT*
FROMUser_Jobs
3.6.5.分区操作
查看分区子分区
FROMALL_TAB_PARTITIONS
WHERETABLE_NAME='
DW_V_USER_MOBILEUSER'
;
FROMALL_TAB_SUBPARTITIONS
;
增加分区
格式:
altertable表名addpartition分区名valueslessthan(值)
如:
altertabledm_reinnet_useraddpartitionpvalueslessthan('
altertabledm_reinnet_useraddsubpartitionp_SP001values('
002'
删除分区
altertable表名droppartitionpartition分区名
altertabledm_reinnet_userdroppartition
altertabledm_reinnet_userdropsubpartitionp_SP001
3.6.6.数据库的无效索引
查看目前数据库中的索引情况
3.6.7.数据库的无效对象
查看目前数据库的对象有效性,主要针对脚本
3.6.8.数据库表分区的是否到达限额
查看是否有表分区不满足需求的情况,这项监控根据具体需求来
3.6.9.数据库内存占用情况
查看目前数据库内存的占用情况
3.6.10.DDL语句的监控
查看各种DDL语句的使用情况,记录操作者的IP,时间,用户名等情况
3.6.11.特定DML语句的监控
对某些特定的重要的数据库对象,记录DML操作的历史
3.7.数据库审计
3.7.1.语句审计(StatementAuditing)
对预先指定的某些SQL语句进行审计。
这里从SQL语句的角度出发,进行指定。
审计只关心执行的语句。
例如,auditCREATETABLE;
命令,就表明对"
createtable"
语句的执行进行记录。
不管这语句是否是针对某个对象的操作
3.7.2.权限审计(PrivilegeAuditing)
对涉及某些权限的操作进行审计。
这里强调"
涉及权限"
命令,又可以表明对涉及"
CREATETABLE"
权限的操作进行审计,所以说,在这种命令的情况下,既产生一个语句审计,又产生了一个权限审计。
有时候"
语句审计"
和"
权限审计"
的相互重复的。
这一点可以后面证明。
3.7.3.对象审计(ObjectAuditing)
记录作用在指定对象上的操作。
四.管理说明
4.1关于数据模型和数据仓库的管理
为了使数据仓库安全、层次清晰、版本的稳定以及和总部模型的一致,我们规定数据经理对数据仓库和数据模型全权负责,具体包括如下:
1.所有关于数据库结构的更改都要由数据经理完成,其中包括对控制文件、参数文件、日志文件、表空间等的修改。
2.删除原模型中的表、向模型中增加表或者向原有表中增加字段都要让数据经理知道、批准并且做好修改记录,修改后的模型以及修改记录要及时提交到总部的SVN服务器。
修改记录参照:
时间
表名称
更改说明
修改人
2007-4-2
DW_F_INCO_M_CHARGE_MONTH
字段IS_GROUP的类型改为VARCHAR2
(1)
屈大虎
DW_V_USER_CHARGE_DAY
增加字段AREA_NO、CITY_NO、LONG_TIMES、FLUX、ACCT_MONTH
DW_F_DEV_M_ONNET_USER
更改入网年度字段IINNET_YEAR为入网年月INNET_MONTH;
删除在网时长分档字段INNET_MONTH_LEVEL
DIM_USER_STATUS
增加停机类型字段
DW_V_USER_SINGLE_CALL_MONTH
更名为DW_M_USER_SINGLE_CALL_MONTH
增加一个免费标记字段IS_FREE
2007-4-3
DW_V_USER_CDR_NOMASTER
增加一个无主详单表(河北需求)
DW_M_USER_NAR_STW_DAY
增加一个神通王用户日窄表(河北需求)
DW_M_USER_NAR_STW
增加一个神通王用户月窄表(河北需求)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据仓库 规范 qdh