金仓数据库KingbaseES 在政府电子政务领域中应用
2019-04-26罗华群
文/罗华群
信息安全是国家安全和社会稳定的基石和命脉,针对网络安全、信息系统自主可控(国产化)要求政策频出,国家对自主可控给予高度重视,政策支持力度不断,加速国产替代进程。2013年“棱镜门”事件敲响了我国的信息安全警钟。2016年12月《“十三五”国家信息化规划》中要求全面增强信息领域核心技术设备自主创新能力,打造自主先进的技术体系。2018年3月,国家成立中央网络安全和信息化委员会,体现信息安全已成为国家战略。数据库作为政府电子政务信息系统核心软件,如果使用国外数据库产品,源代码在外国人手上,容易造成信息泄露,为保障国家信息安全和社会稳定,特别是在政府电子政务信息化领域,必须要提高信息系统安全可靠和自主可控能力。
1 应用背景
在我国20 多年电子政务信息系统建设中,基础软硬件大都是使用国外产品,当业务系统需要个性化定制时,国外软件公司基本不提供服务,如果国外产品全面升级,则涉及到高额的服务费或面临无技术支持的两难境地。特别是在我国销售的国外数据库安全级别不高,这对政府部门相关系统数据安全是一个不容回避的问题。
本项目是上海市某区人民政府办公室为保障政务数据安全,强化安全可靠保障,以及推动国产基础软件在电子政务信息化建设中的全面应用,将电子政务综合应用平台从国外Oracle 和SQLServer 数据库移植到国产金仓数据库KingbaseES 上,实现国产化替代和性能优化,达到国家信息系统数据库三级等保建设标准。
2 数据库要求
2.1 数据库安全要求
在项目改建过程,数据库安全要满足国家信息系统中数据库三级等保建设标准。具备完善的身份鉴别、访问控制、数据保密措施、实现三权分立审计机制,避免人为错误引发数据安全漏洞或隐患。
2.2 数据库技术指标要求
电子政务综合应用平台在网络稳定的环境下,业务操作流程响应时间不大于2 秒,一般控制在1 秒内。10 万条数据的查询计算少于10 秒,100 万条数据的简单查询计算少于20 秒。系统支持不少于500 个并发用户同时使用。满足7*24 小时不间断运行需求。
图1:金仓数据库集群部署架构图
3 数据库技术方案
我国数据库软件技术相关发展,经过四十多年的不懈努力,相继经历了起步、跟踪、追赶和并跑4 个阶段,已取得了长足进步,以金仓数据库KingbaseES 为代表的国产数据库产品,经过多年的技术研发和产业推进,产品已经相对成熟,已经在政府、军工、电力、金融等领域有一大批成功应用案例。KingbaseES产品完全符合国际标准的SQL 语言及丰富多样的数据访问接口,高度兼容Oracle、DB2、SQLServer、MySQL 等为代表的国际主流数据库产品,屏蔽了金仓数据库与国外产品之间的差异,基于高兼容性特点,大大减少了应用开发和应用移植的成本,也使得应用开发人员、数据库系统维护人员在使用和学习金仓数据库的难度降低。
3.1 金仓数据库应用架构设计
在上海某区政府电子政务综合应用平台中,数据库应用架构如下图1所示,利用金仓数据库KingbaseES 采用自主研发的STANDBY 技术设计集群部署,实现数据库服务高性能、高安全、高可靠、高兼容性要求;保障数据库服务7*24 小时不间断运行,在系统本身故障、应用层错误、网络错误、人为错误等情况下,数据库系统的高可用性。
3.2 金仓数据库应用关键技术
3.2.1 海量数据处理技术
基于KingbaseES 水平分区技术,以及分区表全局索引的索引优化技术,索引覆盖、支持跨库查询、数据压缩和列存储等技术特性和优化手段,数据库单节点可轻松管理TB 级数据,满足海量数据的存储和管理功能。
3.2.2 高并发、大容量读写技术
为实现多个用户的并发控制,读写操作不再相互阻塞,KingbaseES 采用了两阶段封锁技术(2PL)和多版本并发控制技术(MVCC)相结合的读写技术(MV2PL),提高并发事务的处理能力。
3.2.3 高可靠性技术
针对数据库意外停机、系统崩溃或存储介质损坏等这些故障,KingbaseES 提供了完整的物理备份与恢复技术、基于时间点的系统恢复技术和逻辑备份及还原技术,以及自主研发的STANDBY 技术+HA 集群部署能力,实现服务7*24 小时不间断运行。
3.2.4 高安全技术
在数据库安全方面,国外数据库厂商在我国销售的数据库产品的安全级别只能达到TCSEC 认证C1 或C2 级,不能很好满足政府电子政务信息系统中三级等保的高安全要求。KingbaseES 是自主研发高等级的数据库安全产品,通过数据库等保四级技术要求测评,该级别近似等同于TCSEC 认证B2 级。
3.2.5 高兼容性技术
基 于 国 外Oracle、SQLServer 数 据 库的业务系统功能模块多、复杂度高特点,KingbaseES 在SQL 标准符合度95%以上,并兼容各种主流的开发语言和接口,屏蔽了KingbaseES 与Oracle、SQLServer 等国外数据库产品之间的差异。
4 金仓数据库应用实现
4.1 系统移植措施
上海某区电子政务综合应用平台国产数据库代替工作,涉及数据库移植、应用系统移植、功能测试与排错、性能测试与优化几项工作。
4.1.1 数据库移植工作
数据库和模式是各种SQL 和PL/SQL 数据库对象的存放容器,而用户是这些对象的管理者和使用者。因此,在迁移数据库对象之前,一般应先迁移数据库、用户和模式。先在目的数据库KingbaseES 上创建与源数据库Oracle、SQLServer 同名的数据库、用户和模式,并授予新建用户具有使用该数据库和新建模式的所有或适当的权限。在迁移数据库、用户和模式以后,则可通过迁移用户开始迁移数据库的SQL 和PL/SQL 对象。这些对象是数据库系统的核心资源,可利用迁移工具对它们进行自动迁移。这类对象主要包括用户表、各种约束、索引、GRANT 权限和视图等。数据库复杂对象,一般各个数据库厂商都采用各自特有的实现方式,没有遵循统一的标准,因此在异构数据库之间迁移这类对象很难采用自动化方式,只能采用手动或半自动化方式实现。这类对象主要包括序列、同义词、数据库链接、触发器、函数、存储过程和包等。
4.1.2 应用程序程序移植工作
在完成数据库对象迁移以后,才可开始迁移应用程序,主要原因是:在用程序中,可能会访问和操作前面迁移的数据库对象。主要包括接口驱动程序和连接方法的移植,以及源库扩展或私有的API 移植。在实际应用中应用程序移植与移植系统测试与调试交叉进行。
4.1.3 功能测试与排错工作
任何一个成熟的应用系统如果代码、尤其是关键代码变动后,则应进行全面细致的测试。类似的,更换新的后台数据库系统以后,也应对移植后的数据库系统进行全面的功能和性能测试。功能测试是指对移植数据库系统的每一个模块和功能进行全面的系统回归测试,用以确保新系统各个功能的正确性。因此,完成数据库对象和应用程序迁移后,应对移植系统进行全面的功能测试,并对测出问题及时分析、排查和修改。
4.1.4 性能测试和调优工作
在完成移植系统功能测试后,在实际或模拟生产数据上,对移植系统进行的性能测试和调优。利用TPCC 测试工具,如LoadRunner等对移植系统进行测试。对未达到性能指标的功能模块及其SQL 语句进行优化并给出相关建议。建议性能测试时,测试数据规模、软硬件配置应尽量与将来的实际生产环境一致。必要时,在未来一年、两年、五年等不同模拟数据规模场景下,应分别测试移植系统的性能指标,用以保证移植系统未来仍能具有良好的性能表现。
4.2 性能优化改进
4.2.1 查询优化应用
数据库查询优化是关系到整个系统性能体现,特别是复杂SQL 语句的执行性能非常重要。金仓数据库KingbaseES 采用的技术主要包括:
(1)数据查询优化。KingbaseES 是采用执行计划代价计算模型进行优化,它的基本思路是:对于查询语句,首先会有多个执行计划处生成,然后依据系统收集的各种统计信息估算每个计划的代价。最后,查询优化程序自动按预定义的启发式规则从中选择次优或最优的执行计划。
(2)SQL 语句重写。KingbaseES 查询优化器可依据预先定义的启发式规则重写用户的SQL 语句,它的基本实现思路是:优化器依据预先定义的启发式规则,采用显著减少扫描、连接或聚合的次数等优化机制,将SQL语句转换成执行结果相同,但执行效率更高的新SQL 语句。
就在今年的9月3日,投产仅半年的天津LNG接收站外输气量已突破10亿立方米。天津LNG接收站是国家“十三五”重点项目,一期工程设计年接转能力300万吨,相当于40亿立方米天然气,对保障我国能源供应具有重要意义。日均外输量已达1500万立方米,日计划完成率100%。
4.2.2 缓存优化应用
在数据库性能优化技术中,缓存优化是其中非常重要的技术。通过KingbaseES 从多角度实现该技术,从而有效减少了系统的磁盘I/O 压力,采用的技术主要包括:
(1)数据缓存优化。随着处理器性能的不断提高,数据库在磁盘I/O 读写上在性能瓶颈更加突出。针对这一问题,KingbaseES 进行缓存优化配置,把系统内部的统计信息把经常访问的用户数据放在内存,而把不经常访问的数据放在外存,以便在SQL 语句执行过程中尽可能提升内存缓冲区的命中率,减少系统对磁盘的访问次数,从而有效应对I/O 瓶颈。
(2)结果集缓存优化。若能重用其他查询语句的执行结果集,则不仅能节约执行计划计算时间,还能节约该计划的执行时间。在内部实现上,KingbaseES 采用键/值方式存放需缓存的结果集。其中,键既可用查询,也可用查询执行计划标识。当采用执行计划做键时,这类键一般会占用较多的存储空间。为减少这部分空间,KingbaseES 对它们进行了MD4 或者SHA1 摘要处理,从而有效提升了系统能缓存的结果集个数。
4.3 系统安全加固
4.3.1 强化身份鉴别应用
金仓数据库KingbaseES 进行强化口令的身份鉴别设置,包括对数据库用户密码复杂、密码有效期、用户锁定等进行安全设置。通过强化身份鉴别与SSL 安全传输相结合,KingbaseES 建立了服务器与客户端的可信路径安全通道,实现了双向可信认证,杜绝假冒用户身份或者假冒数据库服务器的恶意行为,并进一步防范这些恶意行为可能引发的重放攻击。
4.3.2 管理特权分立应用
数据库系统中用户权限主要分三种,即数据库管理员(DBA)和数据对象属主用户以及被对象属主授权的其他用户。在这种机制下,只要获得管理员权限,整个数据库系统便被完全控制,容易造成严重的后果,不符合安全系统的“最小特权”原则。针对这个问题,KingbaseES 对管理员的权限进行了分割与限制,提出一种基于特权分立的全新管理模式。这种模式包括两部分内容,即三权分立和受限DBA。这二者间的关系是:受限DBA 把三权分立中的DBA 权限进行了分割,分为弱化的DBA 权限和属主权限;数据库管理员(DBA)、安全管理员(SSO)和审计管理员(SAO)三个角色各行其责,相互排斥,相互制约,继而避免了数据库管理员权限的滥用,导致安全隐患。
4.3.3 安全审计应用
审计是应对这种情况的一种常用安全保障措施,因为没有百分百安全措施,想要故意破坏或盗窃数据的人会想尽办法打破控制。基于KingbaseES 进行安全审计功能配置,定义与数据库安全事件相关的审计规则,通过检查和分析审计日志,提前采取有效的措施对潜在的威胁加以防范,进行全面监控与审计数据操作和用户行为。
4.3.4 数据库存储保护应用
用户数据是数据库系统的核心资源,其安全性对整个系统至关重要。通常,用户数据中包含具有保密要求的重要信息,如商业秘密信息。一旦这些信息被窃取或篡改,将给用户造成极大损失,甚至带来灾难性的后果。因此,保障用户数据安全是非常必要的。KingbaseES为用户数据提供多方位的保护,有效杜绝对恶意用户对存储数据的非法窃取及外部破坏和篡改,采用的保障措施如下:
(1)数据存储完整性保护。通过在每个数据块头增加“数据水印”,KingbaseES 实现了数据存储过程中的完整性校验和保护。每次读磁盘时,自动进行数据水印校验;每次写磁盘时,自动更新数据水印。这样,可以有效杜绝来自数据库外操作系统层的非法篡改,整个过程对用户完全透明。
(2)数据存储透明加密。KingbaseES 支持IDEA、DES、AES、RC4 和SM2 等多种加密算法,对数据库存储信息进行加密保护。针对特定的表、函数、存储过程、表空间进行加密设置,加解密过程对用户完全透明,支持带密检索。系统密钥管理中,加密数据的密钥在运行时生成,由加密模块自行完成,为避免单点突破不同数据对象,可采用“一表一密”不同的加密密钥,使密钥的安全性得到有效保证。
5 金仓数据库的作用
在本项目中,金仓数据库KingbaseES 产品具备高兼容特性,利用金仓数据迁移工具,很容易将Oracle、SQLServer 数据库平滑移植到KingbaseES 上,完成电子政务应用适配;KingbaseES 具备数据库等保安全四级认证,与在我国销售的国外数据库安全级别相比,具备更高安全优势,增强了系统中数据库的安全性;提供本地化技术支持和代码级优化服务,保证了项目顺利改造和成功上线运行。
6 结论
近年来,中美贸易摩擦不断发酵,为彰显我国在战略性高新技术产业中实现自主可控的重要性,相关软硬件加快国产替代刻不容缓。因此,在电子政务信息系统中采用自主可控金仓数据库KingbaseES 替换国外产品,对于实现国产化替代、打造自主可控的IT 环境有着非常重要的措施和布局。
上海市某区政府电子政务综合应用平台国产化改造上线运行至今,整体运行稳定,满足系统功能和性能要求,电子政务核心应用采用国产金仓数据库完全有能力支撑;因此,基于国产金仓数据库KingbaseES 应用解决方案面向市场,面临的最大问题不是技术上的障碍,而是广大用户对于国产软件不够了解,应用上缺乏信心。国产数据库在努力做好产品、做好服务的前提下,应大力宣传产品及方案的可用性,树立品牌,打消用户的顾虑。同时,国产数据库软件的应用和推广,对于我国基础软件产业竞争力的提高,满足政府重要信息系统自主可控和安全可靠的需要,保障国家信息安全,具有积极而深远的意义。