1、什么是雪花数据云仓库?
Snowflake 是在 Cloud 之上开发的基于云的数据仓库平台,截至目前,亚马逊网络服务 (AWS)、微软 Azure 和谷歌云等流行的云提供商都在支持 Snowflake。
无需安装、配置或维护任何硬件(虚拟或真实)或软件,因为它完全在公共云基础架构上运行。Snowflake 是一个真正的SaaS产品。
Snowflake 提供的数据仓库模型比典型的数据仓库系统更快、更容易设置并且适应性更强。
由于其独特的特性,它迅速成为分析市场数据管理解决方案的佼佼者。
2、雪花架构
Snowflake 数据库设计是共享磁盘和无共享数据库系统的组合,Snowflake 与共享磁盘系统一样,使用中央数据存储来存储数据,并且可以从平台中的所有计算节点访问。
Snowflake 使用 MPP(大规模并行处理)计算集群执行计算,其中集群中的每个节点在本地维护完整数据集的一部分,类似于无共享系统。
这种方法结合了共享磁盘设计的数据管理便利性与无共享架构的速度和横向扩展优势。
雪花架构中有 3 层。
- 存储层,
- 计算层,
- 云服务层。
让我们详细讨论每一层。
2.1、存储层
Snowflake 将数据划分为无数个微分区,每个微分区都在内部进行了优化和压缩。它以柱状方式存储数据。
数据保存在云中,并使用共享磁盘方法进行管理,使数据管理变得简单,在 shared-nothing 架构中,这确保了用户不必担心数据在多个节点上的分布。
为了获取数据以进行查询处理,计算节点链接到存储层,由于存储层是独立的,我们只需为每月平均使用的存储付费。
Snowflake 的存储是弹性的,因为它是在云中提供的,并且根据每 TB 的消耗量按月支付。
存储的定价由云提供商根据每月的存储利用率收取,这意味着存储成本是使用压缩后每月使用的平均存储量确定的。
2.2、计算层
该层由可扩展计算单元的虚拟仓库组成。
计算层从存储层获取数据并将其缓存在本地以增强将来的查询结果,即每个虚拟仓库都有自己的缓存。
多个虚拟仓库可以同时运行,维护ACID,对数据执行多个并发处理。
在 Snowflake 中,可以根据工作负载构建多个虚拟仓库以满足不同的需求。
这些仓库本质上是 MPP(大规模并行处理),每个虚拟仓库都可以使用一个存储层。
虚拟仓库有自己的计算集群,不与其他虚拟仓库交互,即无共享架构。
该仓库的定价将采用动态方式,即,费用将根据您消耗了多少计算单元来计算,它将被计算为信用。
因此,每当数据仓库进行计算时,那时只有计费时钟会运行,以下是不同数据仓库规模的计费计量。
此计费将按每秒使用次数进行,最低收费为一分钟,即一旦数据仓库开始计算,最低收费将从一分钟使用开始计算,例如,如果您只使用 30 秒,则充电时间为一分钟。
2.3、云服务层
该层包含在整个 Snowflake 中协调的所有操作,例如身份验证、安全性、加载数据的元数据管理和查询优化器。
服务层为DDL、DML等数据操作提供SQL客户端接口。这种云服务也可以像其他层一样进行扩展。
此云服务的定价不会直接收取。默认情况下,将为云服务分配一些积分,因为这些服务也需要计算能力才能运行。
当使用率超过每天使用的总计算量的 10% 时,将开始对云服务收费。例如,如果操作计算使用 100 个积分,而云服务使用 15 个积分,则云服务的收费将为 15 - (10% of 100) = 15。
3、什么是积分?
积分是雪花中的使用单位,每个积分的金额将根据版本和云提供商计算,您可以在此链接https://www.snowflake.com/pricing/
中查看和估算价格。
您可以选择云提供商、地区和货币,您将获得每笔信用的估计费用。
4、创建雪花帐户
Snowflake 提供免费试用账号;它的使用价值为 400 美元,您可以在下面的链接中创建一个免费试用帐户。
https://signup.snowflake.com/
在注册页面中,输入您的基本详细信息,然后单击继续。
选择 Snowflake 版本、云提供商和区域,确保您已选中许可协议框,然后单击开始。
一封确认邮件将发送到您注册的邮箱。
转到您的电子邮件收件箱,打开来自 Snowflake 支持的激活邮件,然后单击“点击激活”链接,您将被重定向到新的,您可以在其中设置用户名和密码。
设置用户名和密码。单击“开始”继续。
开始后,您将收到确认邮件,说明您的帐户已被激活。单击“登录到雪花”链接。
您现在将被重定向到 Snowflake WebUI 的登录页面。
结论
在本文中,我们了解了 Snowflake 的概念、架构,并开设了一个免费试用帐户,用于 POC 和测试目的,我们还讨论了如何访问 Snowflake 的 WebUl。
我们将看到如何安装 SnowSQL,使用 SnowSQL (CLI) 访问 Snowflake,并将在接下来的文章中学习各种数据库管理活动。