编辑: Mckel0ve | 2019-09-25 |
2 /
24 目录 范围.
3
一、产品介绍.4
二、产品功能.6 2.1 产品架构.6 2.2 通用性功能.7 2.3 企业级特性.8 2.3.1 高性能.9 2.3.2 高可用.11 2.3.3 易用性.13 2.3.4 安全性.15 2.3.5 兼容性.17 2.3.6 异构数据库互联.19
三、产品服务.20 3.1 标准支持服务内容.20 3.2 高级支持服务.21
四、公司简介.23 产品技术白皮书 瀚高基础软件股份有限公司
3 /
24 范围 白皮书介绍了瀚高数据库管理系统的产品架构、通用性功能、高性能、高可 用、易用性、安全性、兼容性以及产品服务等核心技术和功能特性.产品功能特 性、技术指标对于从事相关数据库的设计、开发和管理等人员具有指导和参考意 义. 版权 本文档中包含的信息代表了瀚高基础软件股份有限公司目前的观点. 用户应 当遵守所有适用的版权法.未经瀚高基础软件股份有限公司的许可,不得转载文 件的任何部分. 瀚高基础软件股份有限公司保留所有权利. 产品技术白皮书 瀚高基础软件股份有限公司
4 /
24
一、产品介绍 瀚高数据库是完全自主可控的国产数据库产品. 瀚高数据库管理系统凭借优 秀的体系架构、稳定优异的数据访问性能、丰富的企业功能、灵活的扩展能力在 全国各个行业获得广泛的认可,并在政府、金融、教育、制造、能源、交通、军 工等多个领域得到广泛的应用. 瀚高数据库已连续多年入围国家中央采购序列, 并通过中国电子技术标准化 研究所等多家机构的严格测试. 产品通过多项权威机构的技术测评并取得了多项 权威认证,如安全可靠软硬件产品评测、涉密信息系统产品检测证书等. 瀚高数据库 V4 企业版产品(简称:HighGo DB V4)是瀚高公司核心开发团 队经过多年的研究和实践,根据政企客户的需求,量身定制数据库核心功能、管 理工具、语法兼容包等.不仅扩展了传统社区产品的企业级功能,提高了产品的 稳定性、性能和安全性,同时大大增强了产品的易用性,让政企客户用上易用、 好用的数据库产品. 瀚高数据库(HighGo DB)核心价值 自主可控:HighGo DB V4 是一款完全自主可控的国产数据库产品,是实 现政企客户信息化发展的有力保障.瀚高公司具有自主知识产权,产品代码完全 自主、安全可控.同时瀚高数据库能够较好的兼容主流操作系统中间件及国产化 平台,为政企客户的国产化需求提供一站式服务. 易用性:HighGo DB V4 致力于让数据库管理员及程序开发人员切实使用 上一款好用、易用的数据库管理系统.HighGo DB V4 以图形界面化管理的形式 增强数据库易用性, 提升用户的使用体验. 产品的设计完全符合国人的操作习惯, 语法结构兼容国际化标准,大大降低使用者的学习成本. 产品技术白皮书 瀚高基础软件股份有限公司
5 /
24 兼容与迁移:对于用户在线业务系统的迁移需求,HighGo DB V4 提供对 多种商用数据库的兼容,如Oracle,SQL Server、DB2 等.同时瀚高公司能够提 供自主研发的数据迁移工具,并配备专业的迁移服务团队,可进行异构数据库及 应用之间的平滑迁移,大大减少迁移工作的工作量. 主流 GIS 平台支持:HighGo DB V4 是一款全面支持 ArcGIS 的国产数据 库, 提供针对 GIS 行业的安装版本, 使之能够出色的应用于 GIS 领域. HighGo DB 支持 ArcGIS、SuperMap GIS 当前所有主流版本,并且提供针对 GIS 的优化包来 有效提高地理信息数据的处理性能,是当前 GIS 行业用户的最佳数据库选择. 大数据支持:在行业大集中,政府职能与企业互联互通的大数据环境下, HighGo DB V4 支持大规模集群、分布式架构、列式分析、分库分表、复杂语句 动态编译等技术,实现大数据的高效处理与分析、高效的实时分析展现.对于物 联网,互联网+等业务所需的多种数据结构,如文档、时空数据等,提供强有力 的支持. 云计算支持:HighGo DB V4 可以有效的支持企业应用的私有云及混合云 架构,支持 Openstack,Docker 等.瀚高数据库支持主流的 IaaS 厂商云集成, 为企业提供一站式 PaaS 专有云服务.同时瀚高数据库支持自动部署,云检测, 多租户等技术. 成本控制:HighGo DB V4 提供与国际品牌数据库产品相同的品质,具有 高性价比, 降低使用及维护成本, 更专业的服务, 支持国内用户进行国产化创新. 有始有终,全面的服务:为用户提供全方位、多层次、高品质的专业服 务.瀚高拥有一支成熟高效的专业服务团队,拥有十多年的运维服务实战经验, 服务对象涉及各个行业,能够为瀚高数据库的用户提供强有力的运维服务保障. 产品技术白皮书 瀚高基础软件股份有限公司
6 /
24
二、产品功能 2.1 产品架构 HighGo DB V4 采用多进程模式,能够充分确保高并发情况下数据库的稳定 性和扩展性.客户端经过鉴权认证与守护进程建立连接后,与数据库实例的共享 内存区进行交互.后台写进程、日志写进程、状态收集进程、自动清理进程、归 档进程等后台进程维护数据库实例的内存结构, 确保数据库的访问性能和数据安 全性. HighGo DB V4 具备传统的关系型数据库优秀特性,严格遵循 ACID 特性,通 过多版本并发控制(MVCC) 、事务日志及约束等技术,在事务处理要求较高的行 业和使用场景中,充分满足用户业务系统的严格要求.同时通过对 JSON 的原生 支持具备了 NoSQL 的特性,提供更灵活的数据存储方式,使之可适用于更广泛的 使用场景. 图1:产品架构图 产品技术白皮书 瀚高基础软件股份有限公司
7 /
24 2.2 通用性功能 硬件平台支持 HighGo DB V4 支持多种硬件平台,可运行于 X86 架构、SPARC、POWER、ARM 等硬件平台上,支持飞腾、龙芯、申威等国产 CPU. 操作系统支持 HighGo DB V4 支持多种操作系统,包括 Windows、Linux 系列及国产操作系 统平台. 应用开发支持 ? 应用程序接口 HighGo DB V4 支持丰富的开发语言接口,例如 Libpq、JDBC、ODBC、.NET、 C/C++等,以满足不同的开发者需求. ? 应用中间件 HighGo DB V4 版本支持主流的商业及开源中间件产品,完成了与国内中间 件产品,例如东方通、金蝶、中创等的兼容适配工作. ? 编程语言 HighGo DB V4 支持开发人员使用自己熟悉的语言在服务器端编程,包括: PL/pgSQL、PL/java、PL/Python、PL/PHP、C/C++、PL/V8(JavaScript)等. SQL 标准支持 HighGo DB V4 遵循最新的 SQL:2011(ISO/IEC 9075:2011)标准. 内置丰富功能 ? 数据类型 HighGo DB V4 支持丰富的数据类型,分为四类:基本数据类型、复合数据 类型、域类型和伪类型. ? 基本类型、复合类型有:数值类型、货币类型、字符类型、二进制类型、日期/时间类型、布尔类型、枚举类型、几何类型、网络地址、位串类型、文本搜 索类型、UUID、XML、JSON、数组类型、组合类型、范围类型、OID 类型、LSN 类型. 产品技术白皮书 瀚高基础软件股份有限公司
8 /
24 ? 域类型是自定义的带有可选约束的数据类型;
? 伪类型用来定义一个函数的参数或结果类型. 每种数据类型都提供丰富的操作功能,用户也可以通过自定义数据类型满足 应用开发的需要.利用 JSON/JSONB 类型可以实现 NoSQL 数据库的功能,使用更 方便,性能更优异. ? 索引 HighGo DB V4 提供 B-tree、Hash、GiST、SP-GiST、GIN 和BRIN 六种索引 类型,根据不同的查询场景可以灵活的选择合适的索引. 索引可以灵活定义,比如: ? 可以创建在多个列上,目前最多可支持
32 个字段上创建多列索引;
? 可以创建唯一索引,主键或唯一约束的字段上会自动创建唯一索引;
? 可以创建表达式索引,使用函数或标量表达式;
? 可以创建部分索引,只对表中符合条件的数据子集进行索引. ? 函数 HighGo DB V4 提供了强大的函数支持,除通用的比较函数、数学函数、字 符串函数、日期函数、聚集函数外,还支持枚举函数、几何函数、网络地址函数、 文本搜索函数、JSON 函数、XML 函数、数值函数、窗口函数,另外也提供了大量 的管理函数便于数据库管理. 利用窗口函数、JSON 函数等可以实现大规模数据的分析. 开发者也可以利用自己熟悉的语言创建自定义函数(UDF) . 2.3 企业级特性 HighGo DB V4 拥有丰富的企业级特性,帮助企业客户更加便捷的使用数据 库,为企业客户的业务和数据资产提供更加优质的服务.这些企业级特性包括高 性能、高可用、易用性、安全性、兼容性等. 产品技术白皮书 瀚高基础软件股份有限公司
9 /
24 2.3.1 高性能 搭建具备高性能特征的复杂数据库系统一直是诸多用户追求的目标之一. HighGo DB V4 通过以下技术来提升数据库整体性能: JIT 动态编译技术 HighGO DB V4 版本的 JIT(just-in-time)SQL 加速特性,极大的提升了复 杂SQL 查询的性能,提高了 OLTP 及OLAP 混合负载情况下的处理能力. LLVM 提速机制 HighGo DB V4 新特性 LLVM 提速机制是一个开源编译器框架.LLVM 高度模块 化结构,提供了具有出色表达形式的 IR(Intermediate Representation)语言, 它可以作为多种语言的后端, 提供与编程语言无关的优化和针对多种 CPU 的代码 生成功能. LLVM 在设计上优化了传统编译器对 CPU 缓存使用率.LLVM 无需额外设置, 在程序运行过程中会自动判断是否启用,启用后性能最高可提升 8-10 倍. 并发控制 多版本并发控制技术(即:MVCC-Multi version concurrency control)保 证了多用户并发操作场景下的数据库一致性. HighGo DB V4 在内部提供了 MVCC 来维护对数据的并发访问.MVCC 避免了传 统数据库系统的锁机制, 最小化锁争夺, 从而保证了多用户环境下的合理的性能. MVCC 读数据和写数据并不冲突, 所以读不会阻塞写, 写也不会阻塞读. 使用 MVCC 并发控制技术,能够大幅度提高对事务的并发处理能力,达到提升数据库整体性 能的目的. 查询优化策略 对于复杂的 SQL 查询,查询优化所起的作用尤为重要.为满足多种复杂查询 场景的需求,HighGO DB V4 提供了高效的查询优化技术. HighGO DB V4 采用代价估算的查询优化策略来提高查询效率.当执行一条 复杂的查询语句时,查询优化器会对该查询生成一个查询计划,并对这些查询计 划进行时间开销估算,自动从中选择最优的执行计划. 产品技术白皮书 瀚高基础软件股份有限公司
10 /
24 查询性能受多种因素影响,其中一些因素可以由用户控制.通过 Explain 命 令查看优化器生成的查询计划,分析查询计划中给出的时间开销等性能提示,可 以针对性的对开销过大的 SQL 语句进行优化,最大化的提升语句的执行效率. 数据分区 为提升海量数据库中的大表(超大表)的读写性能,HighGO DB V4 提供了 多种数据分区方案:范围分区、列表分区、哈希分区.分区是把大表(超大表) 横向或纵向分成若干个子表,采用分而治之的策略.从而在数据查询时避免全表 扫描,降低 I/O 交互,提高读写效率. 分区给用户带来的价值: 1) 分区后,单个分区表都相对较小,可以保持在内存里,适合把热数据从 大表拆分出来的场景;
2) 对于大范围查询场景,可以使用分区表扫描.减少大表索引带来的随机 BLOCK 扫描;
3) 对于删除大表来说,使用 Delete 会带来大量的 VACUUM 操作负担.使用 分区表可以直接 DROP 分区,或者脱离子表和父表的继承关系.在适用场景下, 利用上述分区方法,数据库系统能获得指数级的性能提升. 高效的数据缓冲机制 缓存对于数据库的系统性能有着重要意义.HighGo DB V4 利用结果集缓存 方式提高数据库的操作效率,有效地减少系统与磁盘的 I/O 交互. HighGo DB V4 能够把用户经常访问的热数据放至系统内存,以便在 SQL 语 句执行过程中尽可能提升内存缓冲区的命中率.相同的查询语句,如果涉及的表 数据无变化,可以直接重用缓存中的结果集,避免了直接访问大量的原始基表和 耗时连接操作,从而有效的提高了查询的执行效率. 批量数据加载 针对传统的 COPY...FROM...方式的数据导入机制,执行效率相对较低,对 于海量数据的导入需求,性能上无法满足.HighGo DB V4 提供了数据加载工具 (PG_Bulkload) ,该工具主要是用来批量加载海量数据,在逐行解析外部文件的 产品技术白皮书 瀚高基础软件股份有限公司
11 /
24 过程中,可以选择不写日志的方式,也可以设置跳过错误的行进行数据的快速加 载. 2.3.2 高可用 HighGo DB 支持多种高可用技术和架构,包括 HA 双机架构、多节点集群架 构等.针对目前用户对高可用方面的需求,通过综合考量,为用户提供最佳高可 用解决方案. 基于共享存储的 HA 双机架构 HighGo DB 支持 HA 双机架构.在两台服务器上分别安装 HIGHGO DB V4 数据 库,通过共享存储实现各节点的数据共享,保证数据的一致性,即可完成 HA 双 机的部署.HA 两节点分为主、备节点,通过对数据库服务运行状况的定时监测, 如果发现主节点服务器无法连接,则启动备用节点.HA 双机可通过手动及自动 的方式完成切换. 图2:基于共享存储的 HA 双机架构 产品技术白皮书 瀚高基础软件股份有限公司
12 /
24 HA 集群同时监视两台主机的系统状态,协调两台主机的工作,维护系统的 可用性. 多节点集群架构 HighGo DB V4 多节点集群架构有效利用流复制技术,支持在多个节点的 HighGo DB V4 服务器之上搭建健壮的、高可靠性的集群架构.集群中主从节点 分别搭建在多个服务器上, 并且通过非共享存储的方式实现一主多备的多节点集 群.主从节点可通过集中管理系统实现负载均衡,彼此分担应用访问压力.节点 间数据通过流复制技术完成准实时的数据同步.在应用系统的配合下,可实现读 写分离. 以HighGo DB V4 为数据库基础平台的多节点集群架构为业务系统的横向扩 展提供了一个选择.通过 HighGo DB V4 集群,用户可以利用更低成本的 X86 服 务器来降低总拥有成本,并提供一个可伸缩的计算环境来支持其应用程序负载. 集群节点可实现秒级切换,可靠性达 99.999%. 图3:多节点集群架构 产品技术白皮书 瀚高基础软件股份有限公司
13 /
24 HighGo DB V4 集群技术拥有强大的自动恢复能力,支持数据库从各类故障 ........