茄子科技张韶全:跨多云大数据平台DataCake在OceanBase的实践

11 月 16 日,OceanBase 在北京顺利举办 2023 年度发布会,正式宣布:将持续践行“一体化”产品战略,为关键业务负载打造一体化数据库。其中,在“数字化转型升级实践专场”,我们有幸邀请到了茄子科技大数据技术总监张韶全进行《跨多云大数据平台 DataCake 在 OceanBase 的实践》主题演讲,以下为演讲全文:

图片

大家下午好!非常荣幸受到 OceanBase 组委会的邀请,跟大家分享茄子科技大数据平台 DateCake 与 OceanBase 的合作实践。

首先介绍一下茄子科技。我们是第一批出海的互联网公司,公司的业务场景从最开始工具类 APP 扩展到内容、游戏、支付等多个场景,月活跃用户数量达到数亿级别,正是因为这种级别的用户体量,同时还有复杂的使用场景,我们很早便开启了大数据平台 DateCake 的自研,通过挖掘数据价值支撑业务高速发展。

图片

因为我们是一家出海企业,所以很早就把大数据平台做到了彻底的云原生化。2018 年开始,大数据平台完全摆脱了传统的 Hadoop 架构,全部采用了云原生架构。我们在支撑内部业务的同时,发现在大数据方面的技术和积累,可以很好的帮助其他行业、不同场景更好地解决数字化转型过程中的问题和需求。所以,我们决定将大数据平台作为独立的产品商业化,去赋能外部企业,希望能够帮助外部企业拥有低门槛、低成本的大数据解决方案,能够落实数据方法论,帮助企业在竞争中获得一些优势。

图片

我们的大数据平台名字叫“DateCake”[1],从整体架构上分成三层,从底层 IaaS、中层 PaaS,到上层 SaaS。

Iaas 层,是完全的云原生架构,同时也支持多云。可以充分利用不同云的特点。比如,可以充分利用云上  Spot 实例,通过自研 PVC Reuse 技术[2],把 Spot 实例当成 On-demand 实例来使用,大幅降低使用成本;同时还可以充分利用底层云厂商提供的弹性存储和计算,保证业务只在使用时付费,进一步降低成本。

中层是 PaaS 层,采用湖仓一体架构,可以做到一份数据支撑不同的场景,例如数据分析、数据科学、数据开发,这样就可以避免数据从不同的系统导入导出的复杂流程,造成数据孤岛。另外,我们也自研了 Catalog 管理系统,通过该系统做到统一的数据资产视图,并能够做到细粒度数据管控、数据血缘和审计,现在该系统也对外开源[3]。

再到 SaaS 层,按照不同模块,从数据分析到数据开发,再到数据治理。第一,在数据分析里可以用统一的 SQL 完成不同的数据源的数据查询,不管数据是在湖里面、仓里面,还是在外部数据源的关键数据库里面,可以用一条 SQL 把全部数据查询出来。第二,通过非常低门槛的高性价比数据开发的模块化解决方案,不管用户是数据分析师还是数仓工程师,都可以用模块化非常简单地完成整个数据链路的构建。第三,还提供智能化、完善的 FinOPS 解决方案。

图片

OceanBase 在 DateCake 中主要在两个场景中使用。第一个场景,利用OceanBase 的 OLAP 能力,把 OceanBase 作为一个轻型数仓来使用,围绕OceanBase构建完整的数据开发链路。第二个场景,利用 OceanBase 的 OLTP 能力,把 OceanBase 作为服务的数据库支持高并发查询,包括事务和一些复杂 SQL 查询。

图片

图片

茄子科技为什么要选择 OceanBase?首先,最看中的一点是,OceanBase 经过了线上复杂系统的验证,我们非常相信经过复杂系统验证的数据库的能力;同时,OceanBase 支持多基础设施、高性价比、高兼容的特性,这些特性也非常契合我们 DateCake 本身的产品特点。

图片

