• 快捷搜索
  • 全站搜索

大数据时代的数据架构设计

2015-11-11 16:13:27作者:中国人寿股份有限公司研发中心 张新宇编辑:金融咨询网
数据湖的概念近两年在大数据管理领域中争论颇多,顾名思义,数据湖是指数据无需加工整合,可直接堆积在平台上,由最终使用者按照自己的需要进行数据处理。

近两年在大数据管理领域中争论最多的恐怕要属数据湖(Data Lake)的概念了。虽然Pentaho的CTO James Dixon 2010年就已经提出了这个概念,但直到最近两年才引起业界的热议。“数据湖”概念涉及数据架构、应用模式以及数据管控等多方面的问题。James用了一个形象的比喻来描述数据湖:“如果把数据集市看做一瓶饮用水,数据湖则是未经处理和包装的原生状态水库。不同源头的水体源源不断流入数据湖,带来各种分析、探索的可能性。”

  这一概念带来了几个延伸性问题:一是大数据管理是否还需要数据架构规划,尤其是业界已经非常擅长和熟悉的数据架构层次?二是Schema On Read和Schema On Write提出的问题,即对于无结构的原始数据,是在其进入大数据平台之初就通过各种方法确定其Schema(简表),还是留给数据使用者自行解决。三是数据在使用之前是否需要质量检查,是否需要进行标准化等处理。

  由上述分析可见,数据湖的概念指出,数据无需加工整合,可直接堆积在平台上,由最终使用者按照自己的需要进行数据处理。而数据仓库建设强调的是整合、面向主题、分层次等思路。可以说,数据湖建设思路从本质上颠覆了数据仓库建设方法论。两者差异如图1所示。

图片5.jpg

  在数据仓库模式下,数据需要清洗、转换及整合,而在数据湖模式下,这些工作由最终用户按照自己的需要处理。

  事实上,由于企业发展的历史、现状以及IT治理模式等的差异,并不存在一个放之四海皆准的数据架构蓝图。本文通过对数据使用需求差异进行分析,探讨大数据时代的数据架构设计。在探讨之前,需建立两个共识:一是企业内部的不同条线,不同部门的用户之间,对于数据应用的深度和广度是有差异的。这种差异带来了使用模式、数据基础和时效性要求等方面的不同要求。二是企业IT系统建设基于一定预算,成本可控。如果投入无限大,那么数据架构的探讨就失去意义。

一、数据使用需求的差异

  无论数据架构如何设计,目的都是为了满足最终用户的需求。因此,在讨论大数据时代的数据架构设计前,首先应该明确企业内部对于大数据的应用究竟可以从哪些角度对需求进行梳理。

  1.固定与灵活:使用模式的不同要求

  尽管固定报表应用模式已经存在多年,而新的数据使用模式又层出不穷,但报表由于其简单明了的特点,目前依然是企业内部各种数据应用形态的主力,尤其是针对各级管理人员。这种模式对数据使用的要求是固定的,加工路径也是固定的,因此可以通过各种预处理和预先加工来对数据进行处理,从而提升查询速度。基于上述特点,技术人员可以事先对所有的数据表进行设计,对程序进行优化。

  联机分析是针对业务分析的一种使用模式,当通过报表发现业务问题时,通常需要从不同角度进一步分析问题产生的原因。这类分析可能没有预先确定的模式和路径,需要在大量的数据中通过更加灵活的方式进一步探索,通常通过OLAP和即席查询的方式完成。OLAP在预先定义的语义模型上进行进一步分析;即席查询允许用户在更加底层的明细数据上通过编写SQL语句来进行分析。

  数据科学家所做的探索性数据分析工作则更加灵活,数据的来源可以是外部、非结构化甚至半结构化的数据,数据处理则可以采用各种编程语言,其灵活度远远超过SQL语句的承载能力,其分析的主题甚至可以是事先没有设定的,从对各种数据的不断探索中寻找发现问题的灵感。

  2.统一与独立:数据基础的不同要求

  很多用户希望在统一的数据基础上进行数据应用,这种方式的好处体现在:用户无需为来自不同系统的数据建立关联关系;无需进行数据清洗和转换;无需理解每一个数据源系统的结构和内部关系;从不同角度进行分析时,可以得到不同的结果。

  与之对应的是,统一的数据基础通常为满足一些应用的共性要求对数据进行相应的处理,如数据清洗、代码标准化或过滤掉质量不合格的数据。这种共性化的处理使得一些需要使用原始数据的用户无法使用,一些代码转换可能丢失了部分信息,一些整合可能使得数据无法还原。有些用户希望拥有自己独立的基础数据,直接使用原始数据,而不是转换后的数据。在风险管控和审计领域,这种需求更加明显。

  3.稳定与敏捷:面对变化的不同要求

  不同应用场景和不同业务处理系统对数据的要求也不同,概括而言,主要有两类:一是希望能够通过数据架构的设计保持应用稳定,尽量屏蔽各个应用系统的变化对各类数据应用的影响。二是希望能够迅速跟上系统的变化,保持敏捷。两类要求都有其合理性,尽管并不是每个应用的使用者都关心源应用系统的变化,但如果不对变化进行管理,对所有应用都会产生影响。

  4.时效性的不同要求

  企业内部的不同应用,对时效性的要求也不尽相同。有些应用对数据有准实时性要求,如业务监控类应用、实时营销类应用和事件侦测类应用等;有些应用对数据时效性要求为半日/隔日;有些应用旬和月度即可。针对不同的时效性要求,数据基础、数据加工的路径和采用的技术也不相同。

  随着企业数据应用的成熟度不断增加,数据时效性要求的差异也会越来越明显。数据架构就是要随着要求的不断变化而进行调整。下文从技术角度分析需求差异对数据架构提出的要求和带来的挑战。

二、两种数据架构设计

  数据架构及其技术实现都是服务于数据使用需求的,而使用需求上的差异对于技术实现的要求不同,需要采用各种变通的技术架构满足要求。本文重点分析不同数据使用要求对技术平台的不同要求以及两种数据架构的适用场景。

  1.固定、统一的要求需要层次化的数据架构

  使用模式上,无论是固定报表还是各种形态的联机分析,从数据架构的角度看,都可以采用层次化的数据架构满足要求。这种模式成本最低,基础数据和应用指标的一致性最好,以经典三层架构设计为代表。

 1 2 下一页 尾页

扫码即可手机
阅读转发此文

本文评论

相关文章