[Snowflake核心技术解读系列四]云特性

简介: 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除了通过上述的数据存储、虚拟仓库、云服务组件来充分挖掘和利用云原生技术外,还提供了更多的云特性来丰富关系型数据仓库的功能,以下章节会对此进行详细介绍。

完全面向SaaS

用户使用Snowflake数仓,不需要购买任何机器,也不需要安装任何软件,只需要购买Snowflake服务就行了。用户只要将数据上传到Snowflake中,就可以对这些数据进行查询分析操作。Snowflake不仅支持标准的数据库访问接口如JDBC、ODBC等,而且支持通过Web界面上的按钮直接操作数据。Snowflake的Web界面还支持用户直接访问数据库元数据、统计使用信息、进行用户和系统管理等。和DBaas(Database-as-a-Service)的最大不同是,Snowflake不需要用户进行数据仓库参数配置与调优,不需要用户关注底层物理部署方式、存储备份模式、故障恢复等数据仓库关键特性。用户在Snowflake上只需要关注的就是数据以及对数据的查询。

高可靠性

Snowflake在两种情况下会面临可靠性问题:1)人为控制的系统升级或运维管理,2)系统故障。由于越来越多的用户使用数仓的数据分析能力来支撑他们的核心业务,这些核心业务是不能接受业务停服的,因此,提供非常高的可靠性已经成了任何数据仓库需要重点解决的问题之一。Snowflake采用了两种方案来解决其两种情况下面临的可靠性问题:在线升级机制和故障恢复机制。

image.png

图 2 Snowflake多数据中心实例


故障恢复机制。如图2所示,Snowflake可以容忍其架构所有层级中单个节点或者任意组合节点发生故障,如果有节点发生故障,那么其他节点可以接管故障节点负责的工作,以不影响用户的使用体验。Snowflake的数据是存储在Amazon S3存储服务上的,S3会将数据在不同的数据中心中进行备份,即便单个数据中心完全宕掉了,S3仍然可以通过其他数据中心提供相同的数据。因此,S3可以提供99.99%的数据可用性和99:999999999%的数据持久性。Snowflake云服务组件中的元数据也是以这样的方式存储在S3中的。除了元数据以外,云服务组件中其他组件都直接部署在EC2上,这些EC2也分布在不同的数据中心中,由上层的负载均衡器来将用户请求均匀地转发到不同的EC2上。即使某个云服务组件节点挂掉,或者某个数据中心整个挂掉,那么整个Snowflake系统也不会受到影响,顶多是这个云服务组件目前正在服务的查询请求会失败。后续相关的查询请求均会自动转发到该云服务组件在其他数据中心的正常节点上。

和云服务组件不同的是,虚拟仓库并不是分布在不同的数据中心中,这么做的目的主要是考虑性能因素。网络性能是分析型查询执行性能的重要影响因素之一,而同一个数据中心内的网络性能会远远高于跨数据中心访问的网络性能,因此,作为实际执行查询请求的虚拟仓库的计算节点是构建在同一个数据中心的EC2上的。在查询执行过程中,如果某个计算节点挂掉了,该查询会执行失败,但是Snowflake会自动在相同的虚拟仓库上重试。重试前,Snowflake要么立即将挂掉的计算节点用新的节点来替换,要么在无法替换的情况下,将挂掉的计算节点移除。Snowflake会维护一个备计算节点池,以便快速地替换挂掉的计算节点。

如果虚拟仓库所在的数据中心整个挂掉,那么该虚拟仓库所正在运行的所有查询都会失败,此时就需要用户来介入了:用户需要主动地将虚拟仓库部署到另一个数据中心来继续服务。但是,这就会导致系统的不可用了。Snowflake当前采用这种设计方案的一个前提假设是数据中心整个挂掉的概率非常低,当然Snowflake也在设计新的方案以保障数据中心整个挂掉情况下的服务可靠性。

在线升级机制。Snowflake能够在做系统升级的时候,也提供高可靠性,这依赖于Snowflake的在线升级机制。由于Snowflake的云服务组件和虚拟仓库是无状态的,Snowflake允许同时部署云服务组件中不同组件和虚拟仓库的不同版本。所有状态都保存在key-value存储中,状态数据通过一个映射引擎来进行访问,该映射引擎还负责处理元数据版本和演进。

注:译文来自 https://www.snowflake.com/resource/sigmod-2016-paper-snowflake-elastic-data-warehouse/

(Snowflake核心技术解读系列一)架构设计

(Snowflake核心技术解读系列二)云原生技术

