暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

新同事秒懂你的代码:7类对象+4大场景命名规范,等你来抄作业!

偶数 2025-06-09
114

凌晨3点被电话叫醒:“生产环境那个table123
到底在哪?!”... 新同事接手项目,面对满屏的tmp_aaa
mid_bbb
和不知所云的缩写,一脸茫然... 想复用一张表,却因为字段名歧义争论半天...

这些场景,是不是似曾相识?混乱的命名,是数据团队协作效率的隐形杀手!它不仅耗费大量沟通成本,更埋下了维护困难、理解偏差的深坑。

在湖仓平台的建模全链路中——从逻辑模型、物理模型,到数据同步、作业调度、指标定义——一套清晰、统一的命名规范,就是团队高效协作的“通用语言”。它能显著提升系统的可读性、可靠性、可维护性和复用性,让开发、维护人员有章可循,让新人快速上手,从根本上降低长期成本。

今天,我们就将沉淀自多个大型项目实战的湖仓平台命名规范体系,毫无保留地分享给大家! 涵盖数据库对象、数据同步、作业调度、指标应用等核心场景,助你告别命名混乱,构建高效、整洁的数据工程环境。


        1 核心基础        

数据库对象相关命名规范


🔥 数据库、表、字段... 命名混乱的重灾区! 这里藏着模型理解的第一道门槛。一个规范的名字,抵得上十行注释。让我们从最基础的数据库对象命名规则说起,打好规范的地基。

1、对象命名的基本规则

所有用户自定义的数据库对象名统一使用英文和下划线的格式,具体要求如下:

  • 全小写字母;

  • 采用表意明确的英文单词或单词缩写;

  • 不允许使用汉语拼音

  • 总体长度不超过64个字符。

2、数据库

数据库命名遵循数据库对象命名的基本规则,如某集团电商业务条线的财务数据库可命名为ecommerce_finance

3、模式

数据建模时,一个数据层一般对应一个模式。具体如下:

模式名
模式名全称
含义
ldlLanding Data Layer
着陆层
idlIntegration Data Layer
整合层
ddlDelivery Data Layer
交付层
物理模型数据分层命名规范

4、表

数据库表的命名遵循数据库对象命名的基本规则。表的命名采用分层命名的两段式结构,中间用下划线分开,即模块名_对象名。如:

  • app_realtime_product

  • app_batch_product

在生产数据库上,维护等相关人员创建临时使用的表命名规则:

  • 与业务应用相关的一些中间表,统一采用模块名_对象名_mid”的名称;

  • 临时表统一采用模块名_对象名_tmp_[YYMMDD]”的名称。这样便于后期清理,避免与业务系统正式表区别开来。使用完后需主动删掉该表;

  • 对于事实表或者维度表,可以分别添加“_fact”或者“_dim”

1)字段

字段命名不加任何前缀,用英文名词进行描述,由英文单词(或缩写)和下划线“_”组成,多个单词之间用下划线分开。对于单名词或有可能和数据库关键字冲突的字段名,如标志flag或日期date,需要在字段名后面加一个“_f”,其中f表示field。表的字段如果需要引用其它关键表的字段,则必须保证他们的类型和长度是相同的。

2)表分区

分区命名分为两种:循环利用的分区和按日期分区。

  • 循环利用的分区,模块名_对象名_p_<X>_<N位数值>。其中Xr或者l,分别表示range分区表或者list分区表;N位数值为编号。

  • 按日期分区的分区,模块名_对象名_ p_<X>_[YYYYMMDD]。其中Xr或者l,分别表示range分区表或者list分区表;YYYYMMDD表示具体年、月、日信息。

方式缩写
分区方式
rrange分区
llist分区

X的取值范围

5、视图/物化视图

1)视图命名规范

视图的命名规则为:模块名_对象名_v

2)物化视图命名规范

物化视图的命名规则为:模块名_对象名_mv

6、函数

函数的命名规则为:模块名_对象名_f

7、序列

序列的命名规则为: 模块名_表名_对象名_s,其中对象名为字段名或描述性的内容。

8、约束

约束的命名规则为:模块名_表名_对象名_<pk|fk|uniq|chk>,其中约束名为相应的字段名或者约束的描述。

后缀
含义
pk
主键
fk
外键约束
uniq
唯一约束
chk
一般约束

约束的命名规则


    2 任务清晰化    

数据同步相关命名规范 


🚀 数据同步任务满天飞?找起来像大海捞针? 文件夹结构混乱、任务名称随意,会让同步链路变成一团乱麻。清晰的命名规则,是数据高效、准确流动的“路标”。

数据同步包含任务与文件夹,文件夹可以层级嵌套。

1、文件夹

使用大驼峰英文或者中文,例如 DataSynchronization\CustomerInfo,数据同步\客户信息,以下是一个示例命名规范:

  • 顶层文件夹:DataSynchronization

  • 子文件夹(按日期组织):DataSynchronization\SalesData_2023

  • 子文件夹(按数据类型组织):DataSynchronization\CustomerInfo

  • 子文件夹(按版本组织):DataSynchronization\SalesData_2023_v1.0

