基于 Tablestore 的大数据分析 Lambda 架构 - 云原生、弹性、流批一体

本文涉及的产品
实时计算 Flink 版,1000CU*H 3个月
函数计算FC,每月15万CU 3个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: 背景 Tablestore 启发自 Google 的 Bigtable 论文,从2009年开始,在阿里云的飞天团队内,开始萌发。经过10年的锤炼,如今在集团内,云上积累了各式各样的客户和场景。这篇文章我们就来介绍下 Tablestore 大数据场景下的架构和用户场景案例。看看自研的分布式存储平台如何通过贴身理解客户场景,带来大数据架构的简化和升级,并助力业务方最终快速

背景

Tablestore 启发自 Google 的 Bigtable 论文,从2009年开始,在阿里云的飞天团队内,开始萌发。经过10年的锤炼,如今在集团内,云上积累了各式各样的客户和场景。这篇文章我们就来介绍下 Tablestore 大数据场景下的架构和用户场景案例。看看自研的分布式存储平台如何通过贴身理解客户场景,带来大数据架构的简化和升级,并助力业务方最终快速落地他们的需求。

 

大数据系统建设中的痛

数据的产生是多式多样,我们根据需求会选择不同的存储产品来存放这些数据,例如订单数据,用户信息数据我们会选用一款 OLTP 数据库,日志数据会选择 SLS 日志服务,或者自建 ELK 的方案。又有一些数据我们希望做实时的 计算,并且在 ETL 后在进行长期存储,这时会把数据双写到 Kafka,利用 Kafka 流式对接计算引擎的能力实现上面的需求。一些非结构化数据又会使用 HDFS/OSS 来进行长期存储。这些数据从存储到可以给计算引擎分析需要经过很长的链路。例如如果你选用了一款 OLTP 数据库,你希望进行实时计算或者定期批量计算。考虑到避免影响 TP 在线业务,通常我们会把数据实时或者定期投递出来,进入 Kafka/AP 数据库再分别实现实时计算和批计算。投递的过程可能会涉及到很多模块,例如 DTS,Kafka,Spark 批计算,Spark Streaming,AP 数据仓库。搭建一整套大数据架构(例如下图的典型大数据 Lambda 架构),不论是对数据库的研发同学,还是运维同学都带来了较高的门槛。模块多了以后,不论是维护成本还是开发成本都会相应提高。同时各个模块的存储,计算资源可能未必能很好的共享,比如写入峰值到来的时候,可能我们的批计算需求并不大,但是此时批计算的集群资源很难直接让实时写入层共享。反过来也一样,批计算的峰值,Kafka的资源,ETL的资源又未必可以给批计算共享。那有没有办法解决这些问题?降低大数据架构的接入门槛,使用成本,提升开发效率,资源利用率呢?我们下一章来说。

image.png

典型的大数据 Lambda 架构

 

云上 Tablestore 的大数据方案

在开始介绍云上大数据架构之前,我们再看下,双十一大促下需要的大数据架构会对存储提出哪些具体的要求呢:

  1. 高吞吐,高可用的大数据架构同时满足弹性和低成本
    1. 做为大数据架构,分析的数据通常是海量的,吞吐决定了大数据分析的时延,如果不能及时处理数据会导致业务的决策滞后,进而让大数据方案大打折扣。
    2. 高可用同样是一个很重要的指标,往往业务上云就是希望可以告别线下自建系统的不稳定性。
    3. 做为双十一大促的主旋律,业务峰值是不可避免的,一套弹性的架构是帮助我们真正实现业务在大促下依然可以高可用,高吞吐的的利器。
  1. 资源成本
    1. 抛开成本谈弹性都是没有意义的,既然选择了云上的方案,我们自然希望可以获得较好弹性的同时,控制成本。
    2. Serverless 云原生的产品形态通常可以比较好的在具备弹性的同时控制我们的成本开销。架构无需在业务低峰期预留很多不必要的资源来防御业务峰值的到来。
  1. 生态完善
    1. 大数据架构中涉及到的概念和需求非常多,这些需求也会对应不同的计算引擎,例如 Spark,Flink,Presto 或者云上的自研组建。存储需要和这些组建,开源产品进行无缝打通,这样可以降低使用的门槛。
    2. 除了计算引擎,数据通道链路的完善也很重要,例如日志类的数据和 OLTP 的数据能方便汇总,数据打宽等。

 

Tablestore 是一款 Serverless 云原生存储引擎,Serverless 相比实例售卖类型的产品,在业务有波峰波谷时天生就有较大的优势,基于 bigTable 的主存储采用行的方式进行存储,可以支撑单表亿级别的QPS。下面列了一些 Tablestore的核心特性:

