搜索结果: JR/T 0203-2020, JR/T0203-2020, JRT 0203-2020, JRT0203-2020
| 标准编号 | JR/T 0203-2020 (JR/T0203-2020) | | 中文名称 | 分布式数据库技术金融应用规范 技术架构 | | 英文名称 | (Distributed database technology financial application specification Technical architecture) | | 行业 | 金融行业标准 (推荐) | | 中标分类 | A11 | | 字数估计 | 16,111 | | 发布日期 | 2020-11-26 | | 实施日期 | 2020-11-26 | | 标准依据 | 金融标准全文公开系统(2020.11.26) | | 发布机构 | 中国人民银行 |
JR/T 0203-2020: 分布式数据库技术金融应用规范 技术架构
JR/T 0203-2020 英文名称: (Distributed database technology financial application specification Technical architecture)
中 华 人 民 共 和 国 金 融 行 业 标 准
分布式数据库技术金融应用规范
技术架构
中国人民银行 发 布
1 范围
本文件规定了在金融领域分布式事务数据库技术的架构要求,涵盖技术框架、功能特征和运维管理。
本文件适用于金融领域分布式事务数据库的研发、测试、评估、应用。
2 规范性引用文件
下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,
仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本
文件。
5 概述
数据库系统是按照特定数据结构组织、存储和管理数据的基础软件,根据架构不同可分为集中式数
据库和分布式数据库。集中式数据库将数据在物理空间上集中存储和处理,是1种较为经典、传统的架构
模式。分布式数据库是物理上分散而逻辑上集中的数据库系统,利用分布式事务处理、数据自动分片、
数据多副本存储等技术,将分散在计算机网络的多个逻辑相关的节点连接起来,共同对外提供服务。
6.2 物理资源层
物理资源层是指分布式事务数据库的基础硬件设施与设备,为分布式事务数据库和上层业务系统提
供基础支撑环境,包括物理机房供电、计算设备和存储设备、网络设备等物理基础设施。物理资源层应
使用安全可控、体系架构开放的硬件进行构建,保障安全性、可用性和可靠性,具体要求如下:
a) 应支持处理器多路互连技术、压缩和解压缩等计算加速能力。
b) 应动态监测各网元的网络拓扑结构,实现可靠性、扩展性、易维护性。
c) 宜支持2种以上处理器架构体系,且处理器具有可信计算能力。
d) 宜提供动态配置的黑名单机制或防火墙机制,防范因恶意节点造成的网络瘫痪。
6.3 计算模块
计算模块负责解析应用程序查询请求、生成查询计划,并将查询计划自动分配到各计算节点并行执
行。通过分布式事务处理等技术确保数据正确性,借助并发控制、动态资源分配等技术提升分布式事务
数据库在复杂业务场景的计算效率,具体要求如下:
a) 应满足分布式事务数据库所需的计算算力要求。
b) 应支持在可信的虚拟化或云计算环境运行。
6.4 存储模块
存储模块负责执行计算层数据操作请求,并实现数据在硬件层面的持久化保存,确保数据不丢失。
存储层将数据按分片进行多副本存储,保障数据可靠性。分布式事务数据库应具备应用访问透明性,包
括但不限于分片透明性、复制透明性和位置透明性,数据分片模式的改变、副本位置的改变等均不影响
应用程序,具体要求如下:
a) 应支持高效、安全、稳定地提供数据写入及查询服务。
b) 应支持写入数据持久化处理。
c) 应支持根据节点标识将同1份数据的不同物理副本切分到不同的物理节点上。
d) 宜支持在数据存储节点故障后进行快速自检与恢复。
e) 宜支持对数据的局部或全局进行加密。
f) 宜支持针对误操作的数据快速恢复功能。
g) 宜支持压缩存储技术。
6.5 管理模块
管理模块负责协调分布式时钟和维护元数据,并提供数据库参数配置和运行监控接口,具体要求如
下:
a) 应提供负载均衡和资源隔离功能,确保分布式事务数据库提供稳定服务。
b) 应具备角色权限管理、加密防护机制和审计能力。
c) 应具备数据库节点选主、全局事务管理、节点间数据迁移能力。
d) 应提供分布式事务数据库集群节点的参数配置、运行状态监控、性能数据采集等集群状态监控
与配置功能。
7 功能特性
7.1 功能架构概述
分布式事务数据库应采用计算与存储分离、计算分布式和存储分布式的技术架构,以通用软硬件为
基础平台,实现数据安全、系统高可用、数据分片存储、数据容量和性能水平可扩展、事务一致性等功
能。应用于金融领域的分布式事务数据库功能框架见图 2。
7.2 基本功能
7.2.1 部署灵活性
应具备灵活的部署方式,本地部署和云部署方式应至少支持 1 种。
a) 本地部署:分布式事务数据库部署采用多台物理机来充当管理节点、计算节点和数据存储节点,
在部署过程中应满足以下要求:
--应具备从单节点发起自动在多个服务器上完成数据库部署的能力。
--应提供统一的软件组件可视化安装管理向导。
--应记录安装日志,并提供安装记录和问题排查方式。
b) 云部署:基于云平台构建和部署分布式事务数据库,云平台将根据用户需求自动分配存储和计
算资源,云上自行部署分布式事务数据库应满足以下要求:
--应具备云上灵活部署的能力,可执行自动安装部署,或支持在云平台提供的裸金属服务器、
虚拟机上进行安装和部署。
--应提供统一的软件组件可视化安装管理向导。
--应具备安装日志,提供安装记录和问题排查方式。
7.2.2 SQL 能力
应用于金融领域的分布式事务数据库应具备 SQL 能力,具体要求如下:
a) 应支持分布式事务,满足ACID特性。
b) 应支持长整型、十进制等数值类型,支持字符串类型、二进制字符串类型、日期/时间类型,
宜支持Interval类型、布尔类型、大对象类型、自定义类型、枚举、集合等数据类型。
c) 应支持数值运算、逻辑运算、比较运算、字串拼接(类型强制转换)等操作符。
d) 应支持常用数字类型函数、字符函数、日期/时间函数、聚合函数、类型转换函数、空值处理
函数,宜支持正则表达式、安全函数、窗口分析函数等常用函数。
e) 应支持对比条件、逻辑条件、空值条件、符合条件、模式匹配条件、区间条件、适合条件、存
在条件等常用条件表达式。
f) 应支持主键、全局唯一性等键值约束。
g) 应支持表分区;应支持分区本地索引,宜支持分区全局索引和分布式全局索引。
h) 应支持查询视图。
i) 应支持UTF-8、GB K编码,宜支持GB 18030、UTF8MB4等其他字符集编码。
j) 应支持自增序列,宜支持全局唯一的自增序列。
k) 应支持执行计划的展示功能。
l) 应支持跨多存储节点的连接查询、子查询、集合查询等复杂SQL查询。
m) 应支持数据库逻辑存储结构定义,如表空间定义等。
n) 应支持数据分页查询。
o) 宜支持存储过程的具体要求如下:
--宜支持存储过程的创建、修改和删除。
--宜支持存储过程变量定义。
--宜支持存储过程流程控制语句。
--宜支持存储过程条件判断语句。
--宜支持存储过程循环语句。
p) 宜支持函数索引。
q) 宜支持模式管理。
r) 宜支持误删、误改数据的快速恢复。
s) 宜支持物化视图。
t) 宜支持动态系统视图。
u) 宜支持自定义函数的具体要求如下:
--宜支持 JAVA、C、Python 自定义函数扩展功能。
--宜支持过程语言方式的自定义函数。
v) 宜支持时区设置。
w) 宜支持临时表。
x) 宜支持公共表达式。
7.2.3 读写分离
分布式事务数据库应提供充分的读扩展能力,以支持业务在架构层面进行读写分离优化。在业务允
许对数据进行弱一致性读(即读取操作须满足全局一致性读要求,但不保证读到最新数据)的前提下,
基于业务需求应支持读写分离策略,具体要求如下:
a) 分布式事务数据库应提供多副本读能力,并支持读请求在各个数据副本之间的均衡负载。
b) 分布式事务数据库应支持自动剔除数据不一致或数据同步延迟超过业务指定阈值的数据副本,
并在其恢复后支持将其自动加回到读请求路由。
c) 数据库应实现读请求在各个数据副本之间的灵活调度配置,使得上层应用不必关心读请求具体
连接哪个数据副本。
d) 读写分离功能应对应用透明。
7.2.4 并发处理能力
分布式事务数据库应提供并发处理能力,具体要求如下:
a) 应根据业务对用户并发数、吞吐量、响应时间的指标要求,保证系统能够同时处理多条请求,
具体要求如下:
--应支持并发分布式事务。
--应支持并发复杂查询语句。
--应支持并发连接数配置。
--宜具备分布式相关的查询优化和执行能力。
b) 应具备对各种数据库操作的并行计算能力,包括但不限于跨数据分片的DDL、DML和查询等,以
充分利用所有节点的计算能力和存储能力,并控制降低网络数据带宽传输需求。
c) 分布式事务数据库并行计算功能宜具备可以控制语句并行度的能力,如通过调整SQL语句或者
会话的并行参数来实现。
7.2.5 适配性
分布式事务数据库应具备适配性,具体要求如下:
a) 软件适配性:
分布式事务数据库软件的兼容性是衡量生态的 1个重要指标,分布式事务数据库系统涉及多个方面
的软件兼容性,如操作系统等,具体要求如下:
--应兼容主流 Linux 操作系统。
--应不限制主流编程语言,包含但不限于:c/c++,java,go,python,php。
--应兼容主流编程语言访问接口,如 JDBC、ODBC 等。
--应兼容至少 1 种开源数据库协议(如 MySQL、PostgreSQL、SparkSQL 等)。
b) 硬件适配性:
分布式事务数据库系统作为重要的基础软件,应适配至少 2种硬件平台以适应不同的生产业务需求,
如 X86、ARM、MIPS 等架构。
7.3 分布式特性
7.3.1 分布式事务
分布式事务数据库应支持分布式事务,具体要求如下:
a) 分布式事务能力概述,具体要求如下:
--在分布式事务数据库中,1 个分布式事务操作的数据会跨越多个数据存储节点,应通过分
布式事务的 ACID,确保事务的全局一致性。
--在分布式事务数据库中,即使发生个别节点故障、网络故障等异常,也不应破坏分布式事
务的各种特性。
b) 分布式事务原子性:在分布式事务数据库中,1个分布式事务操作涉及的数据可能会跨越多个
数据存储节点,数据库应确保数据的修改在全局范围内保持原子性,具体要求如下:
--事务结束时,所有的数据应在指定的数据存储节点上全部修改成功,或应在指定的数据存
储节点上全部修改失败并回退到最初状态,不应出现部分数据修改成功而部分修改失败的
情况。
--如果分布式事务在处理的过程中遇到异常,如某个或多个数据存储节点所在的物理服务器
机械故障、网络故障等,数据库仍应保证事务的原子性不被破坏,以保证数据对外部业务
的一致性。
c) 分布式事务一致性:在分布式事务数据库中,当读取的数据跨越多个节点时,应确保从多个节
点上读取到的数据在全局范围内具备一致性,具体要求如下:
--事务应满足全局实时一致性,已完成提交的事务中的数据,在任意时刻,都能被随后的读
取操作访问到最新的数据。
--在同 1 个事务内提交的数据,应全部能被读到,或全部读不到,不应出现部分数据能读到,
部分数据读不到的情况。
d) 分布式事务隔离性:事务隔离是数据库并发访问控制的基本要求,分布式事务数据库应提供多
种事务隔离级别,并支持在数据库系统或者SQL语句中应用时,指定不同的隔离级别实现不同
事务并发执行时的可见性效果。
e) 分布式事务持久性:在分布式事务数据库中,事务完成和提交后,该事务对数据库的更改应持
久化保存在数据库中,并不会无故丢失或回滚,即使数据库系统发生故障或重启,数据库应能
恢复到事务成功结束时的状态。
f) 隔离级别:决定了当前分布式事务数据库事务完整性及对其他事务的可见性,相关隔离级别的
设定是为了解决并发事务执行过程中存在的脏读、不可重复读、幻读等问题,保证分布式事务
的ACID特性。
7.3.2 服务高可用
应用于金融领域的分布式事务数据库服务高可用性应具备多层次的技术要求,以满足不同级别的故
障高可用方案,具体要求如下:
a) 技术架构上全链路的组件均需要高可用部署,包括管理节点、计算节点、数据存储节点等。
b) 当数据库系统发生节点级故障时,RTO要求在秒级,应支持自动化方式切换,在多副本的使用
场景下,应支持主副本的切换优先级按照本机房副本、同城副本、异地副本的优先级进行选择。
c) 机房级、地域级高可用需求应符合JR/T 0205的相关要求。
d) 应用于金融领域的分布式事务数据库还应满足节点扩容、数据动态分布等对服务的影响控制在
秒级以内。
7.3.3 数据可靠性
结合分布式事......
|