多元数据库时代,云和恩墨携手鲲鹏引领数据库一体机新变革

news2024/11/7 1:59:24

近年来,随着企业数据存储结构日益多元化,传统架构数据库面临发展瓶颈,越来越多企业倾向于采用不同类型的数据库满足多样化的数据需求。这一趋势下,国内数据库市场呈现百花齐放的态势,产业加速迈入多元数据库时代。

作为数据库重要的基础设施之一,数据库一体机将服务器、存储设备、网络接口以及数据库管理整合在一个系统内,提供了高性能、高可用、简单易用的数据库一体化解决方案,受到越来越多企业客户的青睐。

2023年初,云和恩墨推出了基于鲲鹏底座的多元数据库一体机zData X,凭借高性能、高可用、易用性等核心优势,短短一年多时间已经在政府、金融、交通、教育、医疗等重点行业实现端到端解决方案落地,助力客户应对多元数据库场景下的挑战。

在竞争激烈的数据库一体机赛道,zData X在技术创新方面有哪些过人之处?云和恩墨与鲲鹏的强强联合又为产业带来了怎样的新价值?近日,云和恩墨数据库一体机产品总经理刘宇向笔者分享了云和恩墨的思考与布局。

端到端一体化,多元数据库时代的突围之道

根据大数据技术标准推进委员会(CCSA TC601)测算,中国数据库市场规模约为 403.6 亿元,2027 年市场总规模将达到 1286.8 亿元,年复合增长率(CAGR)达 26.1%。国内市场上各类商业数据库、开源数据库、国产数据库层出不穷。而来自墨天轮社区统计数据显示,目前仅国产数据库品类总数已近300个。

多元数据库时代,企业的选择虽然更丰富了,但选好、用好数据库的挑战反而提升了,主要体现在以下几个层面:

第一,性能、可用性的挑战。随着企业数据存储规模越来越大,对数据计算要求越来越高,数据库的使用规模、复杂程度都不断提升,进而对数据库产品的性能、可用性提出了更高的要求。

第二,统一高效管理的挑战。数据库运行环境日益复杂,数据库类型和应用场景的多样性,都大幅提升了数据库管理的难度。“相当一部分企业至少同时在使用三种以上的数据库产品。多元数据库的环境,对企业的数据库管理和运维能力要求越来越高。”刘宇表示。

第三,自主可控的挑战。作为关键的基础软件,数据库的自主可控能力尤为重要。尤其是从边缘业务向核心系统拓展时,如何平滑、安全、稳定的实现数据库的自主可控成为越来越多企业的刚需。

刘宇认为,多元数据库时代,云和恩墨的优势在于多年积累的全面的数据库技术、产品、服务和生态能力,形成了多维优势叠加。“从数据库、数据库存储、数据库云管平台、数据智能分析,到数据库相关服务,云和恩墨是国内为数不多的集多领域优势于一身的厂商,我们的端到端解决方案已有十余年的积累。”

在这样的专业沉淀下,以zData X为代表的数据库一体机直面多元数据库挑战,以端到端一体化解决方案的形式,大幅降低了企业数据库管理的复杂性,适用于关键数据库性能加速和多元数据库整合场景。

zData X 面向不同类型的商业、开源和国产数据库,包括openGauss、MogDB、达梦、人大金仓、MySQL等,能够实现按需配置,满足不同规模集群的数据库性能和扩展性要求。

鲲鹏技术加持,引领数据库一体机新体验

刘宇介绍,面对多元数据库时代的挑战,zData X凭借高性能、高可用、易用性三大方面的优势,为客户提供核心价值:

在高性能方面,zData X通过多项自研技术降低I/O时延、实现全栈性能加速,满足各类数据库负载的严苛要求。

zData X 基于自研全闪存分布式存储软件 zStorage,单节点4KB随机读写(7:3)达到70万IOPS,且峰值时平均时延<0.3ms。同时支持NVMe-oF和RoCE高速协议,大幅提升数据传输与存取性能,满足企业关键业务对数据库严苛的性能要求。

在高可用方面,zData X通过IO级、部件级和解决方案级别的多重可靠性保护机制,保障数据库系统的稳定可靠,实现99.9999%高可用。

通过数据多副本存储,以及对每个I/O进行数据校验,实现I/O级可靠;通过全冗余部署,针对亚健康组件提前预警,并支持节点/机柜级可靠性部署,实现部件级可靠;通过一键部署数据库高可用,快速进行数据库恢复、高可用切换、保障业务连续性,实现解决方案级可靠。

在易用性方面,zData X通过纵横两大维度构建开放易用的数据库一体机新体验。

zData X 采用开放架构,纵向支持异构数据库和异构服务器,全栈统一管理;横向按需在线扩容,满足海量数据处理需求。同时,提供一站式可视化管理平台,支持异构数据库计算、网络、存储设备的统一管理,大幅简化DBA繁重的日常运维工作。

刘宇强调,zData X卓越性能的背后,离不开鲲鹏全方位的技术支撑。在zData X产品研发过程中,云和恩墨与鲲鹏在技术适配的基础上,进一步探索数据库核心场景下产品性能的深度优化。

鲲鹏相关技术、领先工具套件对zData X的性能优化、研发效率提升起到关键助力。同时,云和恩墨强大的自研实力,也打磨出基于鲲鹏底座的数据库一体机性能最优落地方案。

首先,借助鲲鹏 BoostKit 应用使能套件, zData X相比传统架构可以实现在多个重要数据库场景下25%以上的性能提升。

“通过在鲲鹏服务器上运行我们的软件,鲲鹏 BoostKit 应用使能套件能够快速多维度分析出各项性能瓶颈,包括组件、进程、函数、I/O性能等,并且给出相应的优化建议,对于我们的原生开发有非常大的意义。”

比如,使用 MySQL 并行查询优化技术对订单数量统计业务场景进行优化,该场景统计1亿行的订单大表(单表大小约23GB),经优化可实现将统计效率提升30%。

同时,为了最大化发挥鲲鹏硬件的性能,云和恩墨研发团队自研了一套调度算法,通过无锁化架构设计将CPU与内存、硬盘等资源进行精细绑定,从根本上消除了CPU资源分配不均匀的瓶颈,确保系统组件间能够流畅协同,进一步提升了zData X的性能表现。

其次, 鲲鹏DevKit开发套件以及代码迁移工具,大幅提升了zData X研发团队的开发效率。

鲲鹏DevKit开发套件和迁移工具能够更好匹配鲲鹏处理器的特点,帮助云和恩墨研发团队快速从其他平台迁移到鲲鹏。比如,使用鲲鹏代码迁移工具,研发团队可以将过去需要数天完成的软件包原有架构分析缩短到不到1小时,大大提升了迁移的效率。

“还有一个典型例子,过去我们需要针对鲲鹏和x86架构分别去构建两个软件包。借助鲲鹏 Devkit 开发套件,可以实现一次构建生成两个架构的代码包,大幅缩减了我们的开发流程,提升了开发效率。”

第三,鲲鹏完善的社区建设,为zData X研发团队提供了丰富的技术资料与解决方案参考。

“此前我们也考察过很多其他生态,但鲲鹏的生态在我们看来是最好的。鲲鹏整个社区建设的非常完善,研发团队包括我本人也经常在上面学习很多东西,有什么问题都会去社区找一些思路或者解决方案。”刘宇表示。

加速产业落地,繁荣自主可控数据库生态

过去一年来,云和恩墨多元数据库一体机zData X已经在众多政企客户拿下标杆案例,积累了越来越多的产业实践经验。

在某省卫健委,zData X结合鲲鹏服务器,成功落地了端到端全栈自主可控数据库一体机方案,将原有系统的IO处理能力提升了10余倍,完成高性能自主创新数据库资源池的建设。

在某交通行业企业,zData X结合云和恩墨数据库产品,实现了全栈自主创新的数据库改造,承载了该企业核心调度系统的关键数据。

在航空运输业,云和恩墨帮助春秋航空完成核心数据库架构的升级改造,从原有的AIX+集中式存储架构升级为基于云和恩墨分布式存储软件的zData X数据库一体机架构,构建起高性能、高可靠、弹性扩缩容的数据库资源环境,为其业务发展提供了坚实的基础底座。

从标杆案例的落地,可以看出zData X既满足了客户对自主创新数据库资源池的建设需求,也匹配了高速业务发展对数据库性能的严苛要求。“在很多行业,zData X能够做到客户原有系统十余倍甚至更高的性能,大幅超出客户预期,同时满足了客户未来业务发展的技术要求。”刘宇表示。

在数据库领域,云和恩墨与鲲鹏通过强强联合与优势互补,加速企业释放数据要素价值,双方的合作由来已久。

2020年,云和恩墨基于 openGauss 开源数据库发布了商业发行版企业级数据库 MogDB,并已广泛应用于金融、政府、制造业等行业用户。同时,云和恩墨还是 openGauss 社区首批理事会成员。

2023年,率先完成鲲鹏生态适配的多元数据库一体机zData X获得了鲲鹏应用创新大赛2023全国总决赛一体机议题金奖。

2024年9月,双方合作发布了zCloud数据库备份管理一体机并宣布共建数据保护生态。

