从 Greenplum 到 YMatrix,某头部动力电池厂商核心业务数据的迁移实践

news2024/10/7 20:35:10

前言

随着数字化浪潮的不断深入,近年来企业对于数据库的功能诉求不断多元化,同时数据量大幅增长,包括 Greenplum 在内的许多原有的数据库技术应对起来日渐捉襟见肘,一些大型企业替换和升级数据库的需求愈发迫切。

本文将为大家完整介绍,包括前期决策、迁移实施以及最终收益在内的某国内头部动力电池厂商核心业务数据从 Greenplum 向 YMatrix 迁移的详细案例。

01 业务需求

作为头部的动力电池厂商,该企业近年来业务增长迅猛,其生产的动力电池被全球大量的新能源汽车厂商广泛采用,市场占有率高,产量很大,也因此,每天供应链、生产、销售等部门产生海量数据,体量十分庞大,原有 Greenplum 集群应对日渐吃力。

为缓解原数据集群的压力,提高支持决策部门的业务数据报表生成效率,该厂商将核心业务数据从庞大繁杂的数据库集群当中抽离出来,组建了独立的企业大数据平台,用于汇聚企业各个数字化平台所产生的核心数据以支持决策分析。目前,平台接入了企业内部在各地区的数字化报表、研发数据、质量控制、审计信息、工厂信息、人脸识别与人员权限、客户档案管理、运输管理、业务流程管控、售后等核心业务及产研系统,并为各类报表生成提供统一接口,该大数据平台已经成为企业内部经营管理信息获取的最重要的系统之一。

近年来,随着业务的扩张,不断有新业务被迁移到系统当中,数据体量和并发数不断增多,且时刻有大量的核心数据输入,这对数据库的写入和查询性能提出了更高的要求;而原有 Greenplum 集群性能有限,随着数据和业务的增长,原有数据查询时的执行明显变慢,甚至有偶发的报表无法查看的情况,已经严重影响到企业的正常运营。

因此,该企业亟需将原大数据平台升级,将 Greenplum 更换为性能更高的数据库产品,从而提高生成各类数据报表的效率,更好的为决策层提供实时的数据支撑。除此之外,企业希望在更换数据库提高性能表现的同时,尽可能避免过大的系统改动和重构,从而降低数据库迁移所带来的业务影响。因此,另一大需求是沿用原有技术栈和应用,减少下层数据入库和上层应用的逻辑改动,实现业务侧和技术侧的平稳过渡。

02 数据库选型

企业针对市场上的诸多不同数据库产品进行了深入考察, YMatrix 以强大的分析性能,融合的产品能力初步胜出。在进一步的使用真实数据的性能对比测试中,与原有的 Greenplum 集群相比,YMatrix 显现出了明显的性能、功能上的优势;除此之外,企业还进行了 TPC-H、TPC-DS 等专业的基准测试,结果显示 YMatrix 在数仓模型的分析场景中性能表示是 Greenplum 6 的 4 倍以上。

另一方面,YMatrix 源自 Greenplum,几乎兼容所有 Greenplum 的功能和语法,并在 Greenplum 的基础上明显提升了时序数据写入查询、多节点高并发等能力,丰富了数据压缩等功能,并提供中文图形化管理组件,提升了数据库的易用性,不仅可以做到业务侧和技术侧的平滑迁移,还能够在未来进一步降低运维成本。

经过审慎的评估和测试,该电池厂商最终开始着手推进核心业务从 Greenplum 到 YMatrix 的迁移。

03 核心业务数据的迁移过程

1. 环境准备

此次迁移包括全量和部分增量数据,数据量总计 20TB 左右,其中大多数数据是业务的核心数据,承担着为业务决策赋能的关键角色。因此,在迁移之前,针对业务方和迁移环境的充分的了解和准备十分必要,务求将迁移时对上下游的影响降至最低。

  • 首先,将生产环境中的数据进行备份,梳理出详细的 DDL 脚本并实现脚本化,做好应急预案,确保迁移失败时可快速还原,提前应对数据库迁移对业务所带来的风险;
  • 其次,准备好目标集群的软件环境,如安装 YMatrix 数据库,安装 Grafana 等必备监控软件等;
  • 同时,做好和业务的实施前沟通,规范迁移期间的注意事项,避免在迁移实施期间业务侧执行任何 DDL,包括创建对象、修改对象、添加字段、删除字段等操作,严格禁止执行 CREATE、ALTER、TRUNCATE、DROP 动作;
  • 随后,根据既定方案,将库中原有的两张大表改变两张 3 个月周期的分区表并进行核对,再将表中数据全量同步到数据湖集群上进行备份;
  • 最后,停止全部在平台上所运行的非关键业务。

2. 执行迁移

迁移过程中,最新开发的数据迁移工具 MatrixShift 发挥了重要作用。

作为 YMatrix 实现全库数据迁移的工具,MatrixShift 目前支持全量迁移、增量迁移、条件迁移、多样数据分布策略等功能,且能够提供表级的迁移进度输出,并实时检查迁移的正确性,大幅提高了 从 Greenplum 向 YMatrix 迁移的效率、安全性和自动化程度。

