snowflake:认识云上数仓

2022-03-09 00:00:00 数据 用户 节点 计算 客户


一,为什么公司值得关注?

移动互联网爆发以来各企业积累了大量的用户数据,数据正在成为越来越有价值的资产。根据IDC的数据,到2025年,全球将产生175ZB的数据,而2018年为33ZB,复合年增长率为27%。

进入数据时代,如何挖掘海量数据中存在的商业价值是核心。从使用者来看,主要的制约是用户的想象力,好比提出一个好问题的价值;技术支持平台的制约是如何优化数据引擎,使得操作能够跟得上使用者的想法。技术的优化能够降低使用者的门槛,扩大使用者的范围,进而扩大市场空间。

数据仓库就是供给方面的重要一环。往下连接各业务数据源,往上可整合数据提供数据分析引擎。

(图片来源:知乎)

数据源:

传统数据存储容纳的是结构化的数据,也就是二维关系表的形式,可以直接用通用数据库语言操作。但是随着移动互联网的发展,数据源越来越分散,数据的形式也越来越多样,企业内部的数据跨部门协作也变得越来越多,因此需要一个能够容纳更多分散数据源的统一数据中心。

数据分析:

从数据源到DW和Cube都需要大量的ETL(Extract,Transform,Load)过程,ETL实质是将业务系统的源数据打散、组合,然后按照维度或者主题重新存储。由于分析端也是需要迭代的,想法实现可能需要不断调试,就需要对这些底层的存储不停地按照各种维度清洗数据转化再重新归类。数据量越多,整个流程的处理难度指数级上升,而且需要大量的存储空间,计算以及人员的维护。

从数据流向的角度看,以前是大量的数据从前台流入后台沉淀,数据操作主要是单条或者少量记录的增删改。现在在数据流入的同时,还需要大批量的数据查询,以支持决策分析。

在这样的商业需求要求下,数据处理开始了从传统的数据库到分析型数据仓库到云上数据仓库的进化。

公司简介

Snowflake创立于2012年,总部位于美国加州SanMateo,2014年推出专用SQL云数据平台snowflake,提供基于云端的数据存储和分析服务,也称为DWaaS(Data warehouse-as-a-Service),是近几年客户增长快的云数据仓库供应商。

公司2020年9月17日在纽交所上市,当日市值便突破700亿美金,成为有史以来大规模的IPO。

Snowflake三位创始人(Benoit Dageville、Thierry Cruanes和Marcin Zukowski)都是数据管理技术领域的专家,创立了snowflake这种完全基于云的数仓解决方案,解决了现有数据技术的一系列问题:没有针对当今动态和多样化的数据需求而构建;无法支持庞大的数据量;无法同时支持许多用例和用户;缺乏性能优化;难以使用;管理和维护成本高;无法支持多云、跨区域战略;无法促进数据共享。

二,Snowflake是怎么做到的?

Snowflake大的创新在架构上,架构带来产品优势和成本模式的不同。

主要对比Snowflake与AWS redshift以及Google BigQuery的区别。

Snowflake的主要架构在2016年的论文中有比较详细的说明,分为存储、计算、和服务层。

存储层使用的AWS S3,理论上可以无限低成本实现硬件扩展,也支持微软谷歌云平台。

计算层即用即开,根据客户所需适配。由多个计算节点组成的MPP计算集群构成virtual warehouse,用户不需要知道每个VM包含多少个节点,而是按T-Shirt尺寸一样划分成不同的尺码(S,M,L,XL...),VM可以随时按需创建/清除来,来匹配客户实际需求。比如,用4个节点完成需要15h时间,同样地,也可以用32个节点花2h完成处理,由于是按实际使用计费,同样的花费但用户体验差别巨大。

服务层多用户共享,执行传统意义上的一系列admin工作。

谷歌BigQuery:

2012年上线,无服务器(Serverless)架构,也不需要维护任何硬件软件计算集群,客户只需要load数据和提出需求,其他所有的处理流程都由谷歌自动完成。计算部分由Borg完成,Borg系统是谷歌的一个集群管理器,运行着数千个应用程序的数以十万计的作业,跨多个由数万台机器组成的集群,通过超配、进程级别资源隔离等,实现高效的资源利用率。谷歌Ads,Youtube,Gmail等众多产品都使用了该系统。

Redshift RA3:

2012 年推出,计算部分包括leader node和计算节点。Leader node充当各个计算节点的大脑,接收到调用需求后,负责把数据和调用任务分配给不同的计算节点。2019年,ASW发布具有托管存储的 Amazon Redshift RA3 节点,可以进行扩展并单独支付计算和存储费用,从而根据计算需求来调整集群大小。该产品被认为是snowflake的竞争产品。

这一部分确实不懂了,太技术了,以下都是个人主观推论:

很多文章都提到公司的存算解耦创新,只看架构图觉得redshift和bigquery也是存储与计算分离的模式。所以是不是Snow的架构更加彻底呢?redshift里计算器集群需要leader节点与计算节点通信,bigquery里类似的部分是Dremel,也需要枝干节点与叶子节点通信,而从架构图看Snow的计算层只有一层。

与redshift相比,Snow整个服务做得更完整,对客户来说是纯SaaS的使用体验,所有的服务(数据仓库,数据集市,数据湖)集成在一起,不需要用户多余的操作,只完成自己想要做的需求就行,同时也可以不需要copy就实现数据的无缝共享。而redshift是不断推出各个服务产品,使用相对分散,因此在用户使用上便利性不如Snow和bigquery。

