数据库国产化探究及升级改造过程指导

一、背景

在信创“自主可控”的浪潮下,政企行业首当其冲,基于国产化信创的要求,本部门某业务后端应用也需要针对分析开源组件的风险和开源协议的商业应用限制;能用国产化替代的评估后尽可替代割接,本期针对传统数据库Mysql向达梦数据库迁移的记录。
在这里插入图片描述
在这里插入图片描述

相关资源:达梦官方文档、达梦在线服务平台、墨天轮排行榜、IDC数据报告、数据报告、洞见研报

二、数据库现状

无论什么样的数据库都离不开数据库本身定义的作用,即它是一套承载相互有关联关系的若干数据的集合,负责组织、存储和管理数据的仓库,一般由一个数据库管理系统(DBMS)来控制。数据库按照不同维度,分类方法多种多样,按数据结构可分为关系型数据库和非关系型数据库(NoSQL数据库、NewSQL数据库等);按设计架构可分为单机数据库、集中式数据库和分布式数据库。按部署方式可分为本地部署和云部署,按应用场景/功能可分为事务性数据库(OLTP)、分析型数据库(OLAP)以及混合型关系数据库(HTAP),还可按商业模式分为开源数据库和商业数据库(闭源)。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
国内数据库的发展,传统厂商多采用集中式设计架构,以达梦、人大金仓、南大通用、万里开源为代表,而新兴厂商则利用分布式进行换道超车,以PingCAP、巨杉数据库、星环等初创企业为代表,随着数据库云化部署大势所趋,云厂商则兼顾了前2者,但也主要是以分布式为主,分布式数据库是通过计算机网络将物理分散的多个数据库单元连接组成的逻辑上统一的数据库;目前分布式数据库的技术路线分为三类:分库分表+中间件方案、共享存储分布式数据库、去中心化的分布式数据库。国内数据库市场,关系型数据库市场占比90%左右,这些年非关系型正在逐年上升。国产供应商主要代表有华为、阿里、达梦、人大金仓等,这4家合计占据约30%份额,根据IDC数据,截至2022年末,在国内关系型数据库中,公有云数据库的市场中以阿里云、华为、腾讯为代表的国产数据库厂商份额已远超海外数据库厂商。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2024年2月国内数据库排行榜:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、达梦数据库

3.1、产品介绍

当前官网最新版本为DM8,相较于目前主流产品架构:不同特性依靠不同内核去实现,DM8独特采用了双存储引擎架构,行存储引擎列存储引擎可相互配合、协同工作。同时实现了计算层和存储层的分离,同一内核既支持共享存储式集群,也支持分布式事务集群。达梦数据库采用分布式架构,可由多个节点组成,每个节点可以处理多个用户的请求,从而并发性能较好。达梦数据库目前已广泛应用于各种领域,包括金融、电信、政府、教育、医疗等。

产品特性:

3.2、产品架构