在迁移过程中,首先通过图形化管理工具 MatrixUI 初始化 YMatrix 数据库集群,修改数据库参数、内核参数、网卡参数,然后开启资源组配置。随后配置监控,使用 pg_dumpall 来迁移用户信息和 DDL。最后,也是最重要的步骤,执行 MatrixShift 对全量数据执行平行迁移。

在迁移过程中,由于持续有新数据写入,在完成全量数据迁移后,需要对该部分增量数据进行迁移。为确保核心业务安全,迁移需按照业务的优先级逐步完成。因此,在数据迁移结束后 YMatrix 和 Greenplum 会并行运行一段时间,确认数据迁移完毕并进行数据校验,随后在 YMatrix 集群中重新创建索引并全库执行 ANALYZE 命令更新统计信息,无误后最终停止 Greenplum 集群。

3.持续跟踪

在迁移完成后,修改 YMatrix 集群端口,确保与原 Greenplum 的端口一致以保障原有应用无缝切换,接着恢复业务访问并观察业务运行情况。持续跟踪 30 分钟,确认数据库日志和业务侧均无异常,逐步恢复数据写入业务,并持续跟踪数小时,确保数据库的稳定运行,最终完成将该大数据平台的核心数据由 Greenplum 到 YMatrix 的迁移任务。

04 最终收益

该企业的大数据平台在迁移至 YMatrix 集群之后,查询性能较原先提升了数倍;同时,在整体系统的访问量和数据量都比之前增加了一个数量级的情况下,集群依然表现稳定,可以完全满足业务侧需求。

切身体会了 YMatrix 的出色性能表现,对原有技术栈良好的兼容性,以及迁移过程中的平稳高效,该电池厂商也正考虑逐渐将更多的业务迁移到 YMatrix 数据库集群当中,以支持更多的新业务和新需求,进一步提升业务敏捷度。

1. 打造以 YMatrix 为核心的业务集群

在迁移完成后,YMatrix 数据库集群在整个大数据平台的业务架构中处于中心位置,向上可全面承接各类业务需求,向下可支持各类型数据库的存储、汇集、统一管理等操作。而作为超融合数据库,面对来自业务侧多样的数据类型,YMatrix 可以通过融合结构化与非结构化数据类型,一站式支持不同业务场景所需的数据,以一款数据库接入多种类型数据,进一步降低企业的运维成本。

2. 无感扩容

为应对未来大数据平台数据量持续增长的问题,YMatrix 支持在线平滑扩容(扩容期间读写业务不受任何影响),线上用户无感知,企业可以随时进行按需扩容,使该大数据平台架构具备了弹性延展的能力,为企业数据平台的发展留足更多空间。

3. 性能优越

基于自身高性能写入、高性能分析、高并发查询等关键能力,YMatrix 集群利用分布式的优势,在计算时最大化使用系统的资源并行处理查询,发挥了集群的最高性能,使业务查询速度得到了显著提升,进而保持企业的核心竞争力。

05 总结

过去,一些海外商业数据库一直是国内金融、制造等领域的首选;但随着企业业务扩张和数字化转型不断深入,企业对于数据库性能、功能的需求不断提高且愈发多元,一些传统数据库已无法满足企业不断增长的数据需求,对企业发展的掣肘效应非常明显。因此,“升级”和“迁移”这两个关键词,正在越来越多出现在各类企业的 IT 设施发展规划中。

在本次动力电池厂商核心数据迁移的项目中,YMatrix 在迁移与性能提升层面起到了至关重要的作用。接下来,该动力电池厂商将会继续推进原有系统向 YMatrix 迁移的规划,继续拓宽与 YMatrix 的合作场景,打造更加统一、高效的集团级核心数据治理平台,用数据为企业发展提供先机。

本文为 YMatrix 原创内容,未经允许不得转载。

欲了解更多超融合时序数据库相关信息,请访问 “YMatrix 超融合数据库” 官方网站

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

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

相关文章

五.docker+jenkins自动部署项目

一.敏捷开发相关概念 1.微服务的痛点 再来看一下我们的微服务架构 , 每个组件都需要服务器去部署,加起来可能需要几十个甚至上百个服务器。这样的微服务项目在部署上会遇到什么问题? 需要很多很多的服务器,服务器的采购安装&am…

picodet onnx转其它芯片支持格式时遇到

文章目录 报错信息解决方法两模型精度对比 报错信息 报错信息为: Upsample(resize) Resize_0 not support attribute coordinate_transformation_mode:half_pixel. 解决方法 整个模型转换过程是:paddle 动态模型转成静态,再用paddle2onnx…

open62541交叉编译

好久没有做嵌入式Arm Linux 的开发了。最近要将open62541 的应用程序移植到i.mx6u 嵌入式控制器。网络上讲解i.mx6 交叉编译的文章太多了。但是都过于复杂,大多数使用虚拟机实现。其实在ubuntu OS 下,开发ARM 嵌入式应用软件相对是相当简单的。这里记录了…

日期相关工具类

