数据表命名规范
数据仓库表命名规范及其应用场景
在数据仓库中,合理的表命名规范是非常重要的,它能够帮助数据团队和业务团队更好地理解数据表的含义和用途。本文将介绍数据仓库中每个层级的表命名规范,并通过电商业务的例子进行说明,下面是一些说明,[对应的数据来源]可以是对应的数据库等等,多加一层便于区分。
1. ODS 层
ODS(Operational Data Store)层是数据仓库的第一层,主要用于存储从各个业务系统中提取的原始数据。在ODS层,表名的命名规范如下:
ods_[对应的数据来源]_主题域名称_业务表名
例如,针对电商业务,可以有以下ODS表:
- ods_[对应的数据来源]_sales_order:存储销售订单数据。
- ods_[对应的数据来源]_customer_info:存储客户信息数据。
2. DWD 层
DWD(Data Warehouse Detail)层是数据仓库的第二层,主要用于对原始数据进行清洗、加工和转换,生成可用于分析的明细数据。在DWD层,表名的命名规范如下:
dwd_[对应的数据来源]_主题域名称_业务过程名
例如,在电商业务中,可以有以下DWD表:
- dwd_[对应的数据来源]_sales_data_cleaned:存储经过清洗的销售数据。
- dwd_[对应的数据来源]_customer_data_enriched:存储经过数据补充和增强的客户数据。
3. DIM 层
DIM(Dimension)层是数据仓库的维度表层,主要用于存储与业务实体相关的维度信息。在DIM层,表名的命名规范如下:
dim_[对应的数据来源]_维度名称
例如,在电商业务中,可以有以下DIM表:
- dim_[对应的数据来源]_product:存储产品维度信息。
- dim_[对应的数据来源]_customer:存储客户维度信息。
4. DWM 层
DWM(Data Warehouse Mid-tier)层是数据仓库的中间层,主要用于对数据进行聚合和汇总,生成更高层次的数据。在DWM层,表名的命名规范如下:
dwm_主题域名称_汇总类型
例如,在电商业务中,可以有以下DWM表:
- dwm_[对应的数据来源]_sales_summary_1d:按天汇总的销售数据。
- dwm_[对应的数据来源]_sales_summary_1m:按月汇总的销售数据。
5. DWS 层
DWS(Data Warehouse Summary)层是数据仓库的汇总表层,主要用于存储面向业务应用的汇总数据。在DWS层,表名的命名规范如下:
dws_主题域名称_业务过程_汇总类型
例如,在电商业务中,可以有以下DWS表:
- dws_[对应的数据来源]_sales_report_1d:每日销售报告数据。
- dws_[对应的数据来源]_salesy_report_1w:每周销售报告数据。
6. APP 层
APP(Application)层是数据仓库的应用表层,主要用于存储针对业务应用的数据。在APP层,表名的命名规范如下:
app_应用名称_业务表名
例如,在电商业务中,可以有以下APP表:
- app_dashboard_summary:仪表板汇总数据,用于业务分析和决策。
- app_customer_segmentation_report:客户分析报告数据,用于了解不同客户群体的行为特征。
数据仓库表命名应用场景举例
以电商数据仓库为例,假设有以下数据表:
在ODS层,有原始数据表ods_[对应的数据来源]_sales_order和ods_[对应的数据来源]_customer_info,分别存储销售订单和客户信息数据。
在DWD层,有清洗后的表dwd_[对应的数据来源]_sales_data_cleaned (业务过程) 和dwd_[对应的数据来源]_customer_data_enriched (业务过程),用于存储经过清洗和数据补充的销售和客户数据。
在DIM层,有维度表dim_[对应的数据来源]_product和dim_[对应的数据来源]_customer,分别存储产品和客户的维度信息。
在DWM层,有按天汇总的表dwm_[对应的数据来源]_sales_summary_1d和按月汇总的表dwm_[对应的数据来源]_sales_summary_1m,用于存储销售数据的日汇总和月汇总信息。
在DWS层,有每日销售报告表dws_[对应的数据来源]_sales_report_1d、每周销售报告表dws_[对应的数据来源]_sales_report_1w和客户行为汇总表,用于存储面向业务应用的销售和客户行为数据。
在APP层,有仪表板汇总表app_dashboard_summary和客户分析报告表app_customer_segmentation_report,用于存储针对业务应用的数据,方便业务团队进行业务分析和决策。
层级 | 表名命名规范 | 示例 |
---|---|---|
ODS | ods_[对应的数据来源]_主题域名称_业务表名 | ods_数据库名称_sales_order |
ods_数据库名称_customer_info | ||
DWD | dwd_[对应的数据来源]_主题域名称_业务过程名 | dwd_数据库名称_sales_data_cleaned |
dwd_数据库名称_customer_data_enriched | ||
DIM | dim_[对应的数据来源]_维度名称 | dim_数据库名称_product |
dim_数据库名称_customer | ||
DWM | dwm_[对应的数据来源]_主题域名称_汇总类型 | dwm_数据库名称_sales_summary_1d |
dwm_数据库名称_sales_summary_1m | ||
DWS | dws_[对应的数据来源]_主题域名称_业务表名_汇总类型 | dws_数据库名称_sales_report_1d |
dws_数据库名称_sales_report_1w | ||
dws_数据库名称_customer_behavior_summary | ||
APP | app_[对应的数据来源]_应用名称_业务表名 | app_dashboard_summary |
app_customer_segmentation_report |
通过以上修正后的命名规范,更加清晰地表达了每个层级的表名含义。在DWM层中,汇总类型后面并没有对应的业务表名,因为DWM层主要用于汇总和聚合数据,没有具体的业务表名。在APP层中,可以根据实际的业务应用名称来定义具体的业务表名,以更好地反映应用层的数据内容。
结论
通过合理的数据仓库表命名规范,数据团队和业务团队能够更好地理解数据表的含义和用途,提高数据的可理解性和可维护性。在电商数据仓库的例子中,我们展示了每个层级的表命名规范,并通过具体表的示例说明了每个层级的应用场景。数据仓库表命名规范的制定和遵循对于数据仓库的成功建设至关重要。