前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >从T+1到T+0,浅谈PetaBase的实时流式处理

从T+1到T+0,浅谈PetaBase的实时流式处理

原创
作者头像
数据狗忙忙忙
修改于 2019-08-13 09:15:18
修改于 2019-08-13 09:15:18
2.6K0
举报
文章被收录于专栏:数据狗说事儿数据狗说事儿

随着互联网+的进一步发展,各行业对大数据技术的应用日趋成熟,企业的信息化范围正在高速扩展。

我们发现,越来越多的企业大数据分析已不再局限于传统的T+1场景,对数据的实时性分析和处理要求很高。例如网站流量监测、安全告警、用户推荐等等,传统的批处理模式往往有数小时甚至数天的延迟,不能满足T+0的业务需要。为了有效解决实时框架和数据大规模存储计算的问题,PetaBase流式处理框架应运而生。

打通结构化数据的高速通道

同互联网公司相比,传统企业在业务种类、交易模式、监管要求方面都大大不同。比如传统的银行和股票交易领域,线上交易(OLTP)数据大都存储在关系型数据库中,针对这类业务需求设计了以下T+0实时处理的架构:

​整个框架采用了Oracle GoldenGate(OGG)+Kafka+SparkStreaming的软件架构。集成该框架的PetaBase提供基础的数据采集、接收、过滤解析、实时规则计算、存储和分析挖掘功能,以此为基础构建实时风险预警系统进行业务逻辑加工,下游的各个监控与分析系统通过订阅方式获得实时处理后的数据,满足企业运营实时监控与分析的业务需求。

GoldenGate是一种基于日志的结构化数据复制软件,能够实现大量交易数据的实时捕捉,实现业务数据库与PetaBase的数据同步,保持秒级的数据延迟。

OGG源端Extract进程捕获Oracle日志数据,并将数据写入到Local Trail文件。源端pump进程将Local Trail文件发送到目标端,目标端Collector进程接收数据并写入到Remote Trail。目标端replicate进程复制Remote Trail到Kafka Cluster中指定的topic中。

Kafka是一种高吞吐量的分布式发布订阅消息系统,是基于磁盘顺序读写,支持批处理的消息队列,Kafka主要是作为缓冲,来异构、解耦系统。Kafka通过PetaBase的并行加载机制来统一线上和离线的消息处理,并提供实时的消费。除此之外,Kafka自带的Zero-Copy、Exactly Once等技术语义保证了消息传输的实时、高效、可靠以及容错性。

自研的SparkStreaming程序对kafka中指定topic中的流数据进行消费,解析过滤和结构化转换,并进行实时分析计算。计算后的增量数据落到hdfs,入库到petabase,提供分钟级延迟的准实时分析。

为了实现流计算服务自治,我们对框架内的软件进行了深度整合,打通了数据流的各个通道,能够实现功能及服务的灵活部署,构建位置透明的流式计算服务体系。用户不需要额外配置日志采集、消息队列等中间件服务器,显著降低使用成本,单个节点能达到每秒20万消息处理的能力。

打破半结构化数据的管理困局

商业企业内部价值最大的流数据除了业务系统外还有各类设备产生的日志数据、爬虫程序数据、实时资源监控信息、从外部获得的舆情、资讯信息。这些数据种类多、来源广,架构平台杂,日志规范性差,不同应用的日志路径、文件个数、内容、规则各不相同。

需要数据采集组件提供高性能、高可用性、高安全可靠性的实时采集、传输功能。所以,我们采用了在业界有着广泛应用且几乎成为事实标准的流式架构:Flume+Kafka+SparkStreaming。

​整个框架分为三层:采集层、汇总层和处理层。其中采集层采用flume收集日志,在日志所在的主机上部署flume agent实时采集日志文件、监控信息、爬虫数据,实时发送后端的flume 服务端,服务端完成原始数据入库和初步的过滤解析并发送到kafka消息中间件(汇总层)。

Kafka作为实时流计算的数据分发节点,实现日志类数据实时分发。Kafka中不同来源的日志消息通过topic进行区分,每个消息都会被分区,用以分担消息读写负载,每个分区又可以有多个副本来防止数据丢失。SparkStreaming程序作为kafka的消费者,从而进行实时的处理。与结构化数据的实时框架一样,处理的结果持久化至PetaBase中,为统计和分析类应用提供数据支撑。

PetaBase的架构优势

我们基于Hadoop框架打造了高可用、高吞吐的实时/离线接入系统,将数据统一落入HDFS,形成原始层;基于Hive的小时级任务,分别负责计算生成明细层与汇总层;应用层使用PetaBase 内部的MPP计算引擎完成各种报表分析、KPI、决策支持的快速响应。

面对实时数仓的诉求,PetaBase扩展出的流式计算框架能很好地应对各种流式处理的需求。从上文可以看到,结构化数据的流式处理与半结构化数据的流处理基本相似,只是把采集端的 OGG 替换为 Flume,分发层和计算层都是完全一样的。从总体流程来看,基本模型是不变的。采用这种统一的、分层次的架构,有如下几个优势:

1)基于分层的设计,可以灵活地扩展或替换流处理框架中的上下游;

2)统一的后端处理,最大限度的保证系统的稳定性并减少混合架构的复杂度;

3)批流统一,同样的 SQL,既可以跑离线也可以跑实时;

4)低延迟,高吞吐,端到端的 Exactly-once;

5)同时支持结构化与非结构化数据的实时处理,支持多种异构数据源的采集;

6)离线实时数仓的一体化。