image.png

Tablestore 除了有强大的主存储满足海量业务的实时读写外,基于主存储的分布式日志提供了完整的数据派生能力(详情参考),海量实时写入 Tablestore 的数据,可以实时订阅进行消费。这样就满足了我们的实时计算需求。

Lambda 架构中除了实时数据写入,实时计算之前,全量数据需要提供高性能扫描能力,Tablestore 采用行列混合,双引擎的架构,在主存储之外内部通过通道服务实时构建一个列存储,支撑 PB 级别数据的高吞吐扫描。同时在海量的数据场景下,我们相信数据是需要分层存储,所以在构建自身列存的同时,我们会帮助用户构建推送云上数据湖的链路,通过全托管的数据湖投递,降低用户的存储成本。

image.png

基于 Tablestore 的 Lambda 架构

 

Tablestore 在专注于打造一款极致性能和成本的存储引擎同时,更加关注完整的计算生态,伴随产品核心功能迭代的过程中,我们和阿里云的几大核心计算引擎做了完善的对接具体包括:

  • MaxCompute 的对接,支持 MaxCompute 计算引擎通过外表的方式直读写 Tablestore
  • EMR Spark 对接,支持流批源表读,流批结果表写,集团内第一款全 Connector 支持的 kv 存储引擎
  • Blink 对接,支持流批源表读,流批结果表写,维表读,集团内第一款全 Connector 支持的 kv 存储引擎
  • DLA 对接,支持 SQL 直接读写 Tablestore 的数据
  • FC 对接,支持流式增量触发器

 

计算的结果集合需要提供丰富灵活的高并发查询,支撑用户生成实时大屏,报表的场景,Tablestore 通过主存储结合丰富的索引能力以及 MPP 类型计算引擎来实现。

image.png

Tablestore Lambda架构结果集合存储和报表展示

 

对 Tablestore 大数据架构感兴趣的同学还可以参考之前的一些架构文章:

  1. 结构化大数据分析平台设计
  2. 数据中台之结构化大数据存储设计
  3. Lambda plus: 云上大数据解决方案
  4. 基于大数据的舆情分析系统架构 - 架构篇
  5. 通过EMR Spark Streaming实时读取Tablestore数据

 

Tablestore 助力双十一集团业务的落地

介绍完 Tablestore 结构化大数据存储引擎的基础能力后,来看看具体的一些双十一集团业务架构:

实时酒店推荐

场景描述:

商家会实时的更新酒店房型库存和报价,酒店的属性等字段。实时选品过程针对同一个酒店不同供应商的库存和报价进行计算和筛选,最终展示出有库存且按照报价质量排序的列表给平台用户,进行酒店搜索的结果返回

架构优势:

  • 在线和分析业务流量隔离
  • 基于 Tablestore 对接流计算的便利性实现源表和维表的存储统一
  • 全链路延时要求高,商品价格变动后,5秒内可以反馈至搜索库

image.png

基于 Tablestore 的酒店选品实时推荐架构

双十一监控作战大屏

场景描述:

海量的机器,业务监控秒级别数据,实时千万级别每秒写入流量,写入 Tablestore 数据实时查询和展示。跨时间的实时聚合,形成分钟级别数据。关键指标的实时聚合和展示,离线批计算提供报表分析能力。

架构优势:

  • 核心单表数据规模达 10 PB,可自定义数据生命周期
  • 核心单表持续每秒写入进 5000 万个数据点
  • 数据实时写入,大大提升数据可见时效性
  • 毫秒级实时查询展示趋势图和报表,查询性能不受单表规模约束

image.png

基于 Tablestore 时序监控大屏场景

全网爬虫系统

场景描述:

海量爬虫高并发高吞吐数据写入,全量数据存储,数据量达 PB 级,多类数据存储,包含半结构化原始数据、结构化标签数据以及分析结果数据,数据写入后需要即时触发数据实时处理,后续需要对接离线处理。

架构优势:

  • 分布式 LSM 引擎数据存储,提供高并发高吞吐写入,PB 级数据存储
  • 通过数据更新捕获,实时触发后续对数据的自定义处理逻辑
  • 与大数据平台实时数据同步,分析结果写入结果表,供应用层实时查询

image.png

基于 Tablestore 的爬虫大数据架构

总结

