首页 » SEO优化 » 腾讯云phpuse技巧_一份数据知足所罕见据场景腾讯云数据湖筹划及 DLC 核心技能介绍

腾讯云phpuse技巧_一份数据知足所罕见据场景腾讯云数据湖筹划及 DLC 核心技能介绍

访客 2024-11-09 0

扫一扫用手机浏览

文章目录 [+]

4 月 15 日-16 日,由 InfoQ 主理的 DIVE 环球根本软件创新大会通过云上展厅的形式成功召开。
在腾讯云根本软件创新实践专场,来自腾讯云的大数据专家工程师于华美带来了主题为《一份数据知足所有数据场景?腾讯云数据湖办理方案及 DLC 核心技能先容》的演讲,以下为紧张内容。

大家好,我是于华美,来自腾讯大数据,很高兴跟大家一起磋商当前大数据最火的方向——数据湖。

腾讯云phpuse技巧_一份数据知足所罕见据场景腾讯云数据湖筹划及 DLC 核心技能介绍

我先抛出一个问题:有没有可能只有一份数据就知足所有大数据场景?我们带着这个问题以及对这个问题的疑问和各自心里的答案,开始本日的思想碰撞吧。

腾讯云phpuse技巧_一份数据知足所罕见据场景腾讯云数据湖筹划及 DLC 核心技能介绍
(图片来自网络侵删)

在分享前,我先做个大略的自我介绍。
我叫于华美,毕业于复旦大学数学系,拥有近十年的大数据和公有云结合履历,基于亚马逊云科技/阿里云/腾讯云/华为云打造云原生湖仓数据平台。
2020 年加入腾讯,全面卖力腾讯云数据湖产品 DLC 的内核架构研发。

今天主要和大家分享四部分内容:

首先是开篇提出的问题:有没有可能只有一份数据就知足所有大数据场景?第二部分是腾讯云数据湖办理方案以及腾讯云数据湖产品 DLC 的技能内核。
第三部分是总结腾讯内部和客户对接过程中的新一代数仓建模思路。
第四部分是先容 DLC 的运用案例。
只有一份数据就能知足所有大数据场景?

前面说了那么多,大家还记不记得我们最初提出的问题:一份数据能不能知足所有的大数据数据场景?

在回答这个问题之前,我们先理解下这个问题是怎么产生的。

DB 太卷了。
数据库种类繁多,有 300 多种,AP 引擎更如雨后春笋,在如今的科技时期百家争鸣,包括 Hive/Spark/Presto/impala/ck/Doris 等等。

基于这个背景,我们做数据架构的时候就该当考虑很主要的一个原则——single source of truth,这个原则有几个好处:减少掩护繁芜度,防止数据同等性问题,节约本钱。

于是,我们提出了数据湖 SSOT 架构理念:

1、80%的湖数据,存算分离、不同 AP 引擎,不同集群只管即便兼容、利用同一份湖数据

2、10% TP 数据库,量级不大不影响在线做事的情形下,直接联邦剖析。
海量、历史数据入湖。

3、10% 末了一公里的大宽表、结果数据可以考虑独立的仓存储,追求极致性能毫秒级剖析。

4、数仓数据也要跟湖数据联动,数仓兼容湖数据,或者联邦剖析。

在数据湖 SSOT 架构下,数据险些可以做到 1 份数据知足险些所有大数据剖析场景。

腾讯云数据湖办理方案

基于数据湖 SSOT 架构理念,我们结合腾讯云的各个大数据产品,推出了腾讯云数据湖办理方案,来帮助落地数据湖架构。

1、在批处理、实时处理、AI、mpp 剖析各个紧张场景下,各个引擎只管即便用同一份数据湖数据,可以看到在不同场景下有各种不同的产品供选择,当然纵然同一个产品也会有多个集群,传统架构下很难整合多个产品的上风培植功能覆盖完善的数据平台。

2、在追求毫秒级剖析的场景下,大宽表、结果数据可以导入到 mpp 数仓 ClickHouse/Doris 完成末了一公里的剖析。

3、TP 数据库、数仓数据、湖数据可以通过 DLC 联邦剖析功能。

腾讯云 DLC 技能架构

接下来分享下,DLC 到底是什么,以及它的技能架构。

腾讯云 DLC 是 DataLake Compute 的缩写,它一方面充当数据湖办理方案的粘合剂,运用在湖管理、元数据管理、联邦打算;另一方面补充了云上全托管的产品形态,用户免运维、险些不须要有大数据干系背景,就可以几分钟内快速构建数据湖架构。

DLC 技能架构,有两个底层架构理念:适应云原生、KISS 原则(Keep It Simple, Stupid)。
适应云原生详细包括 eks/tke,元数据主存 tdsql,各个做事的多租户支持和隔离等等。
KISS 表示在几个方面,presto local cache,dlc shuffle manager,统一语法模块等等。

详细来看,我们在统一接入层做事供应云 API、JDBC、Hmsclient 等对外做事,SQL 入口是腾讯 SuperSQL 的统一 SQL 做事,进行了权限、validate 等操作,以及虚拟集群的管理和路由。

下面是 DLC 的数据管理、打算集群、数据权限和元数据管理。
末了与用户 cos、cdb、emr 的数据打通。
通过内核架构支持,SQL etl/mpp SQL 剖析/联邦剖析等场景,接下来逐步完成 Spark jar/AI 的迭代和升级。

稳定性、性能与本钱

接下来,和大家分享下 DLC 的技能内核稳定性、性能干系技能,以及本钱。

稳定性

稳定性干系技能优化紧张分为三部分:Iceberg、弹性不稳定、DLC spark shuffle manager。

Iceberg:Iceberg 作为 table format 办理了工具存储终极同等性,导致的任务频繁失落败问题。

弹性不稳定:弹性打算相对付传统固定集群带来很多问题,比如冷启动慢,hpa 过程中数据倾斜,乃至是资源不敷的情形,我们在后面成本相关会仔细提到 DLC 的弹性模型。

DLC spark shuffle manager:腾讯开源了 firestorm 来办理内部海量数据的 shuffle 问题,在 DLC 场景下,我们进行精简改造,推出了适应云原生场景下的 DLC spark shuffle manager。
实质逻辑是担保大部分任务都能利用本地磁盘完成高性能的 shuffle,少数情形 spill to lakefs 担保任务稳定性。
这样有几个好处,一是无需评估 shuffle 空间,调度磁盘大小,二是无需运维 shuffle service 及承担本钱,三是无需购买,险些零本钱。

在这儿给喜好研讨的同学留一个小问题:Spark 都有哪些过程会须要落磁盘呢?

性能

性能在提高人效方面日益主要,各个层出不穷的 AP 引擎也险些紧张在提升交互相应的性能。

DLC 在性能方面有很多架构技能方面的考量,先大略提几个点:Spark SQL 共享 Spark Context,Spark Thrift Server 问题的症结在于 Server 本身又是 Driver,因此稳定性存在很大问题,DLC 在这方面用的 livy+livy session 背后的 Spark Context 共享,在有一定并发情形下,又通过子集群来隔离。

在海量元数据的存储和 hms 相应性能提升方面,DLC 也有自己的考量,采取了腾讯云的 TDSQL/重新设计范式来知足海量元数据的相应性能。
在 DLC 的托管存储表下,利用 iceberg hidden 。

性能干系第一个点便是通过供应 presto 加速 SQL + Hive/Spark udf 的剖析性能:

由于常驻共享及 push based 内存 shuffle,presto 每每在小数据量下有着不错的表现。
但是由于 presto 语法和 udf 与 hive/spark 的差异每每迁移试错本钱很高,DLC 统一 SQL 语法,险些还是 Spark/Hive 的语法,presto hive/spark udf wrapper。
两个手段办理了 presto 的迁移问题,险些对用户无感。

同时,Allxio 也是当下最热的数据湖加速技能,腾讯云也即将推出 Allxio 干系的产品。

在 DLC 侧,我们秉承了适应云原生和 KISS 的架构原则,上线了免运维、无需额外用度的 Allxio local cache。
local cache 免去了 Allxio 做事的支配和掩护,不抢占用户 presto 的打算资源。
同时我们也有一些改进,hash 算法导致的数据倾斜,同等性 hash、split 级别的 hash 等等。

本钱

首先我来讲下湖存储的上风,然后再先容下 DLC 的虚拟集群弹性模型。

