思极有容数据库事务型数据库技术白皮书
北京中电普华信息技术有限公司
目录
目录
1. 产品介绍 (2)
2. 主要功能特点 (4)
2.1分布式存储和并行计算 (4)
2.2分布式事务 (5)
2.3高可靠 (7)
2.4多种分布方式 (8)
2.5动态扩展及数据再分布 (9)
2.6HTAP支持 (10)
2.7读写分离 (10)
2.8高级功能特性支持 (11)
2.9跨节点支持 (11)
3. 运行环境要求 (11)
4. 适用场景 (12)
思极有容数据库
2 1. 产品介绍
思极有容数据库属于国网信通产业集团思极系列产品,是国网信通产业集团打造的优势产品,以实力铸就品牌,以品质驱动发展。
国网信通产业集团围绕当前泛在电力物联网对数据库的需求及数据库行业整体发展趋势,确定产品发展策略,引入高校科研力量、互联网厂商先进技术等外部资源,打造思极有容数据库产品体系,围绕3类数据库产品以及配套辅助工具进行开发,面向国网公司、发电集团、石化、政府等目标客户提供产品采购、方案设计、部署实施、运维等多种服务。 分类
产品列表 产品描述 思极有容数
据库产品 分布式事务数据库 适用OLTP 事务处理类业务 时序数据库
适用于时间序列数据存储与计算分析 MPP 分析型数据库
适用于OLAP 分析决策类系统 配套产品 数据库管理平台DMP 支持数据库可视化部署配置、数据库运行监
控、可视化运维、数据库审计等功能
数据抽取工具ETL 提供有容数据库(PowerDB )与MySQL 、
Oracle 、PG 等异构数据库的数据迁移功能
数据同步工具 提供有容数据库(PowerDB )与MySQL 、
Oracle 、PG 等异构数据库的数据同步功能
数据传输工具DTS 提供跨地域数据高效传输,支持跨地域容灾
备份
数据库高可靠HA 组件 提供数据库主备节点故障切换功能
解决方案 私有云数据库 提供私有云数据库搭建、运维等一系列解决
方案及部署实施
数据中心 提供数据抽取、数据存储、数据分析、数据
灾备等一系列组件及解决方案及部署实施;
技术服务 部署实施 提供数据库安装部署
数据库技术支持 提供数据库调优、数据库迁移等技术支持服
驻场运维 提供驻场运维服务
本技术白皮书主要介绍思极有容事务型数据库。思极有容事务型数据库是一款国产自主可控的分布式关系型数据库集软件,客户端、应用程序使用该数据库集软件,无需关心真实的数据分布。当数据量、负载增大时,数据库集可以无限制的动态扩展数据节点,以满足业务发展需要。
整体架构如下图所示:
图 1思极有容事务型数据库架构
如图1所示,思极有容事务型数据库整个架构主要分为三部分:
配置中心层:
该部分用于存储数据库的元数据,如各个表的分布规则;管理后台调度任务,如数据库表结构变更任务,数据迁移任务;同步数据库集状态,如数据库集拓扑变更通知等;提供全局事务管理功能,保证分布式事务的实现。
数据节点层:
该部分由多个独立、完整的数据库实例组成,不同实例可以运行在相同或不同的物理机器,负责真实数据的存储和计算。每个数据库实例和单机数据库没有区别。
调度节点层:
该部分负责调度分发客户端请求到数据节点,同时合并数据库节点返回的结果集、再返回给客户端。整个后端数据库集对于客户端就是一个虚拟的数据库,完全透明。“协调节点层”包含1到多个的协调节点,任何一个协调节点看到的数据库集状态都是一样的。
主要特点如下:
➢调度节点不存储永久数据,主要负责SQL请求分发、分布式执行计划、编排调度和结果集的处理;数据存储在后端数据节点。
➢采用share-nothing架构。后端数据库实例没有共享存储,都是用本地存储。
➢采用sharding思想。数据以行为单位水平分片,存储于后端数据节点,每个节点只存储部分数据,整体才是一份完整的数据。每个节点(数据库实例)保存一份数据,意味着整个数据库实例数据量大大减小,索引、缓存等的利用率将大大提高,从而提高性能。
➢按需在线扩展。数据库集可以在线按需进行横向和纵向的扩展。数据节点层和调度节点层都允许在线扩展,确保数据库集无瓶颈。
常见mpp数据库➢高可靠。数据库集确保无单点,并自动处理相关故障,确保数据库集只要还有一份可用数据就能对外提供服务。
➢对数据库客户端程序完全透明。数据库集基于后端数据库实例对应协议进行SQL分析处理,支持客户端命令、API、JDBC/ODBC等各种语言的连接驱动。
➢客户端编程语言无要求。
➢支持X86架构、云部署、支持国产CPU架构。
2.主要功能特点
2.1 分布式存储和并行计算
数据分布方式如下:
1.以库为单位进行分布,不同的库可以部署到不同的数据节点上。
2.以表为单位进行分布,不同表可以部署到不同的数据节点上。
3.以行为单位进行分布,按照一定算法,不同行组成一个分片,不同分片部署到不同的数据节点上。
根据数据的分布不同,数据库集实现了并行计算:
1.对于一个请求,数据库集可以根据请求涉及的数据范围,在某几个数据库节点上并发进行,然后再合并结果集,返回给客户端。
2.对于整个数据库集而言,可以把不同的请求分发到不同的数据库实例节点,并行计算,互相不影响,从而极大的提高数据库集的并发和吞吐量。
在客户端SQL请求调度上,数据库集基于不同的数据库协议,自行编写相应的SQL解析引擎和分布式执行引擎,并将它们封装为相应的驱动模块;在执行过程中对后端数据实现自动匹配加载引擎模块,整个过程对客户端透明,类似于透明网关。
当客户端请求到达数据库集时,首先对请求的SQL语句进行语法词法解析。然后按照解析出的语句特点、关键字段信息、以及配置的数据分布规则,对语句进行必要的重写、拆分,生成相应的执行节点并组装分布式执行计划。最后按照分布式执行计划进行SQL分布式调度执行。
分布式存储和并行计算带来非常大的好处:
1. 单个节点规模小,提高资源利用率,尤其是索引、缓存等的利用率。
2. 减少IO、CPU的争夺,每个节点都是独立的,避免海量数据下数据库常见的IO、CPU等性能瓶颈。
3. 并行计算,提高处理性能、并发性能和吞吐量。
2.2 分布式事务
思极有容事务型数据库提供分布式事务支持,包括单节点内的事务、跨节点的事务。具体实现原理如下描述。
如下图所示,每一个分布式事务参与者为分布式事所操作的一个分片,假设共有N个分片。每个分片的数据都有主数据副本和至少一个备数据副本,并通过强同步确保主备数据的强一致性。每个分片数据内事务的提交缓存在主备节点间同步一致。提交缓存中主要包含2部分,即业务数据和日志数据;业务数据为本

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。