(Snowflake核心技术解读系列三)云原生技术


随时欢迎技术圈的小伙伴们过来交流^_^

AnalyticDB详情见:产品详情

AnalyticDB产品试用:产品试用

AnalyticDB知乎公众号:云原生数据仓库

AnalyticDB开发者社区公众号:云原生数据仓库

AnalyticDB开发者钉钉群:23128105

相关实践学习
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
目录
相关文章
|
存储 运维 Cloud Native
The Snowflake Elastic Data WareHouse 论文解读
Snowflake是目前话题度超高的云原生数仓产品,从20年下半年上市到现在已经市值千亿了。它的流行进一步印证了云的重要性。纵观现在大大小小的数据库厂商,上云是必然要走的战略步骤,而snowflake则更加直接,类似于AWS Aurora或我们的PolarDB,它就是围绕着云基础设施构建的OLAP数据库产品。
1963 0
The Snowflake Elastic Data WareHouse 论文解读
|
11月前
|
监控 Java API
Spring Boot 3.2 结合 Spring Cloud 微服务架构实操指南 现代分布式应用系统构建实战教程
Spring Boot 3.2 + Spring Cloud 2023.0 微服务架构实践摘要 本文基于Spring Boot 3.2.5和Spring Cloud 2023.0.1最新稳定版本,演示现代微服务架构的构建过程。主要内容包括: 技术栈选择:采用Spring Cloud Netflix Eureka 4.1.0作为服务注册中心,Resilience4j 2.1.0替代Hystrix实现熔断机制,配合OpenFeign和Gateway等组件。 核心实操步骤: 搭建Eureka注册中心服务 构建商品
1480 3
|
7月前
|
Web App开发 人工智能 自然语言处理
2025年企业AI客服系统建设费用全解析:中小企业如何控制预算?
2025年,AI客服转向场景适配与成本可控,中小企业如何选型?本文解析主流系统费用与选型策略,推荐瓴羊Quick Service等高性价比方案,助力企业以合理预算实现智能服务升级。
|
机器学习/深度学习 监控 物联网
函数即服务(FaaS)
函数即服务(FaaS)
1003 6
|
机器学习/深度学习 人工智能 自然语言处理
生成式人工智能入门指南
生成式 AI 是人工智能的一个子领域,专注于通过学习现有数据的模式创建新内容或生成解决方案。它是一种鼓励 AI 系统利用对数据结构的理解自主生成新颖、类似于人类的输出的方法。这可以采用图像、文本、音乐或甚至是代码的形式呈现。
593 3
|
存储 关系型数据库 MySQL
优化 MySQL 的锁机制以提高并发性能
【10月更文挑战第16天】优化 MySQL 锁机制需要综合考虑多个因素,根据具体的应用场景和需求进行针对性的调整。通过不断地优化和改进,可以提高数据库的并发性能,提升系统的整体效率。
858 1
|
JavaScript 前端开发 Java
JSP基本语法
这篇文章详细介绍了JSP的基本语法,包括脚本标识、注释、指令标识和动作标识的使用方法和语法格式。
JSP基本语法
|
机器学习/深度学习 自然语言处理 并行计算
多头注意力机制介绍
【10月更文挑战第4天】
|
机器学习/深度学习 存储 人工智能
【OpenVI-视觉评价系列之MOS评价实战篇】手机存储不够用,清理照片太痛苦?MOS评价帮你挑选“垃圾”照片
MOS(Mean Opinion Score)是一种常用的主观质量评价方法,常用于视频、图像等多媒体领域中的质量评价。MOS视觉评价通常是通过让受试者观看视频/图像,对视频的清晰度、锐度、颜色饱和度、运动模糊、噪声等方面进行评价。然而,MOS视觉评价也存在一些局限,例如需要大量的受试者,评估时间较长等。因此,近年来,研究者们也开始探索使用客观评价方法来替代或补充MOS视觉评价。
1476 2
【OpenVI-视觉评价系列之MOS评价实战篇】手机存储不够用,清理照片太痛苦?MOS评价帮你挑选“垃圾”照片
|
存储 SQL Serverless
【云栖2023】姜伟华:Hologres Serverless之路——揭秘弹性计算组
本文根据2023云栖大会演讲实录整理而成,演讲信息如下: 演讲人:姜伟华 | 阿里云计算平台事业部资深技术专家、阿里云实时数仓Hologres研发负责人 演讲主题:Hologres Serverless之路——揭秘弹性计算组
【云栖2023】姜伟华:Hologres Serverless之路——揭秘弹性计算组

热门文章

最新文章