[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存储中,状态数据通过一个映射引擎来进行访问,该映射引擎还负责处理元数据版本和演进。

(Snowflake核心技术解读系列一)架构设计
(Snowflake核心技术解读系列二)云原生技术
(Snowflake核心技术解读系列三)云原生技术


随时欢迎技术圈的小伙伴们过来交流^_^
AnalyticDB详情见:产品详情
AnalyticDB产品试用:产品试用
AnalyticDB知乎公众号:云原生数据仓库
AnalyticDB开发者社区公众号:云原生数据仓库
AnalyticDB开发者钉钉群:23128105
image.png


AnalyticDB相关文章:
AnalyticDB MySQL拥抱云原生,强力支撑双十一
智稳双全--AnalyticDB如何助力菜鸟运配双十一
千万商家的智能决策引擎--AnalyticDB如何助力生意参谋双十一
AliExpress智能营销引擎大揭秘-AnalyticDB如何做到快准狠省
十万亿级OLAP引擎解读-AnalyticDB如何支撑数据银行超大规模低成本实时分析

相关实践学习
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
8月前
|
存储 运维 前端开发
如何开发设备管理系统中的设备维护管理板块 ?(附架构图+流程图+代码参考)
设备管理系统中的维护管理是企业高效运营的关键。本文详解设备维护管理模块的设计与实现,涵盖功能规划、业务流程、技术方案及开发技巧,助力企业构建科学的设备维护体系,提升设备利用率与生产效率。
|
6月前
|
机器学习/深度学习 人工智能
AI重塑电商拍摄:技术驱动的商业变革——5款AI模特图生成工具技术分析
AI技术正重塑电商拍摄:低成本、高效率生成逼真模特图,支持批量换装、换背景,助力商家快速上架、灵活试错。燕雀光年、Kaiber等工具实测好用,未来AI与实拍将互补共存。
772 0
|
9月前
|
机器学习/深度学习 人工智能 分布式计算
AI 大模型时代的网络架构演进
​2025 年 7 月 26 日,第二届中国计算机学会(CCF)分布式计算大会暨中国算力网大会(CCF Computility 2025)在甘肃兰州隆重召开。大会以“算力网:新质生产力背景下的分布式系统”为主题,吸引了来自学术界与产业界的 1200 余位专家学者、行业代表齐聚一堂,共探分布式计算与算力网络的前沿技术与未来趋势。
|
12月前
|
存储 人工智能 安全
AI 驱动下的阿里云基础设施:技术创新与产品演进
本文整理自阿里云智能集团副总裁、阿里云弹性计算产品线与存储产品线负责人吴结生在“2025 AI势能大会”上的演讲,重点介绍了阿里云在AI基础设施领域的技术创新与产品演进。内容涵盖CIPU架构、盘古存储系统、高性能网络HPN等关键技术,以及第九代英特尔企业实例、ESSD同城冗余云盘等新产品发布。同时,文章详细阐述了灵骏集群的优化措施和可观测能力的提升,展示阿里云如何通过持续创新为AI负载提供强大支持,助力企业在AI时代实现智能化转型。
AI 驱动下的阿里云基础设施:技术创新与产品演进
|
10月前
|
存储 Windows
内存卡坏了还能修吗?4种常见修复方法
内存卡出现“无法保存”或“存储异常”等问题时,不一定是硬件损坏,可能是系统错误或文件系统异常导致。本文介绍几种亲测有效的修复方法:1) 更换读卡设备排除接触问题;2) 格式化修复文件系统(需先备份数据);3) 使用DiskGenius检测坏道;4) 借助厂商工具深度修复。同时提供日常保养建议,如避免高温环境、养成数据备份习惯,延长内存卡使用寿命。通过这些方法,多数问题可轻松解决,无需更换硬件。
|
11月前
|
canal 负载均衡 智能网卡
阿里云洛神云网络论文入选SIGCOMM'25主会,相关实习生岗位火热招聘中
阿里云飞天洛神云网络的两项核心技术Nezha和Hermes被SIGCOMM 2025主会录用。Nezha通过计算网络解耦实现vSwitch池化架构,大幅提升网络性能;Hermes则提出用户态引导I/O事件通知框架,优化L7负载均衡。这两项技术突破解决了云网络中的关键问题,展现了阿里云在网络领域的领先实力。
1750 2
|
设计模式 前端开发 安全
理解最常用的MVC分层模型及其变种
【6月更文挑战第24天】 本文介绍架构模式如MVC、MVVM和MVP是解决软件结构问题的通用方案。。每种模式有其优缺点,适用场景不同。
1032 0
理解最常用的MVC分层模型及其变种
|
数据采集 算法
数据结构与算法—哈夫曼树详解与构造
给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。
805 0
数据结构与算法—哈夫曼树详解与构造
|
关系型数据库 分布式数据库 PolarDB
如何一键本地部署PolarDB for PostgreSQL
《PolarDB for PostgreSQL动手实践》系列第一期,带您体验如何本地一键安装快速部署云原生开源数据库PolarDB for PostgreSQL。
element-ui 表格和 tooltip修改背景颜色和箭头颜色
element-ui 表格和 tooltip修改背景颜色和箭头颜色
2085 0

热门文章

最新文章

下一篇
开通oss服务