FusionDB22 技术白皮书 文档版本01 发布日期2022-10-08 超聚变数字技术有限公司 版权声明 本文档改编自《openGuass3.0.0技术白皮书》(可从 https://opengauss.org/zh/docs/3.0.0/docs/Technicalwhitepaper/Technicalwhitepaper.html获取原文档)。 您对“本文档”的复制、使用、修改及分发受openGauss根据知识共享(CreativeCommons)署名—相同方式共享4.0国际公共许可协议(以下简称“CCBY-SA4.0”)的约束。 为了方便用户理解,您可以通过访问https://creativecommons.org/licenses/by-sa/4.0/了解CCBY-SA4.0 的概要(但不是替代)。CCBY-SA4.0的完整协议内容您可以访问如下网址获取: https://creativecommons.org/licenses/by-sa/4.0/legalcode。 “本文档”部分页面内容(如标准API、参数描述等)参考自PostgreSQL官方文档 https://www.postgresql.org/docs。 遵循如下协议:PostgreSQLisCopyright©1996–2020bythePostgreSQLGlobalDevelopmentGroup.Postgres95isCopyright©1994–5bytheRegentsoftheUniversityofCalifornia. Permissiontouse,copy,modify,anddistributethissoftwareanditsdocumentationforanypurpose,withoutfee,andwithoutawrittenagreementisherebygranted,providedthattheabovecopyrightnoticeandthisparagraphandthefollowingtwoparagraphsappearinallcopies. 商标声明 和其他超聚变商标均为超聚变数字技术有限公司的商标。 本文档提及的其他所有商标或注册商标,由各自的所有人拥有。 注意 您购买的产品、服务或特性等应受超聚变数字技术有限公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内。除非合同另有约定,超聚变数字技术有限公司对本文档内容不做任何明示或默示的声明或保证。 由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。 超聚变数字技术有限公司 地址:河南省郑州市郑东新区龙子湖智慧岛正商博雅广场1号楼9层邮编:450046网址:https://www.xfusion.com 目录 前言vi 1产品定位8 2应用场景9 3技术特点10 4软件架构12 5FusionDB部署方案15 6XSync部署方案19 6.1推荐部署一:单节点集群20 6.2推荐部署二:3节点集群21 7典型组网23 8软硬件配置要求26 9数据库核心技术29 9.1面向应用开发的基本功能29 9.1.1支持标准SQL29 9.1.2支持标准开发接口29 9.1.3支持多存储引擎30 9.1.4事务支持30 9.1.5函数及存储过程支持30 9.1.6PG接口兼容31 9.1.7支持SQLhint31 9.1.8Copy接口支持容错机制31 9.2高性能31 9.2.1CBO优化器31 9.2.2行列混合存储32 9.2.3In-placeupdate存储33 9.2.4Xlog无锁刷新与并行Page回放33 9.2.5自适应压缩34 9.2.6分区35 9.2.7SQLbypass35 9.2.8鲲鹏NUMA架构优化35 9.2.9线程池高并发36 9.2.10并行查询36 9.2.11动态编译执行37 9.3高可用37 9.3.1主备机37 9.3.2逻辑备份37 9.3.3物理备份38 9.3.4闪回恢复38 9.3.5极致RTO38 9.3.6逻辑复制38 9.3.7恢复到指定时间点(PITR)38 9.3.8基于Paxos协议的高可用(DCF)38 9.3.9恢复到新集群39 9.4可维护性39 9.4.1支持WDR诊断报告39 9.4.2慢SQL诊断41 9.4.3支持热补丁功能41 9.5数据库安全41 9.5.1访问控制41 9.5.2控制权和访问权分离42 9.5.3数据库内置角色权限管理42 9.5.4数据库加密认证43 9.5.5数据库审计43 9.5.6网络通信安全特性43 9.5.7行级访问控制44 9.5.8资源标签44 9.5.9动态数据脱敏44 9.5.10统一审计45 9.5.11用户口令强度校验机制45 9.5.12数据加密存储45 9.5.13账本数据库45 9.6AI能力46 9.6.1AI4DB46 9.6.2DB4AI46 10数据库迁移工具XSync核心技术47 10.1高性能47 10.2高可靠47 10.3高扩展47 11技术指标48 12术语表52 前言 概述 本文档主要介绍FusionDB数据库的架构、能力以及主要技术。 读者对象 本文档主要适用于售前工程师、技术服务人员等。 因PDF格式下对代码和命令行的换行截取处理不完善,如果需要对文档内容进行复制操作,请在网页在线查看格式下操作。 符号约定 在本文中可能出现下列标志,它们所代表的含义如下。 符号 说明表示如不避免则将会导致死亡或严重伤害的具有高等级风险的危害。表示如不避免则可能导致死亡或严重伤害的具有中等级风险的危害。表示如不避免则可能导致轻微或中度伤害的具有低等级风险的危害。用于传递设备或环境安全警示信息。如不避免则可能会导致设备损坏、数据丢失、设备性能降低或其它不可预知的结果。 “须知”不涉及人身伤害。 对正文中重点信息的补充说明。 符号 说明 “说明”不是安全警示信息,不涉及人身、设备及环境伤害信息。 修改记录 文档版本 发布日期 修改说明 01 2022-09-30 第一次正式发布。 1产品定位 FusionDB是一款支持SQL2003标准语法,支持主备部署的高可用关系型数据库。 多种存储模式支持复合业务场景,新引入提供原地更新存储引擎。 NUMA化数据结构支持高性能。 Paxos一致性日志复制协议,主备模式,CRC校验支持高可用。 支持全密态计算,账本数据库等安全特性,提供全方位端到端的数据安全保护。 通过TableAccessMethod接口层支持多存储引擎。 FusionDB是一款提供面向多核的极致性能、全链路的业务和数据安全、基于AI的调优和高效运维的能力,全面友好开放,携手伙伴共同打造全球领先的企业级开源关系型数据库,采用木兰宽松许可证v2发行。 数据迁移XSync工具主要功能如下: 支持异构源数据库Oracle、Informix 支持全量迁移、增量迁移 支持迁移作业管理与监控 支持迁移集群管理与监控结构迁移XConv工具功能如下: 当公司因为业务或预算的变化,需要将目前数据库系统迁移至新的数据库系统。迁移过程中,由于源数据库和目标数据库之间在语法上的差异,需要投入大量的人力,手工改写源数据库上的SQL语句。这无形中增加了整个迁移过程的人力,时间和金钱成本。XConv的目的就是实现一种端到端的,自动化的SQL语句转化工具,从而降低迁移的成本,提高迁移过程的效率。 2应用场景 交易型应用 大并发、大数据量、以联机事务处理为主的交易型应用,如电商、金融、O2O、电信CRM/计费等,应用可按需选择不同的主备部署模式。 物联网数据 在工业监控和远程控制、智慧城市的延展、智能家居、车联网等物联网场景下,传感监控设备多,采样率高,数据存储为追加模型,操作和分析并重的场景。 XSync工具应用场景 在迁移数据库主流数据库至FusionDB数据库系统的场景下,XSync实现常用数据类型从Oracle/Informix数据库到FusionDB数据的自动化迁移。 XConv工具应用场景 在需要将数据库对象结构从Oracle数据库系统迁移至FusionDB数据库系统的场景下,XConv工具可以自动化转化SQL语句,降低迁移的成本,提高迁移过程的效率。 3技术特点 FusionDB相比于其他开源数据库主要有以下几个主要特点: 高性能 −提供了面向多核架构的并发控制技术结合鲲鹏硬件优化,在两路鲲鹏下TPCCBenchmark达成性能150万tpmc。 −针对当前硬件多核numa的架构趋势,在内核关键结构上采用了Numa-Aware 的数据结构。 −提供Sql-bypass智能快速引擎技术。 −针对频繁更新场景,提供ustore存储引擎。 高可用 −支持主备同步,异步以及级联备机多种部署模式。 −数据页CRC校验,损坏数据页通过备机自动修复。 −备机并行恢复,10秒内可升主提供服务。 −提供基于paxos分布式一致性协议的日志复制及选主框架。 高安全 支持全密态计算、访问控制、加密认证、数据库审计、动态数据脱敏等安全特性,提供全方位端到端的数据安全保护。 易运维 −基于AI的智能参数调优和索引推荐,提供AI自动参数推荐。 −慢SQL诊断,多维性能自监控视图,实时掌控系统的性能表现。 −提供在线自学习的SQL时间预测。 全开放 −采用木兰宽松许可证协议,允许对代码自由修改,使用,引用。 −数据库内核能力全开放。 −提供丰富的伙伴认证,培训体系和高校课程。 XSync支持多种主流数据库(包括Oracle/Informix/MySQL等)到FusionDB数据迁移。具有高可用、高性能、高可扩展性的优点。 高可用 故障后自愈:源数据库重启、目标数据库重启后迁移过程由失败处重新开始,不影响迁移数据正确性;迁移工具自身故障,重启后数据迁移继续,不影响迁移数据正确性。 高性能 资源占用低,对生产库“零”干扰高效同步架构,业务高并发大压力下实现亚秒级低延迟同步。存量数据通过表间并行导出,可实现高速迁移。 高可扩展性 线性扩展性;增加迁移工具使用服务器资源,可以近线性提高迁移效率(除非源数据库、目标数据库已达性能瓶颈)。 XConv具有自动化程度高,交互友好,用户可干预的特点。 自动化程度高 XConv的工作过程完全流程化,以流水线的方式运作,从对象导出,对象转换到对象导入,整个流程的自动化程度高。 交互友好 XConv在转换和导入阶段都会生成报告,使用户对结果一目了然。 用户可干预 一般情况下,转换工具不能做到一次性的成功。XConv支持用户干预,可以人为修改转换结果,按照用户的期望处理错误场景。 4软件架构 FusionDB是单机系统,在这样的系统架构中,业务数据存储在单个物理节点上,数据访问任务被推送到服务节点执行,通过服务器的高并发,实现对数据处理的快速响应。同时通过日志复制可以把数据复制到备机,提供数据的高可靠和读扩展。 FusionDB支持主备部署,FusionDB逻辑架构如图4-1所示。 图4-1FusionDB逻辑架构图 表4-1架构说明 名称 描述 OM 运维管理模块(OperationManager)。提供数据库日常运维、配置管理的管理接口及工具。 CM 数据库管理模块(ClusterManager)。管理和监控数据库系统中各个功 名称 描述能单元和物理资源的运行情况,确保整个系统的稳定运行。 客户端驱动 客户端驱动(ClientDriver)。负责接收来自应用的访问请求,并向应用返回执行结果。客户端驱动