每一个决定使用数据驱动决策的组织都在考虑数据架构。毫无疑问的是,相比于五年前,一大批新技术可以被使用来改变组织间竞争的方式和组织服务客户的方式。
相比于事后反应,现代数据驱动型组织应该预测业务需求和市场的变化,积极主动的优化结果。不更新或重塑其数据架构的公司会失去客户、资金、和市场份额。
本文会总结现代数据架构的主要特点,并可以作为组织开发或选择现代数据架构的指导。
什么是数据架构
与设计房屋或建筑物的传统建筑师一样,数据架构师创建的数据架构要符合组织的短期和长期目标及其独特的文化和背景要求。
对于大部分人而言,数据架构定义了一套组织使用和管理数据的标准产品和工具集。但它又不仅仅如此,数据架构定义了数据采集、转换处理、以及传递给业务用户可用数据的一套流程。最重要的是,它还标识出谁会使用数据以及他们使用数据的需求。一个好的数据架构应该是从右往左流:从数据的消费者到数据源,而不是其他方式。
过去,组织构建 IT 驱动的静态数据架构,被称为数据仓库。由于底层的技术和设计模式,多数的数据仓库需要大量的人员来构建和更新,但获得的收益回报较小。虽然标榜的很好,可以解决数据的融合问题,方便报表和分析,但实际上可能仅仅统一了数据的存储。
现代的数据架构仍然提供数据仓库,理想情况下,数据仓库具有灵活、敏捷和高度适应性。但是数据仓库仅仅是现代数据架构或者叫做现代数据分析环境的一个组件。新的架构就像一个生机勃勃的有机体,可以检测并响应变化,不断的学习和适应,为每个人提供定制的且可被管理的数据访问。
对比数据平台。此外,数据架构并不是数据平台,数据平台指的是负责数据移动、处理、验证的一套引擎和工具,数据平台包括底层的用于处理数据的数据库引擎(例如,关系型数据库、Hadoop、OLAP),以及上层的用于数据整合的框架,使数据工程师能够为业务的使用来创建数据集。数据平台强调数据集成,这是以 IT 为中心的,数据架构则更强调业务与 IT 之间的合作。
十个特点
现代数据架构有如下十个特点。
- 客户为中心 :相比于关注在数据本身或者用于提取、处理转换、和呈现信息的技术,现代的数据架构从业务用户和他们的需求出发向前推导。客户可以是组织内部或外部的,需求也会根据角色、部门和时间的推移而变化。一个好的数据架构应该能够满足用户新增的或变化的需求,并不断进步。
- 适应性强 :现代数据架构中,数据流如水一样从源系统到业务用户,该架构的目的就是管理这个流程,通过创建一系列满足各种业务需求的相互连通的数据管道,这些管道由一些基础的数据对象构成,包括:数据快照、数据增量、数据视图、参考数据、主数据、和面向对象的表。这些数据对象能够被重复使用和补充来确保向业务稳定的输出高质量的相关数据。
- 自动化 :为了创建一个数据不断流动的适应性强的架构,设计人员需要能够自动化所有事情。它必须在摄取数据的同时对数据进行分析和标记,并将其映射到现有的数据集和属性,这过程也叫做元数据注入,是数据目录产品的关键功能。同样,它还能检测到数据源的结构变化并评估出对下游数据和应用的影响。在实时的环境中,还能够检测出异常并通知响应的个人或者触发报警。
- 智能 :理想的数据架构不仅仅是自动化的,还能使用机器学习和人工智能来构建数据对象、表、视图、和模型来保持数据流动。使用智能而非暴力来识别数据类型、公共的 key 和 join 关系、识别和修复数据质量问题、识别表之间的关系、推荐相关数据对象和分析使用方法等等。现代数据架构通过智能的学习、调整、报警、推荐等方法使管理数据和使用数据的人更加高效的进行工作。
- 灵活 :现代数据架构需要足够灵活以支持多种业务需求。需要能够支持多种业务用户,多种数据加载模式和频率(批量、小批量、流式),多种查询操作(创建、读取、更新、删除),多种部署模式(私有部署、公有云、混合云),多种数据处理引擎(OLAP、MapReduce、SQL、Graphing等)和多种数据通道(数据仓库、数据集市、OLAP cubes、可视化发现、实时应用)。现代数据架构需要满足所有人的所有事情。
- 协作 :与之前 IT 部门构建所有内容不同,现代数据架构将数据采集和处理的任务分散到了 IT 部门和业务用户。IT 部门仍然负责从业务系统获取数据和搬运数据的工作,以及构建可以重用的数据对象。当从此往后,有能力和需求的业务部门可以接管,业务部门的数据工程师和分析师使用数据准备和数据目录工具来创建定制化的数据集,使用这些数据集来创建支持业务的应用程序。这种协作使 IT 部门不必了解业务,因为这从来不是他们的强项。
- 治理 :有点讽刺的是,治理是自助服务的关键。现代数据架构为每种类型的用户定义好数据访问的方式来满足他们的需求。可以定义出四种类型的用户:数据消费者、数据探索者、数据分析师、数据科学家。例如,数据科学家可以在登陆授权范围内访问原始的数据,或者更好,在一个特别构建的沙箱内,他们可以将原始数据和自己的数据混合在一起。
- 简单 :根据奥卡姆剃刀原则,最简单的架构就是最好的架构。考虑到今天数据架构需求的多样性和组件的复杂性,这是一个艰巨的任务。应用此规则,数据量小的组织可以使用一个 BI 工具及其内置的数据管理环境来构建数据架构,而不是使用一个大规模的并行处理(MPP)引擎或者 Hadoop 环境。同时为了减少复杂性,组织应该尽量限制数据的移动和复制,并倡导统一的数据平台、数据管理框架、和数据分析平台,尽管可能每个方向有更好的选择,但统一带来的简单也很重要。
- 弹性 :在大数据和可变负载的时代,组织需要一个可扩展的弹性架构来适应不断产品的数据处理需求。许多公司现在纷纷涌向云平台(共有或私有),以实惠的价格获取按需扩展的能力。弹性架构使管理员不必精确估计容量,可以在必要时节省使用量,不用过度购买硬件。
- 安全 :现代数据架构是一个自由堡垒,也就是说,它为授权用户提供了数据的随时访问,同时防止黑客和入侵者。它还符合隐私法规,包括Health Insurance Portability and Accountability Act (HIPPA) 和 the General Data Protection Regulation。通过在摄取数据时进行加密,屏蔽个人身份信息数据,以及跟踪数据目录中的数据元素来实现,包括数据血缘、使用、和审计。生命周期管理确保每个数据有负责人、位置和过时计划。
额外的特点
可靠:任何数据架构必须可靠,具有高可用性、灾难恢复和备份/恢复功能。尤其是运行在云上或大规模服务器上的数据架构,机器故障是很常见的。不过好消息是,现在云提供了内置的冗余和故障转移,以及良好的 SLA 协议,并允许公司以低成本在地理位置分散的数据中心进行数据备份以便灾难恢复。
如果对大数据或数据平台等相关内容感兴趣,欢迎关注微信公众号
原文
https://segmentfault.com/a/1190000019953299