【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

从 Snowflake 看数据仓库未来演进方向:计算存储分离、弹性计算、统一存储和 Serverless 化

  • 2020-11-20
  • 本文字数:3527 字

    阅读完需:约 12 分钟

从Snowflake看数据仓库未来演进方向:计算存储分离、弹性计算、统一存储和Serverless化

2020 年 9 月,主打云数据仓库产品的硅谷独角兽 Snowflake 正式登陆纳斯达克,首日 IPO 筹资高达 33.6 亿美元,是有记录以来金额最大的软件 IPO,突破了 Uber 2019 年 5 月上市创下的最大规模纪录。


如今,大数据技术早已进入普及期,数据仓库/分析领域更是巨头林立,既有传统厂商 Oracle、Teradata,也有开源软件 Hadoop,还有云厂商 AWS Redshift、Google Bigquery,在这样一个竞争环境下,成立于 2012 年的 Snowflake 能脱颖而出实属不易。那么,Snowflake 在数仓技术方面有哪些独到之处?其成功的背后又有哪些技术原因和趋势值得关注?


近日,InfoQ 有幸采访了腾讯云 EMR 技术负责人、专家工程师陈龙,聊了聊过去一年他所看到的大数据领域和数据仓库方向的技术演进。他还将在QCon全球软件开发大会(深圳站)“现代数据架构”专题 中进行《下一个SnowFlake? 看云上ClickHouse如何做存储计算分离》的分享,感兴趣的读者可以关注。


InfoQ:您可以说是大数据领域的资深从业者了,也参与过多个不同的大数据项目,能否跟我们分享一下您在大数据领域的从业经历?


陈龙: 我本人一直从事基础 PaaS 相关的产品开发,服务的都是公有云企业客户,早期负责云缓存 Redis、云数据 HBase,到现在的半托管式大数据基础平台弹性 MapReduce 以及云数仓 ClickHouse。对于一个从事基于云基础设施提供 PaaS 服务的技术人来说,印象最深刻的莫过于企业客户对于产品本身的肯定和吐槽。肯定是通过产品或者技术以及服务帮助客户解决了客户的问题,吐槽是因为产品本身或多或少存在问题没有达到客户的预期,但综合来看,客户对于大数据基础产品的关注点可以归纳为:性能、成本、和产品易用性。如何通过技术手段把大数据组件的性能做到极致,同时尽可能以更低的成本满足业务需求,通过产品让客户的技术、运维等成本降到最低一直是我们努力的目标。


InfoQ:这期间您经历了大数据领域哪些新老技术的更迭和演进?


陈龙: 在没有 Hadoop 相关生态技术之前,数据分析的主流方式是使用传统数据库通过分库分表的方式进行,这种方式技术复杂度和运维复杂度极高;或者使用 IBM 或者 Oracle 的商业产品,这意味着极高的成本。


在 Google 发布三大理论(GFS、MapReduce、BigTable)后,Hadoop 实际上已经成为大数据领域数据处理的事实标准,围绕 Hadoop 生态的技术也是百花齐放。通过 Hadoop 技术可以基于普通的 x86 服务进行大数据分析,成本可以得到有效控制,但是问题也随之而来。


目前 Hadoop 技术运维成本极高,同时并不支持历史数据的更新和增量数据处理,常规对于历史数据的更新只能通过重新计算的方式去解决,浪费大量宝贵的 CPU 和 IO 资源。虽然现在有 Delta 相关技术,时延也只能做到分钟级别,对于越来越高的数据实时性要求还是无法满足。其次计算存储不分离,无法对计算资源进行有效复用。因此长期来看,大数据分析技术演进的方向一定是:支持数据实时处理、计算存储分离、Serverless 化、高性能低成本的数据仓库服务才能赢得未来。


InfoQ:如果请您来盘点过去这一年大数据领域技术的发展,您认为有哪些比较重要的变化和趋势?相比前几年,今年的技术变化大吗?


陈龙: 过去一年大数据领域技术的重要变化个人认为有数据湖技术,趋势是客户对大数据分析的性能和易用性要求更高了,ClickHouse 的快速普及就能说明这个问题,客户要求极致的性能和更加低的成本(硬件成本、技术成本和运维成本)。


相比前几年,今年关注度比较高的莫过于数据湖。就技术形态而言,目前有两种形式的数据湖技术,一种是以 Presto 为代表,通过各种连接器分析各种异构数据源的数据而不需要预先对数据做任何处理;另外一种是以 Delta、Hudi、Iceberg 为代表的技术框架,是基于 HDFS 或者是云对象存储做集中式存储,外围数据需要导入到湖中,同时结合 OLAP 引擎对外提供服务。Delta 旨在解决大数据领域里的历史数据更新和增量数据处理问题,进一步降低大数据分析的技术复杂度和成本。


