`
txf2004
  • 浏览: 6851980 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多

数据库未来展望

你也许无法相信未来数据管理产品的功能。因此让我们从目前数据库的一些新特性着手。

一位年轻人因患某种相对罕见的流感而到医院就诊。这是检查医师本周遇到的第三个相似的病例,他需要更多的信息。困惑不解的医师取了血样并安排了其他一些程序。然后,他坐在计算机前面,(通过一个简单的图形用户界面)申请了一系列血样分析项目,并将结果与世界各地具有相似症状的患者进行比较。他还请求检索与该年轻人情况相似的患者的诊断、治疗和结果记录。然后,医师向疾病控制与预防中心(CDC)请求获得该病症发展的相关信息。几分钟后,医师就为其他患者找到了这种不寻常流感的治疗方法,该流感近期在污染程度较为严重的一些城市流行。

这种情景能在今日成为可能吗?有可能(假如我们已拥有正确的科学分析和仿真工具包),但要为此支付高级应用发展和系统配置所需的费用。数据管理早已发生变革以使类似情景切实可行:系统在更快、集成度更高、更易使用的同时增强功能、可扩展性和分布性。

本文中,我将介绍数据管理行业今后几年酝酿的产品以及推进DB2优先发展的动力。

复杂因素

当今的公司正面临不断增加的数据管理工作的挑战。越来越多的商务程序实现了自动化;更多的历史记录和分析工作被捕获并保存下来;新的规章制度正在改变商业模式。简言之,数据量在不断增加。用于处理孤立程序的专用系统必须连接起来以生成报表。例如,兼并和收购迫使商务程序(风险分析)和数据(客户信息)进行集成。不同的商业单位必须共享信息以获得新的收入增长点,而公司也必须与商业伙伴、供应商和客户交流信息。全球商务意味着管理分布式数据库并提供全天候的可用性。成本居高不下、经济停滞、竞争压力增加迫使企业提高运行效率,这通常意味着员工数量减少,同时管理的数据维护及访问任务的复杂性日益增加。

当数据管理所带来的挑战日益增加时,信息的重要性就被提升到前所未有的高度。各种形式的信息——数据库、电子数据表、文档管理系统、文本文件、网页、图表和图像——就成为企业共同的财富。因此,对数据库和其他各种来源的数据进行管理的需求,以及为非IT专家的商业用户提供更便捷的方式访问这些数据的需求都在日益增加。

更好的引擎

更多的数据需要存储、更多的业务需要处理、更多的分析需要完成,而且没有喘息时间,这些都期待着所有的数据管理要素继续改进。

载入和检索速度。研究具有更快的载入和检索速度的存储方法仍将打头阵。快速数据访问研究包括新型索引(例如,能够迅速适应新数据类型的通用索引结构)。采用多维聚簇加速访问多维数据,该技术已在 DB2 Universal Database (UDB) v.8.1中应用并将在后续的版本中继续使用。IBM 不断研发不同的存储方案以增加数据聚簇速度并加强对大对象的控制能力。

对大量数据的高效查询。解决海量业务数据高效处理和复杂查询的工作也正在进行中。例如,IBM Almaden 研究中心开发了一种新方法,它通过采样获得数据的随机子集并根据该样本估计或外推解答,使系统能够更快地为复杂查询提供近似解答。该技术已应用在DB2 UDB v.8.1 测试基础版中。采样将以更快的速度获得更好的统计信息,帮助优化和不同的设计顾问。此外,为提高带有大量子查询和复杂操作内容(例如和外部关联和反关联)的查询性能所做的相关改进工作也在进行中,有望在某些类型的查询上取得重大飞跃。

用以储存针对高频次查询的预先计算解答的具体化查询列表(MQT)可能被更广泛地采纳。目前 MQT 已经可用,并且正在扩展以储存更多的一般性查询解答。例如,DB2 v.8.1 能够储存关联结果,即使查询中并无集合体。查询引擎能够更好地自主决定何时使用 MQT 解答当前查询。用于提示系统何时创建 MQT 可能奏效的工具已出现。将来,数据库系统能够自主创建 MQT,并用于索引(如关联检索)和常用结果缓存中。当用于连接远程数据时(v.8.1已采用),MQT 将发挥更大的作用。

在大共享内存和非共享多处理器中,你将获得更多的分割数据(分区)选择和处理查询的新算法。

提高可用性。业务压力要求适应更多环境的高可用性。热备用系统瞬时切换已成为高端配置的标准,并将更为普及。总之,用户可以从一系列的“服务质量”承诺中选择在性能、可用性以及费用之间所需的权衡。同时,通过使用减少冗余硬件和备份信息,研究和开发人员将使那些权衡更容易实现。IBM 还在研究对存在的问题进行早期探测和自动更正。

分布式商务模型

关于电子商务的需要已有很多著述。如今,越来越多的公司使用Web服务器、应用、J2EE.NET XML 的复杂混合体在网上从事商务活动。在该环境内外获取数据通常需要通过诸如 JDBC 这样的接口实现数据访问,并将结果转换为 XML,然后将 XML 打包作为Web服务响应。目前,可以这种方式转移数据,但这确实有些令人乏味。将来,数据库会被更加直接地植入Web,使其成为Web应用基础架构的无缝元件。

数据管理和Web服务。数据库早已成为Web服务供应商,通过Web服务接口应答请求。不久它也将成为Web服务的消费者。也就是说,在查询过程中,它能够调用Web服务以返回所需信息。例如,在一次单步查询中,用户可以查找一个包含本地储存状况描述、首选供应商(从不同的本地列表)、可用性及价格信息的零件(通过Web服务发出向供应商的请求并返回当前信息)。DB2 早已显示出这种能力。目前,你不得不通过用户定义的函数在 SQL 语句中明确地调用Web服务,照此发展,你甚至可以将Web服务视为列表的别名从而能够透明地访问。应用开发和部署工具将随技术而发展。

XML支持。数据及处理集成的基础即是对 XML 的稳定性支持,包括支持 XML 作为基本的数据类型。XML Extender 允许用户保存和检索 XML数据,通过它DB2能够支持 XML。将来,IBM 会在引擎中引入更多的这种支持以优化访问。目前,通过对SQL 语言(SQL/XML) 的标准化扩展,可以将关系数据以 XML 文件的形式返回。由此,可将数据以电子商务业务中数据交换所需的类型返回,所交换的文档可在 RDBMS 中安全储存。

双语数据库。尽管 XML 显然将成为电子商务数据交换的标准,关系数据库并不会从此消失。仅支持 XML 的数据库并不能代替无处不在的关系系统,一部分原因是将全部数据进行转换所需的费用,另一部分原因是比 XML 数据库更为成熟的关系技术的出现。相反,未来的数据库能够为 XML 提供全面的关系能力和真正的本地支持。它们将在引擎中构建支持 XML 的存储管理和检索工具,而且既可使用 XML 语言查询即XQuery 又可使用 SQL。这种双语数据库可使用户按需要同时利用关系和 XML 的优势,以实施其最佳应用。IBM Xperanto 团队正在从事此项工作。

分布式数据:信息集成

你已经了解到 XML Web 服务是如何帮助你处理复杂的分布式商务模型。它们提供了一种分布式数据的集成方法:在不同的应用或企业之间交换数据。不过,有时却需要更为精细的数据集成。

如今的企业通常是高度分布的,某个职能部门可能分散于好几个地点。某大型制药公司可能在几个不同国家都有研究实验室,实验室里的科学家们则需要共享实验和仿真信息。IBM 的数据管理开发团队就分布在四个国家的七个地点,并在世界各地其他一些地方也有相关的研究机构。开发者需要在这些不同工作地点之间共享所需的技术规范、代码、状态和信息。

独立的机构会选择不同的基础架构。在某些盛行兼并和收购的行业里,功能相同的部门却拥有完全不同的 IT 基础架构,这并不少见。业务运转通常仍需在这些不同的地区和系统间共享信息。

信息集成有多种机制,包括:

基于应用的集成。最常用的信息集成方法可能是:通过使用专门的应用实现对感兴趣的资源的硬连接访问,然后手动合并查询结果。应用集成框架、业务流程集成工作流程系统以及Web服务都为程序员提供高级提取服务,使其能够方便地从额外的来源获取数据。当然,合并数据(即执行关联)仍需手动编程。

集中化的数据仓库对于那些需要复杂分析的应用,许多公司选择将需要的数据“拉入”(从数据来源处复制)单独的数据仓库(数据中心)。这样做可以使SQL “全身心”地投入到分析中,并且也无需通过应用处理分散的数据。

数据联合造就虚拟数据库并不是所有的数据都能进入数据仓库。有时数据变化太快,有时该数据不为本企业所有(如归其商业伙伴或某一信息服务机构所有),有时该数据的格式不对,不能存贮到关系型数据库系统中或被其搜索到。这时 DB2 数据仓库和数据中心就可大显其道,IBM 杰出的技术可将那些各自为政的异构型分布数据源联合起来。数据联合让用户查询分布式数据时更为简便,就好像这些数据存贮在单一数据库中,同时应用也变得更简易并且拥有单一数据库的功能,而无需复制与维护成本。通过数据联合,应用可将底层数据存放到查询中,使这些功能不被再次执行(如果数据实际移动,这些功能会执行)。

数据联合在客户机应用与数据之间增加了一个部件——层,这个特殊的层使得性能达到平衡。在查询过程中,数据存贮在不同点(没有合并)将可能产生网络延迟。借超级优化功能之东风,数据联合使得多种应用间的数据集成更为高效简捷。

未来各种模型的融合信息集成很有可能成为大多数公司追逐的热点你也许可以看见不同的技术成熟并且融合。某一特定集成问题的解决方案将涉及到数据仓库(用于可以存贮于关系型系统的关键数据)与数据联合(用于集成不适合数据仓库的数据)之间的集成。丰富的元数据设施简化了从不同的数据源中映射、清除数据,同时简化了将数据关联在一起的过程。它们将得到其它类型集成的补充(如上面提到的那些),并且这些集成之间能够协同工作。挖掘工具、应用将与整个虚拟数据库共同工作,而不用考虑数据是在本地还是来自外部数据源。缓存与查询处理得以加强,消除了性能之间的差异,使得用户真正受益。

网络计算

最大限度地利用分布式数据的发展动向加上处理大型计算任务的需求及重新利用现有软硬件资源之渴望完美的网络计算环境将出现在你面前。网络计算可以实现各自独立的异构软硬件资源之间的共享,同时降低总拥有成本并提供更加出色的性能、伸缩性,还支持数据共享与协作。当急需提高功能时,你可以使一个节点在线,你就会想到强大的网络计算。

科学界一直利用网络计算处理极具挑战的难题如蛋白质合成、天气预报、基因组分析及粒子物理等。现在,各个行业中的企业也都在探索网络计算。网络计算的优势在于削减了处理时间并优化了资源的使用。同时,它也为随需应变的计算理念提供了坚实的基础架构。网络计算的一个显著特点就是可以从不同的资源(计算机、数据库、存贮系统等)请求特定的服务。这种特点成就了e-公用设施,它能够提供电子商务所需的复杂服务。网络计算还可为协作提供基础架构(如在企业内大规模地集成信息),这在以前是不可能的。由于在不同的节点多次复制数据,网络计算也提供了强大的伸缩性。

数据管理在网络计算中承担什么角色呢?网络计算实际上提供了一个虚拟计算机,以供应用运行。在网络中单独的数据库系统可作为共享资源。然而数据管理的作用更为广泛。我提到的联合数据库系列能够为虚拟计算机提供单独的虚拟数据库,因此通过标准数据库编程界面编写标准的数据库应用,应用就可以尽量利用网络的功能。数据联合将发现并查询相关的数据源,并进行大规模的集成。通过将不同的数据源作为非共享并行处理器中的节点,网络可使查询与数据计算进行得更快。

在网络环境中,需要对数据管理技术进行扩展。网络具有动态的特性,新的数据源可在任何时候来去自如。这种特性以及网络的规模,就意味着用户不知道在何处找到所需的数据。这样就需要一些通过对所需进行内容进行描述来查找数据的方式。找到数据源后,数据库联合应该能够自我配置,以便访问该数据源。数据动态自动复制特性,能够应对负载失衡、停机及性能等一些问题,为网络用户提供更好的伸缩性、灵活性及性能。

自主系统

人体是自主系统最生动的实例,它可以自身调节以适应外部环境。如果温度过高,人体会出汗降温。如果运动需要更多的氧气,人体就加快呼吸频率和心率。

自我恢复、自我调整、自我配置系统对网络必不可少;但普通IT环境也会从此类系统中受益。人力成本占数据库系统拥有成本的大部分。DBA的工作职责繁重,包括数据逻辑设计、物理数据布局、物理访问结构决策、内存分配和性能调整、监控和调节。随着数据库自主功能增强,DBA能够专注于更加复杂和感兴趣的问题,同时节省员工的时间和费用。

尽管这听起来像科学幻想,但已经迈出了第一步。例如DB2 UDB Configuration Advisor数据库配置顾问可减少甚至消除单调费时的系统配置任务可满足希望的性能目标并且无需频繁手工调整与性能有关的配置参数。Health Center健康中心自动评估DB2 UDB系统的状态提醒DBA系统的日志空间或内存可能将耗尽。系统可自动采取措施,增加空间和内存以保持数据库正常运行,并且无需DBA的干预。除了这些神奇的技术,IBM研究院还研发了知识优化器(LEO),可利用执行查询得出的经验性结果验证统计和假设。LEO能够向用户提出运行消耗资源的“RUNSTATS”的时机和方式建议(如果探测到统计数据过时),或收集统计或其它查询,以修正不理想的结果。凭借这些准确的统计,系统能够节省成本,下次按照优化器制定的最佳方案执行查询。最终结果是:方案优化,系统管理工作减轻,热线求助时间缩短。

信息整合

我在文章开始提到的医院采用了以上许多技术:

1. 医生可通过网格访问全美联网的医院,虽然这些医院可能无法随时保持连接,但是网格能节点处的常用信息自动复制和存储到医生的本地数据库中。

2. 医生所用的应用将查询提交本地的联合数据库,应用产生的单个查询对病历进行分析,查找类似症状和化验结果的患者,并将其诊断与CDC数据库结合,按出现的频率检索信息。

3. 查询调用外部产品对病历进行分析,然后将结果与国内各数据库中找到的类似患者数据进行合并。

4. 每个不同的诊断再添加到CDC的数据库中。当Web服务发出请求(仍作为相同查询的一部分)时,CDC即开始查找,其结果生成一个描述病情的XML文件。

5. 经过处理之后,这些文件中的关键信息则生成一份简明的表式报告返回给医生。查询结果迅速返回,因为本地数据库发现只有少数其他医院发现类似情况的患者。数据库还“察觉”好几个此类数据库经常不可用或超负荷,因而将患者数据文件复制到本地以便查询。

此例有赖于网络(计算)、自主复制、信息源语义显示、信息集成技术(包括联合并使用查询中的Web服务)以及 XML 作为交换格式。当然,根据实际症状和检查结果,可能包含大量数据。由于网络上的许多数据库都含有相关信息,需要并行网络和高速分布式联合方法。

下一步骤

未来的数据管理系统将更快更强大。通过开放协议、Web服务、网络(计算)和 XML,它们能够对多个异构资源进行集成数据并通过应用和数据库交互。它们将成为自我管理、自我协调、高度自主的系统。

尽管全面的开发和部署将是尚需时日,为实现这些特性的首要步骤目前已经是显而易见的。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics