Snowflake数据平台全方位解析
立即解锁
发布时间: 2025-09-03 01:58:49 阅读量: 286 订阅数: 24 AIGC 

# Snowflake数据平台全方位解析
## 1. Snowflake的发布计划
Snowflake每周会进行两次计划内发布,包含以下类型:
- 完整发布:除周五外的任意一天进行部署,涵盖新功能、功能增强或更新以及问题修复。
- 补丁发布
此外,每月还会进行一次行为变更发布。
## 2. Snowpark支持的语言
Snowpark支持多种客户端开放API语言,为开发者提供了丰富的选择:
- Node.js
- .NET
- Go
- Java
- Python
- SQL
Snowflake数据平台对开发者十分友好,允许应用开发者在多种编程语言中进行选择。
## 3. 查询性能测试设置
在测试聚类和搜索优化服务的查询性能时,我们将`USE_CACHED_RESULT`设置为`FALSE`,以避免利用缓存结果。若不将其值改为`false`,多次重新运行查询时将无法获得准确的性能测试结果。
## 4. 聚类与搜索优化的应用场景
对于点查找查询,使用搜索优化比聚类更为合适。一般情况下,Snowflake能在表中生成良好聚类的数据,但随着时间推移,特别是在大型表上进行数据操作(DML)时,部分表行的数据可能无法在期望维度上实现最优聚类。对于排序不理想的大型表,也需要更好的方式将数据共置于相同的微分区中。在这两种情况下,Snowflake的聚类功能可以发挥作用。
在网络安全工作负载中,团队通常需要对具有高度选择性过滤器的关键仪表板做出快速响应,这往往需要进行点查找查询。因此,对点查找查询有用的搜索优化服务可用于支持Snowflake的网络安全工作负载。
## 5. 数据建模方法
### 5.1 Data Vault建模方法
Data Vault建模方法可以利用Snowflake的大规模并行处理计算集群和优化的列存储格式。与Inmon方法相比,Data Vault方法和Kimball方法相对简单,实施所需时间更少。Kimball方法基于四步规范化过程,而Data Vault使用敏捷方法。一般来说,实施Data Vault建模方法的成本最低,但它需要更多的存储空间,并且在数据简单且不需要数据审计时并非最佳选择。
### 5.2 数据工程师的职责
数据工程师不负责创建治理规则和条例,但需要负责实施这些规则。
### 5.3 数据货币化定价策略
数据货币化的两种常见定价策略是成本定价和价值定价。
## 6. Snowflake对象命名最佳实践
### 6.1 字符相关规则
- 创建简短且有意义的名称,长度超过8个字符时尽量使用缩写。虽然名称最多可包含128个字符,但最好不超过24个字符。可使用注释或标签作为描述符,而非在名称中使用更多字符。
- 避免使用混合大小写字母。若不使用全大写或全小写字母,则需在名称周围加上引号,否则Snowflake会将名称转换为全大写。
- 避免使用空格,使用下划线(_)代替,以免给某些第三方应用带来问题。
- 表和字段使用单数术语,例如`Customer`表可以有`CustomerID`字段。
- 避免使用特殊字符,如`#`、`-`、`@`和`!`。尽管Snowflake允许部分特殊字符,但它们可能会给某些第三方应用带来问题。
### 6.2 非字符相关规则
- 使用推荐的Snowflake系统定义角色创建对象,例如使用`SYSDAMIN`角色创建数据库和虚拟仓库。
- 在创建新对象时,使用`IF NOT EXISTS`语法。在实践中,特别是在生产环境中,务必使用此语法。若在生产环境中误使用`OR REPLACE`语法,可使用Snowflake的时间旅行功能将对象恢复到原始状态。
- 语言标准化,选择如美式英语这样的地区或方言,例如使用`COLOR`而非`COLOUR`。
- 避免使用介词,例如使用`ERROR_CODE`而非`CODE_FOR_ERROR`。
- 避免使用后置形容词,例如使用`APPROVED_ARTICLES`而非`ARTICLES_APPROVED`。
- 避免使用通用短语,如`OTHER`和`MISC`。
- 避免为表和列使用前缀,谨慎使用下划线。
- 避免与不同对象类型使用相同的名称,例如不要在同一模式中为临时表和永久表使用相同的名称。
- 避免使用保留字,Snowflake文档中提供了保留关键字列表。
### 6.3 标准标签缩写
| 缩写 | 含义 |
| ---- | ---- |
| DEV | 用于数据库和角色的开发环境(前缀) |
| EXT | 用于阶段和表的外部(前缀) |
| FB | 用于数据库和角色的功能分支环境(前缀) |
| FF | 文件格式(前缀) |
| POC | 用于数据库和角色的概念验证环境(前缀) |
| PROD | 用于数据库和角色的生产环境(前缀) |
| QA | 用于数据库和角色的测试/质量保证环境(前缀) |
| SP | 存储过程(前缀) |
| TSK | 任务(前缀) |
| DB | 数据库 |
| INT | 集成 |
| MVW | 物化视图 |
| RM | 资源监视器 |
| STG | 阶段 |
| SVC | 服务账户 |
| TBL | 表(可选) |
| VW | 视图 |
| WH | 仓库 |
## 7. 设置Snowflake试用账户
与大多数公共云提供商的解决方案不同,Snowflake为用户提供了单一且一致的入口点,降低了复杂性和管理开销。注册Snowflake账户后,用户将获得一个以`snowflakecomputing.com`结尾的唯一URL,实例创建后,用户无需了解底层云平台,其映射由Snowflake管理。此外,Snowflake可在多个云和地区提供统一的数据体验。
设置新的Snowflake试用账户的步骤如下:
1. 访问Snowflake注册页面。
2. 填写第一页的信息后,需要选择Snowflake版本、云提供商和地区。选择时需考虑以下因素:建议选择与大多数数据应用所在的相同公共云和地区,这样在需要进行数据传输时将更加便捷且成本更低。
Sn
0
0
复制全文
相关推荐









