数据仓库建设规范(⽂档版)
⼤家好,我是⼀哥,今天有⼩伙伴在问有没有数据仓库建设规范,⼀哥参与过两个数据仓库的规划,写过⼀些规范⽂档,今天分享给⼤家,⼤家可以借鉴,完成⾃⼰的规范!
以下为完整的内容,供⼤家参考:
1 概述
本⽂档制定了XX数据仓库中数据库对象的命名规范(⽤户、表、视图、存储过程、函数、表分区、主键、索引、序列等)、数据库编程规范,JAVA编程规范为系统设计和开发⼯作提供统⼀的命名标准,提⾼系统的规整性和代码的可读性,减轻维护⼯作量,提⾼⼯作效率。
2 数据库对象命名规范
2.1  层次划分
序号模型层次⽤途
1ODS存放来⾃各个系统的原始数据;
2DW根据业务分析需求,对主题域内的数据进⾏轻度汇总;
3DM建⽴跨域的业务主题模型;
4DIM统⼀服务于数据中⼼的参数表;
5APP
应⽤层,⽤于⽣成报表
6XX XX
数据层级按照⾃⼰数据仓库规划的命名即可~
2.2  表、视图、存储过程、函数命名规范
<;对象类型><_模型层次><_主题><_对象描述>[_汇总类型][_存储类型]
说明:<> 尖括号中的内容为必须项,适⽤于所有⽤户层对象,[] ⽅括号中的内容为可选项,会因⽤户层及对象的不同⽽不同
命名约束:数据库对象命名可能受最⼤长度限制,因此在实际命名中如果按照规范约定的命名⽅式存在超长的现象,需要开发⼈员灵活控制。
2.2.1 对象类型
<;对象类型><_模型层次><_主题域><_对象描述>[_汇总类型][_存储类型]。
适⽤范围:所有⽤户层对象。
对象类型对象说明
TB TABLE表
VW VIEW视图
………………
2.2.2 模型层次
<;对象类型><_模型层次><_主题域><_对象描述>[_汇总类型][_存储类型]
说明:对象属性⼀般为对象归属⽤户的简写。
适⽤范围:所有⽤户层对象。可以参照⾃⼰的对象属性命名规范,对此不要求统⼀。
模型层次说明ODS获取层,存放从各个源系统接收的原始数据;
DW 根据业务分析需求,对数据进⾏汇总,
应⽤分析原则优先访问DW层,其次DWD层,不允许访问ODS层;
DM建⽴跨域的业务主题模型;
DIM维表
APP报表层,根据DM模型数据⽣成报表。
2.2.3 主题域
<;对象类型><_模型层次><_主题域><_对象描述>[_汇总类型][_存储类型][_][序号或描述]
说明:主题域是对数据进⾏⼤类划分,不同⽤户下的分类有所不同。适⽤所有业务层;每个新增的业务主题均需到该规范备案登记。
主题域命名简称描述
客户域Customer XX泛客户
…………
2.2.4 对象描述
<;对象类型><_模型层次><_主题域><_对象描述>[_汇总类型][_存储类型]
适⽤范围:所有⽤户层对象;
对象描述要求简洁准确,尽可能的直观表达对象的含义,通常包含业务+功能;
如果是通⽤命名规则:<;对象类型><_模型层次><_主题域><_对象描述>[_汇总类型][_存储类型],这⾥的对象描述是多业务的合成体,这时不加业务。
汇总类型
<;对象类型><_模型层次><_主题域><_对象描述>[_汇总类型][_存储类型]
适⽤范围:除字典表、⽇志表之外的对象。
描述汇总类型
insert语句字段顺序
⽇DAY
⽉MON
年YEAR
2.2.5 存储类型
<;对象类型><_模型层次><_主题域><_对象描述>[_汇总类型][_存储类型]
适⽤范围:所有⽤户层除⽇志、字典表、维表之外的对象。
对象描述存储类型说明⽬标程序⽆
临时表TMP 程序中临时使⽤的中间表,⽤于存放程序运⾏中使⽤的临时数据,程序运⾏结束后表由程序⾃⾏清空,只保留结构。
配置表CFG
2.2.5.1    ⽇表
⽇表以统计周期字段做⽇分区。数据保留周期为业务需要的周期,⽉底最后⼀天的数据不保存,如有需要则沉淀到⽉表中。
2.2.5.2    ⽉表
⽉表以统计周期字段做⽉分区。除该字段外,其余字段与⽇表必须相同。数据保留周期为业务需要的周期。所有的⽉报表、⽉KPI数据必须从⽉表出,禁⽌从⽇表出。
2.2.5.3    周表
周表数据保留周期为业务需要的周期。
2.3  其他对象命名规范
对象命名规则说明
表分区根据实际情况⾃⾏确定建议等
主键PK<_表名><_列名>
索引IDX<_表名><_列名>
………
2.4  常⽤字段命名规范
字段名数据类型字段说明备注
常⽤字段1常⽤类型1字段说明1备注1
字段命名需做到见名知其意,避免⽤中⽂拼⾳,或者拼⾳+英语的⽅式。
可以参考企业现有业务数据库的数据字典命名。
2.5  常⽤单位规范
约定数据仓库中字段的默认单位,⽐如车速默认单位是KM/h。
2.6  数据库对象命名注意事项
命名尽量采⽤富有意义的英⽂词汇,不准采⽤汉语拼⾳。
XX……
2.7  数据仓库建表注意事项
表名,列名等需要添加注释,否则不予上线。
XX……。
3  主机⽬录及⽂件命名规范
3.1  ⽤户命名规范
主机⽤户名命名规范:
序号主机⽤户名账号类型⽤途1hadoop应⽤程序账号hadoop集管理⽤户2…ftp账号…
3.2  ⽬录规划
<;根⽬录>/<⼆级⽬录>/[三级⽬录/]<;业务域>[/⾃定义]
⽬录规划不做强制性的要求,但是要做到层次清晰、命名规范,见名知意。
l  根⽬录
取值为:根据物理存储挂载情况⽽定;
l  ⼆级⽬录
取值为:主机如果没有⽂件系统挂载点,则⼆级⽬录为⽤户家⽬录,否则取值⽤户名;
l  三级⽬录
取值为:⽤户⾃⾏定义,如果存储在⽤户家⽬录下则需要三级⽬录;
l  业务域
取值为:抽取的⽂件按业务类型进⾏分类存储。
业务简称说明
业务1说明1
业务2说明2
l  ⾃定义
取值为:可选项,如果⽂件存储有其它要求,可根据实际情况灵活调整,如需要分省存放等。
3.3  ⽂件命名规范
<⽂件类型>_<;主题域>_<;数据周期>_<;接⼝⽂件序号>.dat
主题域
主题域取值情况咱定为各项⽬名称:
数据周期
取值为:周期⽇数据8位长度,YYYYMMDD,⽉数据6位长度YYYYMM;
接⼝⽂件序号
取值为:接⼝⽂件序号长度为3,默认从000开始;
3.4  ⽂件格式规范
⽂件分隔符
⽂件字段尽量不采⽤定长分隔,采⽤“|”等特殊字符作为分隔符,另外在抽取⽂件时需要确定字段内容中不会出现分隔符字符,以免错列;
⽂件编码
⽂件编码采⽤UTF-8。
4  数据保存周期规范
周期类型模型层次保留周期(HIVE)备注
⽇ODS365……
5  数据库编程规范
5.1  参数和变量命名规范
5.1.1 对象变量
对象变量命名规则如下:
命名规则:<;对象类型><_><;变量描述>
......
5.1.2 参数和对象命名注意事项
所有名称采⽤英⽂单数名词或动词,避免出现复数。
固定长度的字符串类型采⽤char,长度不固定的字符串采⽤varchar,⼀定要避免长度不固定的情况下采⽤char。
如⽆特殊需求,避免使⽤⼤字段(blob, clob, long, text, image 等)。
命名使⽤英⽂单词,避免使⽤拼⾳,特别不应该使⽤拼⾳简写。命名不允许使⽤中⽂或者特殊字符。
命名中若使⽤特殊约定或缩写,则必须要注释说明。
使⽤有意义、易于记忆、描述性强、简短及唯⼀的英⽂单词。⾃已特有的命名风格,要⾃始⾃终保持⼀⾄,不可来回变化。
对于变量命名,禁⽌取单个字符(如i、j… ),建议除了要有具体含义外,还能表明变量
除⾮必要,不允许使⽤数字或较奇怪的字符来定义标识符。
5.2  书写规范
5.2.1 代码⼤⼩写规范
所有数据代码统⼀使⽤⼩写字母书写,以⽅便不同数据库之间的移植,同时也避免程序调⽤问题。参数和局部变量,全局变量⽤⼤写。
……

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。