HTAP数据库国产化改造技术可行性方案分析

news2024/11/7 22:37:05

一、现状及需求痛点

当前地市统一支撑平台是为地市租户提供全方位业务支持的核心系统,以满足地市级用户在业务处理、数据分析、用户服务及内部管理等多方面的需求。主要承载业务系统的联机事务处理(OLTP)与联机分析处理(OLAP)两类数据处理需求。

1.2 平台现状概述

1)集群资源概况:

当前平台由Oracle RAC集群组成,一体设备共计17个节点,x86设备工具24个节点,集群资源使用情况如下:

2)集群业务承载:

联机事务处理(OLTP):支撑地市日常运行及工作流程管理,平台支撑多类业务系统,有大量的在线事务操作。这些事务通常具有短小、快速的特点,对响应时间和并发事务能力有较高要求。

根据反馈的调研信息,四个地市用户规模总计为80万,并发峰值28000。全网业务总量按照已调研规模的2.5倍预估,全部用户规模可达200万,并发峰值7万。

联机分析处理(OLAP):平台还作为经营分析和报表加工等支撑平台,以支持指标计算、决策辅助和数据上报等需求。这些场景多为离线处理和在线查询等业务,具备大数据量和低延时的需求特点,对海量数据下复杂计算和并发查询能力有较高要求。

根据反馈的调研信息,四个地市租户批处理作业规模8500个左右,数据增量0.8TB/天。全网业务总量按照已调研规模的2.5倍预估,全部租户调度作业可达2万个,查询并发用户数约2000,增量数据2TB/天,数据超过生命周期后会定期删除,数据年增量约30TB/年。

1.3 平台痛点问题

Ø 资源抢占问题

1)多个地市租户共享同一个集群,租户之间存在资源抢占现象,作业需要排队执行,批处理时间长业务受阻。

2)联机分析处理(OLAP)与联机事务处理(OLTP)业务运行于同一个集群,批处理时间跨度大(0点-24点),白天业务峰值时对资源占用比重高,影响OLTP业务应用。

Ø 非自主可控问题

1)目前集群为国外品牌产品Oracle,不符合自主可控和自主创新能力要求,存在安全隐患和license风险。

二、技术方案规划

2.1 平台建设目标

本项目从平台演进和业务支撑需求出发,对地市统一支撑平台进行架构规划,以期适应主流的技术趋势和长期业务发展需要。

平台建设需要满足如下目标:

1.基于自主可控数据库技术实现平台架构升,建议选用中国移动自研产品或国内自主可控产品。

2.围绕业务使用核心功能需求,新建平台能够支撑Oracle数据库迁移以及应用生态适配。

3.建设地市租户资源隔离能力,实现租户间计算负载有效隔离,数据高效共享,业务运行互不干扰。

4.具备高安全性和权限管控机制,可对关键数据进行脱敏、加密以及权限配置。

5.平台具备高性能处理能力,可满足在线并发事务处理和海量数据低延时处理分析。

6.平台具备高可用性和高扩展性,满足业务增长需求。

2.3 技术选型分析

当前地市统一支撑平台由Oracle数据库支撑,可满足业务系统的联机事务处理(OLTP)与联机分析处理(OLAP)两类数据处理需求。从业务时效性角度看,场景分布如下:

因此平台数据库技术选型考虑两种方式选择对比:

1.基于HTAP数据库构建混合负载支撑平台

混合事务与分析处理(Hybrid Transactional Analytical Processing, HTAP)技术是一种基于一站式架构同时处理事务请求与查询分析请求的技术。HTAP技术不仅消除了从关系型事务数据库到数据仓库的数据抽取、转换和加载过程,还支持实时地分析最新事务数据。然而,为了同时处理OLTP与OLAP,HTAP系统也需要在系统性能与数据分析新鲜度之间做出取舍,这主要是因为高并发、短时延的OLTP与带宽密集型、高时延的OLAP访问模式不同且互相干扰。目前主流的HTAP数据库主要以行列共存的方式来支持混合事务与分析处理,但由于此类数据库面向不同的业务场景,所以它们的存储架构与处理技术各有不同。