随着处理数据量,处理实时性的变化,物理硬件处理能力的升级,大数据架构演进是非常迅速的。随着业务数据逐步上云后,大数据处理平台也必然会迁移至云上,相比 TP 类业务,AP 类场景的业务峰值,处理数据带宽可能会更大。我们希望合理的云上大数据架构可以借助存储计算分离,在可控的成本下提供更弹性的数据处理能力,解决各业务在大促到来所遇到的挑战。也让大数据平台的研发人员彻底从基础运维中释放出来,可以全身心的投入满足业务对数据分析平台的需求。如果有兴趣的同学欢迎与我们交流探讨(钉钉交流群:23307953)。

![表格存储.jpg](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/570640b907e8d26ccbda030d4b86b2e2.jpg)

相关实践学习
阿里云表格存储使用教程
表格存储(Table Store)是构建在阿里云飞天分布式系统之上的分布式NoSQL数据存储服务,根据99.99%的高可用以及11个9的数据可靠性的标准设计。表格存储通过数据分片和负载均衡技术,实现数据规模与访问并发上的无缝扩展,提供海量结构化数据的存储和实时访问。 产品详情:https://www.aliyun.com/product/ots
目录
相关文章
|
3月前
|
存储 SQL 监控
数据中台架构解析:湖仓一体的实战设计
在数据量激增的数字化时代,企业面临数据分散、使用效率低等问题。数据中台作为统一管理与应用数据的核心平台,结合湖仓一体架构,打通数据壁垒,实现高效流转与分析。本文详解湖仓一体的设计与落地实践,助力企业构建统一、灵活的数据底座,驱动业务决策与创新。
|
4月前
|
人工智能 API 数据安全/隐私保护
Apifox 与 Apipost 的 API 文档引擎对比:底层架构、性能与可扩展性分析
深入探索市场上两大主流API工具——Apifox和Apipost的文档能力时,发现了令人惊讶的差距。这不仅仅是功能多寡的问题,更关乎开发效率与团队协作的质变。
|
15天前
|
Java API 开发工具
灵码产品演示:软件工程架构分析
本演示展示灵码对复杂软件项目的架构分析与文档生成能力。通过Qwen3模型,结合PlantUML,自动生成系统架构图、微服务时序图,并提取API接口文档,实现高效、智能的代码理解与文档输出。
|
13天前
|
存储 JSON 数据处理
ClkLog埋点与用户行为分析系统:架构升级与性能全面提升
随着越来越多企业在实际业务中使用 ClkLog,数据规模和分析需求也不断提升,部分用户日活已经超过10万,为了顺应这一趋势,ClkLog 秉持 “开放透明、持续演进”的理念,推出了迄今为止最重要的一次性能优化升级。新版本在大规模数据处理与复杂查询场景中,性能表现实现了跨越式提升。经过多轮研发与严格测试,新版本现已正式上线:在原有付费版 1.0 的基础上架构全面升级,并同步发布全新的 2.0 版本。为用户带来更强的性能与更广的适用场景。
|
1月前
|
存储 分布式计算 资源调度
【赵渝强老师】阿里云大数据MaxCompute的体系架构
阿里云MaxCompute是快速、全托管的EB级数据仓库解决方案,适用于离线计算场景。它由计算与存储层、逻辑层、接入层和客户端四部分组成,支持多种计算任务的统一调度与管理。
|
2月前
|
SQL 存储 监控
流处理 or 批处理?大数据架构还需要流批一体吗?
简介:流处理与批处理曾是实时监控与深度分析的两大支柱,但二者在数据、代码与资源上的割裂,导致维护成本高、效率低。随着业务对数据实时性与深度分析的双重需求提升,传统架构难以为继,流批一体应运而生。它旨在通过逻辑、存储与资源的统一,实现一套系统、一套代码同时支持实时与离线处理,提升效率与一致性,成为未来大数据架构的发展方向。
|
3月前
|
消息中间件 分布式计算 大数据
“一上来就搞大数据架构?等等,你真想清楚了吗?”
“一上来就搞大数据架构?等等,你真想清楚了吗?”
63 1
|
2月前
|
存储 前端开发 JavaScript
如何开发设备管理系统中的经验分析报表板块 ?(附架构图+流程图+代码参考)
设备管理系统(EMS)助力企业高效管理设备生命周期,涵盖采购、维护到报废全流程。本文详解经验分析报表模块设计与开发,涵盖动态看板、点检、巡检、维修、保养及库存统计功能,提供代码示例与架构设计建议,提升设备管理效率与决策水平。
|
10月前
|
弹性计算 API 持续交付
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。
|
11月前
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
257 3

热门文章

最新文章