日期:2014-05-16  浏览次数:20467 次

可取性、适用性、可行性:内存计算技术的影响

摘要:对于支持人机互动的应用程序来说,亚秒级的响应时间和实时分析是关键指标。我们预计,企业级应用的用户将像如今所有互联网用户与Web搜索引擎互动一样,很自然地与软件工具互动,可以在初始结果无法满足搜索需求时,实时完善搜索结果。本书的第一章将阐述这一实时提供业务数据的愿景,并介绍它的可取性、适用性和可行性。首先,我们将介绍对实时提供信息的渴求,并阐述企业级应用环境中的亚秒级响应时间。其次,我们将以充分利用现代计算机硬件的内存数据库为基础讨论适用性。最后,我们将从成本角度阐述内存数据管理的可行性。内存计算技术可以显著提高性能。因此,无论是从功能角度,还是从成本角度来说,它都将对企业级应用产生革命性的影响。有了它,企业开发人员可以创建全新的应用程序,而企业用户和管理人员可以用他们喜欢的新方式查看和存储数据。过去,为确保数据处理工作的及时进行,往往必须采取成本高昂的变通措施。而如今,随着性能的提高,这类措施已经没有必要。其中特别值得一提的是,无需再分离运营系统和分析系统。内存计算技术支持对运营数据进行分析,从而简化

软件和硬件架构,最终降低总成本。

                             

 

 

实时信息:随时随地获取任何信息

 

当今的Web搜索引擎向我们展现了实时分析大量数据的巨大潜能。用户输入查询问题,即可获得搜索结果。在这一方面,企业级应用力求达到相同的效果,但事实上几乎未能实现。例如,呼叫中心代理或经理需要在公司所有数据源内查找一些特定片段的信息,希望围绕客户制定更明智的产品计划,或者规划未来发展战略。与能够即时查询结果的Web 搜索相比,企业级应用的运行速度较慢,用户会感到响应时间过长。毫无疑问,如果业务环境中的信息访问速度就像在Web 搜索引擎环境下一样快速,那么业务用户的行为必定会改变。

Web搜索和企业级应用的主要区别在于预期结果的完整性。在Web搜索中,尽管所有相关数据都会被扫描并在搜索结果中显示,但只有匹配度最高的那些搜索结果才是用户关注的。Web 搜索查询一组数据的索引,评估相关性并提取结果。相比之下,企业级应用必须执行其他数据处理,比如复杂的聚集。在许多应用场景(如分析或计划)中,数据必须在呈现给用户之前就已经准备妥当,特别是当数据来自于不同的源系统时。

为了分析企业数据,并且达到合适的查询响应时间,目前运营系统和分析系统是分开的。分析系统的数据预处理只能作用于整个企业数据集的一部分,这会限制相关报告的数据粒度。根据具体的准备步骤(例如:数据清理、格式设置或计算等),从数据进入运营系统到最终得到报告需要几个小时甚至数天。当应用程序需要同时进行运营处理和分析时,这种延迟将对性能产生严重影响。例如,第 2 章中介绍的可承诺量(ATP)、需求计划和催款应用程序需要同时进行运营处理和分析。在运营处理方面,它们必须在最新的数据上运行,并执行读写操作。在分析处理方面,它们需要处理大量数据,因为近期数据和历史数据都是分析所必须的。这些应用程序都将受益于交互式的假设情景分析能力。但目前市场上还没有一个系统能既支持亚秒级的响应时间,又灵活访问系统中的任意信息。

图中展示了信息“唾手可得”的场景。“信息唾手可得”,是比尔·盖茨1994 年提出的一个术语,他展望在未来可从任何位置提取任意数据 [58]。该图表明,在不同的地点,与会者都可实时浏览、查询并操作相同的信息。信息交换的时间会大为缩短,同时还能随时响应用户的即席查询。

现在,我们一起来深入探讨亚秒级响应时间、实时分析和快速计算等主题。这些主题对实现上述情景至关重要。

 

未来的管理层会议

思想速度般的响应

 