第一个特点,跨多云架构轻松运维。

因为我们是完全的云原生大数据平台,同时支持多云策略。为了能够支撑统一的服务和下面不同的云进行对接,我们研发了一套可以做到承上启下的作用且能够对底层环境透明化的系统。同时,该系统可以对查询做智能分析、智能路由,保证用户提交的查询都可以命中到准确的集群和高性价比的集群上。

图片

此外,为了让平台管理人员很好地运维多云系统、多云集群,我们也自研了一套多云集群的管理和监控系统,专门用来对多云的集群进行创建、管理、监控,同时对集群上的任务进行管理、对多云的任务做实时不同维度的分析。这样,就可以非常容易地帮助系统管理人员,轻松管理多云的集群、多云的环境。

第二个特点,一个平台覆盖 Data Workflow。

在一个平台上轻松构建从数据源到业务场景端到端的 Data Workflow,支持数据集成、数据导入、数据 ETL,同时提供了非常低门槛方式让用户通过模板化方式通过 SQL+低代码非常快速地构建一套完整的系统。比如,我们公司的一个数据分析师,就可以在平台上管理几百号的数据开发任务。

图片

数据开发方案基于云的弹性资源,只需为使用付费,同时把云厂商的一些特点吃得很透,有非常强的技术积累,保证比传统的 Hadoop 解决方案低 70% 以上的成本。用户只需要通过简单配置就可以把数据链路中,比如数据集成、数据处理、数据导出场景中一些非常具体的案例,通过简单的配置就可以完成,不需要写非常复杂的代码。

图片

OceanBase 在 Data Workflow 里主要有两个场景。第一个是 BI 场景,从数据集成入湖之后,经过湖上数据的处理,通常数据量比较大,处理完之后把数据导入到OceanBase,用 OceanBase 来支撑 BI 的可视化图表、仪表盘等。第二个是实时分析场景,相当于把 OceanBase 当成实时数仓,省去ETL的步骤,做实时的数据分析。

图片

DateCake 可以通过可视化的方式查看历史实例运行详情,包括历史实例的运行状态、时长、上下游实例的运行状态等信息。进一步,支持对实例进行重算、Mark Success/Failed 的操作。同时,DakeCake 还提供数据血缘和链路分析的功能,可以快速查看任务间的依赖关系,方便定位任务延迟或发生故障时的原因。

图片

第三个特点,实时成本分析。

现在都在讲数字化转型,其中数字化转型解决方案,最重要的一点就是能够让企业评估投入产出比,要知道投入的成本是什么样的,得到的回报是什么样的。

现在,我们的平台支持实时化任务级的成本分析,一个任务运行完之后立马可以知道这个任务的用量和成本是什么样的。相比云厂商“T-2”的成本费用计算方式,可以做到实时地任务级的成本分析。有了任务级的成本分析后,企业就可以做很多工作延伸,比如成本监控,一个任务的成本波动,如果有显著变化可以及时通知业务。

图片

同时,我们的平台还提供了任务级成本的归因分析。任务成本有波动,可以分析出它是因为数据本身的波动、任务的变更,还是因为集群波动导致成本有波动。上图展示对实时成本从不同维度做多维分析,这是一个典型的海量数据的多维分析场景。

在数据多维分析场景,我们之前使用 RDS,愈发感觉力不从心,当我们迁移到 OceanBase 后,借助 OceanBase 的 OLAP 能力,在千万级数据分析上,OceanBase 的分析时间降低 60%-70%。

之后,我们也把实时成本数据分析后的数据库完全切到 OceanBase,整个迁移过程,因为 OceanBase 本身的高 MySQL 兼容性,以及只要稍微简单配置一下就可以完成,非常丝滑。

图片

我今天分享的内容就到这里,希望跨多云大数据平台 DataCake 在 OceanBase 的实践分享能对大家有所帮助。未来 DataCake 会在云原生大数据方向上和大家一起继续奔跑,和伙伴们一起打赢数字化转型之役,谢谢大家!


