【CDH国产化替代案例】全面简化架构,降低成本,大幅提升数据处理效率

友情链接:

  • 【数据处理效率提升实践】ArgoDB如何助力企业全面实现数据处理效率最大化?
  • 【最新案例】ArgoDB新功能之读写分离,助力某医药集团打造高效数据中心,消除传统方案的灵活性限制,确保响应时间的可预测性
  • 【指标查询调优实践案例】ArgoDB助力某银行实现性能全面提升

前言

随着市场快速变化,大数据平台也面临着诸多挑战和变革。对于依赖CDH构建大数据平台的企业来说当前正在面临以下多重挑战:

  • 技术升级:CDH过往版本在大数据生态服务支持上相对有限,用户在应对新需求和数据处理场景变化时,需要自行扩展技术生态,这将涉及到技术复杂性、兼容性问题以及后续维护挑战,增加了额外的时间和人力投入;
  • 数据安全与挑战:随着CDH停止更新,其管理面的漏洞和各大数据组件的漏洞修复可能得不到Cloudera官方支持,导致未修复漏洞、遗留代码风险、合规性问题、依赖关系问题以及供应链攻击等安全风险大幅增加;
  • 系统维护挑战:CDH免费版官方支持的结束意味着企业需要自行维护系统,管理面的漏洞和大数据组件的漏洞修复将无法得到官方支持,导致安全风险大幅增加,增加了运维压力。对于企业来说需要自行应对这些挑战,比如招聘具备大数据维护能力的专业工程师或与第三方服务提供商合作,以便于后续的运维管理;
  • 合规性:在“十四五”规划中,国家对企业数字化转型升级提出了明确的政策要求,鼓励国内企业积极采用国产技术和产品。然而,CDH大数据技术和生态系统在兼容国产软硬件方面难以满足合规性要求;
  • 本地化服务与稳定性挑战:随着大数据技术在企业中的应用不断深化,对平台服务的连续性和稳定性保障需求日益凸显。本地化服务供应商能更好地理解企业需求和业务流程,提供定制化解决方案。然而,CDH在本地化服务方面的不足,不利于企业大数据平台的长期稳定运营;
  • ....

综上,CDH国产化替代已迫在眉睫,不仅关乎技术升级和数据安全,也涉及合规性和本地化服务的稳定性。企业需要积极寻求新的技术平台和合作伙伴,以确保在数字经济时代保持竞争力和业务连续性。

项目背景

为了应对数据量的日益增长,在早期,该企业构建了一个基于MPP技术架构的数据仓库。但是在企业日常生产运行过程中,伴随着业务的持续发展以及金融科技基础能力的不断提升,各个信息系统数据量日渐增长,数据应用场景更加复杂化,对于数据的实效性实时性要求更高。

原有的数据仓库架构对于实时场景与多模数据湖场景支持较差,并且应金融科技规划的重要举措,急需构建一个全行级的数据中台服务体系来满足数据应用、数据服务以及数据共享等中台场景,助力实现完善的客户管理及服务,持续产品创新,极致化的渠道服务体验,科学的决策管理,全面的数字化运营,不断促进企业数字化转型。

因此,该行于近两年着手计划建设一个统一的数据中台体系,数据类系统共享计算和存储资源,使用统一的开发和管理工具,避免系统、功能、应用的重复性建设。

建设目标

  • 搭建数据中台,基于大数据分布式存储与计算的能力,具有可界面化操作,快速引入内部或外部、离线或实时的异构数据,并规范化地构建数据;
  • 可以通过规范建模开发数据,构建指标库,沉淀业务数据知识和数据资产,支持API等多种类型的数据服务;
  • 实现企业级业务能力复用和不同业务板块能力的联通和融合,核心是建设跨域融合数据+数据服务能力开放,从而达到反向业务赋能。

建设成果

基于以上项目背景及建设目标,星环助力该企业打造云原生数据湖+统一数据资产管理整体解决方案,完成了原有开源大数据平台替换,对接企业现有应用与其他平台,助力该企业整体的数字化建设,各项指标性能均超额完成预期目标实现数据处理效率的性能突破:

  • 基于 Rowkey 表(性能增强版)和 ArgoDB Sink API 实现数据高效实时入库,单表数据量达 14 亿+,每日增量千万级;
  • 采用 物化视图 2.0快速加工增量数据供加速下游查询,提升数据处理效率;
  • 核心实时报表有160多个登记簿场景报表,每个场景涉及1至10多个复杂SQL的串行查询。采用Gateway 缓存 + Localfast 等技术,指标查询响应时间低至秒级(1-3秒),并发能力提升至 200+;

技术点实现介绍

Rowkey 表