刘宇表示,对于云和恩墨这样一家专注数据库技术服务的厂商,鲲鹏生态的吸引力除了之前提到的全面技术赋能之外,成熟的商业生态也是一大关键因素。

经过多年积累,鲲鹏的数据库商业生态日渐成熟,完成适配的数据库品类非常丰富。目前鲲鹏支持多种开源和国产数据库,包括 MySQL、PostgreSQL、MogDB、达梦、人大金仓、openGauss 等,为数据库技术厂商提供了广阔的合作空间。

谈到双方未来的合作计划,刘宇表示,“云和恩墨基于在数据库领域多年的技术积累,将充分发挥鲲鹏硬件算力优势,助力鲲鹏生态攻占数据库产业价值高地,加速数据库产业的高质量发展。”

结语

在多元数据库大潮下,企业数据库管理的多元化与复杂化已成为不可逆转的趋势。

面对这一挑战,云和恩墨携手鲲鹏,以多元数据库一体机zData X为突破口,不仅为企业提供了高性能、高可用、简单易用的数据库解决方案,更为国内数据库产业的全栈自主可控树立了新的标杆。

我们期待,双方的强强联合将进一步推动国内数据库生态朝着开放多元、自主创新的方向加速前进。

END

本文为「智能进化论」原创作品。

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

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

相关文章

[SWPUCTF 2022 新生赛]Cycle Again -拒绝脚本小子,成为工具糕手

1.题目 打开&#xff0c;一张图片&#xff0c;一个压缩包 2.分析 图片丢进随波逐流中 发现第一部分的flag NSSCTF{41d769db- 丢进b神的工具中 爆出第二段flag 9f5d-455e-a458-8012ba3660f3} 两段进行拼接 NSSCTF{41d769db-9f5d-455e-a458-8012ba3660f3} 直接拿下 遥遥领…

机场电子采购信息系统

摘 要 互联网的发展&#xff0c;改变了人类原来繁琐的生活和消费习惯&#xff0c;人们的时间观念也在不断加强&#xff0c;所以各种信息系统的数量越来越多&#xff0c;方便了用户&#xff0c;用户习惯也发生了改变。对于传统的企业采购模式来说由于费用高、速度慢、不透明化…

RabbitMQ设置消息过期时间

RabbitMQ设置消息过期时间 1、过期消息&#xff08;死信&#xff09;2、设置消息过期的两种方式2.1、设置单条消息的过期时间2.1.1、配置文件application.yml2.1.2、配置类RabbitConfig2.1.3、发送消息业务类service&#xff08;核心代码&#xff09;2.1.4、启动类2.1.5、依赖文…

android数组控件Textview

说明&#xff1a;android循环控件&#xff0c;注册和显示内容 效果图&#xff1a; step1: E:\projectgood\resget\demozz\IosDialogDemo-main\app\src\main\java\com\example\iosdialogdemo\TimerActivity.java package com.example.iosdialogdemo;import android.os.Bundl…

【AI日记】24.11.01 LangChain、openai api和github copilot

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】 工作 工作1 内容&#xff1a;学习deeplearning.ai的免费课程地址&#xff1a;LangChain Chat with Your DataB站地址&#xff1a;https://www.bilibili.com/video/BV148411D7d2github代码&#xff1a;https:…

指标+AI+BI:构建数据分析新范式丨2024袋鼠云秋季发布会回顾

10月30日&#xff0c;袋鼠云成功举办了以“AI驱动&#xff0c;数智未来”为主题的2024年秋季发布会。大会深度探讨了如何凭借 AI 实现新的飞跃&#xff0c;重塑企业的经营管理方式&#xff0c;加速数智化进程。 作为大会的重要环节之一&#xff0c;袋鼠云数栈产品经理潮汐带来了…

goframe开发一个企业网站 前端界面 拆分界面7