在Web搜索中,用户使用关键词搜索来查询数据。关键词的含义可能含糊不清,因此用户需要根据所获得的结果重新定义搜索词。只有亚秒级的响应时间才会支持这种反复试验的行为。如果企业分析中也能够实现亚秒级响应时间,则用户也能使用相同的方法查询业务数据。准备数据和创建新报告的速度会很快,因此用户就可以交互式的定义和重定义报告查询条件。

通常观察者对刺激作出简单响应的平均反应时间为220毫秒[101]。其中一部分时间用于发现刺激,其余时间用于作出响应。识别需要的响应时间更长,因为它还需要理解和领悟。识别的平均响应时间为384毫秒。此外,识别响应时间会随着环境复杂程度的增加而增加。在比较复杂的环境中,550 至 750毫秒时间内做出的响应可以被称为“思想速度般的响应”。经过专业培训、重复执行同一动作的用户的反应时间会更短。因此,较慢的系统响应时间对他们来说会显得更加漫长。

系统响应时间超过人反应时间的部分被视为等待时间。此时,用户会转移注意力。这是一个无法用意识控制的过程。等待的时间越长,用户放弃手头任务的可能性就越大。而亚秒级的响应时间有助于确保用户专注于一个主题,而不会转移注意力。任务切换很容易引起疲劳。即便是小任务,用户也必须找回原先的主题,并回忆其后续步骤。如果可以避免这种任务切换,那么用户可以集中注意力,专注于浏览和分析数据。如果用户可以根据历史查询结果自由地建立查询条件,而不因任务切换分心,他就能在更短的时间内挖掘出数据中更深层的信息。

亚秒级的响应时间意味着我们能够以全新的方式(如通过移动设备)使用企业级应用。移动设备用户已无法忍受长达几秒的设备响应时间。如果企业级应用实现亚秒级的响应时间,则移动终端的响应时间(包括传输时间)会在可接受的范围内。这样,经理们便可一边等待航班,一边用手机查看催款结果。然后,他们可以直接呼叫最差的债务人,快速解决问题。而与此相比,传统系统的一次催款操作可能需要几个小时。

实时分析和动态计算

 

实时分析的基础是,所有资源在调用分析时都已就位[142]。当前,高效的分析报告依赖于专门的物化数据结构(称为“数据立方体”)。这些数据立方体以固定的数据维度为基础。根据这些维度,分析报告可定义其结果集。因此,一个数据立方体只适用于一组特定的报告。如需要其他维度,则必须创建新的数据立方体,或者扩展现有的数据立方体。在最糟糕的情况下,数据立方体维度的线性增长会导致存储需求的指数级增长。如果扩展数据立方体,会导致已经使用该数据立方体的报告性能会下降。因此,需慎重决定是扩展还是重新构建。无论做出何种决定,在系统的生命周期内可能有大量的数据立方体,从而增加存储需求和维护工作。

业务用户应当能够制定即席报表,而不拘泥于预定义报表。它们应当涉及公司拥有的整个数据集,还有可能涉及外部数据源中的数据。假设拥有一个快速的内存数据库,则无需预先计算好的物化数据结构。只要将数据的变更提交到数据库,这些更改便会在报表中体现。如果报表仍然需要执行数据准备和转换步骤,则这些步骤将在查询过程中完成,所有计算都相当快速。报告期间的高速计算以不存储数据、仅提供报表接口的数据立方体为基础,它不但能解决困扰至今的问题,并能优化所有这类分析报表的性能。

最新硬件趋势的影响

 

     现代硬件的发展一直处于不断变革和创新之中,而其中的最新发展是多核架构以及容量大、价格低的主存 的出现。要跟上这些技术的发展潮流,最大程度地挖掘基础硬件的潜能,必须对现有软件系统(如数据库管理系统)进行调整。本节将介绍数据库管理系统和硬件的最新发展趋势。内存数据管理有助于企业级应用实现真正的实时分析,我们将阐述内存数据管理的关键驱动因素。

企业级应用的数