当前位置: 首页 > news >正文

解读数据架构的 2020:开放、融合、简化


作者 | 李潇

策划 | 蔡芳芳

在数字时代,数据架构 堪称企业 IT 架构的大动脉。这个架构里包括了诸多模块:数据导入导出、处理、存储、管理、查询、应用和可视化。过去十年,整个数据架构发生了大幅的更新和改变,尤其伴随着公有云崛起、数据爆炸、人工智能复兴等诸多大潮席卷而来,整个数据架构正在发生天翻地覆的变化。并且在未来十年,这个趋势仍会继续,原有的架构会不断被改良甚至颠覆。本文将简要谈谈笔者所看到的 2020 年数据架构现状和对未来趋势的展望。

现状:数据驱动、AI & ML、公有云、云原生、开源成为主流

毋庸置疑,2020 年是里程碑的一年。在全球疫情大流行的阴影笼罩下,传统经济形态受创严重,由于各国的封城政策,实体经济要不拥抱数字经济,与互联网融为一体,要不就歇业甚至倒闭。“ 两年的数字化转型在两个月完成了”,微软 CEO Staya Nadella 在年初 如是说。阿里巴巴这几年也一直强调自己是一家 数据公司

在数字化的大背景下,数据驱动、人工智能和机器学习已经成为公司能否脱颖而出的标配。智能推荐、异常检测、日志分析这些典型的智能应用已经成为数字架构的基本应用场景。根据 领英的 2020 新兴职业报告,数据科学家、数据工程师和人工智能专家在各个国家都炙手可热。

与此同时,公有云在欧美国家已经成为主流,即使在数据架构最保守的金融业也是如此。美国信用卡行业巨擘 Capital One Bank 在 2020 年冬天完全关闭了所有的数据中心,全线进入公有云。无独有偶,美国国防部 100 亿美金的 JEDI 项目也在九月 正式确认选择微软的云服务。由此可见,公有云已经成为数据架构平台的主流趋势,安全性问题不再是上云的拦路虎。各大公有云厂商的靓丽财报也充分说明了各大企业在用实际行动投票。

另外,在公有云的大背景下,云原生成为了新一代数据架构的主流标准。公有云所提供的对象存储、弹性计算、按需使用等特性在架构设计的考虑中需要重新设计。除了公有云厂商的标配服务外,跨云平台的第三方的服务提供商(比如,Snowflake 和 Databricks 等)也受到用户的追捧。云原生的数据仓库提供商 Snowflake 在 2020 年秋天上市,市值一度攀升至超过一千亿美金。相比之下,传统数据仓库的顶尖提供商(如 Teradata)市值还不到 30 亿美金。可见,华尔街的资本市场对云原生和公有云的前景信心十足。

最后,开源软件的战略意义,随着中美贸易摩擦加剧,被提到了前所未有的高度。作为企业的核心 IT 生命线,数据架构需要做到风险可控和成本可控。成熟的架构选型需要保证企业的数据架构不被特定国家的政策影响,不被特定软件锁定,不被特定云厂商锁定。因此,基于开源项目的产品和服务在架构选型中异常热门。在 红帽公布的 2020 企业开源报告 里,数据库和数据分析的开源软件使用高居第三和第四名。与此同时,各大 IT 企业也积极参与到了开源社区的工作中,投入资源,共同开发开源软件。

趋势:AI 和 BI 的统一

数据架构的 核心在于使用场景和使用群体。以 BI(商务智能)为主要使用场景的数据仓库一直是数据架构的核心。而过去十年,通过大数据驱动的 AI(人工智能)渐渐从新贵变成了主流。高效支持 AI 的数据使用也成为数据架构设计的必选项。因此,数据架构的设计必须考虑到 AI 和 BI 的不同需求。数据架构的用户也不再仅仅是主攻 SQL 来做报表的数据分析师,而是扩展到了数据工程师和数据科学家。数据工程师要设计和维护大量的数据 Pipeline(比如 ETL/ELT)来实现数据清理和管理。数据科学家则需要做数据的探索、建模、部署、修正。如何满足以上不同需求并简化架构,变成了数据架构设计的核心指标。

