原文作者:Armel Nene
原文地址:https://dzone.com/articles/big-data-architecture-best
译者微博:@从流域到海域
译者博客:blog.csdn.net/solo95
#大数据架构最佳实践
软件供应商的营销部门已经做好了让大数据成为主流的工作,无论这会产生怎样的影响。如果我们使用大数据,我们可以实现任何承诺过的前景; 商业上的洞察力或是实现击败我们的竞争对手。但是,现在还没有公开的大数据的成功实现。问题是:为什么没有呢?显然,这个银弹(比喻大数据)让企业看到了数十亿美元的投资流入,但没有投资回报!这应该责怪谁?毕竟,企业不必公布其内部流程或项目。我对此有不同的看法,原因应该在于IT部门。大多数大数据项目都是由技术专家推动的,这些项目并不是因为需要将架构与未来的业务愿景对准而造成缺乏认识的业务。
大数据项目与任何其他IT项目没有什么区别。所有项目都会刺激业务需求/要求。这不是电影《黑客帝国》; 我们无法回答尚未提出的问题。在开始任何工作或讨论使用哪种技术之前,所有利益相关者都需要了解:
(本文中的组织是对企业、商业组织,政府机构等等组织的统称,中文无直接对应词语,也可以翻译成企业或组织,译者注)
在大多数情况下,大数据项目都涉及了解当前的业务技术背景; 在当前和未来的应用和服务方面:
大数据项目不是也不应该被孤立执行。大数据需要从其他系统提供的简单事实意味着应该在各个团队之间建立沟通渠道。为了有一个成功的架构,我想出了五个简单的图层/堆栈来实现大数据。对于技术更加倾向的建筑师来说,这看起来很明显:
| 大数据协议栈 |
当前和未来的应用程序将产生越来越多的数据,这些数据需要进行处理才能从中获取一些竞争优势。数据有各种各样,但我们可以将它们分为两类:
在创造“大数据”之前,我在企业搜索技术方面投入了大量的工作。了解数据来自何处,以及对于成功实施大数据ETL项目而言具有什么样的价值。在编写一行编程代码之前,架构师必须尝试将数据规范化为通用格式。
(ETL,即Extract Transform Load,ETL是数据抽取(Extract)、转换(Transform)、加载(Load )的简写,它是指:将OLTP系统中的数据抽取出来,并将不同数据源的数据进行转换和整合,得出一致性的数据,然后加载到数据仓库中。 )
这是激励技术人员,尤其是开发团队的部分。每天发布大量关于大数据工具的博客和文章,这会造成非技术人员之间的混淆。每个人都对使用该块最酷的孩子处理PB级数据感到兴奋:Hadoop及其生态系统。在我们被带走之前,我们首先需要设置一些基线:
| 大数据 - 数据合并 |
Extract Transform Load 项目的目的是,无论是否使用Hadoop,都将数据整合到单个视图主数据管理中,以便按需查询。Hadoop及其生态系统处理大数据的ETL方面而不是查询部分。所使用的工具在很大程度上取决于项目的实际处理需求:实时或者批处理; 即Hadoop是针对大量数据的批处理框架。数据处理完毕后,主数据管理系统(MDM)可以被存储在基于NoSQL或RDBMS的数据存储库中 - 这仅仅取决于查询需求。
由于大多数人关注的都是ETL的工具,所以通常忽略了一个非常重要的领域,一直到后来它几乎成为一个次级思维(secondary thought)。MDM需要被存储在库中以便在需要时检索信息。而在真正的面向服务体系结构的精神下,数据存储库应该能够将一些接口暴露给外部第三方应用程序进行数据检索和操作。过去,MDM主要是在RDBMS中创建的,通过使用结构化查询语言进行检索和操作。那么这不必改变,但架构师应该知道其他形式的数据库,如NoSQL类型。选择数据库解决方案时应该提出以下问题:
上表中还应包括与该项目相关的其他问题。
到目前为止,我们已经提取了数据,将其转换并加载到主数据管理系统中。规范化数据现在通过Web服务(或数据库驱动程序)来公开,以供第三方应用程序使用。商业应用程序是首先使用大数据项目的原因。有人会争辩说我们应该聘请数据科学家(?)。根据许多博客所言,Data Scientist的角色是理解数据,探索数据、原型(未知问题的新答案)并评估他们的发现。这很有趣,因为它让我想起了电影“黑客帝国”,在那里,架构师甚至在Neo提问他们之前就知道问题的答案,并决定哪一个是相关或不相关的。而现在这不是企业运行的方式。如果数据科学家可能会潜意识地(Inception)建议一种新的方式去做某些事情,但大多数情况下问题将来自业务,并由数据科学家或知道数据的人回答,这将非常有价值。商业应用将成为这些问题的答案。
用户界面是项目的成败关键。设计糟糕的用户界面会影响采用率,无论背后的数据如何,更加直观的设计将会提高采用率,也许用户会开始质疑数据的质量。用户将以不同方式访问数据; 移动,电视和网络为例。用户通常会关注数据的某个方面,因此他们需要以定制化的方式呈现数据。其他一些用户则会希望通过他们当前的仪表板直接获得数据,并匹配他们当前的外观和感觉。与之前一样,安全也是一个问题。企业门户已经存在了很长时间,而且通常用于数据集成项目。尽管如此,诸如Web Services for Remote Portlets (WSRP)等标准使得用户界面可以通过Web Service调用来提供。
本文展示了在从事项目之前架构大数据项目的重要性。该项目需要符合业务愿景,并且对当前和未来的技术状况有很好的了解。数据需要能够为企业带来价值,因此企业需要从一开始就参与其中。了解如何使用数据是其成功的关键,采用面向服务的体系结构方法将确保数据能够满足多种业务需求。