1

如何看待大数据云原生发展之路--观 2023 云栖大会有感

 9 months ago
source link: https://www.6aiq.com/article/1701687331958
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

导读 2023 云栖大会在杭州如期举行,前身是阿里云开发者大会,作为阿里的主场,国内公有云计算份额最大厂商,今年的主题是:计算,为了无法计算的价值。大会主场两大主题:大模型和云计算。大模型的火热和未来可预见的应用场景充分了引起了大家的重视,上午场以人工智能在阿里云的发展为主,同时阐述了云计算为人工智能算力提供了坚实的支持。下午场,云产品线负责人各自从容器、存储、网络、数据库、Severless、大数据这几个主题介绍了这一年开发和提升的成果。作为一个大数据从业者,在公有云和容器化发展的大趋势下,我们关注的重点已经不仅仅是大模型,大数据在未来几年发展的重点方向是什么,大数据的技术演进路线会如何。

主要内容包括以下几个部分:

  1. 从技术主论坛上看云技术的主要进展

  2. 大数据技术发展和应用现状

  3. 大数据云原生的重难点

  4. 大数据云原生的可行性

分享嘉宾|大数据老兵

出品社区|DataFun

01从技术主论坛上看云技术的主要进展

云栖大会上午场,阿里云创始人王坚做了一场演说,说到了云计算的第三次浪潮的到来。同时,阐述了自己对云计算第一次浪潮的理解,并用 Netflix 和米哈游两家企业的案例来表达对云计算浪潮到来所带来的效益。第二次浪潮以传动企业上云,比如银行上云为代表。第三次浪潮的标志事件是北京冬奥会核心系统上云。未来,企业上云是大部分的首选,公有云拥有的规模化和云计算的人才是根本原因。这点如同传统分散的手工作坊向集中式规模化的大型工厂演进。我们来具体看看,下午场的技术主论坛,在技术干货或者核心产品上都有哪些提升,在大数据领域会有哪些影响。下面我会将主要产品技术演讲进行摘要。

弹性计算/容器方面:核心点在于拥抱云原生,发布了基于 CIPU+ 飞天操作系统构建第三阶段弹性计算。ECS 的计算从支持 Intel 到自研的倚天 710 和 AMD 芯片,各款芯片的主打方向不同。同时,对不同的 ECS 实例,做了针对价格的细分。经济型实例主打学生、中小企业开发者、测试环境。HPC 实例、高性能高稳定实例,主打一些特殊要求行业。介绍了 ECI 容器能力,举例某头部公司,基于 ECI 容器的能力,构建自己的弹性大数据系统,感觉很意外的,日累计可以创建 200W 个 ECI 的实例。

存储方面:重点是阿里云的对象存储 OSS,也是大数据领域如果上云使用的基础服务。提供 OSS 的标准、低频、归档三种存储类型和归档直读。提升 OSS 带宽到 100Gbps,举例 270GB 的模型,大约 20 秒读完。OSS 的协议兼容支持,OSS-Posix 本地文件,OSS-HDFS 兼容 Hadoop 协议。

网络方面:阿里的飞天洛神云网络,提升了高性能网络接入和转发,主要是软硬协同、互补。云原生对网络的挑战,以前的网络是为虚拟机提供的,现在要为容器 Pod 提供,两者的数量级不同带来的挑战。一是容器对网卡的创建速度要求高,从原来的几百的弹性提升到几千,二是基于 K8s 的无缝融合,优化了各种网络层查表和内存管理。介绍了主动重路由技术,来解决多区域网络突然闪断问题,以及模型训练对大网络带宽的需求。

托管的K8s:主要阐述了一些使用数据,64% 用户生产环境使用 K8s,云上 K8s 增速达到 127%。云托管的 K8s 超过本地部署,占比 73% 等。将托管的 K8s 集群产品定价重新规划了一下。

数据库方面:介绍了瑶池 Rds、Polardb 以及 Adb,基于开源的有 Selectdb、Mongodb、Clickhouse。其中,阐述了拳头产品 Polardb 的性能优化。在产品方面,Rds+Redis、Polardb+Tair,内置缓存和无需人工关注读写一致性。同时,介绍了Adb 和 Lindorm,Lindorm 作为 Nosql 数据库的能力和支持多模态。

大数据方面:介绍了 Pai 平台,Maxcomputor 支持 Python 处理,Flink+Paimon 新一代实时湖仓方案,Dataworks 智能化升级,比如支持自然语言,全托管向量检索服务 Dashvector,最后介绍将要全面 Serverless 化的产品,比如 ES、Spark、StarRocks 等。

02大数据技术发展和应用现状

大数据的技术发展起步于 Google 的 2003 年三篇论文,GFS、Bigtable、MapReduce,愿称之为大数据 1.0 阶段,分别阐述了海量数据存储、快速点查、通用计算。后来基于三篇论文原型实现的大数据开源组件,Hadoop 技术体系,包含 HDFS、Hbase、Yarn、MapReduce,分别解决在廉价机器构建分布式存储、快速点查、资源调度、海量数据计算问题。

随着技术的发展,大数据组件的推陈推新,以 Hive、Spark、Storm 为代表,大数据迈入了 2.0 阶段,同时像ELK解决特定场景的轻量化的链路也有了发展空间。过程中,OLAP 分析领域迎来了新的发展,如 Clickhouse、Kylin、Druid 等 OLAP 引擎。数据的主要构建方式过渡到了以类 SQL 为主。