达梦数据库采用多层架构,包括物理层、网络层、应用层和数据层。逻辑架构分为:统一接口层、应用集成数据层,物理层。其中,在应用层它采用了多级缓存机制,包括内存缓存、文件缓存和磁盘缓存。内存缓存可以提高系统的响应速度,文件缓存可以提高数据的读取速度,磁盘缓存可以提高数据的存储速度。另外它支持多线程和多节点部署,提高并发和可靠性。DM 数据库为数据库中的所有对象分配逻辑空间,并存放在数据文件中。所有的数据文件组合在一起被划分到一个或者多个表空间中,所有的数据库内部对象都存放在这些表空间中,表空间又被进一步划分为段、簇和页(也称块)。
在这里插入图片描述
架构说明:

  • DM 数据库实例:从DM7 以及之后版本的数据库中,“数据库”和“实例”这两个概念之间出现了很大的差别,实例类似oracle定义,它是由一组正在运行的 DM 后台进程/线程以及一个大型的共享内存组成。实例是操作DM 数据库的一种手段/工具,是用来访问数据库的内存结构以及后台进程的集合。
  • DM 数据库:也类同Oracle,它指磁盘上存放在 DM 数据库中的数据的集合,一般包括:数据文件、日志文件、控制文件以及临时数据文件等。
  • DM逻辑存储结构内部如下:其中,页(数据页,也称数据块)是数据库中最小的单元,它是将簇进一步划分得到的逻辑页(块),DM 数据库中默认每个页默认 8KB(可以自定义大小,比如:4KB、8KB、16KB 或者 32KB;另外区别于文件系统的页,那个是为了跟内存交互使用,文件系统的内存页通常是 4K),页大小一旦创建好数据库后,则在该库的整个生命周期内,页大小都不能够再改变。一个簇由多个连续的页组成。(区别OS里的簇/块是操作系统中最小的逻辑存储单位,文件系统的默认分配单元大小(簇)也是4096字节);对于上层的逻辑簇,它可以来自不同的数据文件,它由数据文件划分,每个簇的大小是 128K(16 个连续的页,由用户在创建数据库时指定);1个或多个簇又组成了逻辑的段(aegment),因此段是能跨多个数据文件的;最上层就是标间,它不直接管理段,而是与数据文件建立关系,它由1个或多个数据文件组成,表空间里存放用户、表、存储过程等,作为数据库对象的存储单元使用。综上,从下到上为:数据表里的记录(行)—>页(Page)—>簇/区( Extent)—>段---->数据文件---->表空间----->数据库。注意:记录是不能跨页存储的,记录的长度受到数据页大小的限制,DM 规定每条记录的总长度不能超过页面大小的一半,因一部分存储页的元数据;

    在这里插入图片描述
    当创建一个表/索引的时候,DM为表/索引的数据段至少分配一个簇,也就对应分配了一组空闲页等待数据写入;当空间不足时,DM数据库会自动分配新的簇。默认DM数据库在创建表/索引时,初始分配1个簇,当初始分配的空间用完时,DM数据库会自动扩展。分配簇时,表空间会按文件从小到大的顺序在各个数据文件中查找可用簇,找到后进行分配。

    在这里插入图片描述>

DM 支持的共享存储有两种:裸设备和DMASM;其中,后者在前者的基础上,部署并使用了 DMASM 文件系统。 DMDSC 是一个共享存储的数据库集群系统。DMDSC 集群基于单节点数据库管理系统之上,改造了 Buffer 缓冲区、事务系统、封锁系统和日志系统等,来适应共享存储集群节点间的全局并发访问控制要求。同时,引入缓存交换技术,提升数据在节点间的传递效率。 DMDSC 集群是一个多实例、单数据库的系统。多个数据库实例可以同时访问、修改同一个数据库的数据。用户可以登录集群中的任意一个数据库实例,获得完整的数据库服务。数据文件、控制文件在集群系统中只有一份,不论有几个节点,这些节点都平等地使用这些文件。各个节点有自己独立的联机日志和归档日志。这些文件就保存在共享存储上。DMDSC 集群主要由数据库和数据库实例、共享存储、本地存储、通信网络、以及集群控制软件 DMCSS 组成。
在这里插入图片描述

3.3、部署使用

3.4、配置及最佳实践

3.5、FAQ

四、mysql数据库迁移达梦

4.1、

五、数据库趋势

5.1、HTAP 数据库

