数据库国产化之PanWeiDB
一、媒介接《数据库国产化探究及升级改造过程指导》一文,本节我们来了解下国产化关系型数据库PanWeiDB(磐维数据库)。
https://i-blog.csdnimg.cn/direct/a9c58e79140446e798aa0fbd6426f87a.png#pic_center
磐维数据库(PanWeiDB)是中移信息首个基于中国本土开源数据库openGauss(开源协议友爱)内核(NUMA化内核结构) 打造的面向ICT基础设施的自研数据库产品,华为官网显示GaussDB(for MySQL)提供百万级QPS,性能最高可以到达MySQL社区版本的7倍; GaussDB(for Mongo) 性能最高可以到达MongoDB社区版本的3倍,因此PanWeiDB也具备较高的性能,是一款精彩的具备企业级复杂事件混淆负载本领的全场景化OLTP数据库。中移于2022年发布行磐维云原生数据库1.0版本(基于 openGauss 3.0),2023年12月28日,在openGauss Summit 2023大会上,中国移动磐维数据库2.0版本(基于 openGauss 5.0)发布。PanWeiDB V2.0-53.0.0_Beta支持SQL 2003尺度语法,性能方面实现了TPC-C1000仓170万的突破,支持行、列,内存表存储,支持主备部署,是一款全场景的高可用关系型数据库。PanWeiDB为数据管理提供了综合性解决方案,支持多种部署形态,具备行业内高质量安全生产本领,是企业数智化转型的坚固数据基座。它作为独立的数据库产品,可以广泛地用于中国移动B/O/M域的各种业务场景;信创方面,磐维数据库支持多种方式部署:集中式 ,分布式 ,云原生,已助力中粮集团完成数据库国产化改造,为客户提供了高效稳固的DBaaS服务。磐维数据库引入专属的图形化数据迁移平台和运维管理平台,数据迁移速率到达300M/S,校验速率凌驾150M/S,到达业界领先程度,适用于高并发、大数据量、以联机事件处理为主的交易型场景应用和数据写,分析,操纵并用的场景。安全方面,磐维数据库支持从接入认证、用户及权限管理、安全审计、数据安全等多个方面端到端保障数据安全。同时引入SM3、SM4等国密算法,满足国家信息安全规范要求。目前,PanWeiDB已通多项尺度认证,如下所示:
https://i-blog.csdnimg.cn/direct/8a7e3e6d2abe40119606e551654f8dfe.png#pic_center
别的加密方面,为了防止数据文件被偷取后泄漏用户数据,PanWeiDB安全加强选项提供了全库透明加密功能。数据将在写入磁盘时被主动加密,从磁盘中读取时被主动解密,整个过程对用户以及上层应用是透明的。由于数据读写时需要举行额外的加解密操纵,故会对数据库性能造成一定影响。
关联资源:磐维数据库官网、磐维wiki、openGauss官网
二、数据库概述及架构
2.1、单机/实例部署:
即单实例独立主机部署,仅用于测试和小公司。
2.2、双机部署架构:
https://i-blog.csdnimg.cn/direct/e3ce652d0ea84bb39466e2cbf57e551a.png#pic_center
主备模式可明白为存储两个数据副本,主机和备机各一个数据副本,主备间 Quorum 复制,备机接受日志后做日志回放;此中,主负责读写,slave只读;主备之间可以通过switchover举行脚色切换,主机故障后可以通过failover 对备机举行升主。别的还支持一主多备(多副本模式),最多支持8个slave;一样寻常,一主两备即3个副本,这时可靠性就能达4个9,可以满足大多数应用的可靠性要求。
2.3、异地容灾
磐维数据库支持两地三中央容灾方案。可部署在两个或三个数据中央。在备用数据中央中采用级联备的方式,如许在每一个独立的数据中央中,都有主备的部署架构。采用这种部署方案,磐维数据库可以到达最高可用性5个9(99.999%)的尺度。
https://i-blog.csdnimg.cn/direct/f2fd19f3ab6e4ca6bfddd228afd04f24.png#pic_center
https://i-blog.csdnimg.cn/direct/3b63af1ffd8e4bbe9b07fb0317489b5a.png#pic_center
2.4、分布式集群
磐维数据库支持分布式部署,它利用Share Nothing架构实现数据库的极致扩展与弹性伸缩,原生分布式方案支持复杂SQL查询,通过GTM管理实行分布式事件,利用严酷的两阶段提交保障数据同等性。适用于大数据量高并发且追求数据同等性、安全性的场景。
https://i-blog.csdnimg.cn/direct/baae571cd53c4a82b936e3e5e6e47aa5.png#pic_center
2.5、读写分离架构
PanWeiDB支持资源池化:通过存储池化技术实现多节点共享一份存储,多节点数据实时同等。在集群管理上,基于双重心跳检测、共享盘仲裁、IO Fencing等技术实现集群节点故障主动检测、恢复和隔离,为资源池化提供一个高可靠的运行环境。
https://i-blog.csdnimg.cn/direct/5afc929b74da4794803963aa67102bab.png#pic_center
一样寻常我们知道,对于外部连接最简单的处理模式是per-thread-per-connection模式,即来一个用户连接产生一个线程。这个模式好处是架构上处理简单,但是高并发下,由于线程太多,线程切换和数据库轻量级锁地区的冲突过大导致性能急剧下降,使得体系性能(吞吐量)严重下降,无法满足用户性能的SLA。因此,需要通过线程资源池化复用的技术来解决该题目。线程池技术的整体设计头脑是线程资源池化、而且在差别连接之间复用。体系在启动之后会根据当前核数或者用户配置启动固定一批数量的工作线程,一个工作线程会服务一到多个连接session,如许把session和thread 举行了解耦。因为工作线程数是固定的,因此在高并发下不会导致线程的频繁切换,而由数据库层来举行session的调度管理。
2.6、兼容评估和迁移工具
在数据库迁移方面,针对异构数据库迁移的痛点和难点,中移专门打造了一键式数据迁移的平台。集数据库迁移评估、应用迁移评估、主动收罗、数据库结构迁移、数据迁移、数据校验等功能于一体。实际,PanWeiDB自身对MySQL较好兼容,能够支持MySQL以及其他商业数据库平滑迁移到磐维数据库。
https://i-blog.csdnimg.cn/direct/05d82fe5e0774c3bb863862044ac8bde.png#pic_center
三、数据库部署及配置
3.1、配置发起
资源最低配置发起配置内存功能调试发起内存 8GB 以上性能测试和商业部署时,单实例部署发起内存 128GB 以上CPU功能调试时,CPU 配置最小为 1×8 核 2.0GHz性能测试和商业部署时,单实例部署发起 1×16 核 2.0GHz 以上硬盘至少 1GB 用于安装 PanWeiDB 的应用程序包;每个主机需大约 300MB用于元数据存储;预留 30G 磁盘用于存放 WAL 数据文件;预留 70%以上的磁盘剩余空间用于数据存储发起体系盘配置为 Raid1,数据盘配置为 Raid5,且规划 4 组 Raid5 数据盘用于安装 PanWeiDB网络单机安装最低为千兆网;集群安装最低为万兆网单机安装时发起千兆以上网络;集群安装时发起万兆以上网络 3.2、行、列存储
一样寻常情况下,假如表的字段比较多(大宽表),查询中涉及到的列不是很多的情况下,适合列存储。假如表的字段个数比较少,查询大部分字段,那么选择行存储比较好。在大宽表、数据量比较大的场景中,查询常常关注某些列,行存储引擎查询性能比较差。例如气象局的场景,单表有200~800个列,查询常常访问10个列,在雷同如许的场景下,向量化实行技术和列存储引擎可以极大的提升性能和减少存储空间。
默认创建表是行存储的范例。数据按行举行存储,即一行数据紧挨着存储。行存表支持完备的增删改查。适用于对数据需要常常更新的场景。列存储,即数据按列举行存储,即一列所有数据紧挨着存储。单列查询I/O小,比行存表占用更少的存储空间。适合数据批量插入、更新较少和以查询为主统计分析类的场景。列存表不适合点查询,insert插入单条记录性能差。列存表比行存表压缩率高但高压缩率会斲丧更多的CPU资源。
场景需求描述表存储范例数据假如频繁更新选择行存表频繁的少量插入选择行存表一次插入大批量数据选择列存表表的列数很多选择列存表假如每次查询时,只涉及了表的少数(<50%总列数)几个列选择列存表 四、其他配置
4.1、JDBC连接多IP的url格式及分析
PanWeiDB目前支持尺度的 ODBC 3.5及JDBC4.0接口,此中ODBC支持centos,openEuler,麒麟、UOS、SUSE、Win32、Win64 平台,JDBC无平台差别;兼容 PSQL客户端,兼容PostgreSQL尺度接口。
#JDBC连接panweidb驱动;其中,host1:port1,host2:port2,host3:port3分别是数据库集群三节点主机的IP和数据库服务端口号;targetServerType=master 用于指定连接主库,还可取其他值,比如:any(此为默认值),表示尝试连接URL连接串中的任何一个数据节点。
#master 尝试连接到URL连接串中的主库节点,如果找不到就抛出异常。
#slave 尝试连接到URL连接串中的备库节点,如果找不到就抛出异常。
#preferSlave 尝试连接到URL连接串中的备库节点(如果有可用的话),否则连接到主库节点。
#currentSchema=schema_name 设置当前连接的schema(一般为业务数据所在的schema),如果未设置,则默认schema为连接使用的用户名。这个schema_name是在“search-path”中指定要设置的schema。
#useUnicode=true&characterEncoding=utf-8 用于指定字符的编码方式和解码方式,防止因字符集不同而产生乱码。
jdbc:panweidb://host1:port1,host2:port2,host3:port3/database_name?targetServerType=master¤tSchema=schema_name&useUnicode=true&characterEncoding=utf-8
#JDBC连接postgresql驱动
jdbc:postgresql://host1:port1,host2:port2,host3:port3/database_name?targetServerType=master¤tSchema=schema_name&useUnicode=true&characterEncoding=utf-8
4.2、客户端利用
#判断主/备库
select local_role, db_state from pg_stat_get_stream_replications();
#三权分立配置:即系统管理员将不再具有CREATEROLE属性(安全管理员)和AUDITADMIN属性(审计管理员)能力。即不再拥有创建角色和用户的权限,并不再拥有查看和维护数据库审计日志的权限
gs_guc set -I all -N all -c "enable_separation_of_duty=on" #完成后重启数据库
#系统管理员(pwadmin)有权操作表空间、模式、表,无权操作审计日志、锁定、解锁用户和打开强制访问控制参数
#审计管理员(pwaudit)有权操作审计日志,无权操作表空间、模式和表、锁定、解锁用户和打开强制访问控制参数
#安全管理员(pwsso)有权锁定、解锁用户和打开强制访问控制参数,无权操作审计日志、操作表空间、模式、表
4.3、PanweiD8 V2.0-53.0.0_Beta 技术指标概览
https://i-blog.csdnimg.cn/direct/7bad08390a064cc88e9bde5403eb6cdc.png#pic_center
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]