Rowkey 表是一种优化的数据存储表,通过指定唯一主键来避免数据重复,专为提高数据写入和读取性能而设计。通过设置 rowkey,ArgoDB 实现了高性能的 UPSERT 能力,即在写入时能够直接定位数据行,避免全表扫描,实现快速的整行或部分列更新,确保数据的唯一性。

推出背景

在传统的数据存储方案中,读时合并(MOR)被广泛应用于实现快速数据写入的场景,其原理是通过将新数据追加到 Delta 文件中,而不是直接修改基础数据文件(Base 文件),从而大幅提高了写入速度,有效避免写入过程中对现有数据的直接修改,减少写入锁定和资源争用。

然而,在读取数据时,MOR 机制需要将 Base 文件和 Delta 文件进行合并。这种读时合并操作会显著增加读取时的计算开销,导致查询性能下降,尤其是在数据频繁变更和大量查询请求的场景下。这种高开销的合并操作会拖慢系统响应时间,不利于实时数据访问需求。

为克服传统 MOR 机制的不足,在 ArgoDB 6.0 版本中,星环引入了 Rowkey 表(性能增强版),通过优化数据组织和管理方式,实现了快速写入和高效读取:

image.png

Rowkey 分层原理

  • 快速写入:通过 Slipstream 或 ArgoDB API 等方式将实时数据写入至 Rowkey 表,写入时仅将基础数据文件写入慢读层,无需立即进行去重和合并操作,从而实现实时数据的极速写入;
  • 高效读取:系统后台自动执行合并操作,将写入的基础数据文件合并去重后转移至快读层。这种分层机制确保读取时无需额外的合并处理,同时结合向量化引擎加速查询,大幅提升查询效率;
  • 一致性选择:根据业务需求选择不同的读取层来平衡数据一致性和读取性能。例如需要获取最新数据,可以选择从慢读层读取(采用 MOR 策略,可能会有一些合并开销);如果需要读取速度优先,则可以选择从快读层读取,这样可以提供稳定的高性能查询,但数据的最新状态可能存在轻微的延迟,取决于后台合并操作的策略配置。
更多有关建表使用方法详见官方使用手册:Rowkey 表介绍

基于 API 实时入库

ArgoDB Data Sink是一种针对实时数据处理需求而设计的高效数据入库解决方案,通过 API 直接操作物理文件的方式,结合微批处理的逻辑,为复杂的实时数据流和第三方数据源接入提供了高性能和灵活的数据写入方案。

推出背景

在实时数据处理场景中,数据源常常是分布式消息队列(如 Kafka),它能够支持高吞吐量的数据传输。传统的数据处理流程通常涉及将消息队列中的数据消费出来,经过一系列的处理后,转换成 SQL 语句,然后通过数据库的 SQL 引擎执行,将数据最终写入到物理存储中。这种流程虽然通用,但在处理高吞吐量的实时数据时,SQL 引擎的转换和执行可能会成为瓶颈,导致数据处理的延迟。

此外,对某些第三方数据源而言,其数据格式可能并不适合直接转换为 SQL 语句,或者转换的实现较为复杂,甚至有数据损失的风险。在这种情况下,传统的数据处理流程可能无法满足需求。

image.png

为了解决这些问题,ArgoDB 推出了 ArgoDB Data Sink,它允许用户绕过传统的 SQL 引擎,直接将数据以 API 的形式写入到 ArgoDB 的物理文件中,并通过微批处理的方式进行数据写入,极大地提升了数据处理的效率和灵活性,适用于下述场景:

  • 高吞吐数据流:设计用于处理高速数据流,通过微批处理确保数据的快速稳定写入,非常适合实时或近实时的场景;
  • 复杂数据源接入:提供直接操作物理文件的能力,简化了从复杂数据源到数据库的接入过程,特别是对于难以转换为SQL的数据源;
  • 实时分析:凭借高效的写入性能和微批处理特性,非常适用于需要快速处理并写入大量数据的实时或近实时数据分析场景,为上层应用提供及时的数据支持;
更多示例代码以及使用注意事项详见官方使用手册:基于 API 实时入库

物化视图 2.0

全新的物化视图 2.0 突破了传统方案的语法限制和 MBO 改写限制,为复杂查询提供了更快、更精准的加速能力。