首先是存储本钱。
用工具存储作为湖存储比较 hdfs 来说,存储性价比得到了 10x 的提升:

1、hdfs 的三备份 vs cos 的 ec。

2、预留空间 vs 按量计费。

3、hdfs 的运维本钱。

4、工具存储的归档和智能存储分层。

5、cos 作为存储产品供应的高 sla 和存储可靠性。

但是工具存储在降落本钱的同时也带来了问题,比如工具存储没有 rename 语义等四个问题。
采取 Iceberg 表格式来办理,比较直接 Hive 表,打算本钱也得到了极大的降落

打算本钱方面,重点先容下 DLC 的虚拟集群弹性模型。

上图右侧的 Spark,交互式/SQL 都是类似的。
我们以子集群为弹性的最小单位,担保子集群的资源整体可用情形下的弹性,子集群多个 query 共享 spark context。

这样带来的好处是:

能很好的降落延迟,减少拉机器,进程初始化,链接初始化的韶光,提升性能。
子集群规模稳定,减少了频繁扩缩造成的任务稳定性差和弹性导致的数据倾斜。
能够供应不错的本钱降落。
数据湖趋势下的数仓建模新思路

接下来,我们把数据湖在腾讯落地过程中总结出的数据建模也分享给大家。
目标还是能够提升剖析性能和降落存储打算本钱。

第一个是海量数据下的稀疏索引技能,如上图所示,构建大宽表或者 dwd 详情层,我们把高基维的干系数据的靠近存放,能够利用引擎的谓词下推技能大大加速剖析性能,并且提高压缩比率降落存储本钱,同时也可以减少纯挚的主题层的数据抽取,更好运用 ssot 一份数据知足尽可能多的场景。

第二个是增量数仓技能:底层逻辑是 funtional data engineerging,也可以叫函数式数据工程,不再掩护滚动表这类有状态的数仓建模障碍,而是把 uv 标量进行向量化,以空间换韶光,在数据量不大的聚合打算层表有很好的效果,能够极大的提升数仓的构建性能和剖析性能。

DLC 运用案例

这个是某电商直播平台基于 DLC 构建稠浊大数据架构,充分利用了 DLC 的 Spark 批处理和交互式剖析,打算性能提升,本钱节约,运维本钱大幅度降落。

腾讯数据湖能力也在内部大规模落地,接入团队超过 80,个中微信视频号、小程序等业务均百亿千亿级别落地。
同时我们拥有近百人的研发团队支持,个中大量的业界顶尖技能专家,包括了 spark livy alluxio 等开源项目的 PMC,presto/calcite committer,为 DLC 的稳定/高性能/易用/低本钱保驾护航。

总结

末了总结下本日的分享,用三个词来总结:SSOT、KISS、新一代建模。

1、首先是 SSOT,如何做到一份数据尽可能知足所有场景,有三个原则。
我们根据这三个原则提出了腾讯云上以 DLC 为核心的数据湖办理方案。

2、其次是 KISS,还记得我们留的一个思考问题吗,Spark 都会有哪些过程和场景须要数据落到磁盘呢?

3、末了是新一代建模:稀疏索引来办理 dwd 和大宽表的剖析性能,增量数仓来改造聚合层的剖析实时性和性能。

以上便是我本日的分享,感激大家。

理解更多软件开拓与干系领域知识,点击访问 InfoQ 官网:https://www.infoq.cn/,获取更多精彩内容!

标签:

相关文章

我国土地利用分类代码的构建与应用

土地利用分类代码是我国土地管理的重要组成部分,是土地资源调查、规划、利用和保护的依据。土地利用分类代码的构建与应用显得尤为重要。本...

SEO优化 2025-02-18 阅读1 评论0

微信跳转微信支付便捷支付体验的秘密武器

移动支付已成为人们日常生活中不可或缺的一部分。作为我国领先的社交平台,微信支付凭借其便捷、安全的支付方式,深受广大用户的喜爱。而微...

SEO优化 2025-02-18 阅读0 评论0

探寻会计科目代码背后的奥秘分类与

会计科目代码是会计信息系统中不可或缺的组成部分,它将企业的经济活动进行分类和归纳,为会计核算、财务分析和决策提供重要依据。本文将从...

SEO优化 2025-02-18 阅读1 评论0