昔日的数据架构已经无法满足当今对速度、灵活性和创新的需求。成功升级的关键(也是巨大的潜在回报)是敏捷性。
在过去的几年中,组织不得不迅速在原有基础设施的基础上部署各种新的数据技术,从而推动由市场驱动的各种创新,例如定制化的报价、实时警报和预测性维护。
但是,数据湖、客户分析平台、流处理等技术的加入极大地增加了数据架构的复杂性,这些技术往往严重妨碍了组织提供新功能,维护现有基础设施以及持续确保人工智能模型的完整性。
当前的市场动态不容放缓。亚马逊和谷歌等先进的公司一直在利用人工智能技术创新来颠覆传统的商业模式,而这就要求落后者重新构想自身业务的各个方面以跟上发展的步伐。云提供商已经推出了最前沿的产品(例如可以立即部署的无服务器数据平台),这些产品使采用者享有更快的上市时间并且具备更高的敏捷性。Analytics(分析)用户要求使用更多兼容性强的工具(如自动模型部署平台),以便他们可以更快地使用新模型。许多组织已经采用了应用程序编程接口(API),使来自不同系统的数据能够接触到数据湖并迅速将洞察直接集成到前端的应用程序中。如今,随着各大公司纷纷开始研究由冠状病毒(COVID-19)大流行所引起的前所未有的人道主义危机并为下一次正常运转做准备,它们对灵活性和速度的需求只会增加而不会减少。
对于要加强竞争优势(甚至是保持同等优势)的公司,它们必须以一种新的方法来定义、实施和集成数据栈,同时利用云(除了基础架构即服务)以及各种新的概念和组件。
打造颠覆性数据架构的六个转变
我们发现,各大公司正在对其数据体系结构蓝图做出六项根本性的转变,这些转变可以更快地交付新功能并大大简化现有的体系结构方法。这些转变几乎涉及所有的数据活动,包括采集、处理、存储、分析和公开。尽管组织可以在实施一些转变的同时使其核心技术栈不受任何影响,但许多组织仍需要对现有数据平台和基础设施进行仔细的架构调整,包括以前使用的各种遗留技术和比较新的技术。
这样的工作并非微不足道。为创建基本用例(例如自动报告)的功能而进行的投资往往高达数千万美元,而用于部署尖端功能的体系结构组件(例如为了与最具创新力的颠覆者竞争的各种实时服务)的投资则可能高达数亿美元。因此,对于组织而言,制定清晰的战略计划至关重要,数据和技术领导者必须做出大胆的选择,以优先考虑那些将直接影响业务目标的转变,并投资于复杂度适中的体系结构。因此,各大公司之间的数据架构蓝图往往看起来截然不同。
如果投资得当,投资回报将非常丰厚(有一家美国银行每年可赚取5亿多美元,一家石油和天然气公司则实现了12%至15%的利润率增长)。我们发现,这类收益来自方方面面:节省IT成本、提高生产率、降低法规和运营风险以及提供全新的功能,新服务乃至整个业务。
那么,组织需要考虑哪些关键变革?
1. 从本地数据平台到基于云的数据平台
云可能是一种全新的数据架构方法的最具颠覆性的推动力,因为它为公司提供了一种快速扩展人工智能工具和功能以获取竞争优势的方法。亚马逊(Amazon Web Services)、谷歌(Google Cloud Platform)和微软(Microsoft Azure)等主要云提供商已经彻底改变了各大组织大规模采购,部署和运行数据基础设施、平台和应用程序的方式。
例如,有一家公用事业服务公司将基于云的数据平台与容器技术相结合,该技术用微服务(例如搜索账单数据或向帐户添加各种新属性)将应用程序功能模块化。这使公司能够在几天(而不是几个月)的时间内向大约100000个业务客户部署新的自助式服务功能,为最终用户提供大量的实时库存和交易数据以进行分析并通过在云中(而不是在更昂贵的本地旧系统上)“缓冲”交易来降低成本。
管用的概念和组件
•无服务器数据平台(如Amazon S3和Google BigQuery)使组织可以无限地创建和运行以数据为主的各种应用程序,而无需安装和配置解决方案或管理工作负载。此类产品可以降低专业门槛,将部署时间从数周缩短至几分钟,而且几乎没有产生任何运营开销。
•由于使用了Kubernetes的容器化数据解决方案(可通过云提供商以及开放源代码获得,并且可以快速集成和部署),公司能够脱离其他计算能力和数据存储系统的部署并将这项工作自动化。此功能可以确保设置高度复杂的数据平台(例如,将数据从一个应用程序会话保留到另一个应用程序会话所需的数据平台,以及具有复杂备份和恢复要求的数据平台)可以扩展以满足需求,因此它特别有用。
2. 从批处理到实时数据处理
实时数据通信和流媒体功能的成本已大大降低,这为其主流使用铺平了道路。这些技术实现了一系列新的业务应用:例如,运输公司可以在出租车到达时向客户提供精确到秒的抵达时间预测;保险公司可以分析来自智能设备的实时行为数据,从而将费率客制化;而且制造商可以根据实时的传感器数据来预测基础设施方面的各种问题。
订阅机制等实时流媒体功能使数据消费者(包括数据集市和数据驱动的员工)可以订阅各种“主题”,以便他们可以获取所需交易的持续更新。通用数据湖通常充当此类服务的“大脑”,它保留了所有细粒度的事务。
管用的概念和组件
•Apache Kafka之类的消息通信平台提供了完全可扩展,持久且具备容错能力的发布/订阅服务,该服务每秒可以处理和存储数百万条消息,以供立即使用或以后使用。与传统的企业通信队列相比,这可以支持实时用例,绕过现有的基于批处理的解决方案并且占用的空间更少(占用的成本基础也更少)。
•流处理和分析解决方案(例如Apache Kafka流、Apache Flume、Apache Storm和Apache Spark流)实现了实时对消息进行直接的分析。该分析可以基于规则,也可以包括高级分析,从而在数据中提取事件或信号。分析往往会整合众多历史数据以比较各种模式,这在推荐和预测引擎中尤其重要。
•Graphite或Splunk之类的警报平台可以向用户触发各种业务操作,例如,如果销售代表没有达到每天的销售目标,那么他们就会得到通知,或者将这些操作集成到可能运行于ERP或CRM的现有流程中。
3. 从预集成的商业解决方案到模块化的同类最佳平台
为了扩展应用程序的规模,公司往往需要冲破大型解决方案供应商所提供的遗留数据生态系统的限制。现在,许多公司正朝着高度模块化的数据架构发展,这种架构使用了最佳的,经常使用的开源组件,这些组件可以根据需要被新技术替换而不会影响数据架构的其他部分。
前面提到的那家公用事业服务公司正在向这种方法过渡,从而快速向数百万客户提供新的,以数据为主的各种数字化服务并大规模地接入基于云的各种应用程序。例如,该公司每天都会准确地显示客户的能源消耗和比较同侪消费的实时的分析洞察。该公司建立了一个独立的数据层,该数据层包含各种商业数据库和开源组件。数据通过专有的企业服务总线与后端系统同步,而托管在容器中的各个微服务在数据中运行业务逻辑。
管用的概念和组件
•数据管道和基于API的接口简化了不同工具和平台之间的集成,其方法是使数据团队免受不同层的复杂性的困扰,缩短产品上市时间并减少在现有应用程序中引起新问题的机会。当需求发生变化,这些接口还使单个组件更容易更换。
•Amazon Sagemaker和Kubeflow等分析工作台可简化高度模块化架构中的端到端解决方案的创建。这样的工具可以与各种各样的基础数据库和服务连接并使高度模块化的设计成为现实。
4. 从点对点到脱离数据访问
人们可以通过API来揭露数据,这样可以确保直接查看和修改数据的做法是受限且安全的,同时还可以让人们更快地访问常见的数据集。这使得数据可以在团队之间轻松得到重用(reused),从而加速访问并实现分析团队之间的无缝协作,从而可以更高效地开发各种人工智能用例。
例如,有一家制药公司正在通过API为所有员工创建内部“数据市场”,以简化和标准化对核心数据资产的使用,而不是依赖各种专有接口。该公司将在18个月内逐步将其最有价值的现有数据馈送(data feed)迁移到基于API的结构中,同时部署API管理平台以向用户展示各种API。
管用的概念和组件
•企业必须创建一个API管理平台(通常称为API网关)以创建和发布以数据为主的API,实施使用策略,控制访问并衡量使用情况和性能。该平台还可以让开发人员和用户搜索现有数据接口并重用这些接口,而不是创建新的数据接口。API网关通常作为数据中心内的单独区域而被嵌入,但它也可以作为中心外的独立功能开发。
•企业往往需要一个数据平台来“缓冲”核心系统之外的各种事务。这样的缓冲区可以由数据湖之类的中央数据平台或在分布式数据网格中提供,这个分布式数据网格是一个生态系统,它由为每个业务域的预期数据的使用情况和负载创建的最佳平台(包括数据湖、数据仓库等)组成。例如,有一家银行创建了一个纵列数据库(columnar database),以便直接向线上银行和移动银行应用程序提供客户信息(例如最近的金融交易)并减少大型机上昂贵的工作量。
5. 从企业仓库到基于域的架构
许多负责数据架构的领导者已经从中央企业数据湖转向“域驱动”的设计,这些设计可以定制并“合乎某个目的”,从而缩短新的数据产品和服务的上市时间。由于用了这种方法,虽然数据集可能仍驻留在相同的物理平台上,但每个业务领域(例如,市场营销,销售,制造等)中的“产品负责人”的任务就是以易于使用的方式来组织数据集,使其既适用于域内的用户,也适用于其他业务域中的下游数据使用者。这种方法需要谨慎地权衡,以免变得支离破碎和效率低下,但是它可以减少在数据湖中创建新数据模型所需的时间(通常从数月缩短至数天),在反映联合业务结构或遵守数据移动性的法规限制时,它可以是一种更简单有效的选择。
有一家欧洲电信提供商使用了分布式的基于域的架构,因此销售和运营人员可以将客户、订单和账单等数据提供给数据科学家用于人工智能模型或直接通过数字渠道提供给客户。该公司部署了由公司销售和运营团队中的产品负责人管理的各种逻辑平台,而不是创建一个中心化的数据平台。该公司还激励产品负责人使用数据进行分析并使用数字渠道、论坛和黑客马拉松来推动采用。
管用的概念和组件
•作为平台的数据基础设施提供了用于存储和管理的一系列通用工具和功能,以加快实施速度并使数据生产者不必创建自己的数据资产平台。
•数据虚拟化技术始于客户数据之类的小众领域,这些技术如今已为各大企业所采用,以此来管理人们对分布式数据资产的使用并将分布式数据资产整合进来。
•即便企业没有获得完全访问权或没有做好充分准备,数据编目工具也能让企业搜索和研究数据。该目录通常还提供元数据定义和端到端接口,以简化对数据资产的访问。
6. 从严格的数据模型到灵活的,可扩展的数据模式
来自软件供应商的预定义数据模型和满足特定业务智能需求的专有数据模型往往都创建于高度标准化的架构(schema)中,这些架构具有固定的数据库表和数据元素,从而最大程度地减少冗余。尽管此方法仍然是数据报送和以法规为中心的用例的标准,但它也要求组织在合并新的数据元素或数据源时经历漫长的开发周期并具备丰富的系统知识,因为任何更改都可能影响数据的完整性。
为了在研究数据或支持高级分析时获得更大的灵活性和强大的竞争优势,公司正朝着“架构简化(schema-light)”的方法发展,它们使用物理表较少的非规范化数据模型来组织数据以实现最佳性能。这种方法好处颇多——灵活的数据探索,更灵活地存储结构化和非结构化数据以及降低复杂性,因为数据领导者不再需要引入其它抽象层(例如高度规范化的表之间的多个“联接”)来查询关系数据。
管用的概念和组件
•数据点建模技术(例如Data vault 2.0)可以确保数据模型可扩展,以便将来可以在有限的中断范围内添加或删除数据元素。
•图形数据库是NoSQL数据库的一种,这种数据库近年来颇受关注。一般来说,NoSQL数据库非常适合需要大量可伸缩性和实时功能的数字应用程序以及服务于人工智能应用程序的数据层,这是因为它们可以利用非结构化数据。尤其是图形数据库,提供了以强大而灵活的方式对数据之间的关系进行建模的功能,许多公司正在使用图形数据库来创建主数据库,以适应不断变化的信息模型。
•Azure Synapse Analytics之类的技术服务使人们可以访问类似于关系数据库的基于文件的数据,其方法是将各种表结构动态地应用到各种文件。用户得以灵活地在访问存储于文件中的数据时继续使用各种通用接口(例如SQL)。
•使用JavaScript对象表示法(JSON)来存储信息,这使组织可以更改数据库结构而不必更改业务信息模型。
如何开始
数据技术正在迅速发展,这使定义三到五年的目标架构的状态并朝着这个方向努力的传统工作既充满风险又效率低下。只要制定各种使数据领导者和技术领导者快速评估和部署各种新技术的实践,以便他们快速适应,那么他们就能得到更好的服务。下面来看看四种重要的做法:
•将测试中学习的思维方式应用于架构创建并尝试使用各种不同的组件和概念。这种敏捷实践已经在应用程序开发中应用了很长时间并且最近在数据领域得到沿用。例如,领导者可以从较小的预算开始,创建最小可行产品或者将现有的开源工具整合起来创建一个临时产品并将其投入生产(使用云来加速这个过程),以便它们可以在得到扩展和进一步发展之前展示其价值;相反,领导者不应该为了找到“完美”的选择而参与有关最佳设计,产品和供应商的漫长讨论,然后再进行冗长的预算批准。
•建立数据“部落”,由数据管理人员,数据工程师和数据建模人员组成的团队负责创建端到端的数据体系结构。这些部落还致力于创建标准的,可重复的数据工程流程和特征工程流程,从而为开发高度可建模的数据集提供支持。这些敏捷的数据实践有助于加快各种新数据服务的上市时间。
•投资数据运维(DataOps,即用于数据的强化了的DevOps)有助于加快新组件在数据体系结构中的设计,开发和部署,以便团队可以根据反馈快速实施和频繁更新各种解决方案。
•创建这样一种数据文化,在这种文化氛围里,员工希望在其职务范围内应用各种新的数据服务。实现这一目标的一个重要工具是确保数据战略与业务目标相关联并在高管向组织发出的信息中得到反映,这有助于强调这项工作对业务团队的重要性。
随着数据、分析和人工智能在大多数组织的日常运营中得到越来越深入的应用,为了创建和发展以数据为中心的企业而对数据架构采取截然不同的方法是十分必要的,这是显而易见的。那些采用这种新方法的数据和技术领导者可以更好地定位自己的公司,即具备敏捷性,弹性并且在未来具有竞争力。