图—传统OLTP/OLAP分离架构与一站式HTAP架构对比

图—HTAP数据库的四类存储架构图

图—HTAP数据库的四类存储架构对比

分析结论:经技术分析和市场应用调研,HTAP数据库通常在TP 和AP领域各有侧重,还无法做到同时支持TP+完全的AP场景,目前HTAP数据库主要用于交易处理和实时查询混合负载的场景,无法高效满足离线批处理,尤其是涉及超大规模数据复杂多表关联场景,目前还是大数据平台和MPP类数据库来支撑。针对地市统一支撑平台应用场景涉及联机事务处理、实时查询和离线批处理三类典型场景,单一的HTAP数据库难以高效满足这三种场景的混合负载。对此建议在平台设计上可将非实时的海量、复杂、多维度数据加工场景,即重型批量处理操作放到MPP类、AP类或者大数据平台实施;而对联机高并发、有实时聚合分析和轻量批量加工的场景则用HTAP来支撑。

2.基于OLTP库+OLAP库构建混合负载支撑平台

事务型数据库主要用于OLTP场景,在数据库国产化的大趋势下,涌现出很多优秀的国产品牌事务性数据库产品,如OceanBase、TiDB、GaussDB等。因此可基于移动生态内成熟稳定的国产品牌的事务型数据库支撑地市统一支撑平台建设需求。

Hadoop大数据平台和MPP数据库主要用于OLAP场景,目前移动体系内部已规模化应用。考虑到地市平台建设需要满足Oracle数据库迁移需求,建议选用MPP数据库类产品搭建非事务型场景下的数据处理和计算业务支撑。

分析结论:OLTP+OLAP混搭的架构是目前数据平台建设主流成熟的架构体系,现网很多业务支撑平台也延续该架构在运行,尤其是核心系统或规模化系统,OLTP和OLAP都是独立系统支撑。因此可基于移动生态内成熟稳定的国产品牌的事务型数据库+MPP类分析型数据库混合架构支撑地市统一支撑平台建设需求。

图—技术路线业务支撑对比

2.3 产品选型建议

OLTP数据库选型建议:

OceanBase 数据库是一款完全自研的国产企业级原生分布式数据库,具有云原生、强一致性、高度兼容 Oracle/MySQL等特性。自2010年开始完全自主研发,代码级可控,自研单机分布式一体化架构,连续多年通过大规模金融核心场景的可靠性验证;完备的角色权限管理体系,数据存储和通信全链路透明加密,支持国密算法,通过等保三级专项合规检测。建议选择该款数据库支撑事务型业务处理。

OLAP数据库选型建议:

当前在移动产品生态体系中,有两款OLAP数据库可供选型:

Gbase 8a:南大通用公司产品,基于列存储的完全并行的MPP+Shared Nothing的架构,采用多活管理节点(Master)、数据(计算)节点的两级部署结构,所有节点无共享,具有对等计算能力。功能、性能、安全性、稳定性符合建设要求,有大规模应用先例。

梧桐云原生数据库:中国移动自有品牌产品,存算分离架构的云原生数据库,采用多活管理节点(Master)、无状态计算节点、分布式存储节点的三级部署结构,原生支持Hadoop和云生态,具备弹性计算能力,可超大规模部署。功能、性能、安全性、稳定性符合建设要求,架构上相对MPP数据库更符合技术演进趋势,目前集团公司正全网推广该产品规模化应用。

图—Gbase 8a与梧桐数据库的技术对比

产品选型场景对比:

2.4 平台架构规划

三、问题和风险

1.当前架构下除了新增数据库软件订购成本,还存在业务迁移、调度工具建设、CDC采集同步工具建设成本和方案选型。

2.本地化部署目前梧桐数据库省内自采尚未有明确的政策落地和明确价格。

3.如果基于边缘节点资源池部署,按照以往项目经验,前期申请机器等环境准备预期至少2个月,建议省内自搭环境部署。

4.当前尚未明确迁移开发工作由谁承担,相关工作成本无法评估。

