技术白皮书金仓数据库管理系统1北京人大金仓信息技术股份有限公司Beijing BaseSoft Information Technologies Inc.金仓数据库管理系统技术白皮书库管理系统技术白皮书目 录1. 概述 (6)2. 产品构成 (6)3. 产品功能 (7)4. 通用性 (7)4.1 符合国际标准 (7)4.2 跨平台支持 (8)4.3 多语言支持 (8)4.4 海量数据存储和管理 (8)4.5 XML 支持 (9)4.6 全文检索引擎 (9)4.7 对 Web 应用的支持 (9)5. 高性能 (9)5.1 大规模并发处理能力 (9)5.2 有效的查询优化策略 (10)5.3 加强的缓冲机制 (10)5.4 服务器端线程池 (10)5.5 SMP 支持及64位计算 (11)5.6 数据分区 (11)6.高安全性 (11)6.1 数据安全权限管理 (11)6.2 数据安全访问控制 (11)6.3 数据安全存储 (12)6.4 数据安全传输 (13)7.高可靠性 (13)7.1 故障恢复机制 (13)7.2 双机热备技术 (13)7.3 自动备份管理 (14)7.4 集群技术 (14)8.与主流数据库的兼容性 (14)8.1 与 Oracle 的兼容 (14)8.2 与 DB2 的兼容 (14)4库管理系统技术白皮书15易使用SQL标准符合主流DBMS兼容易管理系统初始化工具集成易用的企业管理器安全版特性安全版、企业版特性安全版、企业版、标准版特性单机版在标准版基础上裁剪、定制库管理系统技术白皮书提供符合. NET 平台要求的.NET Data Provider。
提供符合 PHP 扩展规范的接口。
提供符合 Perl 扩展规范的接口。
提供兼容 Oracle OCI 的数据访问接口。
完善的应用开发支持支持Visual 、Eclipse、NetBeans、JBuilder、PowerBuilder、Delphi、C++ Builder 等流行的开发环境。
支持WebSphere、WebLogic、JBoss、TomCat、东方通TongWeb、金蝶Apusic、中创 InforWeb 等主流的应用服务器。
与国际主流数据库(Oracle、DB2、SQL Server等)高度兼容,开发人员容易复用以前开发其它数据库应用程序的经验,提高系统的可移植性,降低开发和移植的工作难度。
提供 PowerDesigner 等数据库建模工具的插件,可以简化数据库设计和建模,方便数据库的移植和迁移。
4.2 跨平台支持KingbaseES 服务器支持多种软、硬件平台,底层的数据存储结构一致。
通过一致的操作系统的抽象层,使得服务器可以支持多种操作系统。
KingbaseES 支持微软的 Windows 系列版本,支持各种主流的 Linux 发行版本,支持麒麟 Kylin 操作系统,支持 AIX、HP-UX、Solaris 等 UNIX 操作系统。
KingbaseES 的图形工具大多基于Java语言开发,可以跨平台工作,同一程序无需重新编译,将其执行代码拷贝到任一种操作系统平台上,都能直接运行。
KingbaseES 的所有产品组件采用统一的人机交互界面风格,提供图形和命令行等多种人机交互方式。
KingbaseES 支持多种网络环境。
支持广域网环境,支持 Internet 环境下的 B/S 结构。
支持以 TCP/IP 网络协议为基础的网络环境。
支持服务器与客户端在同一台计算机上的单机系统环境。
4.3 多语言支持KingbaseES 的全系列产品,包括服务器、数据访问接口、工具集都支持国际通用的UNICODE 字符集。
KingbaseES 支持 GBK、GB18030 国家标准,并通过了中国电子技术标准化研究所认证中心的 GB18030 符合性认证。
KingbaseES 支持服务器和数据访问接口使用不同的字符集设置。
4.4 海量数据存储和管理KingbaseES 支持可扩展的逻辑和物理存储结构,每个服务器可以支持多个独立的数据库,用户可以动态创建数据库,每个数据库相对独立。
KingbaseES 支持的数据存储容量达到TB级,可以满足支持大型、海量数据的应用。
系统支持海量数据的存储和管理功能,数据量达到 TB 级。
支持多媒体数据类型。
支持二进制大对象(BLOB)和字符大对象(CLOB),支持的单个大对象大小可达到2G。
8库管理系统技术白皮书5.2 有效的查询优化策略查询优化对于关系数据库的性能,特别是对于执行复杂的 SQL 语句的性能而言非常重要。
KingbaseES 提供了多种可以满足非常复杂环境的要求的查询处理技术。
查询优化技术能计算最优的查询路径以提高查询的效率。
主要的查询优化技术包括:基于代价的查询优化,以获得有效的数据访问。
使用基于代价的优化,对于一个给定查询生成多个执行计划,并对每个计划计算估计代价。
然后查询优化程序选择最佳计划,即估计代价最低的计划。
此查询优化的过程对于应用程序和最终用户是完全透明的。
KingbaseES的查询优化程序的代价模型准确而完整。
SQL 语句转换优化程序将用户编写的 SQL 语句转换成可以返回相同结果、但可以更有效地处理的 SQL 语句。
通过大大减少需要扫描、连接或聚合的数据量来提高查询性能。
执行计划选择执行计划描述了 SQL 处理的所有执行步骤,如访问表的顺序;如何将这些表连接在一起,以及是否通过索引来访问这些表等等。
查询优化器通过评估可能的执行计划,选择代价最优的执行计划。
代价评估模型评估这些执行计划的代价,并选择其中代价最低的计划,优化程序依赖于组成 SQL 语句执行的单独操作的代价评估。
KingbaseES 的代价评估模型利用了数据库对象的一系列统计信息,计算每个执行计划的代价。
5.3 加强的缓冲机制为了提高数据库的性能,KingbaseES 采用了多种缓冲机制,减少系统的I/O次数,提高系统的运行效率。
优化的数据库缓冲区数据的 I/O 一直是数据库性能的瓶颈之一,随着处理器速度的不断提高,这一问题变得更加突出。
KingbaseES 采用多种数据缓存技术将经常访问的数据保存在内存中来减少磁盘的访问次数,包括数据缓存、执行计划缓存、结果集缓存以及缓冲区封锁优化,缓冲区淘汰页面压缩技术等。
执行计划的缓存KingbaseES 提供了执行计划的缓存功能,对于相同的 SQL 语句或只是绑定变量不同的 SQL 语句,则可以实现执行计划的共享。
这样对于复杂查询来说,在共享执行计划的情况下,可以提高系统的性能。
结果集的缓存在许多互联网应用中,用户对信息的查询不需要保持实时的准确性,因此KingbaseES 可以把查询的结果集缓存一段时间,这样在多用户并发的情况下可以共享同一个查询的结果集,从而提高系统的吞吐量。
5.4 服务器端线程池KingbaseES 服务器采用的是多线程技术,但是需要为每个连接请求创建一个新的服务10库管理系统技术白皮书品质量监督检验中心测试认证,安全级别达到《GB/T 20273-2006 信息安全技术数据库管理系统安全技术要求》第三级(相当于TCSEC B1级),并获得公安部计算机信息系统安全专用产品销售许可证。
6.1 数据安全权限管理三权分立的安全体系KingbaseES 采用了三权分立的安全管理体系确保数据库权限管理的安全。
将数据库管理与维护任务分为:系统管理与维护、安全管理与维护、安全审计。
定义了系统管理员、安全管理员、安全审计员三类角色。
每个角色只能执行相应的管理与维护任务,确保数据库管理权限的合理分配和使用,避免超级管理员权限的滥用。
三权分立、各行其责、相互制约,避免来自内部的数据泄密。
数据库安全审计KingbaseES 配置了独立的安全审计系统,设置了专门用于存储数据库系统审计数据的安全审计库,设置了专门的安全审计员,对数据库和用户的行为进行监控与审计。
安全审计员可以定义与数据库安全事件相关的审计事件。
KingbaseES提供了供安全审计员使用的安全审计设置、分析和查询的工具。
审计员可以分析审计信息,跟踪审计事件。
6.2 数据安全访问控制KingbaseES 采用多种手段确保用户访问数据的合法性。
防止非法的用户未经授权的访问,避免数据泄密。
身份验证KingbaseES 根据用户名和口令确定该用户是否为数据库的合法用户。
支持的口令管理功能包括:口令设置、口令复杂度检验、口令有效期限设置、口令更改历史纪录等。
系统也提供基于操作系统等的外部身份验证。
自主访问控制KingbaseES 利用 ACL(访问控制列表)列表实现自主访问控制。
权限规定了用户和角色在数据对象上可以执行的操作,对用户和角色的存取权限的定义称为授权。
当用户进行数据访问操作时,根据该用户以及其所属角色被授予的权限,决定是拒绝还是接受用户的操作。
强制访问控制KingbaseES 提供了基于标签的访问控制方式。
强制访问控制主要是针对用户和元组而言。
用户操作元组时,不仅要满足自主访问控制的权限要求,还要满足用户和元组之间安全等级标签的相容性,按照简单保密性原则——从下读、向上写,根据用户、元组的安全属性实现强制访问控制。
强制访问控制的客体粒度达到元组级。
KingbaseES 建立了三权分立的安全模型,设置了独立的安全管理员,只有安全管理员才能进行安全标签操作,避免了权力权限全部由数据库管理员一人负责的局面,防止超级管理员的权力滥用。
6.3 数据安全存储KingbaseES 实现了对存储数据的加密保护。
保存在数据库中的信息经过加密,即使数库管理系统技术白皮书7.3 自动备份管理KingbaseES 通过作业调度系统或操作系统提供的计划任务模块,提供周期性的自动备份功能。
应用可以按照配置的备份周期和备份位置自动执行数据库的备份工作,提高了系统的可靠性,也减轻了系统的运行维护成本。
7.4 集群技术KingbaseES 支持由多台计算机组成的集群,数据库集群由一台主服务器(Master)与多台从服务器(Slave)组成,在数据库服务器间使用数据库同步技术,写操作全部针对主数据库(通过重做日志,主服务器上的写操作可以迅速同步到从服务器上),读操作在多个数据库上同时进行,达到负载均衡,提高系统性能的目的。
当一台服务器出现故障时,不影响数据库的正常运行。
8.与主流数据库的兼容性KingbaseES 针对 Oracle、DB2、SQL Server 等为代表的国外主流数据库产品,在服务器、接口、工具等各组件中全面改进了兼容性,屏蔽 KingbaseES 与这些产品之间的差异,从而减少现有应用移植和新应用开发的成本,降低数据库系统管理员、应用开发人员等学习和使用 KingbaseES 的难度。