日期相关工具类 【一】介绍【1】SimpleDateFormat 为什么是线程不安全【2】解决 SimpleDateFormat 线程不安全的方法 【二】LocalDate API【三】LocalTime API【四】LocalDateTime API【五】转换关系【1】LocalDateTime 与 LocalDate 之间的转换【2】LocalDateTime 与 Date 之间…

chrome浏览器如何多开

在网上寻找关于Chrome浏览器多开的教程时,你可能会发现操作相对复杂。然而,最近我发现了一个名为EasyBR浏览器的工具,作者使用程序将繁琐的步骤简化了。 主要功能 EasyBR浏览器具有以下主要功能: 批量账号管理:可以…

网站安全维护:守护您的数字领土

在这个数字时代,网站已成为企业和个人展示自己的重要平台。然而,随着互联网的高速发展,网站安全问题也日益严峻。黑客和入侵软件等威胁不断涌现,因此,保护网站免受这些威胁的影响变得至关重要。本文将探讨网站安全维护…

华为OD机试 - 5键键盘的输出(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题(A卷B卷&#…

2023年中国短租公寓主要类型、品牌及行业市场规模分析[图]

短租是一种以24小时为计量单位、按天计费的房屋租赁形式,短租又称日租。短租房有高性价比、特色、浓厚居家感的特点,比起传统酒店的客房更具竞争优势。当前,短租房已经成为人们出行住宿的新选择。短租公寓主要类型有合租公寓、月租公寓、服务…

一个月软考信息安全工程师考前攻略!

一、考试报名时间 信安考试一年就一次,11月4日考试。千万别错过考试哦!也别太紧张! 二、考试科目设置 (1)网络信息安全基础知识和技术,考试时间为150分钟,笔试,选择题; (2)网络信息安全工程与…

UE5修改导航网格的参数

Unreal Engine 4 - Recast NavMesh Size, how to Change Agent Radius / Tutorial - YouTubehttps://www.youtube.com/watch?vf3hF6xdmCTk 修改当前的 代理半径就是一般贴边的长度 修改编辑器的

毫米波汽车雷达测试应用指南

汽车毫米波雷达测试背景 车载毫米波雷达通过天线向外发射毫米波,接收目标反射信号,经后方处理后快速准确地获取汽车车身周围的物理环境信息(如汽车与其他物体之间的相对距离、相对速度、角度、运动方向等),然后根据所…

【K8S系列】深入解析k8s 网络插件—Antrea

序言 做一件事并不难,难的是在于坚持。坚持一下也不难,难的是坚持到底。 文章标记颜色说明: 黄色:重要标题红色:用来标记结论绿色:用来标记论点蓝色:用来标记论点 在现代容器化应用程序的世界中…

动态功能连接

导读 静息态功能磁共振成像(rs-fMRI)通常用于研究大脑不同区域如何相互作用,从而使我们能够表征大脑的功能连接(FC)。然而,大脑会经历不同的状态,FC并不是一成不变的。脑区之间的连接会动态变化,这在整个扫描过程中都可以观察到。…

目标检测算法改进系列之Backbone替换为Swin Transformer

Swin Transformer简介 《Swin Transformer: Hierarchical Vision Transformer using Shifted Windows》作为2021 ICCV最佳论文,屠榜了各大CV任务,性能优于DeiT、ViT和EfficientNet等主干网络,已经替代经典的CNN架构,成为了计算机…

从零开始的C++(六)

1.类和对象补充: 静态成员,有静态成员函数和静态成员变量,特点是不为类的某个对象所有,而是为同类所有对象共有。因为是为同类对象共同拥有,所以计算对象的大小的时忽略静态成员。因为静态成员是放在静态区&#xff0…

对abstract关键字的误解

起因是手写了一个JUnit4测试类: import org.junit.*; import static org.junit.Assert.*; public class MyTest {Testpublic void testAbc() {assertEquals(1, 1);} } 然后运行报错 java -cp lib/junit-4.13.2.jar;. junit.textui.TestRunner MyTest .F Time: 0.…

CCF CSP认证 历年题目自练Day24

题目一 试题编号: 202009-1 试题名称: 称检测点查询 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 题目背景 2020 年 6 月 8 日,国务院联防联控机制发布《关于加快推进新冠病毒核酸检测的实施意见》&…

最新720全景云系统/可生成小程序+带PC端+安装教程/价值800元的720云全景系统源码

最新720全景云系统/可生成小程序带PC端安装教程,某宝购买的价值800元的720云全景视频系统源码。非常适合房屋装修等全景展示类场景使用。 下载地址: https://bbs.csdn.net/topics/617370362

【C++面向对象侯捷下】21. 关于New, Delete

文章目录 底层 是 调用 malloc函数 class 可以 重载这些 函数(可以重载 构造,析构函数?)

SpringCloud Alibaba - Seata 实现高可用和异地容灾

目录 一、Seata 高可用和异地容灾 1.1、理论 1.2、模拟异地容灾 TC 集群 1.2.1、模拟实现两个机房 1.2.2、配置事务组映射 1.2.3、微服务拂去 nacos 配置 1.2.4、启动所有微服务 一、Seata 高可用和异地容灾 1.1、理论 Seata 的高可用实现比较简单,只需要把…