在后面的 2.0 阶段,实时计算方面,2015 年谷歌发表《Google-DataFlow》介绍了流式计算的概念,后来有了开源的 Flink 实时计算,大数据处理步入了 2.5 阶段。近年来,企业迎来了上云浪潮,带来了阿里云的迅猛发展。K8s 体系在业务系统逐渐普及。在 OLAP 领域,迎来了新一批成员,如 StarRocks、Doris 等 MPP 数据库引擎。同时,数据湖的快速发展,Hudi、Iceberg、Delta、Paimon,在存储层和表之间构建了一层,基于云上对象存储近乎无限的特点,数据仓库的概念步入了数据湖的概念。

那么我们是不是可以算进入了大数据 3.0 阶段呢?我认为还有一块需要补足。虽然大数据跟随所在公司上云,应用了云上的基础设置,但是大数据技术的构建,本质还是基于传统的 ECS 来实施,从公有云的发展来看,K8s 天然提供的资源调度和编排体系能够替代 Yarn 资源调度。基于 HDFS 的存储,能够使用 OSS 来构建数据湖系统。网络方面,公有云看到了大数据云原生的趋势,网络方面已经做了升级改造。K8s 的弹性能力在成本的天然优势是众多企业的首选。那么,需要解决的问题在于计算组件如何契合K8s体系,形成云原生。

我们可以看到主要大数据组件的发展趋势,Spark、Flink、Clickhouse、StarRocks 等,正在快速发展自身基于K8s构建应用的能力。在这个过程中,避免不了会碰到一些问题,下面我们来具体看一看。

03大数据云原生的重难点

大数据上云和大数据云原生化是两个不同的概念。大数据上云,一般可以理解为,企业不需要去自建机房,使用公有云作为 IDC,大数据基于公有云的基础设施(虚拟机、存储、网络)来构建大数据技术体系。大数据的云原生化,则是指将大数据技术与应用部署在云原生环境中,利用云原生的优势,如容器化、弹性伸缩、存算分离等,以实现更高效、更灵活、更可靠的大数据处理和分析。

需要注意的是,大数据云原生化的实现需要解决一些技术和生态问题,如兼容性、资源管理、计算性能和生态融合等。因此,在实现大数据云原生化时,需要进行全面的架构设计和实施方法选择,以确保最终的解决方案能够满足实际需求。将大数据组件进行云原生化的升级改造,具体来说需要从存储、计算以及调度这三个基础维度来入手。

存储方面相对来说,比较容易进行改造和替换,企业可以选择市面上多种云存储,且这种云储存除了具备高容错、高可靠性以外,还需要具备冷热数据分层管理,以及与主流大数据计算引擎 Hive、Spark、Trino 等无缝兼容适配能力,如阿里云近年推出的 OSS-HDFS 云存储。除了上述所说的云储存以外,将大数据进行云原生化改造,重难点问题在于计算和调度这两个维度。

K8s 之于大数据体系有几点问题相对突出:第一是大数据离线计算对于瞬时容器的突发需求,以 Spark 任务为例,一个较大规模的 Spark 任务短时需要的 Container 可能是几千到万级别,K8s 的 Pod 能否快速弹出,短时超大规模镜像拉取是否会有瓶颈。第二是随之而来容器基础网络问题,如 Pod 上网络的创建和释放能否满足,容器间网络带宽性能能否满足。第三是容器的挂载盘普遍较小,Spark 或 Flink 都存在Shuffle数据落盘的问题。大数据云原生在计算和调度两个维度,上述三个问题是需要解决的。

04大数据云原生的可行性

从主论坛技术上看,大数据相关的核心基础设施在容器上都有较大提升,如 Serverless 弹性容器和底层网络的性能提升、OSS 带宽的提升以及 OSS-HDFS 协议的支持。同时,开源社区中出现了各种用于大数据中间结果的 Remote Shuffle 组件,如 Celeborn 等。我认为大数据云原生化是可行的,相信很多公司的大数据发展方向会朝着云原生路线演进。在云栖大会的参会单位中,无意中看到了一家公司关于大数据云原生的案例:《米哈游大数据云原生实践》,分享者是这家公司大数据技术专家杜安明。他们的实践和我的想法不谋而合,下面我们来看一下他们是怎么做的。

他们主要分享了米哈游大数据架构向云原生化升级过程中的目标、探索和实践,以及如何通过以阿里云容器服务 ACK 为底座的 Spark 云原生架构,获得在弹性计算、成本节约以及存算分离方面的价值。

一是弹性计算。由于游戏业务会进行周期版本更新、开启活动以及新游戏的上线等,对离线计算资源的需求与消耗波动巨大,可能是平时水位的几十上百倍。利用K8s集群天然的弹性能力,将 Spark 计算任务调度到 K8s 上运行,可以比较轻松的解决这类场景下资源消耗洪峰问题。

二是成本节约。依托阿里云容器服务 Kubernetes 版 ACK 集群自身强大的弹性能力,所有计算资源按量申请、用完释放,再加上我们对 Spark 组件的定制改造,以及充分利用 ECI Spot 实例,在承载同等计算任务和资源消耗下,成本节约达 50%。

三是存算分离。Spark 运行在 K8s 之上,完全使用 K8s 集群的计算资源,而访问的数据也由 HDFS、OSS 逐步切换到 OSS-HDFS 上,中间 Shuffle 数据的读写采用 Celeborn,整套架构实现了计算和存储的解耦,易于维护和扩展。

整个分享看下来,米哈游大数据攻克了很多重难点问题,已经实现了大数据计算的云原生化,并且取得了很不错的收益。

附录:

2023 云栖大会技术主论坛:
https://yunqi.aliyun.com/2023/techkeynotesession

开源大数据平台 3.0 技术解读:
https://mp.weixin.qq.com/s/iEAl4qk2pkabCi-vfOBRyA

米哈游大数据云原生实践:
https://mp.weixin.qq.com/s/VTV9J6J1J-KZlYO79M_J4g


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK