如何用OceanBase与DataWorks,打造一站式的数据集成、开发和数据服务

导语:在OceanBase 2024年开发者大会的技术生态论坛上,阿里云DataWorks团队的高级技术专家罗海伟,详细阐述了一站式大数据开发治理平台DataWorks的能力,并对于如何基于OceanBase和Dataworks构建一站式数据集成、开发以及数据服务进行了深入探讨。本文为演讲的精华内容整理。

DataWorks概要

DataWorks是一站式智能化数据开发与治理平台,支持 MaxCompute/Hologres/AnalyticDB/E-Mapreduce/CDH/CDP 等大数据引擎,为企业构建现代数据仓库、数据湖以及湖仓融合数据架构提供数据平台产品解决方案。

作为阿里巴巴大数据平台建设者,DataWorks 从 2009 年起不断沉淀阿里巴巴大数据建设方法论并产品化,同时与数万家政务、金融、零售、互联网、能源、制造等阿里云客户携手,助力企业数字化升级。目前,DataWorks平台云上日调度任务实例数已超过1700万+。

下图是DataWorks产品模块架构,可以看到,最下面的计算存储引擎层已经包含了对OceanBase的支持。在计算存储引擎之上是数据集成模块,这个模块主要解决数据孤岛问题,比如我们的数据存储在各种异构存储、异构网络中,我们需要把这些数据按照特定的同步策略汇总到数据仓库中,这样才能做后续的数据分析和挖掘。目前,数据集成模块每日同步数据量超过10PB+。

1716430442

更上一层的数据治理模块中,数据开发是一项重要基础功能,我们在数据开发中可以通过图形化的方式配置数据加工ETL工作流,并且配置工作流调度,配置监控和执行运维。在数据开发上层,有完善的数据治理体系,保证ETL工作流数据安全可靠,并降低数据使用成本。

数据服务模块是一个灵活、轻量、安全稳定的数据API构建平台,解决了数据库和数据业务间“最后一公里”的问题。借助其全面的数据服务和共享能力,用户可以统一管理面向内外部的API服务。例如,可以将查询数据表功能快速的生成对应的API,或将已有的API注册至数据服务平台进行统一发布和管理。

DataWorks有良好的开放性,提供了开放API、开放消息等机制,用户甚至可以在DataWorks接入扩展程序,根据扩展程序实现特定业务逻辑。

数据集成作为DataWorks的核心基础模块,我们从六个维度保障数据同步的完整、安全和高效:

1716430467

1.              离线/实时全覆盖:考虑到数据同步策略的多样性,DataWorks支持离线同步,实现数据主动抽取;支持实时同步,接受变更刷新,变更动态同步。

2.              支持复杂网络:上云成为主流趋势,云上也存在多种网络场景包括同VPC、跨VPC、跨用户、混合云跨云、IDC到云上等,一个成熟的数据平台需要考虑对各种异构网络如公网、IDC、VPC等的支持,并提供异构网络综合解决方案。

3.              繁多异构数据源:针对不同数据同步场景,用户配置运维任务有不同的诉求,因此,DataWorks会对各种场景提供对应的数据同步解决方案。离线支持50+种数据源、实时支持10+种数据源,涵盖关系型数据库、MPP、NoSQL、文件存储、消息流等。

4.              同步解决方案:整库全量、整库全增量、分库分表,提供离线、实时数据同步解决方案。

5.              安全控制:比如配置一个数据同步数据源,数据源有开发环境、生产环境,我们对数据同步任务引用的数据源做生产和开发环境隔离,以及数据源权限安全控制,另外独享任务执行资源保障高可用。

6.              运维监控:包括流量、脏数据控制;资源组使用监控、任务告警设置。

数据集成 OceanBase 同步原理 

数据集成平台如何做数据同步?我们以OceanBase为例进行说明。 

在离线批同步中,一个数据同步作业称之为一个Job,Job是逻辑上的一个概念,为了最大化的提高任务运行的吞吐和效率,运行中一个Job会拆变成多个Task,来并发或者并行的完成数据传输业务。每个Task内部有一个Reader组件负责数据读取、并由Writer组件负责数据写出。在OceanBase同步场景中,Reader和Writer底层基于OceanBase SQL来完成数据读取和写出的。这套框架有很好的可扩展性,每增加一种新的Reader或者Writer插件,天然的可以和其他已有存储直接进行交换数据。这个框架体系就是DataX,目前Github上的DataX就是我们 DataWorks 团队对外开源的。

1716430501

在流同步场景中,OceanBase SQL执行过程中会产生各种日志,比如典型的 Clog或BinLog,我们借助OceanBase的日志代理组件可以获取到Clog以及更友好、方便接入的BinLog数据。下游生态工具可以类似接入MySQL的格式,对接OceanBase并捕获OceanBase增量。OceanBase的增量主要包含两种变更事件类型,一种是DML,包含数据插入、更新、删除,另一种是DDL,包括add column等表结构变更。我们拿到增量数据后会进行分区、聚合、排序,并根据目标端的类型进行翻译重放。例如目标端类型是OceanBase时使用OceanBase SQL重放。

1716430509

未来一年,DataWorks数据集成主要在四个方面做扩展。第一,整合流批一体同步引擎,维护一套框架,同一套技术栈支持流和批同步,提高研发效能。第二,加大对开源生态的投入,能够复用和集成社区丰富的Connector以及将有价值的Connector回馈给社区。第三,扩展支持DML / DDL / HeartBeat等全事件流的解析及同步。第四,追求极致的性能和成本,资源按需获取弹性扩缩容,增强分布式海量数据同步。

DataWorks x OceanBase 数据开发流程实践

我们介绍下一个经典的大数据开发流程,首先我们需要创建一个数据源,数据源包括各种类型,如数据库、数据仓库、消息队列、对象文件系统等。其次,我们要复制采集数据,创建数据同步作业将各种异构数据汇总到数据仓库或数据湖中,这一步可能涉及异构数据源的打通、网络连通解决、数据同步配置等。比如我们把OceanBase的数据抽取到数据仓库中来,在数据仓库中存储面向数据分析的数据,经过数仓分析后产出一份结果数据,这份数据是面向业务查询的数据。结果数据仍然通过数据集成同步回流到OceanBase,最后通过数据服务模块把OceanBase表里的数据对外暴露成一个数据的API,直接去支撑我们报表应用和大盘。

1716430531

在上述大数据开发流程中,DataWorks对OceanBase都有较为全面的支持,DataWorks与OceanBase云产品已经无缝衔接。我们分别示意介绍如下:

首先,DataWorks支持 OceanBase数据源。数据源配置信息包括连接地址、账密、权限等,这些信息以加密、可靠的方式存储下来,这样的话,DataWorks后续的各个模块可以有复用这套数据源配置。这个数据源网络可能跨地域,如果OceanBase是私有化部署在IDC中也可以支持。

1716430542

然后,一个典型场景是业务使用OceanBase的OLTP能力支撑线上业务需求,借助其他数仓工具如 MaxCompute 来做业务数据离线周期加工,这时候需要把OceanBase 的全量、增量变更数据同步到 MaxCompute 中。另一个典型场景是我们使用OceanBase的OLAP能力,把在线的MySQL数据全增量同步到 OceanBase 做挖掘分析。这两种场景在 DataWorks 中都可以图形化快捷完成任务配置和管理。配置举例如下:

1716430551

其他任务配置参考:

·       全增量同步到MaxCompute:https://help.aliyun.com/document_detail/175676.html

·       全增量同步到Hologres:https://help.aliyun.com/document_detail/171766.html

然后,DataWorks有一个强大的SQL节点编辑器以及工作流的调度编排系统,我们在DataWorks中增加了OceanBase数据开发节点,这样OceanBase 分析SQL可以和DataWorks已有的其他节点进行无缝连接,成为完整ETL工作流的一个组成部分。

1716430565

最后,我们使用数据服务将数据对外暴露为API,支撑报表和大盘,配置举例:

1716430573

OceanBase × DataWorks 的案例

目前,DataWorks已经有非常多成熟案例,其中基于OceanBase的典型案例是蚂蚁银行新加坡分行,在这个环境中实现了OceanBase大集群模式的高效运维管理。 

用户借助OceanBase的OLTP和OLAP能力,通过统一模型完成离线分析和在线分析,通过DataWorks实时同步将OceanBase的增量数据,订阅、汇总到MaxCompute。然后在MaxCompute可以做定期离线分析,分析结果回流到在线的OceanBase里,通过数据服务模块可以支撑在线业务查询,在线应用也可以直接触发调用MaxCompute做离线分析。 

通过DataWorks和OceanBase强强联合,用户用一套技术架构替代了之前需要部署多种KA组件及复杂运维和服务保障的模式,取得了极高的性价比。

1716430590

更多关于DataWorks和OceanBase联合解决方案的信息或疑问,欢迎来OceanBase的论坛进行讨论。

OceanBase快速上手:https://open.oceanbase.com/quickStart

OceanBase源码地址:https://github.com/oceanbase/oceanbase

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/394446.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux驱动开发—Linux内核定时器概念和使用详解,实现基于定时器的字符驱动

文章目录 内核定时器概念在Linux驱动模块中使用定时器软定时器(Soft Timers)jiffies 含义高精度定时器(High Resolution Timers) 实现倒计时字符设备驱动 内核定时器概念 在 Linux 内核中,定时器是用来管理和调度延迟…

8.7-主从数据库的配置+mysql的增删改查

一、mysql环境的配置 1.环境准备 (1)主数据库 #关闭防火墙 [rootmaster ~]# systemctl stop firewalld#关闭selinux [rootmaster ~]# setenforce 0#下载lrzsz工具 [rootmaster ~]# yum -y install lrzsz#安装rsync [rootmaster ~]# yum -y install rs…

低代码平台:效率利器还是质量妥协?

目录 低代码平台:效率利器还是质量妥协? 一、引言 二、低代码平台的定义和背景 1、什么是低代码平台? 2、低代码平台的兴起 三、低代码开发的机遇 1、提高开发效率 2、降低开发成本 3、赋能业务人员 四、低代码开发的挑战 1、质量…

pgbackrest备份方案(差异和增量备份的区别)

pgbackrest备份方案(差异和增量备份的区别) 一 备份 全量备份: 将数据库集群的全部内容复制到备份中。数据库集群的第一个备份始终是全量备份。始终能够直接还原全量备份。全量备份不依赖于完整备份之外的任何文件来保持一致性。 差异备份: 仅复制自…

3D展示的前景如何?

随着人类科技的不断进步,对未来的趋势也肯定是向高纬度发展。3D取代2D只是一个所需时间长短而已,题主既然这么问,说明肯定是意识到了3D是未来的趋势,那么就应该多接触和了解未来的3D平台及应用工具、应用领域等。 之前2G\3G时代&…

1.MongoDB入门指南之开篇

1. 写在前面 MongoDB大家可能听说过,但是要怎么学习?先学习哪个,很多人是不知道的,毕竟面对一个未知的事物,迷茫是很多人都会遇到的,从今天起我们就开始系统的介绍MongoDB的学习。 2. 课程介绍 课程主要分…

【Android Studio】原生应用部署第三方插件(探针)

一、本地引入包流程 (一)本地引入包内容 (二)本地引入包操作步骤 将 【probe-android-sdk】目录里面所有的aar包复制到嵌码项目工程(App级别)的 libs 目录下 二、添加插件 (一)…

Qt文件读写

Qt中文件读写类简述 包含头文件#include <QFile> 读写模式如下 枚举 文件读写步骤 1 先使用string 类型来接受打开文件的返回值 QFileDialog::getOpenFileName(this,"文件","./"); //打开一个文件 2 构建文件对象 Qfile ff (qstring)接受打…

“前缀和”专题篇一

目录 【模版】前缀和 【模版】二维前缀和 寻找数组的中心下标 除自身以外数组的乘积 【模版】前缀和 题目 思路 这道题如果使用暴力解法&#xff0c;即针对每次查询&#xff0c;先算出前r个数的总和&#xff0c;然后再算出前l-1个数的总和&#xff0c;然后相减就得出本次查…

【MYSQL】MYSQL逻辑架构

mysql逻辑架构分为3层 mysql逻辑架构分为3层 1). 连接层&#xff1a;主要完成一些类似连接处理&#xff0c;授权认证及相关的安全方案。 2). 服务层&#xff1a;在 MySQL据库系统处理底层数据之前的所有工作都是在这一层完成的&#xff0c;包括权限判断&#xff0c;SQL接口&…

