关键概念和架构¶
Snowflake 的 Data Cloud 由作为自我管理服务提供的高级数据平台提供支持。Snowflake 可提供比传统产品更快、更易于使用且更加灵活的数据存储、处理和分析解决方案。
Snowflake 数据平台并不是建立在任何现有的数据库技术或 Hadoop 等“大数据”软件平台之上。相反,Snowflake 将全新的 SQL 查询引擎与专为云原生设计的创新架构结合在一起。对于用户来说,Snowflake 提供了企业分析数据库的所有功能,以及许多附加的特殊功能和独特功能。
本主题内容:
作为自我管理服务的数据平台¶
Snowflake 是一项真正的自我管理服务,这意味着:
无需选择、安装、配置或管理硬件(虚拟或实际)。
几乎无需安装、配置或管理软件。
持续的维护、管理、升级和调整由 Snowflake 处理。
Snowflake 完全在云基础设施上运行。Snowflake 服务的所有组件(可选的命令行客户端、驱动程序和连接器除外)都在公共云基础设施中运行。
Snowflake 使用虚拟计算实例来满足其计算需求,并使用存储服务来持久存储数据。Snowflake 无法在私有云基础设施(本地或托管)上运行。
Snowflake 不是可以由用户安装的打包软件产品。Snowflake 管理软件安装和更新的各个方面。
Snowflake 架构¶
Snowflake 的架构是传统共享磁盘和无共享数据库架构的混合体。与共享磁盘架构类似,Snowflake 使用中央数据存储库来存储可从平台中的所有计算节点访问的持久数据。但与无共享架构类似,Snowflake 使用 MPP (大规模并行处理)计算集群来处理查询,其中集群中的每个节点都在本地存储整个数据集的一部分。这种方法提供了共享磁盘架构的数据管理简单性,但具有无共享架构的性能和横向扩展优势。
Snowflake 独特的架构由三个关键层组成:
数据库存储¶
当数据加载到 Snowflake 中时,Snowflake 会将该数据重新组织为其内部优化的压缩柱状格式。Snowflake 将这些优化数据存储在云存储中。
Snowflake 管理数据存储方式的各个方面,组织、文件大小、结构、压缩、元数据、统计数据以及数据存储的其他方面均由 Snowflake 处理。Snowflake存储的数据对象不能被客户直接看到或访问;它们只能通过使用 Snowflake 运行的 SQL 查询操作来访问。
查询处理¶
查询执行在处理层中执行。Snowflake 使用“虚拟仓库”处理查询。每个虚拟仓库都是由 Snowflake 从云提供商分配的多个计算节点组成的 MPP 计算集群。
每个虚拟仓库都是一个独立的计算集群,不与其他虚拟仓库共享计算资源。因此,每个虚拟仓库不会对其他虚拟仓库的性能产生影响。
有关更多信息,请参阅 虚拟仓库。
云服务¶
云服务层是协调 Snowflake 中活动的服务集合。这些服务将 Snowflake 的所有不同组件结合在一起,以便处理从登录查询调度的用户请求。云服务层还在云提供商 Snowflake 提供的计算实例上运行。
该层管理的服务包括:
身份验证
基础设施管理
元数据管理
查询解析和优化
访问控制
连接到 Snowflake¶
Snowflake 支持多种连接服务的方式:
基于 Web 的用户界面,可以从该界面访问管理和使用 Snowflake 的所有方面。
命令行客户端(例如 SnowSQL)还可以访问管理和使用 Snowflake 的所有方面。
其他应用程序(例如 Tableau)可以使用 ODBC 和 JDBC 驱动程序连接到 Snowflake。
可用于开发连接到 Snowflake 的应用程序的本机连接器(例如 Python、Spark)。
可用于将 ETL (例如 Informatica)和 BI 工具(例如 ThoughtSpot)等应用程序连接到 Snowflake 的第三方连接器。
有关更多信息,请参阅 登录 Snowflake。