视图(VIEW)用于保存复杂的 SQL 查询,以便简化后续操作,但其本质仍是执行保存的 SQL 语句,因此无法提升查询性能。为了解决这一问题,ArgoDB 推出了物化视图 2.0,突破了传统物化视图的 MBO 改写限制和对复杂语法支持有限的问题,显著提高数据同步效率,为您提供更快速、更精准的数据查询加速能力。
对比项物化视图 2.0传统物化视图
创建支持无限制创建语法受限
语法支持无限制仅简单语法
查询原理基于视图查询,系统自动替换为关联的物化表基于源表查询,系统基于 MBO 改写
更新原理基于源表最新数据创建新物化表并自动关联,随后删除旧物化表原地更新(清空表+写入新数据)
结果集匹配在编译前匹配视图的结果集与其对应的物化表在执行计划阶段匹配 SQL 查询语句的结果集与物化视图
数据过期表现不会读到过期数据(自动转查基表)可能会读到过期数据
更多语法介绍以及使用注意事项详见官方使用手册:物化视图 2.0

Gateway 结果集缓存

Quark Gateway 是连接客户端与 Quark 服务的一个中间件,可帮助均衡 Quark 服务的业务流量,便捷实现查询入口的高可用、自定义路由转发和负载均衡能力。

image.png

Gateway 缓存

为提升查询性能,Quark Gateway 引入了结果集缓存功能,通过缓存常用查询结果,显著减少重复查询对 Quark 服务的影响,加快相同查询的响应速度。此外,Quark Gateway 还提供了 TTL(缓存过期时间)、定时刷新等多种缓存更新策略,用户可根据具体任务需求灵活选择最优方案。核心优势:

  • 提升查询效率:对重复或常规的查询请求进行缓存,显著减少数据处理时间,提升查询响应速率;
  • 降低系统负担:有效减轻 Quark 服务的处理压力,减少对后端服务的重复查询,系统能够将更多资源集中用于处理更多更复杂的查询请求;
有关如何通过其缓存功能,进一步提升查询性能的使用说明请参考:Gateway 结果集缓存

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

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

相关文章

Electron + Vue 简单实现窗口程序(Windows)从零到一

前言 想做一个桌面应用程序,一直没有找到简单快速可上手的框架。刚好有点前端的底子,就发现了Electron。关于Electron的介绍,请移步 https://www.electronjs.org/ 查阅。 简单来说,引用官网的话,Electron是一个使用 …

Ansible 运维工具

安装 apt install ansible /etc/ansible/hosts , 指定密码或密钥访问分组机器 [k8s_masters] master0.c0.k8s.sb[k8s_nodes] node0.c0.k8s.sb node1.c0.k8s.sb[k8s:children] k8s_masters k8s_nodes[k8s_masters:vars] ansible_ssh_usersbadmin ansible_ssh_pass"***&q…

Leetcode经典题5--轮转数组

题目描述 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 输入输出示例 : 输入: nums [1,2,3,4,5,6,7], k 3 输出: [5,6,7,1,2,3,4] 解释: 向右轮转 1 步: [7,1,2,3,4,5,6] 向右轮转 2 步: [6,7,1,2,3,4,5] 向右…

mac port 安装redis 并设置为系统服务 自定义配置方法

mac系统中,port 包管理工具比brew的速度快N倍,今天就给大家分享一下在macos系统中如何使用 port安装 redis数据库并配置为服务自动启动和自定义redis.conf配置的方法。 1. 安装redis sudo port install redis 2. 启动redis服务 sudo port load redis …

github仓库自动同步到gitee

Github Actions是Github推出的自动化CI/CD的功能,我们将使用Github Actions让Github仓库同步到Gitee 同步的原理是利用 SSH 公私钥配对的方式拉取 Github 仓库的代码并推送到 Gitee 仓库中,所以我们需要以下几个步骤 生成 SSH 公私钥添加公钥添加私钥配…

工业—使用Flink处理Kafka中的数据_ProduceRecord2

使用 Flink 消费 Kafka 中 ProduceRecord 主题的数据,统计在已经检验的产品中,各设备每 5 分钟 生产产品总数,将结果存入HBase 中的 gyflinkresult:Produce5minAgg 表, rowkey“

人工智能学习用的电脑安装cuda、torch、conda等软件,版本的选择以及多版本切换

接触人工智能的学习三个月了,每天与各种安装包作斗争,缺少依赖包、版本高了、版本低了、不兼容了、系统做一半从头再来了。。。这些都是常态。三个月把单位几台电脑折腾了不下几十次安装,是时候总结一下踩过的坑和积累的经验了。 以一个典型的…

MongoDB整合SpringBoot

MongoDB整合SpringBoot 环境准备 1.引入依赖 <!--spring data mongodb--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency> 2.配置yml spr…

【Calibre-Web】Calibre-Web服务器安装详细步骤(个人搭建自用的电子书网站,docker-compose安装)

文章目录 一、Calibre-Web和Calibre的区别是什么&#xff1f;使用场景分别是什么&#xff1f;二、服务器安装docker和docker-compose三、服务器安装Calibre-Web步骤1、安装完成后的目录结构2、安装步骤3、初始配置4、启动上传 四、安装Calibre五、docker-compose常用命令六、客…

