达梦数据库管理系统DM7白皮书.pdf
《达梦数据库管理系统DM7白皮书.pdf》由会员分享,可在线阅读,更多相关《达梦数据库管理系统DM7白皮书.pdf(296页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、目录 目录目录 第 1 章 概述 .1 1.1 功能特性 .1 1.1.1 通用性 .1 1.1.2 高性能 .2 1.1.3 高安全性 .4 1.1.4 高可靠、高可用性 .5 1.1.5 易用性 .6 1.1.6 对存储模块的支持 .9 1.1.7 对 Web 应用的支持.9 1.2 主要技术指标 .9 第 2 章 DPI 编程指南 .11 2.1 基础简介 .11 2.2 进阶 .14 2.3 函数原型 .20 2.4 编程参考 .70 2.5 数据捕获 .100 2.5.1 数据类型 .101 2.5.2 相关方法 .101 2.5.3 数据信息搜集表 .103 2.5.4 举例说明
2、.104 第 3 章 DMODBC 编程指南 .107 3.1 数据类型 .107 3.2 支持的函数 .108 3.2.1 连接到数据源 .109 3.2.2 获取驱动程序和数据源信息 .109 3.2.3 设置或者获取驱动程序属性 .110 3.2.4 设置或者获取描述符字段 .110 3.2.5 准备 SQL 语句 .110 3.2.6 提交 SQL 请求 .110 3.2.7 检索结果集及其相关信息 .110 3.2.8 取得数据源系统表的信息 .111 3.2.9 终止语句执行 .111 3.2.10 中断连接 .112 3.3 建立 ODBC 连接 .112 3.3.1 申请环境与
3、连接句柄 .112 3.3.2 如何与数据源进行连接 .113 3.3.3 设置与取得连接的属性 .115 3.3.4 断开与数据源之间的连接 .115 3.4 ODBC 应用程序编程的基本步骤 .117 3.4.1 Windows 上创建 ODBC 数据源 .117 I 目录 3.4.2 Linux 上创建 ODBC 数据源 .121 3.4.3 ODBC 应用程序编写的基本步骤 .123 3.5 使用存储过程和函数 .126 3.5.1 存储过程与函数字典信息的获取 .126 3.5.2 存储模块的创建 .127 3.5.3 存储模块的调用 .127 第 4 章 DM JDBC 编程指南
4、.130 4.1 JDBC 介绍 .130 4.2 JDBC 基本示例 .130 4.3 DM JDBC 特性 .138 4.4 DM JDBC 扩展 .139 4.4.1 数据类型扩展 .139 4.4.2 读写分离集群下的错误信息 .140 4.5 建立 JDBC 连接 .140 4.5.1 通过 DriverManager 建立连接 .141 4.5.2 创建 JDBC 数据源 .142 4.5.3 数据源与连接池 .143 4.5.4 DM 扩展连接属性的使用 .143 4.6 Statement/PreparedStatement/CallableStatement.146 4.6.
5、1 Statement.146 4.6.2 PreparedStatement.148 4.6.3 CallableStatement.150 4.7 ResultSet.152 4.8 流与大对象 .155 4.8.1 Stream 使用 .155 4.8.2 LOB 对象使用 .157 4.9 元数据 .158 4.9.1 ResultSetMetaData.158 4.9.2 DatabaseMetaData.158 4.9.3 ParameterMetaData.159 4.10 RowSet.160 4.10.1 CachedRowSet.160 4.10.2 JdbcRowSet.
6、161 4.11 分布式事务支持 .162 4.11.1 XADataSource.162 4.11.2 XAConnection.162 4.11.3 XAResource.163 4.11.4 Xid.164 4.11.5 实例解析 .164 第 5 章.NET Data Provider 编程指南 .166 5.1 数据类型 .166 5.2 提供的对象和接口 .166 5.2.1 DmConnection 对象 .166 5.2.2 DmCommand 对象 .168 II 目录 5.2.3 DmDataAdapter 对象 .168 5.2.4 DmDataReader 对象 .16
7、9 5.2.5 DmParameter 对象.170 5.2.6 DmParameterCollection 对象 .170 5.2.7 DmTransaction 对象 .171 5.2.8 DmCommandBuilder 对象 .171 5.2.9 DmConnectionStringBuilder 对象 .171 5.2.10 DmClob 对象 .172 5.2.11 DmBlob 对象 .172 5.3.NET Data Provider 基本示例 .172 5.4 对象使用 .174 5.4.1 连接 .174 5.4.2 查询与结果集 .174 5.4.3 插入、更新、删除 .
8、175 5.4.4 大对象 .177 5.4.5 自增列 .178 5.4.6 存储过程与函数 .178 第 6 章 DM PHP 编程指南 .181 6.1 DM PHP 介绍 .181 6.2 基本示例 .182 6.3 DM PHP 模块加载 .185 6.4 编程接口 .187 第 7 章 DM DCI 编程指南 .197 7.1 DM DCI 介绍 .197 7.2 数据类型 .197 7.3 参考函数 .198 7.3.1 关系型接口函数 .198 7.4 使用 DM DCI 编程基本步骤 .240 第 8 章 DM FLDR 编程指南 .247 8.1 DM FLDR 接口介绍
9、.247 8.2 DM FLDR 接口说明 .247 8.2.1 返回值说明 .247 8.2.2 接口说明 .247 8.3 编程实例 .256 第 9 章 DM FLDR JNI 编程指南 .258 9.1 DM FLDR JNI 接口介绍 .258 9.2 接口说明 .258 9.3 DM FLDR JNI 编程实例 .262 第 10 章 Logmnr 接口使用说明 .268 10.1 JNI 接口 .268 10.1.1 接口说明 .268 10.1.2 编程实例 .273 10.2 C 接口 .275 10.2.1 接口说明 .275 III 目录 10.2.2 编程实例 .281
10、 附录 1 错误码汇编 .283 1 DM 服务器错误码汇编 .283 2 DPI 错误码汇编 .283 3 OCI 错误码汇编 .286 4 OCCI 错误码汇编 .290 附录 2 DM 技术支持 .292 IV 第 1 章 概述 第第 1 章章 概述概述 DM7 是达梦数据库有限公司推出的新一代高性能数据库产品。它具有开放的、可扩展的体系结构,易于使用的事务处理系统,以及低廉的维护成本,是达梦公司完全自主开发的产品。DM7 以 RDBMS 为核心,以 SQL 为标准,是一个能跨越多种软硬件平台、具有大型数据综合管理能力的、高效稳定的通用数据库管理系统。数据库访问是数据库应用系统中非常重要
11、的组成部分。DM 作为一个通用数据库管理系统,提供了多种数据库访问接口,包括 ODBC、JDBC、DPI、OLEDB 以及嵌入方式等。本书详细介绍了 DM 的各种访问接口,相应开发环境的配置,以及一些开发用例。本书的主要读者是从事过数据库应用系统开发,并具有 SQL 使用基础的程序员。开发一个应用系统,需要对其使用的数据库管理系统所具有的功能、性能、特性有较深入的了解。DM 作为一个通用的数据库管理系统,具有非常丰富的功能和特色。1.1 功能特性功能特性 DM 除了具备一般 DBMS 所应具有的基本功能外,还特别具有以下特性:1.通用性;2.高性能;3.高安全性;4.高可靠、高可用性;5.易用
12、性;6.海量数据存储和管理;7.全文索引;8.对存储模块的支持;9.对 WEB 应用的支持。以下对这些特性做具体介绍。1.1.1 通用性通用性 DM 是大型通用数据库管理系统,其通用性主要表现在以下四个方面:1.SQL 及接口的开发符合国际通用标准及接口的开发符合国际通用标准 符合 SQL92/SQL99、ODBC、JDBC、OLE DB、PHP、.NET Provider 等国际标准或行业标准,提供所有数据库标准接口;支持 SQL92 标准的所有数据类型;SQL92 入门级标准符合率达到 100%,过渡级也达到 100%;提供了符合 ODBC 3.0 标准的 ODBC 接口驱动程序、符合 J
13、DBC 3.0 标准的 JDBC 接口驱动程序和符合 OLE DB 2.7 标准的 OLE DB 接口驱动程序。支持 eclipse、JBuilder、Visual Studio、Delphi、C+Builder、PowerBuilder 等各种流行的数据库应用开发工具。此外,为了提高数据库的通用性,DM 还增加了一些其他数据库的数据类型、函数和语 1 第 1 章 概述 法等特性,与国外数据库管理系统(如 Oracle、SQL Server 等)高度兼容,如:同时支持自增列和序列。而且从数据库市场现状和技术人员开发习惯的角度出发,注重在功能扩展、函数配备、调用接口及调用方式等方面尽量与国际主流
14、的各类数据库产品接轨,提高应用系统的可移植性和可重用性,降低开发厂商移植和升级的工作难度和强度。2.跨平台支持跨平台支持 DM 服务器内核采用一套源代码实现了对不同软件(WINDOWS/LINUX/UNIX/AIX/SOLARIS 等)、硬件(X64/X86/SPARC/POWER/TITAM)平台的支持,各种平台上的数据存储结构完全一致。与此同时,各平台的消息通信结构也完全保持一致,使得达梦数据库的各种组件均可以跨不同的软、硬件平台与数据库服务器进行交互。DM 支持 WINDOWS 2000/XP/2003、2.4 及 2.4 以上内核的 LINUX(Redhat、Debian、Suse、红
15、旗、中标等)、麒麟操作系统(Kylin)、AIX、SOLARIS 等国内外常用操作系统。DM 的管理工具、应用开发工具集使用 Java 编写,从而可以跨平台工作,即同一程序无需重新编译,将其执行码拷贝到任一种操作系统平台上都能直接运行。这也保证了它们在各种操作系统平台上都有统一的界面风格。DM 产品采用一致的人机交互界面,既有易于操作使用的图形化界面工具,也有丰富的命令行控制台工具。3.支持对称多处理机系统支持对称多处理机系统 由于 DM 核心系统的多线程机制利用了操作系统的线程调度,因此系统的工作线程在单 CPU 和多 CPU 机器上都能很好地并行操作。对于多 CPU 的系统,只要采用的操作
16、系统支持多 CPU 机制,DM 就能很好地实现多 CPU 协同工作。4.对对 UNICODE 的支持的支持 目前 DM 系统支持了 Unicode 字符集和其他多种字符集。用户可以在安装 DM 系统时,指定服务器端使用 UTF8 字符集。此时在客户端,用户能够以各种字符集存储文本,并使用系统提供的接口设置客户端使用的字符集,缺省使用客户端操作系统缺省的字符集。客户端和服务器端的字符集由用户指定后,所有字符集都可以透明地使用,系统负责不同字符集之间的自动转换。对 Unicode 的支持使 DM 系统适应国际化的需要,增强了 DM 的通用性。1.1.2 高性能高性能 DM 主要通过以下机制实现了系
17、统的高性能:1.可配置的多工作线程处理功能可配置的多工作线程处理功能 DM 允许用户配置工作线程的数目。工作线程是整个系统所公用的资源,不专门为某个特定的连接服务。如果某个数据库操作由于无法取得相应的资源(如锁)而不能继续,将暂停当前的数据库事务,相应的工作线程会立即执行其它的数据库请求服务。所以,在系统硬件及操作系统性能够满足要求的情况下,连接数和任务请求数的增加对 DM 性能的影响是线性的。DM 自动协调工作线程对内存、数据页等物理资源的共享。2.高效的并发控制机制高效的并发控制机制 DM 提供了数据库的行级和表级的资源封锁机制,大大提高了事务并发访问的数目。DM 通过以下几点确保并发控制
18、的高效:1)用 HASH 表管理实现锁管理,能够在系统成千上万的锁中迅速地找到所需的锁;2 第 1 章 概述 2)利用回滚段保存记录修改前的数据,实现数据的读一致性。另外,在 DM 中,当对数据页进行操作时,系统会自动对数据页采用合适的封锁机制。同时,DM 也提供了函数供用户自行定义锁定类型,以增强系统并发度,提高系统效率。3.有效的查询优化策略有效的查询优化策略 DM 采用有效的基于代价的查询优化策略,其查询优化子系统能计算最优的查询路径以保证查询的执行效率。查询优化主要通过以下三个步骤进行:1)SQL 转换:DM 首先对用户输入的查询语句进行一系列复杂的转换,其结果为一个语义上等价但处理起
19、来更为有效的 SQL 语句;2)统计信息与代价估计:DM 为数据库对象保存了一系列的统计信息,代价估计模块基于系统的 I/O、CPU 和内存等资源情况和数据库对象的统计信息估算每个计划的代价;3)执行计划选择:执行计划描述了查询语句的每一个处理步骤,如以什么算法执行连接,是否使用索引等。优化器考虑可能的执行计划,并选择代价最小的交付执行。另外,用户可通过 DM 的客户端工具查看查询语句的执行计划。4.尽可能少的网络通讯量尽可能少的网络通讯量 DM 对消息发送条件进行仔细判断,避免和减少无用的网络交互,提高了消息处理的效率,减轻了服务器的负担,降低了等待时间,加速了工作线程的运转,提高了性能。对
20、于密集型联机事务处理效果尤佳。5.加强的缓冲机制加强的缓冲机制 DM 为了提高系统运行效率,对于频繁操作的对象进行了必要的缓存处理,实现了数据字典高速缓冲,实现了语法分析树的可重用,优化了存储过程和触发器的运行。与此同时,DM 还新增了动态缓冲区机制。当数据库服务器发现因为缓冲区不足而产生频繁的缓冲区页面淘汰时,如果整个系统还有可用内存,则 DM 会自动扩展缓冲区,减少淘汰几率,显著提升系统性能。6.针对针对 64 位计算的优化策略和技术位计算的优化策略和技术 DM 在代码级全面支持 64 位系统,能够支持主流 64 位处理机和操作系统,并融入了很多针对 64 位计算的优化策略和技术。DM 不
21、仅能够运行在 64 位系统上,还能很好地利用64 位系统的资源(例如能充分地利用更大容量的内存),在 64 位系统上表现出良好的性能。7.查询计划重用查询计划重用 DM 在首次执行 SQL 语句过程中会在内存中创建一个计划缓冲池,缓存执行过的 SQL语句、存储过程以及触发器的执行计划。对于后续接收到的 SQL 命令,系统自动采用字符串全字匹配的方式,在计划池中查找对应的计划,如果有则直接使用,否则对该语句进行分析,创建执行计划,并将执行计划放入计划缓冲池中。通过这种方式,系统可以极大地节省对语句进行分析和创建执行计划的时间,从而提升系统性能。8.查询结果集缓存查询结果集缓存 DM 还支持查询结
22、果的缓存功能。查询语句第一次执行后,系统可以把结果保存下来,如果后面有同样的语句,且所访问的数据没有发生变化,则不需要进行计算,直接把先前保存的结果返回给客户即可。在很多以查询为主的系统中,采用该功能性能可以得到成倍地提升。9.数据压缩数据压缩 DM 新增了数据压缩的功能,用户可以对整个表进行压缩,也可以选择对部分字段进行 3 第 1 章 概述 压缩。对于 I/O 密集型的系统来说,通过采取适当的数据压缩的策略,可以减少系统的 I/O量,在 I/O 子系统是整个系统的瓶颈时,采取该措施可以有效提升系统性能。10.函数索引函数索引 DM 扩充了索引的建立方法,允许在表达式上面建立索引。表达式既可
23、以出现在函数的参数中(如 ABS(ID)),也可以是列的操作(如 C1+C2),DM 把这类索引称为函数索引。函数索引的引入为 DBA 提供了一种新的优化手段。例如,执行如下的语句:SELECT*FROM t WHERE UPPER(name)=CBDG;在以往的版本中,这条语句的执行只能是全表扫描。如果建立如下索引:CREATE INDEX i_t_fbi_name ON t(UPPER(name);则可以通过函数所以 i_t_fbi_name,进行等值扫描,性能获得大幅提升。1.1.3 高安全性高安全性 只具备自主访问控制安全机制的数据库远不能满足一些对安全具有高要求的系统的需要。为了保证
24、系统的安全性,DM 采用基于角色与权限的管理方法来实现基本安全功能,并根据三权分立的安全机制,将审计和数据库管理分别处理,同时增加了强制访问控制功能,另外,还实现了包括通讯加密、存储加密以及资源限制等辅助安全功能,使得达梦数据库安全级别达到 B1 级。1.完全自主知识产完全自主知识产权权 达梦数据库是具有完全自主知识产权的国产大型数据库管理系统。在产品开发过程中,达梦公司始终坚持自主开发的原则,致力于保卫国家信息安全,推进国民经济信息化建设,拥有产品的全部源代码和完全的自主版权。这一方面杜绝了继承开源系统导致的版权纠纷,同时也从根本上保证了系统的安全性,并有利于与其它应用系统集成,可以根据具体
25、需求定制和提供及时有效的服务。2.三三权分立权分立的安全机制的安全机制 DM 在安全管理方面采用了三权分立的安全管理体制,把系统管理员分为数据库管理员DBA、数据库安全管理员 SSO、数据库审计员 AUDITOR 三类。DBA 负责自主访问控制及系统维护与管理方面的工作,SSO 负责强制访问控制,AUDITOR 负责系统的审计。这种管理体制真正做到三权分立,各行其责,相互制约,更好地实现了数据的保密性、完整性和可用性。3.身份身份验证验证 DM 能够根据用户在系统中的登录名和密码确定该用户是否具有登录的权限和其在系统中的系统级角色,确定该用户能够做什么和不能够做什么。DM 提供两种身份验证模式
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 管理 系统 DM7 白皮书
限制150内