暂无图片
暂无图片
5
暂无图片
暂无图片
暂无图片

国产分布式数据库XuguDB入门

原创 严少安 2024-10-15
1522

9月30日,中国信息安全测评中心和国家保密科技测评中心联合发布了今年第二号测评结果,详情参阅:国产分布式数据库开启新篇章!详解安全可靠测评结果公告(2024年第2号)

虚谷数据库再次上榜,达成双入围,本次通过国测的产品是分布式数据库:《虚谷数据库管理系统 V12.0》。

虚谷数据库

虚谷数据库是虚谷伟业公司自主研发经过市场规模验证的关系型数据库产品,从一台单机到上百台集群均可无缝扩展,可支撑PB级海量数据,单表规模千亿行,响应时间毫秒级。虚谷数据库是一款自主原创、安全可靠、功能强大、性能优越的关系型数据库管理系统,支持SQL标准语法,支持标准化、结构化数据、事务处理、分布式集群部署,提供国产化、面向多核的高性能、高并发、高可用、并行计算、弹性伸缩和数据安全服务。虚谷数据库同时兼容ORACLE和MYSQL。其中ORACLE兼容度>94%,MySQL上层ORM开发框架全兼容。

虚谷数据库产品系列包含三个版本,分别是标准版、企业版和分布式版。

虚谷数据库以分布式架构为基础,上层全面实现传统关系型数据库所有功能与对象管理,提供完整的事务ACID特性,可支撑在线事务处理能力(On-Line Transaction Processing,OLTP)、联机数据分析处理(On-Line Analytical Processing,OLAP)及OLTP与OLAP混合型业务场景。数据层采用数据流同步复制方式结合“可靠UDP”技术(已申请发明专利),保证数据副本之间的强一致性。在整个集群中,虚谷数据库节点类型分为五类角色:主控管理角色、工作计算角色、存储管理角色、变更收集角色、査询角色。

  • 主控管理角色(M):主要用于集群管理、心跳检测、全局锁仲裁(检测死锁并解锁)等,不参与用户请求响应。必须配置为2个。
  • 存储管理角色(S):用于存储数据库数据,实现数据的持久化、存储高可用、数据快速定位。
  • 变更收集角色(G):用于收集集群数据变更信息,记载信息粒度达到事务级。最多支持2个节点,两节点时采用主备设计。
  • 工作角色(W):负责并行计算时提供算力,单次任务可提供最大算力由集群配置中LPU参数控制,工作角色节点可按需进行扩展和收缩。
  • 査询角色(Q):负责监听并处理网络请求,过程中按需和其他角色节点交互。查询角色(Q)与工作角色(W)需配置在同一节点。

虚谷数据库已通过国家标准中文字符集,执行标准《GB18030-2022信息技术中文编码字符集》最高实现级别(3级)认证。参考阅读:一文带你了解 GB 18030-2022 字符集

虚谷伟业

成都虚谷伟业科技有限公司是一家本土完全自研的基础软件公司,自 2002 年开始,孜孜不倦、专注于数据库技术的研究与产品研发,2018 年正式组建公司,2022 年开始进入市场化运作。总部位于成都,连结西安、重庆、北京、
上海、广州等五大核心区域。其自主研发的原生分布式关系型虚谷数据库,拥有多项独创核心技术,产品已在全国政协、中国气象局、自然资源部、国家统计局等重要国家级省部级单位、企业广泛应用。

虚谷伟业是若干国家标准和行业白皮书执笔者。牵头编撰了如《信息技术 数据库语言SQL第2部分:基础》、《数据库迁移规范》等国标和团标,执笔编撰了信创工委会《关系型数据库技术与产业白皮书》、中国信通院2021年和2022年《数据库发展研究报告》等行业白皮书,并先后承担四川省能改变行业格局的重大战略产品项目、四川省十九个高新技术产业重大关键技术项目、四川省“十二五”战略性新兴产品项目等重大专项。

