2.1.2.3.4 备份压缩
DM在备份时,支持对备份文件进行压缩,能极大的减小备份文件占据的磁盘空间。
2.1.2.3.5 数据复制
数据库的复制技术,提供了一种机制,使对某一个站点上数据的修改操作能够传递到其他站点,从而保证站点间数据的一致性。
DM提供基于事务的同步复制和异步复制功能。同步复制即所有复制节点的数据是同步的,如果复制环境中的主表数据发生了变化,这种改变将以事务为单位同步传播和应用到其他所有复制节点。如果任何一个节点的数据更新操作失败,则涉及的相关事务全部回滚。异步复制是指在多个复制节点之间,主节点的数据更新需要经过一定的时间周期之后才反映到从节点,主、从节点之间的数据虽然最后保持一致,但是并非实时保持一致。如果复制环境中主节点要被复制的数据发生了更新操作,这种改变将在不同的事务中被传播和应用到其他所有从节点。这些不同的事务间可以间隔几秒,几分种,几小时,也可以是几天之后。复制节点之间的数据在一段时间内是不同步的,但传播最终将保证所有复制节点间的数据一致。DM的数据复制功能支持一到多单向表\\站点\\库级复制、多到一单向表\\站点\\库级复制、级联复制、多主多从复制、环形复制、对称复制以及大数据对象复制。
DM的数据复制功能满足了用户对数据库中的数据进行分析和集中的要求,增强了数据的可用性、可靠性,同时也满足了基于数据复制的数据库集群方案的需求。
2.1.2.3.6 数据库集群
数据库集群(Cluster)是一组通过网络互连、以协同方式运行数据库系统的计算机,它们为客户端及应用程序提供单一数据库系统映像。数据库集群主要用于提供并行计算和容错冗余等服务,并且可以显著提高数据库管理系统的伸缩能力、可用性与可靠性。在大型的业务系统中需要面对大量客户的并发数据服务请求,业务处理十分繁忙,要求数据库系统具有高稳定性、容错性以及良好的可扩展性。DM为这类用户提供了数据库集群功能。系统要处理的客户数据服务请求分为只读和修改两种,集群要对不同类型的请求做不同的处理。对于只读的数据服务请求,集群选择一台相对空闲的服务器来负责处理请求。对于涉及到有数据
16
修改的请求,集群在其中的一台服务器上处理完相关的事务后,会把对数据的更新同步反应到所有的节点,使得所有的数据库服务节点的数据时刻保持一致。
DM提供的集群功能实现了自动故障转移,以及对集群节点的自动维护、加入能力,保持服务器结点的数据的一致性。同时集群功能对于查询操作还可进行负载均衡,提升了系统的抗灾能力与性能。
2.1.2.4 扩展性
DM具有良好的扩展性,主要表现在以下几个方面: (1) 多处理器支持 (2) 64位全面支持及优化 (3) 海量数据存储和管理 (4) 存储设备支持 (5) 分布式支持 (6) 外部链接 (7) 外部过程/函数 (8) 全文检索
2.1.2.4.1 多处理器支持
DM服务器使用的是一个被称为“对称服务器构架”的单进程、多线程的结构。这种对称服务器构架在有效地利用了系统资源的同时,又提供了较高的可伸缩性能,因此系统的工作线程在单CPU和多CPU机器上都能很好地并行操作。
2.1.2.4.2 64位全面支持及优化
DM全面支持64位系统,能够支持主流64位处理机和操作系统,并融入了很多针对64位计算的优化策略和技术。DM不仅能够运行在64位系统上,还能很好地利用64位系统的资源(例如能充分地利用更大容量的内存,支持超过4G内存),在64位系统上表现出良好的性能。
17
2.1.2.4.3 海量数据存储和管理
DM的数据存储在逻辑上分为4个层次:数据库、文件组、数据文件、数据块。DM可支持多达32768个数据库,每个数据库可包含多达32768个文件组,每个文件组可包含多达32768个数据文件,每个数据文件由若干数据块构成。每个数据文件的大小仅受操作系统的限制。假如操作系统支持的单个文件最大尺寸为2GB,那么DM理论上可存储和管理的数据量就达到32768*32768*32768*2G,即68,719,476,736TB。因此DM最大数据存储容量达到TB级(实际上远远超过),足以支持大型应用。
此外,DM全面支持64位计算,极大地扩展了系统支持的数据存储和内存容量,这也有利于满足大型应用对海量数据存储和管理的要求。
2.1.2.4.4 存储设备支持
DM支持SAN和磁盘阵列,对EMC、IBM、SUN、Seagate、LSI、HP、浪潮、曙光、海恒等品牌存储设备提供支持。
2.1.2.4.5 分布式支持
DM对分布式事务的支持是依据X/OPEN分布式事务处理模型XA规范实现的。系统实现了X/OPEN DTP模型中的RM组件,通过JDBC接口与第三方TM工具配合完成分布式事务处理。在JDBC标准中,系统对XA协议进行了部分剪裁,支持TM对RM的单向调用,不允许RM向TM的动态注册。
2.1.2.4.6 外部链接
DM支持面向同构、异构(MS SQL Server)数据库的外部链接功能,用于在本地系统中如同管理本地表和视图一样管理远程数据源上的数据。用户不需要了解远程数据源的具体位置,利用数据库链接可与本地数据进行互操作,如INSERT、UPDATE、DELETE、连接查询等,采用与本地一致的操作方式来有效地实施分布式计算。
18
2.1.2.4.7 外部过程/函数
DM除支持存储模块外,还允许用户创建外部过程(procedure)或函数(function),这些过程或函数像普通的过程或函数一样,有输入、输出参数和返回值,它们与表和视图等数据库对象一样被存储在数据库中,供用户随时调用。外部存储过程和存储函数在功能上对服务器进行扩展,使服务器能够执行不同语言所编写的代码,访问服务器外部资源,丰富了服务器的功能,并具有极高的灵活性。
DM数据库支持外部过程和函数的类型:
(1)动态链接库。用户在创建外部过程或函数时,指明函数所在的动态链接库和函数名,在调用外部过程或函数的时候将动态链接库加载进来。
(2)Java程序包。用户在创建外部过程或函数时,指明函数所在的jar包和函数名,在调用外部过程或函数时,将程序运行环境交给java虚拟机运行该函数。
DM外部存储过程和函数的编写主要依赖于用户所采用的语言。可以使用java语言生成java包,也可以使用c语言生成动态链接库,将其作为外部函数的载体。通过这个载体,数据库管理程序可以使用用户自定义的函数和过程。
2.1.2.4.8 全文检索
DM提供多语言全文检索功能(中文、英文、俄文和日文等),支持精确查找与模糊查 找。并且重新设计了全文检索内核,采用了更加有效的查询处理和数据存储方式,实现了真 正的全文检索。
DM的全文检索功能,具有下列优点:
(1) 满足用户对于文本信息特别是大文本(如论文、网页、发文、邮件等)信息的高级检索功能,解决检索高要求与高性能的矛盾。
(2) 实现的系统应该能够通过对文本类型字段创建全文索引实现对复杂文本进行快速复杂检索的要求,并能够返回符合条件的记录以及相应统计信息。
(3) 方便用户高效的进行全文检索的各个操作,并且能够对于耗时间比较多,空间变
19
化比较大的操作,在操作前预计所需的时间,空间,操作中能进行控制,该操作在后台运行,对其他正常数据库操作的影响降低到最小。
(4) 用户可以通过自定义词库,并根据已有词库建立全文索引,文本查询完全在索引上进行,来实现优化全文检索。
(5)词库(包括中、英文)由单独的软件进行维护和更新。为在字符串数据中进行复杂的词搜索提供了有效支持,并且大大提升了全文检索的执行效率,并有效防止数据膨胀过快。
2.1.2.5 易用性
DM的安装、配置都比较简单,因为DM将尽可能多的配置、管理、优化工作交由系统自动完成。同时,DM也保留了少量关键的配置项供用户调节,这种策略明显提高了DM的易用性。
除此之外,DM的易用性主要表现在以下几个方面: (1) 实用易操作的图形化/远程管理工具 (2) 实用的命令行工具 (3) 配套丰富的示例库 (4) 动态缓存区管理 (5) 虚拟视图 (6) 类型别名 (7) 同义词 (8) 数据迁移 (9) 性能监视与分析 (10) 作业调度 (11) 自动升级 (12) 数据库重演 (13) 数据库快照
20