DM 7 总体构架解析 郭琰 概述 DM7 数据库管理系统是在总结DM 系列产品的经验和教训基础上,吸收主流数据库产品优点,学习适应OLAP 应用的专用数据库技术,采用类JAVA 的虚拟机技术,重新设计的新一代数据库产品。采用全新的体系架构,极大提升了达梦数据库产品的性能、语言丰富性、可扩展性,能同时兼顾 OLTP 和OLAP 请求,从根本上提升了DM 产品的品质。 相对于 DM6,DM7 中新增和改进特性多达数百项,本文将为您介绍 DM7 众多新特性中最为重要和最具创新性的部分。 系统核心构架 DM7 采用高效的多线程体系结构,由不同的功能线程协同完成服务器的整体功能。 图 1 系统结构 系统总体结构如图 1 所示,数据库内核提供词法和语法分析、事务管理、封锁、多核查询引擎、安全管理、备份恢复、缓冲区、日志以及操作系统和硬件抽象层等功能。在此基础上,用户可以基于数据库内核来搭建两种类型的集群结构:无共享的大规模并行集群和共享磁盘的集群。在客户端,用户可以通过 DM7 提供的各种标准接口来访问达梦数据库或者是 数据库集群,也可以通过各种客户端工具来对达梦数据库进行管理。 操作系统和硬件抽象层:对操作系统和硬件环境提供封装API,使得一套源代码可以在不同平台下运行,屏蔽操作系统和硬件的差异,简化上层处理逻辑。各种操作系统和硬件环境下保持一致的存储格式和消息通信格式。 缓冲区管理:该模块将用户需要访问的数据从磁盘加载到内存中,并提供高效、高并发的缓冲区访问和淘汰机制,使得可以支撑大量并发用户的数据访问。 日志管理:提供事务的持久性能力,任何已提交的事务都持久性的生效。 事务管理:提供多版本并发控制机制,使得系统能够保证事务的原子性、隔离性,并提供很高的并发访问能力,查询在任何时候能够不被封锁。 锁管理:提供并发更新数据时的封锁能力,避免出现数据的不一致。 多核查询引擎:内置多个查询处理引擎,针对不同的查询使用自适应的查询引擎,如全文检索引擎、对象-关系数据处理引擎、空间数据处理引擎等。 安全管理:提供内置的安全机制,使得系统的安全级别能够达到四级。 备份恢复管理:提供各种备份恢复功能,如完整备份、增量备份、并行备份与恢复、基于时间点的恢复等。 无共享集群:基于 DM7 数据库提供基于数据划分的高性能大规模并行集群功能,多个节点能够并行处理同一个请求,提升系统性能,并且通过节点间的守护技术来保证系统中的任意节点出现故...