[1] DataCake: https://www.datacake.cloud/

[2] Spot最佳实践:https://aws.amazon.com/cn/blogs/china/the-practice-of-shareit-big-data-platform-datacake-in-spark-on-eks/

[3] Polycat: https://github.com/DataCakeCloud/Polycat

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

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

相关文章

一个Blazor+WinForm+MAUI+PDA实现的条码比对系统

条码比对系统是由单机版桌面软件和Android版的PDA扫码软件组成,桌面软件采用Blazor与WinForm进行混合开发,PDA扫码软件采用MAUI进行开发,这个项目都是基于.NET技术进行构建,这也是将近期学习Blazor和MAUI这两门技术应用到实践当中…

刷题系列——排序算法

参考:README - 十大经典排序算法 1)排序算法分为内部外部排序两种,这个之前并不了解,外部排序需要访问外存的这个就是指需要额外内存比如另一个list或者dict存储中间结果。 2)稳定性:排序后 2 个相等键值…

openGauss训练营培训课程第1课时

课时1:openGauss全景介绍 1、介绍 openGauss 全景 1.1.openGauss总体架构介绍 本章节主要介绍了openGauss发展的历史,现状以及未来。对当前的DataPod和DataKit 2种openGauss当前主推的场景化产品进行了介绍。同时对openGauss的整个逻辑模块的视图进行了讲解。 …

算法通关村第十三关-黄金挑战数论问题

计数质数 描述 : 给定整数 n ,返回 所有小于非负整数 n 的质数的数量 。 题目 : LeetCode 204.计数质数 : 204. 计数质数 分析 : 解决这个题有一个有效的方法,叫埃氏筛 , 后来又产生了线性筛,奇数筛等改进的方法。 基本思想是如果 x是…

12.04 二叉树中等题

513. 找树左下角的值 给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: root [2,1,3] 输出: 1 思路:找到最低层中最左侧的节点值,比较适合层序遍历,返回最…

【动态规划】LeetCode-198/LCR089.打家劫舍

🎈算法那些事专栏说明:这是一个记录刷题日常的专栏,每个文章标题前都会写明这道题使用的算法。专栏每日计划至少更新1道题目,在这立下Flag🚩 🏠个人主页:Jammingpro 📕专栏链接&…

MS85163实时时钟/日历可Pin to Pin兼容PCF8563

MS85163/MS85163M是一款CMOS实时时钟(RTC) 和日历电路,针对低功耗进行了优化,内置了可编程的时钟输出、中断输出和低电压检测器。可Pin to Pin兼容PCF8563。所有寄存器地址和数据都通过两线双向I 2C总线进行串行传输,最大总线传输速度为 400k…

2023年【上海市安全员C3证】新版试题及上海市安全员C3证试题及解析

题库来源:安全生产模拟考试一点通公众号小程序 上海市安全员C3证新版试题是安全生产模拟考试一点通总题库中生成的一套上海市安全员C3证试题及解析,安全生产模拟考试一点通上上海市安全员C3证作业手机同步练习。2023年【上海市安全员C3证】新版试题及上…

干货分享:盘点8款优秀的自动化测试工具

如今,作为一名软件测试工程师,几乎所有人都需要具备自动化测试相关的知识,并且懂得如何去利用工具,来为企业减少时间成本和错误成本。这是为什么呢? 在以前,测试人员一般都只需要扮演终端用户,…

用Python创建日历详细指南与实用示例

更多Python学习内容:ipengtao.com 大家好,我是彭涛,今天为大家分享 用Python创建日历详细指南与实用示例,全文4800字,阅读大约15分钟。 在日常生活和工作中,创建和管理日历是一项关键任务。Python提供了丰富…

【ArcGIS Pro微课1000例】0047:深度学习--棕榈树提取全流程