四、结论及建议

根据业务需求和以上分析过程,建议本次地市统一支撑平台采用独立OLTP+OLAP数据库的建设方案,一方面可以满足迁移Oracle数据库实现国产化替代的需求,另一方面该架构是目前企业数据中心中型以上系统的主流架构,性能和资源隔离可以得到保障,符合本期和远期的使用规划。

https://f.wps.cn/g/LSEWc1DK/
邀你填写「梧桐数据库-合作交流意向表」

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

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

相关文章

ELK-ELK基本概念_ElasticSearch的配置

文章目录 一、什么是ELK?有什么用?ELK是什么?ElasticsearchLogstashKibana ELK的作用 二、ElasticSearch的安装与基本配置为何需要依赖JDK?使用yum install java-11-openjdk和使用Oracle官网提供的jdk的rpm包安装JDK的区别 参考资…

OpenAI大事记;GPT到ChatGPT参数量进化

目录 OpenAI大事记 GPT到ChatGPT参数量进化 OpenAI大事记 GPT到ChatGPT参数量进化 ChatGPT是从初代 GPT逐渐演变而来的。在进化的过程中,GPT系列模型的参数数量呈指数级增长,从初代GPT的1.17亿个参数,到GPT-2的15 亿个参数,再到 GPT-3的1750 亿个参数。模型越来越大,训练…

DDD领域分析

DDD领域分析是一种对现实业务进行建模分析的一种方法,它对业务问题做了分类,分层与抽象,为后面代码的编写理清了思路。 如何理解DDD呢?首先DDD中有许多名称,我这里一一列举出来:领域,子域&…

ES集群搭建(仅供自己参考)

单节点问题:单机的elasticsearch做数据存储,面临的两个问题:海量的数据存储问题、单节点故障。 一个节点存储的数据是有限的。 海量数据存储问题:将索引库从逻辑上拆分为N个分片(shard),存储到…

【测试工具篇一】全网最强保姆级教程抓包工具Fiddler(2)

本文接上篇Fiddler介绍,开始讲fiddler如何使用之前,给大家讲讲http以及web方面的小知识,方便大家后面更好得理解fiddler使用。 目录 一、软件体系结构---B/S与C/S架构 B/S架构 C/S架构 二、HTTP基础知识 什么是http请求和响应? http协…

诗林工作室(编号:mb0003)分享:Finbiz自适应响应式网页设计模版,适用于前端设计、博客、官网等多类型开发模版

本设计模版来自外网,为HTML类型的模版,色彩多样,适合Web开发人员做前端站点设计参考使用。全站模版倾向于官网设计、自主博客等多行业的平台模版开发,适合各大CMS的主题模版开发参考,如常见的Wordpress主题开发、Z-Blo…

2-142【软件无线电原理与应用作业】基于matlab的圆形阵列的波束形成进行仿真

【软件无线电原理与应用作业】基于matlab的圆形阵列的波束形成进行仿真,具有14页文档。假设发射信号载频为1GHz,圆形阵列半径为0.8米,在圆周上均匀布置30个阵元。1.画出指向0度的方向图。2.如果目标在0度,有一不相干的干扰信号在3…

[CUDA] 设置sync模式cudaSetDeviceFlags

文章目录 1. 设置cuda synchronize的等待模式2 设置函数3. streamQuery方式实现stream sync等待逻辑Reference 1. 设置cuda synchronize的等待模式 参考资料:https://docs.nvidia.com/cuda/pdf/CUDA_Runtime_API.pdf cuda的 synchronize等待模式分为: Y…

[OS]vma? trap? Sys_mmap根据思路来实现!!

// Defined in user.hvoid *mmap(void *addr, size_t length, int prot, int flags, int fd, off_toffset);// TODO: kernel mmap executed in sysfile.cuint64sys_mmap(void){}#define VMASIZE 16struct vma {uint64 addr; // 映射的虚拟地址起始位置int len; …

性能调优专题(5)之深入理解Mysql事务隔离级别与锁机制