统一 AI 和 BI 是否意味要 统一语言? 有不少传统的 BI 系统(尤其是数据库和数据仓库的厂商)正在尝试扩展 SQL 语言来给数据科学家和数据工程师提供相关的功能。可是,这个努力正在被 SQL 语言的表达力所限制,而打破标准的形形色色的扩展也牺牲了应用的可迁移性。更为致命的缺陷是,这些 SQL 扩展很难融入 AI 的生态圈。

AI 的应用不仅仅局限在若干 API 的调用或数据查询。AI 系统包含一系列复杂的数据操作,包括数据探索、可视化、清理、融合、建模、部署、修正。整个过程中经常需要调用大量的第三方库,而这些库往往又使用不同的语言。幸运的是,随着人工智能、机器学习和数据科学的爆发扩展,Python 逐渐成了这个领域的官方默认语言。拥抱和支持 Python 已经逐渐成为必选项。SQL 不会是数据架构的唯一语言,反而 多语言的支持 会是主流。

数据拷贝? 为了同时支持 AI 和 BI 的使用场景,常见的方法是简单地将数据拷贝成多份,但这也会带来相当深远的危害。不单大幅增加了存储的费用,而且降低了数据的实时性和一致性,进而影响正确性和准确性。更重要的是,多拷贝会给数据安全带来重大隐患。任何数据的泄露都是影响公司品牌和用户隐私的重大事故。

存储和计算的分离 是数据架构当前的发展趋势。数据将以 开放标准 的数据格式(比如,Delta Lake 就选择了开源的 Apache Parquet 格式)来存储和管理,从而避免不必要的数据迁移和拷贝;数据查询、处理和使用则基于用户的具体需求来选择最合适应用程序和计算平台。

趋势:数据湖和数据仓库的统一

传统数据仓库的诸多局限(比如,价格昂贵、数据必须结构化等)促使数据湖在大数据时代横空出世。可是,数据湖的可靠性缺陷也让它的使用变得复杂异常,而且它的性能也不如数据仓库。过去几年间,数据仓库和数据湖方案都在快速变化,除了解决各自的不足,二者之间的边界也正在逐渐淡化。

这个趋势在公有云更加明显,云原生的新一代数据架构不再遵循数据湖和数据仓库的经典架构。对于底层的数据存储媒介,新一代架构不再选择数据仓库在公有云上重建一套复杂的存储服务,反而像数据湖采用公有云所提供的可靠且廉价的对象存储服务(比如,AWS S3 和 Azure Blob)。与此同时,经典的数据仓库的相关性能优化和可靠性设计也被百花齐放的新一代存储结构所采纳。其中既有闭源的产品(比如,Snowflake、Redshift、Synapse、BigQuery),也有开源项目(比如,Delta Lake、Apache Hudi、Apache Iceberg、Hive ACID)。

更准确地说,未来越来越多的云原生方案会融合数据湖和数据仓库的优势重新建构,取其精华、去其糟粕,而非局限于数据湖或者数据仓库的单一架构。今年年初 Lakehouse 的提出,就可以看作这个方向的一个典型例子。

趋势:从数据管理到元数据管理

数据管理和其元数据的管理是相伴相生的。最大化挖掘数据价值离不开元数据管理。数据发现、分享、使用和监控都建立在元数据管理的基础之上。在大数据时代,数据源的丰富化、数据内容的快速迭代、数据的分散管理、数据使用者的多样性,这些都让元数据管理变得异常艰难。

Gartner 的 ”Survey Analysis: Data Management Struggles to Balance Innovation and Control“ 显示,当前数据管理团队只有 8% 的时间花在元数据管理和 Data Catalog 的约束上。从某种程度上说,元数据管理的重要性在绝大多数的数据架构里都被严重低估了。当前存在的一个普遍现象是,数据资源的查找和共享还处于原始社会阶段,而数据文档的质量和所有权也普遍缺乏规范。

为了解决元数据管理的急切需求,过去两年,各大公有云厂商都相继推出和增强 Data Catalog 服务。今年几个头部科技企业也陆续开源了自己的 Catalog 项目,比如,领英开源了 DataHub,并且初创团队创立了 Metaphor Data 公司,而 Lyft Amundsen 也加入了 LF AI Foundation 并创立了 Stemma 公司。我们预计,未来 元数据的管理系统将会成为数据架构的核心部件。元数据的可视化、数据的血统追溯、管理自动化、操作简单化和元数据的快速分析都会成为标准。

趋势:数据流水线(Data Pipeline)从复杂到简单