人工智能驱动的骗局会模仿熟悉的声音

由于人工智能技术的进步&#xff0c;各种现代骗局变得越来越复杂。 这些骗局现在包括人工智能驱动的网络钓鱼技术&#xff0c;即使用人工智能模仿家人或朋友的声音和视频。 诈骗者使用来自社交媒体的内容来制作深度伪造内容&#xff0c;要求提供金钱或个人信息。个人应该通过…

【QT】一个简单的串口通信小工具(QSerialPort实现)

目录 0.简介 1.展示结果 1&#xff09;UI界面&#xff1a; 2&#xff09;SSCOM&#xff08;模拟下位机收发&#xff09;&#xff1a; 3&#xff09;VSPD虚拟串口驱动&#xff08;连接上位机和下位机的串口&#xff09;&#xff1a; 4&#xff09;实际收发消息效果及视频演…

python语法基础---正则表达式(补充)

&#x1f308;个人主页&#xff1a;羽晨同学 &#x1f4ab;个人格言:“成为自己未来的主人~” 上一篇文章中&#xff0c;我们讲到了贪婪匹配和非贪婪匹配&#xff0c;我们在这篇文章中&#xff0c;主要讲的就是贪婪匹配和非贪婪匹配的剩下的部分&#xff0c;话不多说&#x…

Elasticsearch数据迁移(快照)

1. 数据条件 一台原始es服务器&#xff08;192.168.xx.xx&#xff09;&#xff0c;数据迁移后的目标服务器&#xff08;10.2.xx.xx&#xff09;。 2台服务器所处环境&#xff1a; centos7操作系统&#xff0c; elasticsearch-7.3.0。 2. 为原始es服务器数据创建快照 修改elas…

golang实现单例日志对象

原文地址&#xff1a;golang实现单例日志对象 – 无敌牛 欢迎参观我的个人博客&#xff1a;无敌牛 – 技术/著作/典籍/分享等 介绍 golang有很多日志包&#xff0c;通过设置和修改都能实现日志轮转和自定义日志格式。例如&#xff1a;log、zap、golog、slog、log4go 等等。 …

7. 一分钟读懂“单例模式”

7.1 模式介绍 单例模式就像公司里的 打印机队列管理系统&#xff0c;无论有多少员工提交打印任务&#xff0c;大家的请求都汇总到唯一的打印管理中心&#xff0c;按顺序排队输出。这个中心必须全局唯一&#xff0c;避免多个队列出现资源冲突&#xff0c;保证打印任务井然有序。…

【AI系统】布局转换原理与算法

布局转换原理与算法 数据布局转换目前已经越来越多地用于编译器的前端优化&#xff0c;将内部数据布局转换为后端设备友好的形式。数据布局转换主要影响程序的空间局部性&#xff0c;所谓空间局部性指的是如果一个内存位置被引用了一次&#xff0c;那么程序很可能在不远的将来…

GPS周和周内秒 UTC时 格林尼治时间

1.GPS周和周内秒介绍 GPS周和周内秒是全球定位系统&#xff08;GPS&#xff09;中用于时间表示的两个重要概念&#xff0c;它们共同构成了GPS时间系统。以下是对这两个概念的详细介绍&#xff1a; GPS周&#xff08;GPS Week&#xff09; GPS周是GPS系统内部所采用的时间单位…

Java-异常处理机制-try-catch

Java-异常处理机制 一、异常概述1、异常的抛出机制2、如何对待异常3、异常的体系结构3.1、Throwable3.2、Error和Exception3.3、编译时异常和运行时异常3.4、常见的异常有哪些&#xff1f; 二、异常的处理方式一 try-catch的使用1、过程1&#xff1a;抛2、过程2&#xff1a;抓3…

在Ubuntu22.04.5上安装Docker-CE

文章目录 1. 查看Ubuntu版本2. 安装Docker-CE2.1 安装必要的系统工具2.2 信任Docker的GPG公钥2.3 写入软件源信息2.4 安装Docker相关组件2.5 安装指定版本Docker-CE2.5.1 查找Docker-CE的版本2.5.2 安装指定版本Docker-CE 3. 启动与使用Docker3.1 启动Docker服务3.2 查看Docker…

【趋势红蓝交易】主图指标操盘技术图文展示,注意要点,通达信炒股软件指标

如上图&#xff0c;主图指标【趋势红蓝交易】&#xff0c;蓝色线下空头趋势&#xff0c;不进场操作或只做超短线的反弹行情。红线之上多头行情&#xff0c;顺势做多&#xff0c;波段和趋势多头操作。 多空操作区间K线变色功能&#xff0c;上涨区间红色K线&#xff0c;叠加紫色趋…