将页面拆出几个公用部分 在resource/template/front创建meta.html header.html footer.html meta.html <head><meta charset"utf-8"><meta content"widthdevice-width, initial-scale1.0" name"viewport"><title>{{.…

SpringBoot3集成Junit5

目录 1. 确保项目中包含相关依赖2. 配置JUnit 53. 编写测试类4、Junit5 新增特性4.1 注解4.2 断言4.3 嵌套测试4.4 总结 在Spring Boot 3中集成JUnit 5的步骤相对简单。以下是你可以按照的步骤&#xff1a; 1. 确保项目中包含相关依赖 首先&#xff0c;确保你的pom.xml文件中…

[数据结构从小白到大牛]第五篇:3分钟带你吃透双链表并用C语言模拟实现

目录 1->前言 2->链表的概念和结构 2.1链表概念 2.2->带头双向循环链表结构 3->模拟实现带头双向循环链表 3.1定义链表结点 struct ListNode 3.2创建链表结点 CreateLTNode 函数 3.3链表初始化函数 ListInit函数 3.4链表打印函数 ListPrint函数 3.5链表…

前端通过nginx部署一个本地服务的方法

前端通过nginx部署一个本地服务的方法&#xff1a; 1.下载ngnix nginx 下载完成后解压缩后运行nginx.exe文件 2.打包你的前端项目文件 yarn build 把生成的dist文件复制出来&#xff0c;替换到nginx的html文件下 3.配置conf目录的nginx.conf文件 主要配置server监听 ser…

不同的浮点数类型

不同的浮点数类型 尽管4字节的浮点数可表达相当大的数值&#xff0c;但对于人类而言&#xff0c;总不够用。一般而言&#xff0c;浮点数有3种类型&#xff0c;单精度的float和双精度的double以及更长的long double, 可参考&#xff1a;数据类型大小 不同语言的浮点数类型 C/Obj…

蓝桥杯第21场小白入门赛补题

5.蓝桥派对 思路 &#xff1a;一个区间与多少个其他区间有关联&#xff0c;先对所有区间左端点和右端点从小到大排序&#xff0c;对于每个询问&#xff0c;我们先算出[1,r]这个区间里有多少个区间的起点即区间总数&#xff0c;使用upper_bound函数&#xff0c;然后使用lower_bo…

推荐一款功能强大的数据库开发管理工具:SQLite Expert Pro

SQLite Expert Professional是一个功能强大的工具&#xff0c;旨在简化SQLite3数据库的开发。 它是SQLite的一个功能丰富的管理和开发工具&#xff0c;旨在满足所有用户从编写简单SQL查询到开发复杂数据库的需求。 图形界面支持所有SQLite功能。 它包括一个可视化查询构建器&a…

sql专题 之 常用命令

文章目录 查询基础语法查询全表查询选择查询&#xff1a;常量和运算&#xff1a; 条件查询where运算符&#xff1a;、 !、<、>空值&#xff1a;null模糊查询&#xff1a;like逻辑运算&#xff1a;and or not 去重&#xff1a;distinct排序&#xff1a;order by截断和偏移…

Unity的gRPC使用之实现客户端

应用背景&#xff1a;本想Unity调用C的dll库获取一些数据资源&#xff0c;但是由于自己调用的C库模块化处理的不太理想&#xff0c;众多dll之间相互依赖&#xff0c;使得在调用dll的时候&#xff0c;会忽略一些dll的缺失&#xff0c;使Unity项目报错&#xff0c;故想到了使用gR…

Linux基础-常用操作命令详讲

Linux基础-常用操作命令详讲 一、openssl加密简单介绍 1. 生成加密的密码散列&#xff08;password hash&#xff09;​编辑 1.1 常见的选项总结表 1.2 加密参数详解 2. 自签名证书 3. 证书转换 二、文件管理 1. 创建空文件 ​编辑 2. 删除文件 4. 新建目录 ​编辑…

[大模型]视频生成-Sora简析

参考资料&#xff1a; Sora技术报告https://openai.com/index/video-generation-models-as-world-simulators/4分钟详细揭密&#xff01;Sora视频生成模型原理https://www.bilibili.com/video/BV1AW421K7Ut 一、概述 相较于Gen-2、Stable Diffusion、Pika等生成模型的前辈&am…

STM32学习笔记-外部中断和外部时钟

文章目录 EXTI基本结构AFIO 定时器1. STM32 定时器的种类2. 定时器的主要功能3. 定时器的配置4. 定时器 PWM 输出模式5. 定时器中断配置输出比较1. 输出比较模式概述2. 输出比较模式的配置今天实在有点疲惫了&#xff0c;明天继续学吧。 EXTI基本结构 AFIO 中断引脚选择&#…

【测试小白--如何写好测试用例--测试用例编写的方法+结合常见登录模块为实例--保姆级教学】

测试用例编写方法&登录模块实例 一、测试用例编写方法1. 等价类划分2. 边界值分析3. 状态转换测试4. 决策表测试5. 错误推测6. 用户场景测试7. 安全测试用例 二、登录模块测试用例实例1. 等价类划分2. 边界值分析3. 状态转换测试4. 决策表测试5. 错误推测6. 用户场景测试7.…

Python数据可视化seaborn

产品经理在做数据分析时可能需要通过可视化来分析。seaborn官网 1. relplot 散点图 https://seaborn.pydata.org/examples/scatterplot_sizes.html import pandas as pd import seaborn as sns df pd.DataFrame({x: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],y: [8, 6, 7, 8, 4, 6,…