在数据驱动一切的当下,数据流水线就如心脏到大脑的血管,不容有错,可是数据的爆炸式增长和业务逻辑的动态性导致流水线的设计异常复杂。早在 2016 年,Spark 2.0 开始提出 批流一体,当前已经被整个业界普遍接受,其核心理念是降低数据流水线的复杂度,将状态信息存储到 state store 里,从而简化批处理定期重启和容错处理的操作。2017 年,带有 ACID 属性的存储层(比如,Delta Lake)进一步解决了数据流水线的诸多痛点,比如 ACID 一致性、回滚、审查、数据更新和错误矫正。可是,即便如此,整个流水线还是异常复杂。

背后的核心问题是流水线的设计和实现还停留在命令式(imperative),还是所谓的过程导向。当前,流水线的复杂性和脆弱性暴露给了终端使用者,维护和优化的难度相当之高。未来数据流水线也会被抽象成结果导向的声明式(declarative),只需要声明业务逻辑,就可以实现整个 pipeline。把复杂留给数据架构系统的实现者,而对使用者做到真正的简单易用。

大潮来袭

数据无处不在,并且已经成为各行各业商业决策的全新驱动引擎。随着以数据为核心的新兴应用场景不断涌现,数据架构必然会不断进化和蓬勃发展。这一切,仅仅是开始。我们坚信,未来十年还会持续涌现出新的架构和新的趋势。而数据架构是服务于具体业务需求的,因此,在数据架构的选型上,盲目求新往往是大忌。 从业务实际需求出发,选择最适合的,才是企业数字化转型成功与否的关键。

由于篇幅有限,本文无法全面涉及每个模块的具体变化和发展。如有疏漏,敬请谅解。

作者介绍:

李潇,现就职于 Databricks,主管 Spark 研发团队,专注于 Apache Spark,Databricks Runtime 和 Koalas 的研制和开发。他也是 Apache Spark 项目管理委员会成员。本科毕业于南京理工大学,后在佛罗里达大学(University of Florida)获计算机博士学位, 曾就职于 IBM,获发明大师称号(Master Inventor),在数据处理领域发表专利十余篇。(Github: gatorsmile)

参考资料:

[1] Emerging Architectures for Modern Data Infrastructure https://a16z.com/2020/10/15/the-emerging-architectures-for-modern-data-infrastructure/

[2] Microsoft Corp (MSFT) CEO Satya Nadella on Q3 2020 Results https://seekingalpha.com/article/4341291-microsoft-corp-msft-ceo-satya-nadella-on-q3-2020-results-earnings-call-transcript?part=single

[3] Emerging Jobs Reports by Linkedin https://business.linkedin.com/talent-solutions/emerging-jobs-report#select-country/two-zero-two-zero

[4] How Capital One became the first fully cloud-enabled US bank https://www.businessinsider.com/capital-one-first-us-bank-fully-on-cloud-aws-netflix-2020-11

[5] U.S. Defense Department reaffirms $10 billion cloud deal to Microsoft https://www.marketwatch.com/story/us-defense-department-reaffirms-10-billion-cloud-deal-to-microsoft-2020-09-04

[6] The State of Enterprise Open Source A Red Hat® Report https://www.redhat.com/en/enterprise-open-source-report/2020

[7] What is a Lakehouse? https://databricks.com/blog/2020/01/30/what-is-a-data-lakehouse.html  

[8] Survey Analysis: Data Management Struggles to Balance Innovation and Control https://www.gartner.com/en/documents/3982237/survey-analysis-data-management-struggles-to-balance-inn

[9] Open sourcing DataHub: LinkedIn’s metadata search and discovery platform https://engineering.linkedin.com/blog/2020/open-sourcing-datahub--linkedins-metadata-search-and-discovery-p

[10] Amundsen is an incubation-stage project of the LF AI & Data Foundation. https://lfaidata.foundation/projects/amundsen/

[11] Spark Structured Streaming A new high-level API for streaming https://databricks.com/blog/2016/07/28/structured-streaming-in-apache-spark.html

RECOMMEND

推荐阅读

01

《数据即未来》

推荐理由

作者布瑞恩·戈德西结合自己的亲身经历,讲述了数据科学从项目准备、解决方案构建到项目交付的全部过程,并以案例的形式深入浅出地讲解了在开展数据科学项目的过程中可能遇到的各种问题,循序渐进地教你解决现实世界中以数据为中心的问题。