作为一款国产分布式大数据平台,PetaBase已经在诸多领域证明了自身的价值。尤其是在面向数据仓库的应用中,更是展示了其出色的性能和坚如磐石的可靠性。不管你是联机交易、网站访问,还是物联网、车联网(传感器)的应用场景,如果你需要一个能支撑T+0到T+n的数据平台,PetaBase是你最好的选择之一。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
实时数仓架构的演进与对比
1991年,比尔·恩门(Bill Inmon)出版了他的第一本关于数据仓库的书《Building the Data Warehouse》,标志着数据仓库概念的确立。
大数据学习与分享
2023/02/26
1.2K0
实时数仓架构的演进与对比
大数据平台-数据采集和集成技术和工具整理
今天谈下大数据平台构建中的数据采集和集成。在最早谈BI或MDM系统的时候,也涉及到数据集成交换的事情,但是一般通过ETL工具或技术就能够完全解决。而在大数据平台构建中,对于数据采集的实时性要求出现变化,对于数据采集集成的类型也出现多样性,这是整个大数据平台采集和集成出现变化的重要原因。
IT大咖说
2021/03/14
2.7K0
大数据经典学习路线(及供参考)不容错过
熟练使用Linux,熟练安装Linux上的软件,了解熟悉负载均衡、高可靠等集群相关概念,搭建互联网高并发、高可靠的服务架构;
用户2292346
2018/06/11
7890
大数据经典学习路线(及供参考)不容错过
Flink 在实时金融数据湖的应用
导读:本文由中原银行大数据平台研发工程师白学余分享,主要介绍实时金融数据湖在中原银行的应用。主要内容包括:
Spark学习技巧
2021/03/05
9950
Flink 在实时金融数据湖的应用
大数据平台应用 17 个知识点汇总
在Hadoop平台中,一般大家都把hive当做数据仓库的一种选择,而Mpp数据库的典型代表就是impala,presto。Mpp架构的数据库主要用于即席查询场景,暨对数据查询效率有较高要求的场景,而对数据仓库的查询效率要求无法做大MPP那样,所以更多地适用与离线分析场景。
张哥编程
2024/12/19
2180
彻底打通实时数据仓库该如何实现及多种技术架构解析
问题导读 1.实时数据仓库有哪些特点? 2.公司构建实时数据仓库有哪些好处? 3.如何构建实时数据仓库? 4.实时数据仓库本文解析了哪些架构? 越来越多的实时数据需求,需要更多的实时数据来做业务决策,例如需要依据销售情况做一个资源位的调整;同时有些活动也需要实时数据来增强与用户的互动。如果数据有实时和离线两种方案,优先考虑实时的,如果实时实现不了再考虑离线的方式。 实时数据仓库,已经被很多公司所接受,而且接触很多About云社区会员,都在筹备搭建实时数据仓库。 1.那么实时数据仓库有哪些特点:
用户1410343
2021/01/05
1.4K0
Flink在实时在实时计算平台和实时数仓中的企业级应用小结
在过去的这几年时间里,以 Storm、Spark、Flink 为代表的实时计算技术接踵而至。2019 年阿里巴巴内部 Flink 正式开源。整个实时计算领域风起云涌,一些普通的开发者因为业务需要或者个人兴趣开始接触Flink。
王知无-import_bigdata
2021/04/21
1.5K0
Flink在实时在实时计算平台和实时数仓中的企业级应用小结
大数据技术体系梳理
来一起认识下大数据的技术框架有哪些,它们分别用于解决哪些问题?它们的内在逻辑和适用场景有哪些?OK,一起去探索下。
十里桃花舞丶
2021/01/05
1.7K0
大数据技术体系梳理
构建实时数仓 - 当 TiDB 偶遇 Pravega
数据仓库是公司数据发展到一定规模后必然需要提供的一种基础服务,也是“数据智能”建设的基础环节。早期数仓多为离线模式,主要处理的是 T+1 的数据,随着互联网时代的到来,实时数据处理的场景日益增多,离线数仓已无法满足业务发展的实时性需求。为更好的解决业务场景的实时化需求,实时数仓建设已成必然趋势,这也是 HTAP 数据库的重要能力之一。
PingCAP
2021/06/09
8860
基于 OGG 的 Oracle 与 Hadoop 集群准实时同步介绍
本文阐述了从Oracle实时同步到Hadoop集群的架构实践,分析了如何实现高效、稳定、易维护的同步方案。通过在两个集群上部署OGG,利用Oracle GoldenGate技术实现数据的实时同步,并阐述了如何通过业务逻辑编排实现多个集群之间的数据同步。同时,本文还提供了同步后的数据治理方案,以保障数据的一致性和可用性。
王亮
2016/11/15
3.9K2
基于 OGG 的 Oracle 与 Hadoop 集群准实时同步介绍
百度、阿里、腾讯平台架构都熟悉,小米大数据平台架构OLAP架构演进是否了解
分析型系统进行联机数据分析,一般的数据来源是数据仓库,而数据仓库的数据来源为可操作型系统,可操作型 系统的数据来源于业务数据库中,那么我们常用的数据仓库的组成和架构一般如下图所示
Lansonli
2021/10/11
1.5K0
建设DevOps统一运维监控平台,先从日志监控说起
前言 随着Devops、云计算、微服务、容器等理念的逐步落地和大力发展,机器越来越多,应用越来越多,服务越来越微,应用运行基础环境越来多样化,容器、虚拟机、物理机不一而足。 面对动辄几百上千个虚拟机、容器,数十种要监控的对象,现有的监控系统还能否支撑的住?来自于容器、虚拟机、物理机的应用日志、系统服务日志如何采用同一套方案快速、完整的收集和检索?怎样的架构、技术方案才更适合如此庞大繁杂的监控需求呢?本文主要从以下几个方面来分享下笔者在日志监控方面的一些经验。 目录 一、DevOps浪潮下带来的监控挑
yuanyi928
2018/04/02
4.3K0
建设DevOps统一运维监控平台,先从日志监控说起
【案例】恒丰银行——大数据实时流处理平台
数据猿导读 恒丰银行针对商业银行在风险、营销、科技运维、内控管理方面对实时数据处理能力的需求,基于实时流处理相关技术,构建全行统一的实时流处理平台,有力支撑了相关应用的建设,取得了良好的经济效益和社会效益。 本篇案例为数据猿推出的大型“金融大数据主题策划”活动(查看详情)第一部分的系列案例/征文;感谢 恒丰银行 的投递 作为整体活动的第二部分,2017年6月29日,由数据猿主办,上海金融行业信息协会、互联网普惠金融研究院联合主办,中国信息通信研究院、大数据发展促进委员会、上海大数据联盟
数据猿
2018/04/24
2.5K0
【案例】恒丰银行——大数据实时流处理平台
大数据推荐系统实时架构和离线架构
推荐系统是大数据中最常见和最容易理解的应用之一,比如说淘宝的猜你喜欢和京东等网站的用户提供个性化的内容。但是不仅仅只有电商会用推荐引擎为用户提供额外的商品,推荐系统也可以被用在其他行业,以及具有不同的应用中使用,如网易云音乐的每日歌曲推荐、活动、产品到约会对象。
搜云库技术团队
2019/10/18
1.8K0
如何打造100亿SDK累计覆盖量的大数据系统
作为推送行业领导者,截止目前个推SDK累计安装覆盖量达100亿(含海外),接入应用超过43万,独立终端覆盖超过10亿 (含海外)。个推系统每天会产生大量的日志和数据,面临许多数据处理方面的挑战。 首先数据存储方面,个推每天产生10TB以上的数据,并且累积数据已在PB级别。其次,作为推送技术服务商,个推有很多来自客户和公司各部门的数据分析和统计需求,例如:消息推送和数据报表。虽然部分数据分析工作是离线模式,但开源数据处理系统稳定性并不很高,保障数据分析服务的高可用性也是一个挑战。另外,推送业务并不是单纯的消息
个推君
2018/03/21
1.1K0
如何打造100亿SDK累计覆盖量的大数据系统
【干货预警】kafka+sparkstreaming搭建流计算引擎
周期性拉取增量时间段内,各词在各渠道内的索引数据,然后进行分时频次统计,复杂度:如果词库大小增长到10w,渠道数达到5000,那么就需要5亿次/轮的索引查询开销。该方案下,词频统计相关模块的数据更新时效性很低,一般在天级。
WeTest质量开放平台团队
2018/10/29
1K0
大数据物流项目:Kudu 入门使用(五)
KUDU 支持用户对一个表指定一个范围分区规则和多个 Hash 分区规则,如下图:
Maynor
2022/11/30
1.3K0
大数据物流项目:Kudu 入门使用(五)
java转大数据方向如何走?
大数据的三个发展方向,平台搭建/优化/运维/监控、大数据开发/ 设计/ 架构、数据分析/挖掘。请不要问我哪个容易,哪个前景好,哪个钱多。
张哥编程
2024/12/19
1600
java转大数据方向如何走?
【译】使用Apache Kafka构建流式数据平台(1)何为流式数据平台?
前言:前段时间接触过一个流式计算的任务,使用了阿里巴巴集团的JStorm,发现这个领域值得探索,就发现了这篇文章——Putting Apache Kafka To Use: A Practical Guide to Building a Stream Data Platform(Part 1)。在读的过程中半总结半翻译,形成本文,跟大家分享。
阿杜
2018/08/06
1.3K0
【译】使用Apache Kafka构建流式数据平台(1)何为流式数据平台?
干货 | 携程酒店实时数仓架构和案例
当前,企业对于数据实时性的需求越来越迫切,因此需要实时数仓来满足这些需求。传统的离线数仓的数据时效性通常为 T+1,并且调度频率以天为单位,无法支持实时场景的数据需求。即使将调度频率设置为每小时,也仅能解决部分时效性要求较低的场景,对于时效性要求较高的场景仍然无法优雅地支撑。因此,实时数据使用的问题必须得到有效解决。实时数仓主要用于解决传统数仓数据时效性较低的问题,通常会用于实时的 OLAP 分析、实时数据看板、业务指标实时监控等场景。
携程技术
2023/02/28
1.2K0
干货 | 携程酒店实时数仓架构和案例
推荐阅读
相关推荐
实时数仓架构的演进与对比
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档