虚谷数据库工具

虚谷控制台 XuguConsole

控制台工具是由虚谷数据库提供的连接数据库的客户端工具,目前有Windows版和Linux版两种。控制台工具比较常用,功能丰富,主要包括:数据库的维护,如关闭数据库;执行SQL语句和PL/SQL语句;执行SQL脚本;数据的导入和导出;在脚本中使用。

虚谷管理工具 XuguManager

XuguManager 是一个用纯 JAVA 语言编写的基于 JDBC 接口的虚谷管理工具,是虚谷数据库系统的图形化工具,类似于 Oracle 的 Enterprise Manager。

虚谷集群监控软件 XuguCM

XuguCM 是对虚谷数据库提供性能监控和资源利用浏览的辅助系统,监控软件使用 B/S 架构,可通过网页浏览器直接使用。监控软件功能模块分为操作系统、数据库、监控归档、配置管理四大模块。

虚谷数据库同步软件 XuguSyncer

XuguSyncer 以虚谷分布式数据库作为数据源进行数据的全量和增量同步及分发。增量同步基于虚谷分布式数据库日志架构,完全不依赖于存储过程、函数、物化视图和触发器等,无需任何代理,对源库零侵入性,完全不影响源库应用系统。

XuguSyncer 核心功能包括:数据全量导出导入、异构库增量同步、增量变更查询、元数据管理、DDL(Data Definition Languages)同步、增量数据归档、Kafka集成和脚本化运行等。

虚谷迁移工具 XuguMigrator

XuguMigrator 是基于JDBC的数据迁移,迁移时确保源库、URL、目标库三者字符集一致。

虚谷数据库迁移工具目前提供以下迁移方案:

  • 从 Oracle 数据库到虚谷数据库的迁移。
  • 从 SQL Server 数据库到虚谷数据库的迁移。
  • 从 MySQL 数据库到虚谷数据库的迁移。
  • 从 Postgres 数据库到虚谷数据库的迁移。
  • 从虚谷数据库到虚谷数据库的迁移。
  • 从达梦数据库到虚谷数据库的迁移。
  • 从文本到虚谷数据库的迁移。
  • 从 FETL 的 exp 文件到虚谷数据库的迁移。
  • 从虚谷数据库、MySQL、SQL Server和Oracle数据库到FETL文件的迁移。

DBeaver 通用管理工具

DBeaver 是一款面向开发人员和数据库管理员的免费开源(ASL)通用数据库工具。它基于开源框架,允许编写各种扩展 (插件),支持任何具有 JDBC 驱动程序的数据库。

在 OpenCloudOS 上安装 XuguDB 三节点集群

环境准备

本例使用 OpenCloudOS 9 操作系统。

[root@xugudb ~]# hostnamectl
 Static hostname: xugudb.shawnyan.cn
Operating System: OpenCloudOS 9.2
          Kernel: Linux 6.6.47-12.oc9.x86_64
    Architecture: x86-64

OpenCloudOS 9 是 OpenCloudOS 社区联合伙伴共同研发的全链路服务器操作系统社区版本,通过内核,用户态软件的全面优化和打磨,为用户和业务提供更先进、更高性能的基础环境和服务能力,解决 CentOS 断供的问题。

虚谷数据库正式加入 OpenCloudOS 操作系统开源社区,并完成了虚谷数据库 V11.0/V12.0 产品与 OpenCloudOS V7/V8/V9 的相互兼容认证。

更多内容:

虚谷数据库个人版

虚谷数据库是一款基于C/C++完全自主研发的分布式关系型数据库,具有较强的跨平台性。目前虚谷数据库的License版本分为:个人版、标准版、企业版、分布式版、安全版。其中,个人版支持单机到多机规模部署,支持大部分核心功能,满足开发人员基本使用。

本例使用 XuguDB 12.4 个人版进行演示。

下载安装包 XuguDB-12.4_20240416-personal-linux-x64.tar.gz 并解压到指定目录。

编辑配置文件,如 /opt/xugudb1/SETUP/cluster.ini

#MAX_NODES=16    MASTER_GRPS=1    PROTOCOL='UDP'    MSG_PORT_NUM=1    MAX_SEND_WIN=510 
 MSG_HAVE_CRC=0    MERGE_SMALL_MSG=1    MSG_SIZE=64000    TIMEOUT=20000    RPC_WINDOW=16 
 EJE_WINDOW=16    MAX_SHAKE_TIME=1200    MY_NID=0001    CHECK_RACK=0

 NID=0001  RACK=0001  PORTS='192.168.43.92:50001'  ROLE='MSQW'  LPU=3  STORE_WEIGHT=3  STATE=DETECT;
 NID=0002  RACK=0001  PORTS='192.168.43.92:50002'  ROLE='MSQW'  LPU=3  STORE_WEIGHT=3  STATE=DETECT;
 NID=0003  RACK=0001  PORTS='192.168.43.92:50003'  ROLE='SQW'  LPU=3  STORE_WEIGHT=3  STATE=DETECT;

-child 模式启动数据库,数据库的服务生命周期与命令行窗口相同,关闭命令行窗口则数据库服务随之关闭。

[root@xugudb ~]# /opt/xugudb1/BIN/xugu_personal_linux_x86_64_20240416 -child
XuguDB 12.0.0 (Built:2024-04-16 12:00:00 GA)
Start at: 2024-10-15 21:43:05
...
Handshake ok,3 nodes detected
0 transaction will be rollbacked.
ok.
Mount all gstore...ok.
Open all system tables...ok
Create system database...ok.
Open all system views...ok
Load all jobs...ok
All service started.
Listening at port 5118

其他两个节点操作类似。

连接到数据库

使用虚谷控制台连接到数据库,并查看集群信息。

[shawnyan@xugudb ~]$ /opt/xugudb1/BIN/xgconsole-linux-x64 nssl 127.0.0.1 5118 SYSTEM SYSDBA SYSDBA

XGDBMS linux Console Release V1.4.3

Copyright (c) 2002, 2024, XuGu.  All rights reserved.


Connect to 127.0.0.1:5118 SYSTEM SYSDBA
Connect ok.

SQL> show clusters;

NODE_ID | RACK_NO | NODE_IP | NODE_TYPE | NODE_STATE | LPU_NUM | STORE_WEIGHT | STORE_NUM | MAJOR_NUM | CPU_LOAD | PROTO_VERSION | MAX_MSG_SIZE | BOOT_TIME |
------------------------------------------------------------------------------
1 | 1 | 192.168.43.92:50001| 29 | 2 | 3 | 3 | 77 | 26 | 50 | 24002 | 64000 | 2024-10-15 21:44:41.269 AD |
2 | 1 | 192.168.43.92:50002| 31 | 2 | 3 | 3 | 77 | 26 | 50 | 24002 | 64000 | 2024-10-15 21:44:02.385 AD |
3 | 1 | 192.168.43.92:50003| 28 | 2 | 3 | 3 | 77 | 25 | 50 | 24002 | 64000 | 2024-10-15 21:44:40.971 AD |

Use time:0 ms.

使用 DBeaver 连接到数据库,并查看数据库版本。

到此,相信你对 XuguDB 有了初步了解,还有什么想看的欢迎留言。

Have a nice day ~


🌻 往期精彩 ▼


– / END / –

👉 这里可以找到我

👉 这里有得聊

如果对国产基础软件(操作系统、数据库、中间件)感兴趣,可以加群一起聊聊。关注微信公众号:少安事务所,后台回复[群],即可看到入口。

如果这篇文章为你带来了灵感或启发,就请帮忙点『』or『在看』or『转发』吧,感谢!ღ( ´・ᴗ・` )~

最后修改时间:2024-10-16 18:18:54
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论