2、数据同步任务

使用下划线分隔的中文或者英文,在任务名称中使用下划线“_”来分隔单词,以增加可读性。避免使用空格、连字符或其他特殊字符。此处不建议用驼峰写法,原因是相比下划线命名方式,驼峰不够清晰。示例如下:

  • production_to_backup_batch:从生产数据库每日同步到备份数据库;

  • api_data_to_warehouse_inc:从API增量同步数据到数据仓库;

  • orders_to_erp_cdc:将订单实时CDC同步到ERP系统;

  • orders_to_erp_batch:将订单实时CDC同步到ERP系统。


    3 流程自动化    

作业调度相关命名规范 


⏱️ 定时任务、DAG工作流... 自动化执行的命脉! 作业、任务、脚本的命名,直接关系到调度系统的可管理性和排错效率。规范命名,让自动化流程一目了然。

作业调度包含作业空间、文件夹、作业(多个任务组成的DAG图)、任务(图中单个的节点)与脚本五个概念。

1、作业空间

使用大驼峰或者中文,例如 DailyReport

2、文件夹

使用大驼峰或者中文,例如 DataSynchronization\CustomerInfo

3、作业/任务/脚本

需要使用下划线分隔,使用下划线“_”来分隔单词,以增加可读性,例如daily_backup

4、可包含时间或频率信息

如果作业的执行与特定的时间或频率相关(如每日、每周、每小时等),则可以在名称中包含这些信息。例如,“daily_report_generator.sh”“hourly_data_sync.py”

5、脚本需要扩展名

根据脚本的编程语言或类型使用适当的文件扩展名。例如,Bash脚本可以使用.sh扩展名,Python脚本可以使用.py扩展名。示例如下:

  • daily_backup

  • backup_order_item

  • daily_data_backup.sh:每日数据备份的Bash脚本;

  • hourly_report_generation.py:每小时报告生成的Python脚本;

  • weekly_database_maintenance.ps1:每周数据库维护的PowerShell脚本。


4 价值可衡量

指标相关命名规范


📊 指标是数据价值的体现,但指标名看不懂等于白搭! 基础指标、衍生指标如何清晰命名?如何让业务方和技术方都能秒懂?这里的规范,让数据价值“看得见、摸得着”。

1、基础指标

基础指标一般包含多个度量及多个维度,这些度量一般来自于一个或多个业务紧密相关的事实表,形成了一个指标集。所以名字上往往与对应的事实表一致,一般为相关业务+“指标集”,例如:

  • 投顾签约指标集

  • 客户资产指标集

  • 证券交易指标集

对应英文名用下划线连接各个单词并以”_metrics“结尾,整体都用小写字母:

  • investment_adviser_metrics

  • customer_equity_metrics

  • stock_exchange_metrics

2、衍生指标

衍生指标一般一个由或多个基础指标衍生而来,命名规则为: (时间周期修饰词)+维度修饰词+(其他修饰词)+度量+统计方法。其中括号中内容为选填。例如:

  • 最近30天各部门利润总额

  • 年度分公司销售业绩同比

  • 公司现金分红累计

对应英文名,用下划线连接各个单词,整体都用小写字母。但日期类需要用如下规则进行缩写:

中文名
英文名
中文名
英文名
最近1天
1d
自然月
cm
最近3天
3d
自然季度
cq
最近7天
1w
财年
fy
最近14天
2w
截至当日
td
最近30天
1m
年初截至当时
sd
最近60天
2m
零点截止当前
tt
最近90天
3m
最近1小时
1h
最近180天
6m
准实时
ts
180天以前bh
未来7天
f1w
自然周
cw
未来4周
f4w

衍生指标命名规则

  • 1m_department_profit_sum

  • fy_branch_sales_YoY

  • company_cash_dividend_sum


💎 一套好的命名规范,远不止是“起名字”那么简单。它是数据工程团队的“基建标准”,是协作效率的“倍增器”,更是系统长期健康运行的“守护者”。 本文分享的规范,源于我们踩过的坑、付出的沟通成本,最终凝结成的实践精华。快拿去抄作业吧!

告别命名的混乱时代,从拥抱这套规范开始,让你的湖仓平台真正“名”正言顺,高效运转!




推荐阅读



↑扫描上方二维码↑
拉你进入技术交流群

偶数成立于2016年,是国家级专精特新“小巨人”企业。专注于云数据平台产品和解决方案,自主研发云原生分布式数据库OushuDB及实时湖仓数据平台Skylab。总部位于北京,在上海、南京、广州、武汉等地设有分支机构。偶数服务了国家电网、中国移动、建设银行等众多世界500强客户。获得国际著名投资机构红杉中国、腾讯、红点中国与金山云的四轮投资,是微软加速器和腾讯加速器成员企业。被评为福布斯中国企业科技50强,Gartner Cool Vendor,IDC Innovator。



点击下方阅读原文获取行业报告

文章转载自偶数,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论