发布在即!企业 AIGC 应用程度测评,3 步定制专属评估报告。抢首批测评权益>>> 了解详情
写点什么

除了实时性,你还应该关注的三个数据科学改进方向

  • 2019-08-21
  • 本文字数:2983 字

    阅读完需:约 10 分钟

除了实时性,你还应该关注的三个数据科学改进方向

近来,我一直在思考过去几年当中我们在数据工程方面取得的进展,以及这个领域接下来的发展方向。大多数想法都孕育自我们几位团队成员在 WePay 项目中的心得,但我坚信接下来将要提到的这套框架将得到广泛应用,而且有必要与大家分享一番。


数据工程的工作内容,主要是帮助组织实现数据的移动与处理。从广义上讲,这通常需要两套不同的系统:数据管道与数据仓库。数据管理负责移动数据,数据仓库则负责处理数据。我承认这样的解释可能太过简单化,因为大家可以在批处理与流处理之间进行提取与加载转换,从而实现管道内处理。“数据仓库”包括目前大家所熟知的多种存储与处理系统(Flink、Spark、Presto、Hive、BigQuery、Redshift 等),外加数据目录、作业调度程序等辅助系统。虽然种类繁多,但我认为其中的范式仍然存在。


整个行业正在努力改变这些系统的构建与管理方式。我个人最希望在未来几年能够看到以下四个方面的改进:


  • 及时性:从批量到实时。

  • 连通性:从一对一定制集成到多对多。

  • 集中化:从集中托管到自助服务工具。

  • 自动化:从手动管理到自动化工具。

从批量到实时

过去,数据管道与数据处理都基于批处理机制。数据以批量 ETL 快照的形式在不同系统之间传输,数据按定期方式接受处理,并由作业调度程序(Airflow、Oozie、Azkaban、Luigi 等)负责管理。


如今,我们正一步步转向实时数据管道与实时数据处理系统。


Debezium 等新型数据捕捉系统以及 Kafka 当中强大的连接器生态系统,使得实时数据管道成为可能。流处理在过去五年中亦经历了复兴,如今已经有更多实时数据处理系统涌现来。这些因素的组合,意味着入口(提取)、处理(转换)以及出口(加载)都能够实时发生。


现在的权衡焦点似乎落在了成本与复杂性上面。如果一家企业正着手建立一套数据仓库,那么整个构建周期大约需要 4 到 6 周,这时采用实时管道无疑会带来沉重的负担。相比之下,批量式解决方案的启动与运行要容易得多。但我预计,随着实时类工具的不断成熟,加上云主机的持续增长,这一切将在未来几年内发生变化。

连通性

以往,将上游数据源接入数据仓库,意味着为系统之间的各个一对一连接添加新的定制化集成方案。Jay Kreps 在开创性的文章《日志:每位软件工程师都应该了解的实时数据统一抽象(The Log: What every software engineer should know about real-time data’s unifying abstraction)》当中,就说明了这一点:



这篇文章还详细介绍了数据集成的未来。虽然文章写于 2013 年,但其中提出的很多预期及设想直到今天才刚刚实现。如今,Confluent、Kafka Connect 以及连接器生态系统的推出,意味着我们已经能够利用多种现成连接器方案接入 Kafka 数据管道。


我觉得这种架构方法可能会逐渐开始落地。具体来讲,将入口与出口分离,二者同时又与转换分离,这意味着数据管道能够充分发挥梅特卡夫定律的优势——向管道中添加新系统的成本将有所降低,但价值回报却进一步提升。


我知道,这里说的主要是 Kafka,但我要强调一点:这种方法不一定是实时的(虽然我相信它会是)。例如,在 Airflow 中,目前的实现方法是一个 GoogleCloudStorageHook、一个 BigQueryHook,然后是一对一运算符:GoogleCloudStorageToBigQueryOperator。这完全分离了入口与出口,因此拥有通用格式的暂存区将得到大大改善,包括基于批量方式的 ETL。