HTAP,全称为Hybrid transaction and analysis processing,即混合事务和分析处理。HTAP是混合型关系数据库,是能同时提供OLTP和OLAP的混合关系型数据库。一般对OLTP的数据存储通常采用行式组织,而OLAP采用列式组织,OLTP( (On Line Transaction Processing,)是针对优化设计的,OLAP(Online analytical processing)是针对优化设计,OLTP的业务通常对实时要求比OLAP高很多,一般的做法是“”OLTP的数据定期会通过ETL(提取,转换,加载)工具把数据同步导入OLAP系统中,但这也导致OLAP的数据滞后,分析出来的结果时效性不够,对决策支持类如 BI 等系统的支持不够。随着越来越多的业务对于 AP 的要求越来越向着 TP 的指标看齐,对实时性要求同样高,要求 AP 系统能够实时反映出当前 TP 系统中的实际数据。同时,AP 系统应可以支持数据的更新等;人们希望能够同时满足业务对于 TP 负载和 AP 负载的需求,基于此提出了HTAP,以实现混合 OLTP 和 OLAP 业务同时TP和AP,它打破了事务处理和分析之间的“墙”。它支持更多的信息和实时业务的决策。但真正的 HTAP 并不应该是简单地将 TP 和 AP 相加:TP + AP ≠ HTAP。HTAP 一定是将 TP 和 AP 进行高度融合的产物。

1)广义的HTAP数据库:

  • 在关系数据模型上进行OLTP(联机事务处理)时具有强一致性; OLTP主要是基本的、日常的事务处理。强调数据库内存效率,强调内存各种指标的命令率,强调并发操作。
  • 融合分布式能力,从而具有高扩展性以内存型主列存为基础+增量行存来实现支持HTAP;第一类:以列存为主,主列存主要处理OLAP类分析查询,增量行存负责OLTP类事务操作,并直接将更新数据定期合并到主列存中,以OLAP的性能很高,OLTP处理性能中等,代表:SAP HANA。第二类:分布式行存为主存储,列存为行存的副本,主节点在处理事务时写入日志,并异步式地向其他节点发送最新日志,通过分布式协议进行事务处理。其中,有部分节点会被选为列存节点,负责加速复杂查询,此类系统面向OLTP和OLAP的扩展性都很高,代表:TiDB。

2)狭义的HTAP数据库:指采用行列混存或行列转化技术来同时支持事务能力和分析功能的数据库

  • 行存为主,内存列存为辅:针对有需要的表会同时存在一份行存储和列存储,在列存储上做分析操作,在行存储上进行更新,定期同步到列存储里,可灵活指定需要采用行存与列存的表。主要难点为哪些数据转为列存、如何用行存和列存回答查询,代表:Oracle;
  • 主机行存、备机内存列存:备机通过日志复制转为内存的列存提供分析能力。代表系统为MySQL HeatWave,分析型查询由系统查询引擎基于代价估计后决定是否下推到内存列引擎中执行,常被访问的热数据将会留在内存中,不常使用的冷数据将会被压缩后持久化到外存中;
  • 多副本行列共存,通过多副本进行存储,主采用行存,副本采用列存:代表性系统为TiDB,行存数据存储在TiKV中,列存数据存储在TiFlash中,行存和列存松耦合,通过异步复制Raft log的方式将更新从行存节点同步到列存节点,列存节点不参与Raft协议的日志提交和leader选举等分布式事务,具有较高负载隔离性和扩展性,数据分析新鲜度偏低;
  • 列存为主,行存为辅:增量数据通过delta表定期转为列存,主列存主要处理OLAP类分析查询,增量行存负责OLTP类事务操作,并直接将更新数据定期合并到主列存中。此类系统因为以列存为主,所以OLAP的性能很高,且增量行存直接与列存连接,数据分析的新鲜度也很高。但缺点也很明显,就是OLTP处理性能中等,扩展性也不高,负载隔离性很低,代表系统为SAP HANA,主列存通过压缩、向量执行和OLAP多维分析等技术进行查询加速,同时利用CPU多级缓存机制优化事务处理。

在这里插入图片描述

随着数据技术的不断创新,未来 HTAP 数据库会进一步加强 AP 和 TP之间的连接和融合,在数据库内部实现 AP 和 TP 之间的内置流(Streaming)处理能力。通过将 ETL 工作内置于数据库当中,让 HTAP 数据库同时具备 AP、TP 和流(Streaming)能力。用户可以按需创建各类表,运用流处理能力将表连接,从而获得简单、便捷的数据处理能力。另数据库与大数据技术边界不断模糊,呈现融合趋势,比如面向传统企业和中小企业的:湖仓一体;
在这里插入图片描述

相关资源:HTAP的关键技术有哪些?

5.2、列存储库:(代表Greenplum)

上面提到的HTAP,其中列存技术的发展是实现 HTAP 的基石;面向列存的数据,最早可以追溯到 1970 年,随着转置文件(transposed files)的出现,在面向时间的数据库(Time oriented Database)中使用转置文件进行医疗数据记录。Cantor 被称为是最早的一个与现代列存数据库相似的系统。