02

《云原生》

推荐理由

Azure计算团队的产品架构师撰写,现代云原生应用开发入门实践指南。本书旨在能够提供一些基础知识,来帮助开发者和架构师更从容地开启云原生应用之旅。

03

《中台架构与实现:基于DDD和微服务》

推荐理由

某大型保险公司资深架构师撰写,极客时间畅销专栏全面升级,系统阐述基于DDD的中台和微服务建设方法论。深刻揭示企业中台从领域建模到微服务落地的完整设计过程,包含大量设计案例和代码实现,手把手教你完成中台和微服务的协同设计。

04

《数字化转型的道与术》

推荐理由

中台圣经!《企业IT架构转型之道》作者钟华(花名:古谦)新作!十余年数字化实战经验再升华!开创性提出数字化转型中平台思维的十大要素。来自实践,并能指导实践。系统化介绍数字化转型的思路与方法,以及产业互联网平台的建设思路,为各种业务模式的数字化转型提供高价值参考。

05

《企业数据湖》

推荐理由

从软件工程师、架构师角度出发,手把手教企你为业构建自己的数据湖本书旨在帮助你选择正确的大数据技术并使用Lambda架构模式来为企业构建自己的数据湖。


06

《企业级大数据平台构建》

推荐理由

这是一部教你如何从0到1架构与实现一个企业级大数据平台的著作,是作者在大数据和系统架构领域工作超过20000小时的经验总结。

作者从横向视角出发,手把手教你如何拉通Hadoop体系技术栈,以此搭建一个真实可用、安全可靠的大数据平台。通过阅读本书,大家一定能找到灵感和思路来应对实际工作中面对的问题。

更多精彩回顾

书讯 | 1月书讯:Hello 2021! (上)

书讯 | 1月书讯:Hello 2021! (下)

资讯 | TIOBE 1 月编程语言:Python 摘得 2020 年度编程语言!

书单 | 8本书助你了解人民日报“创作大脑”

干货 | 详解华为12种数据采集技术及应用实践

收藏 | 机器学习与人工智能、深度学习有什么关系?终于有人讲明白了

上新 | ECharts开山之作,官方推荐!精心规划适合初学者的ECharts学习路径!

赠书 | 【第37期】Java核心技术经典图书推荐

相关文章:

  • DB-Engines:PostgreSQL获得“2020年度数据库”荣誉
  • 曾被“劝退”的 C++ 20 正式发布!
  • 年终盘点 | 2020年,国内私有云正式进入3.0时代
  • 平均14915元,2021年1月程序员工资统计出炉,打工人你拖后腿了吗
  • 5G重要应用!三大运营商、华为、腾讯都在布局,现在了解还不晚
  • 手把手教你用ECharts画折线图
  • 【第38期】移动边缘计算MEC,站在5G“中央”
  • 简单却巧妙,工程师创意太牛了!
  • 【前端实时音视频系列】WebRTC入门概览
  • 2021 年最值得学习的 5 大机器学习编程语言!
  • ECharts可视化经验分享
  • 2021年,AI哪个方向最火?看看大神们怎么说
  • 后“量子霸权”时代你不可错过的几本好书
  • Python 中最流行的十个标准库
  • IDC发布2021年中国人工智能市场10大预测
  • 收藏网友的 源程序下载网
  • 【391天】每日项目总结系列128(2018.03.03)
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • Java到底能干嘛?
  • js 实现textarea输入字数提示
  • LeetCode29.两数相除 JavaScript
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • Magento 1.x 中文订单打印乱码
  • SQL 难点解决:记录的引用
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • vue-cli在webpack的配置文件探究
  • Web标准制定过程
  • 纯 javascript 半自动式下滑一定高度,导航栏固定
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 聊一聊前端的监控
  • 如何胜任知名企业的商业数据分析师?
  • 如何使用 JavaScript 解析 URL
  • 通过几道题目学习二叉搜索树
  • Nginx实现动静分离
  • #define与typedef区别
  • #git 撤消对文件的更改
  • #QT(智能家居界面-界面切换)
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (SpringBoot)第二章:Spring创建和使用
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (十三)Maven插件解析运行机制
  • (一) storm的集群安装与配置
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?