这种模式还将帮助我们获得细粒度数据系统。一旦能够以低成本方式将新系统添加至管道当中,那么生态系统内新增专用系统的价值就将超过相关支出。因此,我相信未来将有更多用户开始使用小众数据处理系统,例如图数据库、实时 OLAP 系统、搜索索引等。这种模式还鼓励进行更多实验,因为我们能够以远低于以往的成本,尝试将新系统添加至管道并观察其能否解决实际问题。


云服务的普及也为连接问题带来了有趣的影响。目前,我们还无法利用 AWS 控制台中的几个简单勾选框就搞定数据集成,而且我认为在短时间之内,各大云服务供应商的系统之间也很难实现完全集成。相比之下,我觉得建立一套点击式用户界面,并借此统一管理各家云服务供应商的产品倒还比较靠谱。最后,云与非云(或者第三方托管)系统之间的集成仍然需要大量努力。


出于上述原因,我认为基于云的第三方解决方案(例如 Stitch)仍将具有价值。这也意味着对于有能力构建并加以运营的高水平用户而言,我在前文中提到的实时 Kafka 架构仍将是最成熟的解决方案。

自动化与权力下放

作为清单中的后两项,自动化与集中化可以说是齐头并进。大多数组织都拥有一支数据工程与/或数据仓库团队,专门负责管理数据管道与数据仓库。当上峰的指令下达至这些团队时,他们需要通过两项标准对请求做出评估:


  • 我们能做什么(技术)

  • 我们可以做什么(政策)


根据我的个人经验,集中式团队当中往往会包含部分自动化方法,但主要集中在技术自动化层面。这可以理解,毕竟它更像是工程团队的轮椅——这部分工作一般体现在利用自动化机制取代手动操作层面,例如添加新的连接器、设置监视或数据质量检查、创建新的数据库或表、授予权限等等。


然而,我认为第二种劳动力数据工程类型还没有实现自动化,即政策性负担。这类差事主要是管理谁有权访问哪些数据、数据应该保留多长时间、允许将哪种敏感数据保存在哪些数据系统当中,以及数据可能存在于哪些地理位置等等。数据工程通常不是最终回答这些问题的团队,但在寻找答案的过程中,他们一般需要扮演联络人或者领航员的角色。具体来讲,他们往往需要将请求一路引导通过组织内的其它部分(例如安全性、合规性以及合法性)。


随着 GDPR 及 CCPA 等监管要求的出台,这方面工作正变得愈发重要。把政府监管同远超传统软件企业的技术扩展速度结合起来,特别是在医疗与金融等敏感领域,可以想见自动化工作将成为政策流程中极为关键甚至不可或缺的一环。


政策自动化的实质,在于关注不太成熟的数据生态系统当中那些经常被忽视的领域。Lyft Amundsen、Apache Ranger 以及谷歌 Data Catalog 等工具链将成为必要选项,帮助我们在审计、DLP、敏感数据检测、保留执行以及访问控制管理等政策的实施层面建立起全面的自动化体系。


随着自动化在技术与政策两大领域的逐步成熟,接下来需要回答的问题自然是:我们为什么需要一支单独的团队来管理这方面任务?如果说工具自己就能实施政策方针并自动操作数据管道,为什么不授权组织内的相关团队直接管理自己的数据管道与数据仓库?


在数据管道方面,权力下放意味着任何团队都可以自主决定如何调整现有数据管道——前提是符合自动实施的技术与政策指导原则。在数据仓库当中,团队可以根据需求创建数据库、数据集、数据市场以及数据存储库等(其中一些现在已经得到广泛应用)。这会带来大量复杂性、混乱且重复的元素。正因为如此,以上述工具为代表的管理方案才会成为权力下放的重要先决条件。


由于管理高复杂度数据生态系统会带来认知负担,因此我觉得唯一具备可扩展性的有效方法就是推动自动化加权力下放。在一定程度上,这可能更像是过去十年当中我们在应用层面所熟知的 CI/CD 以及从整体式到微服务架构的迁移。

总结

这种种趋势,都让我对数据工程的未来抱有乐观心态。其中有很多工作要做,也蕴藏着大量机会。我希望组织内的数据工程能够满足这些需求。开源社区将继续扩展,并建立起新的项目与初创企业。而所有这一切,都有望给组织整体带来巨大的效率提升,并建立起更严格的数据管理实践。