与bigquery相比,用户使用体验都很好,但是bigquery的需求性能上可能不如其他两个。因为bigquery是按slot付费(也就是上面的叶子节点层),在flat-rate 定价模式下,如果实际使用计算能力超过了购买的容量,多余部分需要排队等候算力空闲。

从一些三方公司的测算数据看,Snowflake的数据相对还是不错。(但是第三方是否真的独立客观存疑)。

Gigaom 公司2019年做的30TB的TPC-DS标准测试数据耗时和2020年Fivetran 做的1TB TPC-DS性能测试数据。Fivetran得出的结论是几个数仓都非常不错,在某些方面会有不同的侧重。

Gigaom:https://gigaom.com/report/cloud->Fivetran:https://fivetran.com/blog/warehouse-benchmark

可以总结出Snowflake的三个优势:

1)高度灵活中立

利用云上存储对云上对线下及云端、关系型和非关系型数据库进行统一管理,统一入口,让用户能够按照以往访问关系型数据库的语言,对背后所有的数据库进行访问,几乎不改变原有使用习惯。Snowflake作为中立的第三方云供应商,支持混合云,支持半结构化数据(CSV、日志、XML、JSON)的支持等。(20Q3开始支持电邮、PDF等非结构化数据)

2)存算分离

计算量与需求弹性匹配,从而实现客户为真正的消费量买单。1)on-demand模式,按月消费;2)签立长约,购买credits,合约期间未消费的credits在续约后可以递延继续使用,当期真正被消费的金额计入当期财报,合约里未被消费的金额计入RPO(remaining performance obligation)。对用户来说:以前是管理capacity,现在是管理consumption。

3)易于使用

不需要任何软硬件的安装、部署和管理,运维,管理,升级和优化都由公司完成。

2020年8月Forrester对一些Snowflake使用者(注:样本量不大)的采访数据显示,使用Snowflake云服务的可量化收益分布可以看出,客户大的收益来自基础设施的成本节约和数据快速响应带来的商业利益。


三,持续竞争力与潜在风险

从客户数看,客户的接受反馈也很好。

截止2021年1月底,公司客户数达到4139,增速依然保持在73%的高位。(相比之下,截止2020年7月31,Redshift客户数13826,过去12个月增速2.66%;BigQuery 9184,增速30.9%。)


按目前的增长速度,以redshift的客户数为基数,Snowflake至少还能高速成长3年时间,而由于客户往往第二年才开始真正消费,体现在RPO上,反映到报表收入端则需要更长的时间。因此,如果客户增速持续,至少能保证未来5年的高成长。市场也给予了极高的估值期望。假设5年后收入到70亿美金(5年复合增速63%),PS可以消化到10x附近。

根据公司测算和IDC的数据,2020年全球数仓包括BI分析的市场容量在560-810亿美金,推测2025年在千亿美金左右,公司70亿美金的收入相当于大约7%的市占率。

虽然上市后冲高有很大的回调,但是估值仍然相对较高。从目前的阶段看,产品优势仍然领先,客户数高速增长,客户消费量仍然维持在高位。是否能够保持高估值需要看基本面是否能持续加强。

一些观察点:

1)客户增长。

产品优势的持续性

2)客户消费量。

技术的优化促进用户的技术使用量,将客户的IT能力管理转移到数字化转型的财务管理,反映企业数字化转型的进程和意愿。

3)专业分析的能力

数据仓库往上提供数据分析能力,如果只在数仓的环节,空间相对有限。

4)与IaaS供应商的关系

公司的成立就是出于成本更加透明,鼓励用户根据实际需求消耗付费的目的,而成本端则是完全基于现有云平台提供的基础设施,盈利空间相对更加有限,横向比较毛利率在SaaS公司里相对较低,纵向比较一直在持续提升,随着客户数增多,相对供应商的议价权有望提升,进一步降低成本。

公司与IaaS供应商的关系是既依赖又竞争的关系,在一定的体量上可以维持微妙的平衡,也存在一定的风险。

5)数据分享

FY21Q3交流:有23%的客户使用了该功能,有超过100个provider提供数据,包括全球标普,辰星等,更多来自企业与外部的数据分享。

数据仓库从on-premise迁移到云上是一个漫长的过程(6个月时间)。但是如果数据已经在云上了,切换服务平台是不是成本就小很多了呢?所以,建立数据网络才能有更强的黏性。根据公司FY21Q3的交流,有23%的客户使用了该功能,超过100个provider提供数据,包括辰星,标普等。数据分享客户渗透率依然很低,未来会不会形成n*n的分享网络呢?


另外还有个小小的疑问,如果数据都在云上可以无缝交互,这跟区块链技术是不是类似呢?

参考资料:
https://pages.cs.wisc.edu/~remzi/Classes/739/Fall2018/Papers/p215-dageville-snowflake.pdf
https://hhhypergrowth.com/a-snowflake-deep-dive/
https://siliconangle.com/2020/08/02/five-questions-investors-asking-snowflakes-ipo/
https://aws.amazon.com/blogs/big-data/amazon-redshift-spectrum-extends->https://cloud.google.com/bigquery/docs/slots
https://cloud.google.com/blog/products/bigquery/bigquery-under-the-hood
https://www.infoq.cn/article/0bpzikj7qgxst91khhue


来源 https://mp.weixin.qq.com/s/Q966XyV2meWNo6JNpfeQQw

相关文章