某互联网大厂亿级大数据服务平台的建设和实践

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 某互联网大厂亿级大数据服务平台的建设和实践

一、引言:

在大数据建设过程中,通用的建设思路:从数据埋点——数据采集——数据清洗(ETL)——数据服务——数据可视化。整体流程可参考下图:

这篇文章主要想和大家聊聊的是,数据服务平台的建设。

二、背景:

由于数据加工完成的数据,需要给不同的应用和产品提供服务,包含:数据产品、实时大屏、线上应用、BI自主分析。

由于业务场景不同,在根据不同的场景下选择的数据存储也多种多样,图中罗列:Hive、Mysql、Hbase、CK、redis、TiDB等等。最后产生的调用服务也多种多样。如下一些场景:

线上推荐服务:高QPS、低RT

智能营销圈人:需要圈选大量人群数据,人群数量百万、甚至千万

实时大屏:需要支持数据实时推送更新

数据产品、BI分析:报表2w+、产品数据数据服务10w+

因此数据服务统一化迫在眉睫

根据上述业务场景,需要解决的问题:

1.数据服务统一化:接口不同QPS和RT,不同的接口服务(HTTP、RPC、文件传输等),即:OneAPI

2.存储解析统一化,一套语言支持多种数据存储接入,即:OneSQL

3.数据模型统一化,支持多种数据源接入, 即:OneModel

相信大家都听说过阿里巴巴的OneData方法论。在这一方法论下大数据工程师,构建统一、规范、可共享的全域数据提醒,避免数据的冗余和重复建设,规避数据烟囱和不一致性,充分发挥阿里巴巴在大数据海量、多样性方面的独特优势。

而数据服务统一化即是其中的OneService。

三、架构设计:

数据服务平台能够解决数据服务统一化,便于数据服务的治理、指标口径的统一。能够提升业务的开发效率,更快的面对业务的变化。数据服务平台主要分如下三层:

1.数据应用接入层:主要是针对外部应用接入,包含:HTTP服务、RPC服务、Client 服务

2.数据服务解析层:主要通过SQL方式访问各种数据存储,然后生成对应数据服务。核心功能:SQL解析、SQL校验、SQL路由、数据查询

3.数据存储层:主要包含数据的存储管理,MySQL、Redis、Hive等等。都能很好的支持,提供API服务

数据服务生产的整体流程如下:

(1)选择数据存储

(2)配置数据查询SQL

//统计某一天的每个店铺的销售额
select 
shop_id,sum(gmv) as total_gmv from (
select * from table where dt=#{dt}
) t
group by shop_id;  

(3)根据选择数据存储引擎,将SQL转化成可执行的语言进行执行,基于Apache  Calcite 进行开发主要步骤如下:

Parser. 此步中Calcite通过Java CC将SQL解析成未经校验的AST

Validate. 该步骤主要作用是校证Parser步骤中的AST是否合法,如验证SQL scheme、字段、函数等是否存在; SQL语句是否合法等. 此步完成之后就生成了RelNode树

Optimize. 该步骤主要的作用优化RelNode树, 并将其转化成物理执行计划。主要涉及SQL规则优化如:基于规则优化(RBO)及基于代价(CBO)优化; Optimze 这一步原则上来说是可选的, 通过Validate后的RelNode树已经可以直接转化物理执行计划,但现代的SQL解析器基本上都包括有这一步,目的是优化SQL执行计划。此步得到的结果为物理执行计划。

Execute,即执行阶段。此阶段主要做的是:将物理执行计划转化成可在特定的平台执行的程序。根据选择的数据存储引擎,将SQL对应转化程可执行的程序。

Limit,即SQL限流。此阶段主要是针对SQL耗时进行监控、发现SQL耗时极大会进行限流管控。关于SQL限流的解释,可参考:阿里数据库性能诊断的利器——SQL执行干预_weixin_33856370的博客-CSDN博客


至此一个API服务就完完整整的生成了,可以理解为一个原子服务。

但是问题仍然来了,生产了一个根据用户id查询订单的原子服务A,生产一个根据订单id查询商品的信息的原子服务B。流程图如下:

如果需要查询出某个用户下某个订单的所有商品信息,就需要先调用订单服务API,然后根据返回的结果调用商品服务API,最后才能拿到想要的信息。

显然:当调用的服务越多,需要手动开发的成本越来越高,以及中间的数据转化部分也需要进行开发,效率极低。

针对原子服务的互相调用以及参数转化如果进行手动开发,那么有没有一种简单操作就能实现参数转化和服务串接呢?

服务编排应运而生。


服务编排,指对于原子服务进行串接、参数转换,以及一些业务逻辑的判断进行处理。下面只是简单称述如下三种情况:

(1)服务串行:

(2)服务并行:

(3)服务逻辑校验:

四、小结:

本篇文章介绍大数据服务平台整体建设思路,但仍然难免有一些疏漏。

(1)由于数据库发展迅速,比如:国产IOT相关的数据库,TDengine,如何将IOT相关的场景引入进来。更快地支持更多的数据存储

(2)数据平台服务化在大数据整体建设中如何扩大其服务,包括对:数据分析人员、运营人员甚至算法训练师,而不仅仅是针对数据人员和开发人员。