原文链接


The Future of Data Engineering


公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2019-08-21 16:1010043

评论

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

阿里云发布「云盒+无影」云端机顶盒解决方案,打造云边端一体化的机顶盒新模式

云布道师

无影 云盒

阿里三面最后一问:解释一下Java并发AQS的独占锁模式

Java你猿哥

Java Java并发 AQS 后端 ssm

前端已死?后端已亡?这个概念真的成立吗?

这我可不懂

前端 低代码 JNPF

喜马拉雅基于阿里云机器学习平台PAI-HybridBackend的深度学习模型训练优化实践

阿里云大数据AI技术

人工智能 深度学习 开源 gpu 企业号 3 月 PK 榜

打造炫酷时尚的 Neumorphism 设计!

编程的平行世界

flutter 前端 设计 flutter for web

浅谈活动场景下的图算法在反作弊应用

百度Geek说

人工智能 算法 图神经网络 图像融合 企业号 3 月 PK 榜

量化现货合约跟单app系统开发源代码(可二开)

开发v-hkkf5566

硬核!阿里出品2023版Java架构师面试指南,涵盖Java所有核心技能

Java你猿哥

Java 架构 后端 面经

CosineWarmup理论与代码实战

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 3 月 PK 榜

测试人软件测试技术沙龙——深入探讨一站式效能平台的演进历程

测试人

软件测试 自动化测试 测试开发

阿里云PAI-DeepRec CTR 模型性能优化天池大赛——获奖队伍技术分享

阿里云大数据AI技术

人工智能 深度学习 性能优化 模型 企业号 3 月 PK 榜

真香!阿里最新出品Java面试核心讲(终极版),Github已星标50K

Java你猿哥

Java 后端 ssm 面经 八股文

扩散模型大杀器 ControlNet 解析

Openlab_cosmoplat

人工智能 开源社区 图像

浅谈堡垒机优化的必要性-行云管家

行云管家

云计算 网络安全 堡垒机 自动化运维

企业研发治理转型利器华为云发布流水线服务CodeArts Pipeline

科技怪授

华为

GaussDB(DWS)运维:导致SQL执行不下推的改写方案

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 3 月 PK 榜

SpringCloud 整合Gateway服务网关

Java你猿哥

spring Spring Cloud Spring Boot ssm

CTO问我:MySQL从节点上的服务崩了,还怎么「主从读写分离」?

Java你猿哥

Java MySQL 后端 ssm Java工程师

MySQL MVCC实现原理

得物技术

MySQL MVCC java

吃透阿里2023版Java性能优化小册后,我让公司系统性能提升了200%

Java你猿哥

ssm Java工程师 Java性能优化 java

从华为投入研发基础开发工具看国产IDE的未来和商业模式

科技怪授

IPQ6010/QCA8081/QCN5052/QCN5022 MAXON MX-A6022-ME WiFi6 Industrial Wireless Access Point

MAXON

IPQ6010 QCN5052 QCN5022 QCA8081

好家伙!阿里最新SpringBoot进阶笔记涵盖了SpringBoot所有骚操作

Java你猿哥

Java Spring Boot 面经 SSM框架

镜舟数据库荣获 CSDN 年度创新产品与解决方案!

镜舟科技

数据库

内蒙古网络安全等级保护备案办理指引

行云管家

等保测评 等保备案 内蒙古

使用图解的方式来解决链表的算法问题

做梦都在改BUG

详解目标检测模型的评价指标及代码实现

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号 3 月 PK 榜

为什么项目老夭折?这份项目管理指南请收好

得物技术

Serverless Streaming:毫秒级流式大文件处理探秘

科技怪授

PaaS

镜舟科技荣获IT168年度技术卓越奖!

镜舟科技

数据库

镜舟数据库与 DataBuilder 完成兼容性认证,助力企业开展“极速统一”数据分析

镜舟科技

数据库

除了实时性,你还应该关注的三个数据科学改进方向_AI&大模型_Chris Riccomini_InfoQ精选文章