我们常见的传统数据库多以行存(Row-based)模型为主,它的数据物理上以行,页,段等方式进行分级管理的,表中的一行数据由 N 个数据属性构成,N 条数据构成一个页面,多个页面又构成了一个段,最后如此将众多的记录通过DBMS高效管理起来。对应行存方式组织数据,当在以分析型业务为主的系统中,分析所涉及的数据量通常非常多,将会有大量的记录会参与到分析计算中。而这些大量的记录需要从磁盘中读取到我们数据库的缓存中,由于数据是以行的方式组织,而我们的分析计算只需要特定的几个属性,但是需要把全部记录从需要从磁盘读取到缓存中,造成了不必要内存和IO资源的浪费;对此,列存储提出了DSM 模型,该模型中表的数据是按属性(列)的方式进行组织的,数据按属性形成一个新的子关系组织在一起,并独立于其他属性,这类数据在磁盘上存储时,我们可以对其进行压缩处理,从而节省存储,IO,内存等资源,另外,DSM 模型还属于 CPU Cache 友好型。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

控制学习_正弦波无刷直流力矩电机建模、控制带宽讨论与选择

无刷电机通过电子换向器实现定子的磁场旋转,去电刷后使用寿命大幅提升,是现在更流行的选择。三相无刷电机则是无刷电机中比较流行的一款。三相无刷电机的驱动方式有多种,最简单的被称为梯形波驱动、方波驱动或正弦波驱动。而正弦波驱动技术可…

SpringBoot 监控 SQL 运行情况

1 基本概念 2 添加依赖 3 配置相关属性 4 sql监控 5 慢sql记录 6 spring 监控 7 去 Ad(广告) 8 获取 Druid 的监控数据 1 基本概念 Druid 是Java语言中最好的数据库连接池。 虽然 HikariCP 的速度稍快,但是,Druid能够提…

Elasticsearch:使用 OpenAI、LangChain 和 Streamlit 的基于 LLM 的 PDF 摘要器和 Q/A 应用程序

嘿! 您是否曾经感觉自己被淹没在信息的海洋中? 有这么多的书要读,而时间却这么少,很容易就会超负荷,对吧? 但猜猜怎么了? 你可以使用大型语言模型创建自定义聊天机器人,该模型可以帮…

极客早报第2期:93年副所长入警9年满头白发;黑马情侣提车;早上六点起床跟八点起床的区别

一分钟速览新闻点! 每日简报 93年副所长入警9年满头白发黑马情侣提车早上六点起床跟八点起床的区别男子被流浪猫绊倒投喂者赔24万鸡骨泥运用于淀粉肠中不算违规路边卖淀粉肠阿姨主动出示声明书她和智障哥哥唯一合照是别人拍的卫健委回应卖血猝死广西辟谣“核潜艇生…

01.Linked-List-Basic

1. 链表简介 1.1 链表定义 链表(Linked List):一种线性表数据结构。它使用一组任意的存储单元(可以是连续的,也可以是不连续的),来存储一组具有相同类型的数据。 简单来说,「链表」…

2.1(TCP)

TCP—传输控制协议 是一种面向连接的可靠传输协议。可靠、有序、无丢弃和不重复。 特点: TCP是面向连接(虚连接)的传输层协议每一条TCP连接有且只能有两个端点。可靠、有序、无丢弃和不重复。TCP协议提供全双工通讯。 发送缓存 存放发送方…

phpStudy安装thinkCMF8时,如何解决服务器rewrite和APIrewrite不支持的问题

解决步骤: 一:服务器rewrite 点击后面的问号跳转到官方文档链接: 复制红框内的代码 打开phpstudy,找到配置的站点,点击管理,找到伪静态 点击确认保存即可。 phpstudy会自动重启站点。 此时,…

Hive-技术补充-ANTLR词法语法分析

一、背景 要清晰的理解一条Hql是如何编译成MapReduce任务的,就必须要学习ANTLR。下面是ANTLR的官方网址,下面让我们一起来跟着官网学习吧 ANTLR 二、ANTLR元语言 1、启发 静下来想想,一门语言有什么组成,比如我们的中文&…