参考:

唯品会亿级数据服务平台落地实践-InfoQ

《阿里巴巴大数据之路》


相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
1月前
|
数据采集 SQL 搜索推荐
大数据之路:阿里巴巴大数据实践——OneData数据中台体系
OneData是阿里巴巴内部实现数据整合与管理的方法体系与工具,旨在解决指标混乱、数据孤岛等问题。通过规范定义、模型设计与工具平台三层架构,实现数据标准化与高效开发,提升数据质量与应用效率。
大数据之路:阿里巴巴大数据实践——OneData数据中台体系
|
2月前
|
分布式计算 监控 大数据
大数据之路:阿里巴巴大数据实践——离线数据开发
该平台提供一站式大数据开发与治理服务,涵盖数据存储计算、任务调度、质量监控及安全管控。基于MaxCompute实现海量数据处理,结合D2与DataWorks进行任务开发与运维,通过SQLSCAN与DQC保障代码质量与数据准确性。任务调度系统支持定时、周期、手动运行等多种模式,确保高效稳定的数据生产流程。
大数据之路:阿里巴巴大数据实践——离线数据开发
|
2月前
|
数据采集 存储 大数据
大数据之路:阿里巴巴大数据实践——日志采集与数据同步
本资料全面介绍大数据处理技术架构,涵盖数据采集、同步、计算与服务全流程。内容包括Web/App端日志采集方案、数据同步工具DataX与TimeTunnel、离线与实时数仓架构、OneData方法论及元数据管理等核心内容,适用于构建企业级数据平台体系。
|
2月前
|
数据采集 分布式计算 DataWorks
ODPS在某公共数据项目上的实践
本项目基于公共数据定义及ODPS与DataWorks技术,构建一体化智能化数据平台,涵盖数据目录、归集、治理、共享与开放六大目标。通过十大子系统实现全流程管理,强化数据安全与流通,提升业务效率与决策能力,助力数字化改革。
69 4
|
2月前
|
分布式计算 DataWorks 数据处理
在数据浪潮中前行:记录一次我与ODPS的实践、思考与展望
本文详细介绍了在 AI 时代背景下,如何利用阿里云 ODPS 平台(尤其是 MaxCompute)进行分布式多模态数据处理的实践过程。内容涵盖技术架构解析、完整操作流程、实际部署步骤以及未来发展方向,同时结合 CSDN 博文深入探讨了多模态数据处理的技术挑战与创新路径,为企业提供高效、低成本的大规模数据处理方案。
154 3
|
1月前
|
存储 SQL 分布式计算
大数据之路:阿里巴巴大数据实践——元数据与计算管理
本内容系统讲解了大数据体系中的元数据管理与计算优化。元数据部分涵盖技术、业务与管理元数据的分类及平台工具,并介绍血缘捕获、智能推荐与冷热分级等技术创新。元数据应用于数据标签、门户管理与建模分析。计算管理方面,深入探讨资源调度失衡、数据倾斜、小文件及长尾任务等问题,提出HBO与CBO优化策略及任务治理方案,全面提升资源利用率与任务执行效率。
|
2月前
|
数据采集 人工智能 大数据
10倍处理效率提升!阿里云大数据AI平台发布智能驾驶数据预处理解决方案
阿里云大数据AI平台推出智能驾驶数据预处理解决方案,助力车企构建高效稳定的数据处理流程。相比自建方案,数据包处理效率提升10倍以上,推理任务提速超1倍,产能翻番,显著提高自动驾驶模型产出效率。该方案已服务80%以上中国车企,支持多模态数据处理与百万级任务调度,全面赋能智驾技术落地。
143 0
|
1月前
|
存储 监控 大数据
大数据之路:阿里巴巴大数据实践——事实表设计
事实表是数据仓库核心,用于记录可度量的业务事件,支持高性能查询与低成本存储。主要包含事务事实表(记录原子事件)、周期快照表(捕获状态)和累积快照表(追踪流程)。设计需遵循粒度统一、事实可加性、一致性等原则,提升扩展性与分析效率。
|
2月前
|
存储 搜索推荐 算法
Java 大视界 -- Java 大数据在智慧文旅旅游线路规划与游客流量均衡调控中的应用实践(196)
本实践案例深入探讨了Java大数据技术在智慧文旅中的创新应用,聚焦旅游线路规划与游客流量调控难题。通过整合多源数据、构建用户画像、开发个性化推荐算法及流量预测模型,实现了旅游线路的精准推荐与流量的科学调控。在某旅游城市的落地实践中,游客满意度显著提升,景区流量分布更加均衡,充分展现了Java大数据技术在推动文旅产业智能化升级中的核心价值与广阔前景。
|
2月前
|
分布式计算 搜索推荐 算法
Java 大视界 -- Java 大数据在智慧养老服务需求分析与个性化服务匹配中的应用(186)
本篇文章探讨了Java大数据技术在智慧养老服务需求分析与个性化服务匹配中的应用。通过整合老年人健康数据与行为数据,结合机器学习与推荐算法,实现对老年人健康风险的预测及个性化服务推荐,提升养老服务的智能化与精准化水平,助力智慧养老高质量发展。

热门文章

最新文章