采用模式法实现大数据设计

日期: 2013-03-12 作者:George Lawton翻译:邹雅玲 来源:TechTarget中国 英文

设计模式已经成为一种简化软件应用程序开发的方法。随着组织开始利用新资源和新数据类型解决设计应用程序的问题,设计模式可以降低大数据的的复杂性,提升集成性能以及用新型和较大规模的数据形式提高工作成效。   Derick Jose是Flutura决策科学与分析的大数据方案总监,他说:“设计模式提出了解决重复问题的模板和指导框架。该模式是由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides在其名为《Design Patterns: Elements of Reusable Object-Oriented Software》的书中提出的,在大数据世……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

设计模式已经成为一种简化软件应用程序开发的方法。随着组织开始利用新资源和新数据类型解决设计应用程序的问题,设计模式可以降低大数据的的复杂性,提升集成性能以及用新型和较大规模的数据形式提高工作成效。

  Derick Jose是Flutura决策科学与分析的大数据方案总监,他说:“设计模式提出了解决重复问题的模板和指导框架。该模式是由Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides在其名为《Design Patterns: Elements of Reusable Object-Oriented Software》的书中提出的,在大数据世界中,我们需要设计模式模板来解决一些重复出现的问题。”

  最佳的设计模式取决于项目的目标,因此存在几种不同类型的大数据技术,Jose说:

  -混搭半结构式数据(例如,医疗记录和呼叫中心记录)和结构化数据(例如,携带病菌的患者)的设计模式。

  -设计模式可以在高速事件流中查找事件序列信号。(例如,什么顺序警示了防火墙意识到网络漏洞?又是什么顺序使病人陷入逆境?)

  -设计模式可在实时操作系统中识别信号。

  -设计模式用于匹配客户行为档案的云数据服务(例如,谷歌分析)。

  Jose解释说它有助于认真考虑大数据项目的结构。作为一个周围多层次的信息价值链,其输入的数据是为了改善复杂的日志文件、非结构化的数据、模式检测和运行或输出数据。每层结构中,都需要编写模式应对重复发生的挑战。

  密切关注管理、风险管理及合规性

  组织需要进行战略性思考在有机会利用新数据源的同时将负债和风险降到最小。Dave Beulke是一名数据库顾问和培训师,同时也是北首都地区(DAMA-NCR)数据管理协会的会长。他说:“人们还没有充分考虑到大数据治理和归档策略。安全、治理和归档是大数据管理涉及的重要事件。”最佳实践类似于那些传统的数据库,主要专注于定义不同部门人的角色和职责。

  数据访问需求的增长所带来的扩展问题是现今面临的一个严峻挑战。新的数据来源是传统数据库的10倍或1000倍。Beulke说,尤其针对归档如果没有一个完善的策略,组织在数据保存、隐私和其他传统数据管理方面会产生问题。他还补充道:“不能因为它是大数据而忽略数据安全性和数据治理需求。在处理医疗数据,监测数据和其他类型 (PII)的个人身份信息时这种管理就特别重要。”

  最好的设计模式实际上是取决于组织如何利用业务数据来服务大数据应用程序。一些组织仅仅利用社会影响,一旦他们扫描了整个信息,就会把它扔掉。还有其他的大数据应用程序,如卫生保健或监视,关于时间方面的信息他们需要更多的设计模式。

  例如,一些制造、工程企业要检测机器和监控生产环境(例如,此车的发动机每分钟转数(RPM)是多少,或者当监控农场设备时其铲速频率高了多少?)。他们从平均故障时间和其他方面分析和监测数据。Beulke问道:“这种情况下,目前的挑战是,如果你得到所有的数据,发动机的转数与两年前相比有怎么样的改进。”

  在决定收集新的信息时需要进行一个审查流程。Beulke解释说:“审查中你要判断发动机的转数是否正常。你想要保持这个转速吗?或者你只是需要一个特别的数据,例如何时发动机的转数超标。当发生以上情况时,我们需要对业务影响程度进行分析。在未来10年,该分析有助于解决问题吗?或者你不需要担心这类异常问题?”

  为得到准确的业务及相关数据内容,组织应该实施标准化管理和安全审查。有一些事情并不需要额外的审查,例如推特。Beulke说:“你仅仅专注于顾客情绪、公众喜好和那些并不重要的安全问题。”

  NoSQL点亮了社交应用程序,其优势在于可以后台处理数据。该程序趋势分析功能很好,但使用重复功能时,就会出现管理和安全问题。按照目前的开发标准和数据库平台,该程序已经符合标准。Beulke指出:“很多人都采用了开源Hadoop或其他的NoSQL平台,在某些方面,这却会诱使问题的发生。”

  原因是工作人员不清楚关于NoSQL数据库的知识。没有适当的程序来处理这些问题。Beulke解释说:“许多组织甚至不需要NoSQL。通过传统关系型或平面文件系统,他们能够达到他们正努力的目标。”

  另一方面的问题是NoSQL数据库的运行速度不一定快。这是一个人们认为理所当然的假设。Beulke说:“Oracle 和DB2已经在其中植入了很多性能。你要记住,DB2有很强的压缩功能,它可以节省很多I/O 和CPU空间。该压缩功能可以节省十分之九的存储空间,提高十倍的分析速度。”

  NoSQL应用程序使用R编程语言作为接口,与简单的SQL接口语言相比较为复杂。由训练有素的SQL工作人员来参与程序的开发是较为容易的。

  使用NoSQL中,有必要将工作人员送到国外进修或者对其进修专业的R语言训练。Beulke说:“完成这样一个复杂而庞大项目的责任是巨大的。NoSQL数据库出现了一些数据库管理维护方面的问题,这是因为缺乏NoSQL压缩功能或额外工具,使得其运行方面十分耗时。”

  传统的关系数据库已经开始植入这些功能。Beulke指出:“DB2已经具备图形存储性能,并且在某种程序上支持管理和安全功能。”

  扩大企业数据仓库的范围

  更有效的方法是提出了企业数据仓库的观念。Steve Wooledge是Aster数据系统市场部高级总监。他解释说:“我们称之为‘统一的数据架构’,这里有服务于用户和应用的专门的工作负载平台,并与其正在尝试完成的任务有关。如果有人试图服务成千上万的用户,提供给他们所有类型数据的访问权限,此时就需要创建一个数据仓库。”

  另外一个用例是,那些数据仓库已经变得如此重要以至于停止自由型数据的探索而是请专家来做这项工作。现在可以访问更多的数据,而且有许多不同的数据结构和形式。例如Hadoop技术给我们提供一个低成本、无需提前转换的方法来访问数据。一旦数据被捕捉并存储,我们所面临的挑战是确定其中的数据价值是什么。

  Wooledge说,针对统一的数据架构,该方法给组织中的所有用户提供了新、旧数据的访问权限,因此,他们可以通过选择工具来进行分析。“这是一个松散耦合架构,集成了这些系统的优点和缺点,我们将其以可管理和可使用的方式引进到企业中。”

  其中一个关键的挑战在于使非结构化数据整合到组织的数据仓库中。Wooledge认为Hadoop是作为分布式文件系统而不是一个关系数据库,因此你不需要将数据转化到列表中。他解释说:“我们发现了一个以原形式存储数据的机会,并使用Hadoop技术提取数据,此时我们可以引入其他的数据结构和已知信息。”

  尽管该语言可以编写Hive查询和做MapReduce工作,其所面临的挑战是,一旦数据存储在Hadoop中,对于那些熟悉SQL或商业智能工具想要探索并互相交换数据的人来说就变得很困难。组织可能曾考虑使用Hcatalog改进元数据。该工具的映射数据以表结构存储在 Hadoop中,这样SQL工具就可以读取该数据。这就意味着拥有Tableau或MicroStrategy工具的业务用户,可以通过单一查询从Hadoop和 Teradata中获得数据。

  对于脱离事务处理系统的数据,例如销售点或库存,这些数据已经以关系型形式存储起来了,并与已经的表映射,例如货物的数量和价格。从数据存储的角度来看,Hadoop的价值在这种情况下并不大,因为你可以将其以关系形式添加到数据仓库中。

  另一方面,如果你正在尝试从非结构化数据中获得额外的信息,Hadoop可以更好地达到目的。例如,保险公司也许会决定做内容分析,用来识别保险报告中使用的,可能增加欺诈风险的词语。

相关推荐