旗舰机|Snowflake 核心技术解读系列一 架构设计


旗舰机|Snowflake 核心技术解读系列一 架构设计

背景:2020年9月16日 , Snowflake成功IPO , 交易首日市场估值达到704亿美元 , 募集资金34亿美元 。 Snowflake成为迄今为止规模最大的软件IPO , 市值最高突破1200亿美元 。 Snowflake提供基于云的数据存储和分析服务 , 一般被称为 \"数据仓库即服务\" , 它允许企业用户使用基于云的硬件和软件来存储和分析数据 。 Snowflake自2014年起在亚马逊S3上运行 , 自2018年起在微软Azure上运行 , 自2019年起在谷歌云平台上运行 , 其Snowflake Data Exchange允许客户发现、交换和安全地共享数据 。 [维基百科

Snowflake取得了巨大的商业成功 , 技术是如何支撑起它的千亿美元市值呢?它技术强在哪?OLAP内核技术爱好者浙川为大家倾情解读Snowflake的核心技术原理 。 本文为该系列一 。
概览 【旗舰机|Snowflake 核心技术解读系列一 架构设计】Snowflake是完全基于云构建、充分利用云特性的企业级SaaS数据仓库产品 , 它不仅具有灵活性(即买即用)、高安全性、极致扩展性和弹性等特点 , 而且支持多租户、事务、标准SQL语法和半结构化、非结构化数据 。 Snowflake在2015年开始上线使用 , 如今发展成支持每天运行数百万条查询的PB级云原生数据仓库 。
图 1 整体架构图
整体架构 图1展示了Snowflake的整体架构 。 Snowflake设计的最终目的是为用户提供高易用性、高可操作性 , 以及高可靠性 , 基于这样的前提 , Snowflake的内核组件的设计都具有高可靠、高可扩展的特性 。 组件是互相独立的 , 组件之间通过RESTful接口进行通信 。 Snowflake内核组件从底向上可以分为三个层面:
1)数据存储 。 Snowflake的数据存储是构建在Amazon S3存储服务至上 , 主要用来存储表数据和查询结果 。
2)虚拟仓库 。 虚拟仓库构建在Amazon EC2虚拟机组成的弹性集群之上 , 负责执行用户的查询请求 。
3)云服务组件 。 云服务组件是Snowflake的大脑 , 它包括并发访问控制、基础设施管理、优化器、事务管理、安全管理、元数据管理 , 其中元数据包含schema信息、表信息、权限认证信息、秘钥、统计信息等 。
本篇文章为开胃菜 , 先从Snowflake架构设计切入 , 有个总体的了解 。 接下来会陆续推出几篇系列文章 , 讲解包括Snowflake重要的云原生技术及其它的创新之处 , 云服务组件 , 面向云的各自特性 。
本文为阿里云原创内容 , 未经允许不得转载 。