FPGA高端项目:FPGA基于GS2971+GS2972架构的SDI视频收发+GTX 8b/10b编解码SFP光口传输,提供2套工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐本博主所有FPGA工程项目-->汇总目录本博已有的 SDI 编解码方案本方案的SDI接收发送本方案的SDI接收图像缩放应用本方案的SDI接收纯verilog图像缩放纯verilog多路视频拼接应用本方案的SDI接收HLS图像缩放HLS多路视频拼接应用本方案的SDI…

基于Logstash的动态表同步方案

文章目录 引言I 动态表的同步1.1 利用数据库函数进行动态表名拼接1.2 利用shell脚步进行动态日期表名拼接1.3 方案小结II 增量同步III 同步多数据表引言 基于Logstash由SQLServer向Elasticsearch同步数据,兼容SQL Server 2005,在连接数据库时,url后面加上一个encrypt=false或…

【Mysql数据库基础02】单行函数、排序

单行函数、排序 1 单行函数1.1 常用函数1.1.1 length 字符串的长度1.1.2 ifnull 判断表达式是否为空 1.2 字符函数1.2.1 substr 提取自串1.2.2 转换大小写1.2.3 instr 返回起始索引1.2.4 trim 去除两端指定字符1.2.5 lpad 左填充指定长度 1.3 数学函数1.3.1 round 四舍五入1.3.…

Vue.js中使用Web Workers来创建一个秒表

在Vue.js中使用Web Workers来创建一个秒表应用可以提高性能,因为Web Workers可以在后台线程中运行,不阻塞主线程。下面是一个简单的Vue.js秒表应用的示例,该应用使用Web Worker来执行计时功能。 首先,我们创建一个Web Worker文件…

【iOS】——Blocks

文章目录 前言一、Blocks概要1.什么是Blocks 二、Block模式1.block语法2.block类型变量3.截获自动变量值4._Block修饰符5.截获的自动变量 三、Blocks的实现1.Block的实质2.截获自动变量值3._Block说明符4.Block存储域 前言 一、Blocks概要 1.什么是Blocks Blocks是C语言的扩…

国创证券|超五成私募看好AI成为年度行情主线

3月18日,2024年度全球游戏开发者大会(GDC)与英伟达GPU(图形处理器)技能大会(GTC)举行,出资者关于A股商场的“人工智能”也给予了更多等待。 2月6日至3月15日期间,商场对…

使用 nsenter 排查容器网络问题

需求 我想进入容器中执行 curl 命令探测某个地址的连通性,但是容器镜像里默认没有 curl 命令。我这里是一个内网环境不太方便使用 yum 或者 apt 安装,怎么办? 这个需求比较典型,这里教大家一个简单的方法,使用 nsent…

Linux/Bizness

Enumeration nmap 用 nmap 扫描了常见的端口,发现对外开放了22,80,443 ┌──(kali㉿kali)-[~] └─$ nmap 10.10.11.252 Starting Nmap 7.93 ( https://nmap.org ) at 2024-03-08 01:21 EST Nmap scan report for 10.10.11.252 Host is up (0.36s latency). Not…

H266开源视频编码器VVENC现状

VVenC 是由 Fraunhofer HHI 研究团队开发的,主要是视频编码系统组。HHI 是欧洲最大的研究组织 Fraunhofer 协会的成员,该协会是德国的一个大型非营利性组织。源代码在: https://github.com/fraunhoferhhi/vvenc VVenC几乎与H.266视频标准同时…

什么是VR虚拟现实防火体验馆|VR设备购买|元宇宙文旅

VR虚拟现实防火体验馆是利用虚拟现实(VR)技术打造的一个模拟火灾场景的体验空间。通过虚拟现实头盔和交互设备,参与者可以在虚拟环境中感受和学习如何正确面对火灾,并进行逃生和自救。 这种虚拟现实防火体验馆通常会模拟真实的火灾…

CPU生产的生命周期 - 回收篇

电子废物的可持续再利用和回收每年变得更加重要。随着技术在全世界范围内变得越来越普及和普及,电子垃圾的产生率也随之直接增加。计算机的心脏是中央处理单元或CPU。我们认为电子废物的许多产品都包含某种处理器。为了保护环境免受日益严重的电子废物堆积问题的影响…

在Termux中安装个人hexo博客并结合cpolar工具实现远程访问

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…