一、概述 我们的数据库一般都会并发执行多个事务,多个事务可能会并发的对相同的一批数据进行增删改查操作,可能就会导致我们说的脏写、脏读、不可重复读、幻读这些问题。 这些问题的本质都是数据库的多并发事务问题,为了解决多事务并发问题&a…

CentOS 7 软件/程序安装示例

安装软件/程序 wget,前提需要用 root 用户 1、搜索软件/程序 yum search wget 搜索到软件/程序。 2、安装软件/程序 yum -y install wget 安装完成。 ---------------------------------------------------------------------------------------------------…

MySQL详细安装教程

一、从MySQL官网安装 可以翻译成中文看起来就舒服多了 下载并打开安装包,能看到版本是8.0.36,双击运行或者右键选择打开,打开后是一个安装向导,这个安装向导会先帮我们安装一个 mysql-installer 的程序,再通过该程序安…

Dubbo使用Nacos作为注册中心

使用 Nacos 作为注册中心实现自动服务发现 本示例演示 Nacos 作为注册中心实现自动服务发现&#xff0c;示例基于 Spring Boot 应用展开&#xff0c;可在此查看 完整示例代码 1 基本配置 1.1 增加依赖 增加 dubbo、nacos-client 依赖&#xff1a; <dependencies><…

洗衣小程序/洗鞋小程序 洗衣店系统,洗衣系统源码

多城市洗衣店小程序&#xff0c;对接京东物流&#xff0c;支持城市合伙人&#xff0c;支持在线商城&#xff0c;在线预约下单 支持抖音验券支持 支持电子券 支持水洗码

数据结构 —— 红黑树

目录 1. 初识红黑树 1.1 红黑树的概念 1.2 红⿊树的规则 1.3 红黑树如何确保最长路径不超过最短路径的2倍 1.4 红黑树的效率:O(logN) 2. 红黑树的实现 2.1 红黑树的基础结构框架 2.2 红黑树的插⼊ 2.2.1 情况1&#xff1a;变色 2.2.2 情况2&#xff1a;单旋变色 2.2…

吴恩达深度学习笔记:卷积神经网络(Foundations of Convolutional Neural Networks)4.11

目录 第四门课 卷积神经网络&#xff08;Convolutional Neural Networks&#xff09;第四周 特殊应用&#xff1a;人脸识别和神经风格转换&#xff08;Special applications: Face recognition &Neural style transfer&#xff09;4.11 一维到三维推广&#xff08;1D and 3…

unity3d————四元数概念

一、定义与表示 四元数是由一个实数部分和三个虚数部分组成&#xff0c;通常表示为q w xi yj zk&#xff0c;其中w是实数&#xff0c;x、y、z是实数系数&#xff0c;i、j、k是虚数单位&#xff0c;满足以下关系&#xff1a; i j k -1ij k&#xff0c;ji -kjk i&…

大数据分库分表方案

分库分表介绍 分库分表应用场景 分库分表介绍 大数据分库分表是一种数据库架构技术&#xff0c;旨在应对大数据量场景下的数据库性能瓶颈。以下是对大数据分库分表的详细解释&#xff1a; 一、定义与背景 定义&#xff1a; 分库&#xff1a;将一个大型数据库按照一定的规则…

可重入函数 volatile SIGCHLD

目录 1. 可重入函数2. volatile3. SIGCHLD 信号 1. 可重入函数 场景&#xff1a;当我们在全局区定义一个链表&#xff08;不带头结点&#xff09;&#xff0c;然后对链表做头插结点的操作&#xff0c;即插入 node1 结点&#xff08;如上图所示&#xff09;。在插入 node1 时需要…

『VUE』20. 组件嵌套关系page(详细图文注释)

目录 VUE的自带组件结构新建文件搭建结构app与Main Header Aside结构App.vueHeader.vueMain.vueAside.vue Main 与Article.Aside与Item结构Article.vueItem.vue 总结 欢迎关注 『VUE』 专栏&#xff0c;持续更新中 欢迎关注 『VUE』 专栏&#xff0c;持续更新中 因为前面已经有…