三数之和-Leetcode

leetcode链接&#xff1a;三数之和 题目描述 解题思路 主要要思考以下几个问题&#xff1a; 如何选取三个元素&#xff1f;— 当前节点 左指针 右指针指针开始位置&#xff1f;— 左指针 当前节点位置 i 1&#xff0c; 右指针 n - 1如何保证不重复&#xff1f; — 先把…

利用自然语言处理(NLP)技术挖掘旅游评论数据

目录 简单了解 延伸 如何使用自然语言处理技术提高旅游评论情感倾向的准确性&#xff1f; 旅游评论数据中多模态信息融合的最佳实践是什么&#xff1f; 在旅游评论数据预处理和清洗过程中&#xff0c;哪些方法最有效&#xff1f; 使用Python网络爬虫技术进行旅游评论数据的…

Python酷库之旅-第三方库Pandas(072)

目录 一、用法精讲 291、pandas.Series.dt.round函数 291-1、语法 291-2、参数 291-3、功能 291-4、返回值 291-5、说明 291-6、用法 291-6-1、数据准备 291-6-2、代码示例 291-6-3、结果输出 292、pandas.Series.dt.floor函数 292-1、语法 292-2、参数 292-3、…

关于手机中的红外遥控

在手机电路中&#xff0c;有这么不起眼的一部分&#xff0c;虽看似简单&#xff0c;但是却给我们的生活在一定程度上带来了极大的便捷-红外遥控部分。 其置于手机顶部&#xff0c;并在壳体处挖开一个小孔&#xff0c;用于红外信号对外界的传递。如果你感兴趣的话&#xff0c;不…

Go语言项目实战班04 Go语言课程管理系统项目实战 20240807 课程笔记和上课代码

预览 课程特色 本教程录制于2024年8月8日&#xff0c;使用Go1.22版本&#xff0c;基于Goland2024进行开发&#xff0c;采用的技术栈比较新。 每节课控制在十分钟以内&#xff0c;课时精简&#xff0c;每节课都是一个独立的知识点&#xff0c;如果有遗忘&#xff0c;完全可以当…

基于JSP技术的人事管理系统

你好呀&#xff0c;我是计算机学姐码农小野&#xff01;如果有相关需求&#xff0c;可以私信联系我。 开发语言&#xff1a; Java 数据库&#xff1a; MySQL 技术&#xff1a; JSP技术 Java语言 工具&#xff1a; Myeclipse 系统展示 首页 管理员功能模块 员工功能模…

攻击者劫持 Facebook 页面用于推广恶意 AI 照片编辑器

近日&#xff0c;有攻击者劫持了 Facebook 上的网页&#xff0c;诱骗用户下载一个合法的人工智能&#xff08;AI&#xff09;照片编辑器&#xff0c;但实际上他们真正下载的却是一个专门用以盗取用户的凭据信息窃取程序。 趋势科技的研究人员发现的这一恶意广告活动利用了人工…

什么是实时数据仓库?它有哪些不可替代之处?

【实时数据仓库】可以分开来理解&#xff1a; ✅【实时数据】&#xff1a;即能够快速处理数据&#xff0c;且几乎无延迟的提供最新的数据的能力。 ✅【仓库管理】&#xff1a;可以理解为对仓库的库存控制、对仓库的存储优化以及协调物流。 那么实时数据仓库就是&#xff1a;…

Stable Diffusion绘画 | 图生图-批量处理

批量处理中&#xff0c;对待处理图片的要求&#xff1a;宽高比一致 修改提示词后批量处理 调整参数&#xff1a; 确保宽高与原图一致增加一定的重绘幅度 调整提示词信息&#xff1a; 批量处理后&#xff0c;出图如下所示&#xff1a; 修改模型后批量处理 恢复提示词&#xf…

HTTP:从基础概念到协议机制,详解请求响应与状态保持

文章目录 一、HTTP概述1、HTTP的理解2、HTTP是无状态的协议 二、HTTP协议的过程1、URL&#xff08;统一资源定位符&#xff09;2、客户端3、服务器端 三、HTTP请求与响应1、HTTP请求和响应2、HTTP请求方法3、状态码 四、HTTP报文1、请求报文首部2、响应报文首部3、首部字段 五、…