InfoQ:这些变化背后的原因能否分析一下?


陈龙: 在大数据领域,对于历史数据的更新和增量数据的处理需求一直是客观存在的,而且总的趋势是数据实时性要求越来越高。在没有 Delta 技术之前需要大量的重复计算来解决这些问题,同时随着需求的不同引入的技术框架会越来越多,导致的问题就是技术、运维和硬件成本快速上升。Delta 等相关技术的出现,旨在通过一种统一的 Data Serving 层,降低大数据分析的技术复杂度,同时提升性能和降低成本。


InfoQ:您这次在 QCon 上的演讲所在专题名称是“现代数据架构”,那么您所理解的“现代数据架构”是什么样的?具备哪些特点?


陈龙: 我所理解的现代数据架构特点如下:

1. 必须基于云计算构建

云计算让 IaaS 的交付和基础 PaaS 的交付进入了工业化时代,在信息技术领域分工更加明晰,从而使企业更加聚焦于自身业务,从业务依赖 IT 技术转变为 IT 技术为业务服务。


2. 存储计算分离

在云的环境下,网络传输能力已经超过本地磁盘的 IO 能力,存储计算分离带来的好处是存储量一定的情况下通过横向扩展计算可以带来更好的性能 ,同时在计算低峰的时候通过云的弹性能力进行扩缩容带来数据分析计算成本的进一步降低,同时可以根据数据热度进行存储分级进而降低数据分析的存储成本。


3. 按需付费

相比自建 IDC,云的最大优势是资源分钟级交付,最大程度降低硬件成本,企业用户可以根据实际计算量和存储量进行按需付费。


4. Serverless

Serverless 可以让客户的大数据分析运维成本降到接近于零,在企业客户视角看到的是一个服务而不是一个技术框架或者是一种开源技术,有效降低大数据分析的运维成本。


5. 极致性能

基于云基础设施,在计算存储分离的模式下还必须保证现代数据架构下的零性能损失,性能的保证即是成本降低的保证。


InfoQ:大数据存储方向从去年到今年涌现了不少热门话题,比如数据湖、数据湖仓等等。在您看来,传统数仓和云数仓当前存在哪些需要改进的问题和局限?为什么需要数据湖、数据湖仓?


陈龙: 近一年大数据领域里最热的词莫过于数据湖和云数仓,特别是在 Snowflake 上市之后。数据仓库和数据湖并没有严格的范式去定义,比较公认的概念为:数据湖是一个集中式的存储,允许以任意规模存储结构化和非结构化数据。可以存储原始数据,而不需要先转化为结构化数据,基于数据湖之上可以运行多种类型的分析。而数据仓库是处理过后的结构化或者半结构化数据,更加靠近数据的消费端。数据湖仓个人理解是使用一套技术去实现数据湖和数据仓库的能力,类似多模的概念。


传统数据目前多基于 Hive 在 Hadoop 生态至或者 MPP 引擎构建,而现阶段云数仓也是基于这些技术在云上构建,问题是面向不同的业务场景引入的技术栈也不尽相同,技术栈复杂且运维成本高。云数仓大多基于云上对象存储构建,在某些特定场景下,性能需要提升。数据湖从概念上讲更强调集中式存储、数据的原始特性,而数据仓库则是以结构化和半结构化数据为主。


InfoQ:未来数仓技术的发展趋势会是怎样的?


陈龙: 未来数据仓技术的发展趋势,Snowflake 给出了一个很好的参考样本。标准的接入层实现 DDL 以及安全认证等,弹性计算层充分利用云的弹性能力大幅降低计算成本,统一存储层基于云存储构建,解决数仓临时扩容以及运维问题。总体趋势就是:计算存储分离、弹性计算、统一存储以及 Serverless 化。


InfoQ:在您看来,当前大数据计算引擎和存储分别处于什么样的发展阶段?为什么?


陈龙: 当前大数据计算引擎主要有 MR、Tez、Spark、Flink,其中 MR 属于第一代计算引擎,Tez 算是第二代,而 Spark 和 Flink 则属于第三代。其中 Spark 偏向离线而 Flink 则偏向流式计算,虽然 Spark 和 Flink 都在朝着流批一体的方向演进,但还有不少的工作要做。如果总体目标是通过一套技术模型来解决流批一体的问题,个人认为计算引擎还处在高速发展阶段。大数据里的存储即 HDFS 其实已经成为事实上的标准 ,特别是在 Hadoop 3.0 引入 EC 以及联邦特性进一步完善之后,HDFS 达到了成熟的标准。在云的环境下,云上对象存储在大数据分析存储位置上越来越重要,未来对象存储势必成为云上数据湖或者数据仓库的底层存储


InfoQ:接下来大数据领域还有哪些值得关注的技术方向?


