对于围绕云计算的所有应用来说,目前公共云服务中的应用只代表了IT总支出的一小部分。除非主流的、占企业预算大头的关键任务应用能够迁往公共云,否则这一态势将不会发生变化。
公共云应用的最大瓶颈似乎是高昂的云计算存储成本。与Web相关的云应用可能会存储数以百兆的数据,而关键任务应用则可能会存储TB级的数据,按目前的价格来看,其存储成本是大部分用户所难以承受的。但是值得庆幸的是,我们有两种策略可以来解决这一云存储成本问题:数据抽象和分布查询式数据访问。
将数据抽象方法用于商业智能和成本分析应用
商业智能(BI)与分析是云计算最有前途的两个应用。这些应用都聚集在重要IT决策上,且遍布在规划者和决策者中。这使得它们成为理想的云计算应用,但是通常企业估计一个试运行商业智能应用的运行成本至少为三万美元,这个价格相当昂贵。
建立真实而不过分庞大的大数据是我们之前提出的两个数据成本管理方法中第一个,即数据抽象的一个具体实施。数据抽象是从原始公司信息中产生一个或多个摘要数据库的机制,其数据库规模应确保它(们)能够被经济地存储在云计算中。
我们在医疗行业中的某一个客户说,通过诊断代码、治疗代码以及年龄/性别的形式,创建一组患者信息摘要数据库,将减少三百倍以上的信息量,这意味着其云数据存储和访问成本仅为未经数据抽象处理的三百分之一。
如果希望数据抽象方法成为一种高效的成本管理方法,那么就必须对如何进行分析以及分析的对象进行深入研究。大多数BI运行的目的并不是为了发现细节信息;它们是为了寻找某种规律或某种发展趋势。对于大多数的行业来说,有明确的变量非常重要,例如医疗行业中的诊断和治疗就是这样。通过对这些变量创建摘要数据库,能够通过加快访问速度来降低成本支出,同时也不会影响分析工作本身。一旦定义好变量的特定组合,那么之后如有需要从未抽象的数据中提取该组合的详细信息也是非常容易实现。这样一来,基于数据抽象的分析就成为了一个云应用,可以用于数据中心的详细分析操作。
对非结构化数据使用分布查询式访问方法
数据抽象方法适用于对具有少量重要变量参数结构化交易数据的分析应用。但它不适用于非结构化格式的传统大数据,这是因为非结构化数据的抽象比较难以实现。有些公司在创建电子邮件特定单词或单词组合高识别率数据库的应用中有过不少成功案例,但是其前提条件是这样的关键词/词组合是可以预先知道的。对于大多数应用来说,还是需要有一个更为通用的方法的。这个方法就是我们所提出的第二个数据成本管理策略——分布查询式数据访问方法。
通常来说,数据处理任务可以分为三个部分:对数据的实际处理、用于定位数据位置的数据库管理访问,以及从海量存储设备中获取信息的存储访问。如果由于成本原因而无法把大量的信息迁往云,那么也就无法在云中实现信息的逐条访问。最好的解决方法就是在云以外的某地托管数据和查询逻辑,并发送数据库管理系统(DBMS)查询命令以提取数据的一个子集,从而实现在云中的数据处理。在企业内部确保DBMS引擎功能并只把查询和结果迁入/出云能够显著地降低数据存储和访问成本。
针对这类功能划分对应用程序进行结构设计是相对简单的,事实上,正有越来越多的厂商提供了包含存储/查询功能的DBMS引擎或设备。但是,构建针对应用程序的检查以防止有问题的查询结构提供所有的数据信息是非常必要的措施。在这里,试点测试是不够的;在交付前,查询逻辑应当测试结果的大小。
认识到分布式查询处理的问题
大数据的一个特殊状况是,有可能出现信息不是存储在一个地方的情况。电子邮件、即时通信以及协作信息通常都被保存在它产生的地方,因此企业可能会拥有数十个或数百个网站。这就产生了分布式查询处理的问题,它通常被称为MapReduce的解决方案架构或最常用的开源实施Hadoop。
但结构化数据能够解决分布式查询;一家金融公司报告说,它的客户借用了从位于主要大城市区域三十多个数据库抽取数据而得到的经验分析结果。对于结构化的DBMS分析,即便查询命令被发送至每个站点以便于单独运行,也可使用SQL/DBMS命令来“综合”来自于多个站点的结果。这样一来,问题就转变成为要确保在每个地方查询命令都要被细分以便于完全运行;否则,运行每个命令就都要求访问其它地方的数据,其成本就会变得相当高。
虽然很多人都在关注如何创建混合云,但是对于未来云中关键任务应用程序来说,创建“混合数据”将是更为重要的任务。如果缺少一种最优化使用物美价廉本地存储资源和高度灵活云计算处理的方法,那么用户们可能会发现他们的大型数据将迫使他们保持传统的IT架构。这不仅会让云失去与关键任务应用程序相关的收入,而且也让云计算失去了对企业的吸引力。