【IT168 资讯】2011年,达梦再出精品,即将推出新一代高性能数据库产品——DM7.0。DM7.0在设计上延续了DM6.0开放的可扩展体系结构、高效的事务处理能力、海量的数据存储管理以及低廉的维护成本,在研发上秉持了达梦一贯的完全自主开发、完全自主知识产权的创新精神。DM7.0将极大提升达梦数据库产品性能:在可扩展性、高并发、海量数据管理、安全管理、PL/SQL、大对象支持、数据字典、数据处理、性能监控等方面全面提升,能更好的适应各种行业、各种环境下的各类应用需求。
一、必要性
现代社会需要处理的信息量越来越大,传统数据库管理系统已经很难快速响应大量交易数据的分析查询。互联网的发展,推动了廉价的刀片式服务器集群硬件的发展。业务的特性决定了这些集群计算能力可以比较容易地应用到WEB服务上。但是目前对于海量数据、在线复杂查询分析应用,却很难利用这些廉价的服务器集群硬件,依然不得不采购昂贵的小型机或者专用设备,而且也很难获得理想的效果。市场迫切需要新的数据库系统软件,来充分利用这些以廉价的刀片式服务器集群为代表的硬件环境,以获得成倍的性能提升和良好的接近线性的扩展能力。
如果我们把这样的任务分解成相对简单的子任务,均衡地分配到多台机器上,让它们协同工作,将极大提升整体的性能。达梦大规模并行集群数据库系统的设计思想就基于这个简单而又朴素的思想。将复杂的任务分解为简单的可以并行处理的子任务,联合完成一个整体的工作,并保持数据库系统的ACID特性,是我们需要解决的最关键的技术。
二、体系结构
达梦大规模并行集群数据库系统由两类节点组成,它们通过高速内网连接。其中与客户机直接交互的为分析机(AP)。客户使用标准的接口,如ODBC、JDBC等与AP连接,AP接收到用户的SQL请求后,进行分析处理,生成优化的并行执行计划,向一个或多个执行机(EP)发布执行命令。EP完成后向特定的AP返回结果或者状态,AP再反馈给客户。
在AP上只有系统目录,没有用户数据。用户数据按照一个内部定义的HASH函数,映射到各EP上,以便于并行处理。系统允许多个AP同时接入客户连接,支持大量的并发访问。
三、关键技术
数据分区
每个用户表都事先指定一个或多个用于分发数据的列。在这些列上计算HASH值,取得对应的EP号。理论上,采用HASH算法将把数据尽可能均衡地分布在不同的EP上。数据的分布式存储,是并行处理的前提。
列存储与压缩
被分区的数据同时也允许以列为单位存放。列存储的数据可以有效减少数据扫时的IO量,加快查询速度。同一列的数据有着同样的数据类型,如果指定了压缩选项,则在数据加载时,自动进行分割和压缩,每个压缩单位按照该单位内的局部数据特性选择最好的压缩算法。列存储与压缩技术,特别适合数据分析型应用。
内部高速邮件系统(HMAL)
HMAL是基于TCP/IP实现的高速通讯模块。这个模块的任务是提供一个简单,一致的接口,在AP与EP之间构建起一座高速的通讯桥梁,为上层模块服务。HMAL内部对信息进行打包,并保证邮件的有序性与可靠性。
面向并行执行的代价优化器
新的优化器将生成适合并行执行的计划。通过插入通讯操作符,实现节点间并行执行的协调、数据重分发和计算结果的收集;计算代价时,将充分考虑数据分发的通讯代价,和数据分片模式下的特定场景代价。
并行执行器
并行执行器实现数据的扫瞄,过滤,投影等基本操作之外,还将在适当的时机和别的EP交换数据,以实现特定的分组,连接等复杂操作;并行执行器同时负责处理事务的提交/回滚、封锁、日志、数据缓冲等传统的数据库特性。
基于数据守护的主从热备
为了确保系统的持续可用性,在系统配置时,可以为EP指定热备的从EP, 主EP的任何数据更新都会自动及时地同步到从EP上,一旦主EP失效,则从EP立即接管工作。
四、可行性与技术优势分析
经验丰富的开发团队
达梦始终坚持走自主研发的道路,经过多年的积累,形成了一支经验丰富、年龄结构合理、富有朝气、善于学习的数据库管理系统研发团队。在国家政策的引导下,为适应市场竞争的需要,满足用户对功能、性能、稳定性、可靠性的全面需求,研发团队对产品进行了持续的改进和完善,积累了大量的数据库开发经验。这么一支对数据库有着深刻理解的人才队伍,是产品成功的最有力保障。
良好的产品支撑
高效、稳定、可靠的单机版DM7,为并行数据库打下了坚实基础,批量数据传递技术,为并行数据库提供了一个高效的数据分发、接收机制。
高性能
并行集群数据库基于多处理节点的物理结构,将数据库技术与并行处理技术有机结合,来实现系统的高性能。并行数据库将一个任务分解成多个子任务,分发到EP节点,EP节点间并行处理一个数据子集,可以充分利用各个EP节点的处理能力,极大减少事务响应时间,提高系统吞吐量。每个EP节点,还可以利用数据再分区技术,实现节点内的数据并行处理,充分利用SMP处理能力,获得性能提升。
高可用性
系统支持多个AP节点,不但可以大幅提升数据库并发度,更可以有效避免由于AP节点故障,导致的数据库服务中止的风险,任何一个AP节点故障,用户连接可自动转移到其他AP节点,继续访问数据库,并且故障转移过程对用户是透明的。
并行数据库中的EP节点,本身就是一个单机版的DM数据库管理系统。可以针对每个EP部署数据守护方案,实现EP站点数据的实时备份,当EP主节点故障,无法提供数据库服务时,备用节点自动切换为主节点,提供数据库服务,保证数据库系统持续可用。同时,还可以为每个EP节点指定多个远程容灾备份节点,最大程度保证数据的安全性。
高可扩展性
可以通过增加EP节点,扩展系统的并行处理能力。系统提供高效的数据再组织手段,增加EP节点后,数据可以方便的在EP节点间,重新划分、再分布。
高性价比
相对于传统的通过硬件升级方法来提升数据库性能的做法,并行数据库提供了性价比更高的选择——通过增加EP节点来获得性能的提升。面对急剧膨胀的数据规模,即便是昂贵的小型机或者专用设备,也很难满足系统对CPU的处理能力要求,特别是I/O能力的要求;同时,也无法减少对共享资源(如内存,I/O通道,存储)的访问冲突。相对于提升硬件花费的巨大代价,获得的性能收益十分有限。而并行数据库,将系统对CPU的运算能力和I/O能力的要求,并行分布到独立的EP节点,通过增加EP节点的数量,可以获得接近线性的性能提升。