陈龙: 个人觉得未来大数据领域值得关注的技术方向有:Delta 技术,通过 Delta 技术可以实现历史数据更新和增量数据处理,同时支持 ACID 能力,可以大幅降低大数据分析的复杂度;另外是 OLAP 引擎的物化视图,数据集中式存储和管理后,如何快速提取数据物化视图是一种比较不错的解决方案。

嘉宾介绍:

陈龙,腾讯云 EMR 技术负责人,专家工程师,2011 年加入腾讯,先后主导开发了腾讯云 Redis,负责腾讯云云数据库 HBase 以及 EMR 等多款云产品的技术工作。Apache Hbase Contributor,向 Apache Hive 等多个开源项目贡献过代码,目前专注于腾讯云 EMR 和腾讯云云数仓 ClickHouse 的技术建设工作,协助企业客户的大数据基础应用在云上落地以及业务模型改进等工作。

2020-11-20 14:003461
用户头像
蔡芳芳 InfoQ主编

发布了 781 篇内容, 共 494.3 次阅读, 收获喜欢 2748 次。

关注

评论

发布
暂无评论
发现更多内容

如何找寻职业方向感

万事ONES

ONES

详解CNN实现中文文本分类过程

华为云开发者联盟

机器学习 CNN 深度神经网络 文本分类 Word2Vec

NodeJS搭建本地服务指南

编程江湖

node,js

Python格式字符串的三种方法你都掌握了吗,%s%d%f+format()+f-string,深度测评YYDS实至名归

是Dream呀

2月月更

【思特奇杯·云上蓝桥-算法集训营】第2周----真题汇总+思路分享

是Dream呀

2月月更

基础架构部如何推动新一代云原生架构变革

星汉未来

开源 云原生 开源社区 云计算,

你知道,java项目中是如何获取文件地址的吗?

华为云开发者联盟

Java 路径 ClassLoader 文件地址 绝对地址

一行代码:开启 eBPF,代替 iptables,加速 Istio

Daocloud 道客

istio 开源项目 网络加速 服务网格 ebpf

[Python公开课]零基础玩转Python基础篇----第五节:Python的列表、元组和字典

是Dream呀

Python 2月月更

[Python公开课]零基础玩转Python进阶篇----第一节:Python中的文件操作

是Dream呀

2月月更

智能运维引擎 CudgX 更新 V0.2.0 版本,新增根据 MetricQPS 进行自动扩缩容!

星汉未来

云原生 算力 智能运维 扩缩容

Flutter 屏幕采集实战分享

ZEGO即构

flutter 音视频开发 屏幕采集编码

博云信创云管平台入选工信部推荐解决方案名单,头部券商信创案例获应用示范单项!

BoCloud博云

云服务 信创 云平台

产品更新 | 数据物流引擎 DTExpress 新增算力市场及跨云传输

星汉未来

数据迁移 云算力 云 原生云 CTO

Serverless 与工具链建设

刘宇

Serverless 工具链

跨平台应用开发进阶(二) :uni-app 实战

No Silver Bullet

uni-app 跨平台 规范 2月月更

爬虫requests模块 入门到入狱 :基础知识+实战分析

是Dream呀

2月月更

开源算力引擎 BridgX 发布 0.6.0 版本:新增三种权限管理功能

星汉未来

开源 运维 云原生 云计算, 开源生态

刚出炉的《Java开发手册黄山版》,我帮你们圈出了改动点!

捉虫大师

【Python训练营】Python每日一练----第2天:门牌制作

是Dream呀

2月月更

[Python公开课]零基础玩转Python进阶篇----第二节:Python的异常分析及解决

是Dream呀

2月月更

YoloV5实战:手把手教物体检测

华为云开发者联盟

物体检测 模型 yolo YOLOv5 Labelme

Hive 数据倾斜问题定位排查及解决

编程江湖

一文看懂业界在离线混部技术

星汉未来

开源 云原生 服务治理 云计算, 混部

使用s3fs在centos上挂载bucket

阿呆

S3

金融行业研发管理平台选型

帅气IT小哥

[Python公开课]零基础玩转Python基础篇----第三节:Python的常用语句

是Dream呀

Python 2月月更

[Python公开课]零基础玩转Python基础篇----第六节:Python中的函数

是Dream呀

2月月更

CTF题目中遇到的PHP考点总结(一)

H

php CTF WEB安全

[Python公开课]零基础玩转Python基础篇----第四节:Python的字符串

是Dream呀

Python 2月月更

[Python公开课]零基础玩转Python基础篇----第七节:Python中的高级函数

是Dream呀

2月月更

从Snowflake看数据仓库未来演进方向:计算存储分离、弹性计算、统一存储和Serverless化_文化 & 方法_蔡芳芳_InfoQ精选文章