一、创建训练样本 对汤加科洛瓦伊种植园每棵棕榈树的健康状况进行清查和评估,这需要花费大量的时间和劳动力。 为简化此过程,将在 ArcGIS Pro 中使用深度学习模型来识别树木,然后根据植被绿度的测量值计算其健康状况。 第一步是找到显示汤加科洛瓦伊的影像,该影像具有足够…

无需服务器,无需魔法,拥有一个微信机器人就是这么简单

前情提要 还没看过的朋友可以看一下上一篇文章《拥有一个微信机器人总共需要几步?》在这篇文章里,我们提到,创建微信机器人需要一个大前提--你得有一台服务器。现在,不再需要了!没错,上一篇提到的Serverles…

巧借C++算法实现冒泡排序算法

目录 引言冒泡排序原理具体实现步骤示例代码时间复杂度和稳定性优化可能性结束语 引言 作为计算机专业出身的开发者,以及从事软件开发相关的小伙伴,想必对C语言并不陌生,它是一门非常厉害的编程语言,不仅是基于程序底层的语言&a…

JavaSE基础50题:9. 求1~100内的所有素数

【概述】 素数&#xff1a;只能被1和自己整除。 素数的判断方法&#xff1a; 我们把非素数都写成 ab 的形式&#xff0c;如&#xff1a; 16 116 16 28 24 124 24 212 24 38 24 46 同样&#xff0c;我们发现&#xff0c;a 和 b 其中一定会有一个数字 < 根号n&#xff0…

SIT2596,可替代LM2596,40V 输入 150KHz 3A 降压型电源转换器

SIT2596 是一款降压型开关电压调节芯片&#xff0c;可固定输出 3.3V、5V、12V&#xff0c;也可根据需要调节 输出电压&#xff0c;电压输出范围在 1.2V-37V&#xff0c;输入电压最高可达 40V,输出电流可达 3A;同时具有优异 的线性调整率和负载调整率。 SIT2596 内部集成频率…

中危漏洞!小程序优惠卷遍历

进入小程序&#xff0c;因为是一个小商城&#xff0c;所以照例先查看收货地址是否存在越权&#xff0c;以及能否未授权访问&#xff0c;但是发现不存在这些问题&#xff0c;所以去查看优惠卷 进入领券中心&#xff0c;点击领取优惠券时抓包 发现数据包&#xff0c;存在敏感参数…

DevEco Studio将常用内容设为代码模板 通过快捷键调出

有时候 我们开发 可能有一些经常要写的内容 天天CV大法找东西也非常麻烦 我们这里打开编辑器 选择 File下的Settings 打开设置界面 选择 Editor 下的 Live Templates 模板 然后 我们点击右侧加号 然后点第一个 加一个 这里 我们设置 输入 em时会触发提示 内容时 问君能有几…

使用Serv-U FTP服务器共享文件,实现无公网IP环境下远程访问

文章目录 1. 前言2. 本地FTP搭建2.1 Serv-U下载和安装2.2 Serv-U共享网页测试2.3 Cpolar下载和安装 3. 本地FTP发布3.1 Cpolar云端设置3.2 Cpolar本地设置 4. 公网访问测试5. 结语 1. 前言 科技日益发展的今天&#xff0c;移动电子设备似乎成了我们生活的主角&#xff0c;智能…

网盘系统设计:万亿 GB 网盘如何实现秒传与限速?

Java全能学习面试指南&#xff1a;https://javaxiaobear.cn 网盘&#xff0c;又称云盘&#xff0c;是提供文件托管和文件上传、下载服务的网站&#xff08;File hostingservice&#xff09;。人们通过网盘保管自己拍摄的照片、视频&#xff0c;通过网盘和他人共享文件&#xff…

C++进阶篇6---lambda表达式

目录 一、lambda表达式 1.引入 2、lambda表达式语法 二、包装器---function 1.引入 2.包装器介绍 三、bind 一、lambda表达式 1.引入 class Person { public:Person(int age,string name):_age(age),_name(name){} //private://方便后面的举例int _age;string _name…