Snowflake 开发规范拟定 v1.0
Snowflake 数据仓库开发规范 v1.0
| 版本号 | 修订日期 | 修订人 | 修订说明 |
|---|---|---|---|
| v1.0 | 2024-01-13 | LiuZhu | 初步拟定命名规范、分层规范、代码格式规范等 |
1. 命名规范
1.1 数据库命名规范
- 所有的数据库名称应 全部大写,使用下划线分隔词语。
- 避免使用保留关键字作为数据库名。
例如:RAW_DATA
1.2 表命名规范
- 所有的表名 全部大写,使用下划线分隔词语。
- 表名应该清晰地反映表的内容。
- 避免使用保留关键字作为表名。
例如:CUSTOMER_DETAILS
1.3 列命名规范
- 所有的列名 全部大写,使用下划线分隔词语。
- 列名应该清晰地反映列的内容。
- 避免使用保留关键字作为列名。
例如:CUSTOMER_ID
1.4 事实表命名规范
- 事实表的名字应该以 FACT_ 开头,后接表达该表内容的名词,使用大写字母并用下划线分隔词语。
- 事实表的名字应该清晰地反映表的内容。
例如:FACT_SALES
1.5 维度表命名规范
- 维度表的名字应该以 DIM_ 开头,后接表达该表内容的名词,使用大写字母并用下划线分隔词语。
- 维度表的名字应该清晰地反映表的内容。
例如:DIM_CUSTOMER
1.6 映射表命名规范
- 映射表的名字应该以 MAP_ 开头,后接表达该表内容的名词,使用大写字母并用下划线分隔词语。
- 映射表的名字应该清晰地反映表的内容。
例如:MAP_PRODUCT_CATEGORY
1.7 函数命名规范
- 函数名应清晰地描述函数的功能。
- 函数名应以 F动词 开始,以表明它们执行的操作。
例如:F_CALCULATE_TOTAL_REVENUE
1.8 存储过程命名规范
- 存储过程名称应清楚地描述它们执行的操作。
- 存储过程名称应以 SP_ 为前缀。
例如:SP_UPDATE_CUSTOMER_STATUS
1.9 视图命名规范
- 视图名称应清楚地描述它们所显示的数据。
- 视图名称应以 V_ 为前缀。
例如:V_SALES_SUMMARY
2. 数据仓库分层规范
2.1 原始层 (Raw Layer)
- 这一层是数据仓库的入口,应该包含所有源系统的数据的完整复制品。
- 数据应该以最原始的形式存储,不进行任何转换或清洗。
- 数据库名:
RAW_DATA
2.2 清洗层 (Clean Layer)
- 在这一层,数据应该进行清洗和转换,以满足业务需求。
- 清洗过程包括数据质量检查、缺失值处理、错误值处理等。
- 数据库名:
CLEAN_DATA
2.3 业务层 (Business Layer)
- 在这一层,数据应该根据业务需求进行进一步的转换和聚合。
- 这一层的数据应该满足大部分报表和分析的需求。
- 数据库名:
BUSSINESS_DATA
2.4 展示层 (Presentation Layer)
- 这一层的数据应该是为最终用户准备的,应该直接满足报表和分析的需求。
- 应该尽可能地简化这一层的数据结构,使其易于理解和使用。
- 数据库名:
REPORTING_DATA
3. 代码格式规范
以下是一些基本的SQL代码格式规范,适用于Snowflake:
3.1 关键字
SQL关键字应全部大写,如SELECT、FROM、WHERE等。
3.2 缩进
使用缩进来提高代码的可读性。例如,FROM、WHERE、GROUP BY等子句应当在新的一行开始,并且相对于SELECT关键字缩进。
3.3 别名
在查询中使用别名时,别名应清晰地描述列或表的内容。
3.4 注释
应使用注释来解释代码的功能和目的。注释应以--开始,放在需要解释的代码行的上一行。
3.5 空格
在操作符两侧使用空格,如=, <, >, +, -, *, /。
4. 其他规范
- 应该定期备份数据,以防数据丢失。
- 应该定期检查数据质量,以确保数据的准确性。
- 在开发过程中,应该遵循最佳实践,包括使用版本控制、编写可读的代码、进行单元测试等。
以上规范只是一个基本的指南,实际的开发规范应该根据具体的项目需求和团队习惯进行调整。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 刘个个のBolg!
评论
