你的数据仓库还在为企业业务拖后腿吗?

原创
大数据 数据库 数据仓库
数据仓库系统长期以来一直是企业IT架构的重要组成部分。随着开源技术的不断发展以及云端部署方式的不断深入,传统数据仓库的局限性日益凸显,难以适应新技术带来的市场变革,如何面向大数据技术进行数据仓库的优化、转型是企业IT管理者面临的重要挑战。处于不同阶段的企业如何应用大数据技术?如何面向大数据技术进行数据仓库转型?如何对现有数据仓库进行优化?如何在Hadoop中进行性能优化?这些已成为困扰IT管理者的主要问题。

【51CTO.com原创稿件】

——传统数据仓库向大数据的渐进式转型

数据仓库系统长期以来一直是企业IT架构的重要组成部分。随着开源技术的不断发展以及云端部署方式的不断深入,传统数据仓库的局限性日益凸显,难以适应新技术带来的市场变革,如何面向大数据技术进行数据仓库的优化、转型是企业IT管理者面临的重要挑战。处于不同阶段的企业如何应用大数据技术?如何面向大数据技术进行数据仓库转型?如何对现有数据仓库进行优化?如何在Hadoop中进行性能优化?这些已成为困扰IT管理者的主要问题。

带着诸多疑问,51CTO记者采访了Cloudera售前技术经理、资深解决方案顾问徐峰先生,徐峰拥有14年数据仓库的项目实施经验,曾作为首席架构师参与过多个大型数据仓库项目的架构设计和项目规划工作。徐峰表示,数字化时代,随着企业内部数据的快速增长,以及外部数据采集成本的不断降低,传统数仓在数据存储和分析应用上都面临着巨大的挑战。

现有的数仓环境

传统数仓面临以下局限性:

  • 存储成本较高,在线保留全量、海量数据的目标难以实现;
  • 元数据定义僵化,难以灵活集成多种数据源、支持即席查询;
  • 集群管理复杂、计算资源有限,缺乏统一的管理接口及水平扩展能力;
  • 随着数据规模、用户规模的不断增加,实时分析(例如:欺诈行为识别)SLA无法满足;
  • 常用的数据分析挖掘工具处理全量数据时间过长。

数据仓库呈现三大发展趋势

  1. 数据仓库要处理更多类型的全量数据:企业必须能够有效地存储、加工和分析数据,包括结构化数据、半结构化数据和非结构数据。
  2. 数据仓库要提供更加广泛的数据访问:数据仓库的访问不再只限于IT部门,所有部门的用户都会要求自助访问全真的数据,甚至希望无需IT部门的协助便可以自行进行数据准备,当然,这个过程中的高访问延迟也是不被接受的。
  3. 数据仓库要采取更加实时的业务决策:流式数据为理解和调整当前的业务决策创造了新的可能,但前提是我们要具备对流式数据进行实时处理的能力。实时计算需要新的技术架构,不仅要将数据流与现有数据体系进行对接,还要能够对其进行快速的分析。

企业该如何进行技术选择?

针对这一问题,徐峰认为,企业应根据所处的不同阶段进行选择:

  • 起始阶段:处于这一阶段的大多数企业已采购MPP硬件搭建数据仓库。为了保证业务延续性,对于起始阶段的企业建议以传统技术为主,以大数据技术为辅。例如:ETL处理仍然放在MPP平台,只是利用HDFS做历史数据归档,利用Spark Streaming做小批量数据的实时处理。
  • 发展阶段:这一阶段的企业用户已经掌握了大数据的核心技能,发展阶段建议以大数据技术为主,以传统技术为辅。例如:将ETL处理全部转移到Hadoop平台,而只将处理逻辑简单的固定报表部分放在MPP上。
  • 成熟阶段:建议使用Hadoop平台作为整体架构,将大数据技术应用到更好水平。

将数据仓库规划在Hadoop之上?

“企业可以选择从一开始就将整个数据仓库规划在Hadoop之上。传统数据仓库架构的主要创始人Ralph Kimball博士在2015年发表专题演讲时证实了Hadoop是可以完全取代MPP来建立数据仓库的。”徐峰提到,“在全球范围内,也确实有很多企业已经将他们的数据仓库完全建立在Hadoop之上。”

但是从技术的角度,有一些数据仓库技术或工具与Hadoop相比已非常成熟,可能已有数十年的历史,对于这些长期应用的数据库技术,Hadoop并不具备其中所有的功能或性能。但即便如此,很多用户仍然选择把他们的数据仓库构建在Hadoop架构之上,这是为了能够实现更加优越的可扩展性、更高的性价比,以及更好的灵活性。在实际应用中,即使是规模只有5个节点的小集群,企业使用Hadoop与其他技术选项相比,也能够取得更好的产出、带来更多的业务价值与竞争力。

Cloudera分析型数据库全面升级

针对当前企业级数据仓库(EDW)面临的ETL批量作业运行缓慢、BI报表不能按时生成、业务用户提交的查询迟迟显示不了结果等压力,结合当前数仓发展的趋势,以及企业的云化需求,Cloudera分析型数据库版本进行了全面升级,于2018年8月正式推出了Cloudera数据仓库版本。

徐峰介绍,Cloudera分析型数据库已经在全球900多家组织机构里运行,是一款经历过实战打磨的产品。升级后的Cloudera数据仓库版本提供了企业级混合云解决方案,包含了混合计算、混合存储、混合控制三大关键因素,专为实惠经济、强大可扩展的自助服务分析而构建。这款产品覆盖了数据仓库的整个生命周期,包括数据接入、存储、管理、查询、运行状况检查等等。

Cloudera数据仓库版本适用于以下三场景

ETL卸载:将ETL任务从EDW迁移到Cloudera大数据平台,极大的释放EDW处理能力。基于Hadoop大规模分布式的处理能力,ETL任务将以更快的速度运行,并为包括EDW在内的下游系统提供服务,使得之前错过的SLA成为历史。

自助BI和探索性分析:全面开放数据,所有部门的用户在其安全策略范围内都能自助访问全真数据。借助Read on Schema的灵活性和支持高并发的查询能力,开发人员和分析人员能够实现自助化数据探索,摆脱对IT部门的依赖,能最快的速度解决新问题。

EDW优化:通过Cloudera大数据平台释放EDW处理能力,您可以将EDW系统用于更加复杂的报表生成和热数据处理,在相当长的一段时间内都无需增加EDW存储或计算资源。 EDW和Cloudera大数据平台的混搭结构可以降低数据存储成本,提高数据处理和分析能力,充分发挥两套系统各自的技术优势。

Cloudera数据仓库版本的四大优势

数据规模和灵活性:Cloudera提供单一、可扩展的平台,可以处理不同来源、不同类型的全量数据,以推动新的业务洞察。该版本专为Read on Schema功能而设计,可以快速访问贴源的全真数据,甚至支持实时更新。

高性能和高并发支持:Cloudera的平台提供高性能的SQL查询工具,支持大数据量高并发访问,因此所有部门的用户都可以对数据进行探索性分析。而且,通过与第三方BI工具集成,可以沿用业务用户的既有技能。

内置安全管控和数据治理模块:开放的数据永远不会以牺牲安全为代价,因此敏感数据的安全至关重要。 Cloudera是通过PCI安全认证的Hadoop平台,内置安全管控和数据治理模块。无论用户采取何种方式访问数据,只要利用Cloudera安全技术对用户预设置权限,或者对数据预设置监管策略,您都可以继续数据探索之旅,而不用担心数据泄密或越权访问。

采用开源技术,可在任何环境中移植:无论是本地部署,云端还是混合部署都完全适用,避免了技术锁定的问题。

如何面向大数据技术进行数据仓库转型?

Cloudera大数据平台为企业用户提供了强大的技术保障:

首先,在数据加工方面,Hive具有大规模的数据处理能力以及用户熟悉的SQL支持能力。 Hive-on-Spark利用Apache Spark的内存处理引擎,可以带来更快的处理速度。Impala作为支持高并发性查询的类MPP引擎,支持SQL开发人员和分析人员提交交互式查询。开发人员也可以使用Hue作为开箱即用的SQL编辑器,为BI终端用户提供更好的自助式服务。终端用户也可以选择通过第三方BI工具和平台进行集成,通过Impala查询接口以实现不间断的分析。Kudu也建议与Impala配合在一起使用,这种新型存储引擎通过流式计算或不断更新的数据处理实现自助式BI和探索性分析,获得近乎实时的洞察力,从而更好地推动业务决策。

其次,在数据安全方面,Cloudera将多层次的安全策略构建到平台核心,企业可以充分利用Hadoop的灵活性和可访问性,而不会对其数据安全造成风险。大量的并发用户使用不同的工具访问大规模的用户数据,往往意味着安全梦魇,特别是处于高度监管或者包含敏感信息的数据。对于用户本身,Apache Sentry允许安全管理员根据用户的角色轻松设置权限,访问权限会自动保留在整个平台上。对于数据本身,Cloudera提供企业级加密和密钥管理功能,借助底层芯片优化技术,Cloudera Navigator Encrypt可让您加密所有的数据,包括元数据、日志等,而不会影响上层分析的性能。Navigator Key Trustee确保您的加密密钥更加安全而独立。

再次,在数据治理方面,只有Cloudera能在整个Hadoop平台上提供全面的治理,包括支持集中审计,字段级血缘分析和数据生命周期管理。数据治理不仅对安全合规至关重要,而且在用户行为验证和置信方面也发挥着关键作用。一方面,企业的安全团队可以全面了解谁在访问数据以及他们正在访问哪些数据;另一方面,数据管理员可以自动管理从数据导入到数据清理的整个流程;并且,业务用户也能更好地了解数据,探索数据之间的关系,并验证最终的分析结果。

另外,在负载管理方面,借助Cloudera Manager的资源池工具,管理员可以确保每个部门都拥有满足其SLA所需的适当资源,并实现更佳的性能。借助Workload XM,管理员可以根据用户需求和当前使用状态轻松监控和调节资源,诊断和排查有问题的查询。与Cloudera Director一起配合使用,资源管理甚至可以扩展到云端部署环境,并能够根据用户需求进行弹性扩展。

现代数仓环境

现有数据仓库的优化可分为四个步骤

  1. 建议先从历史数据和日志数据的处理开始做技术验证,利用大数据技术处理“海量”的混合结构数据,同时支持实时、在线和离线处理。
  2. 逐步从客户体验、营销为切入点,突出业务价值。利用大数据技术提供实时分析能力。
  3. 逐步把传统数仓和大数据架构进行完全融合,让全量数据“可用+可视”, 为业务人员提供自助式数据服务,培养数据思维。
  4. 从数据角度重构现有价值链,从“用数据”到“养数据”,再到“数据经济”,利用大数据技术建立企业数据资产。

Hadoop性能优化工具

针对Hadoop性能优化的问题,Cloudera提供专为现代数据仓库设计的智能的工作负载管理云服务——Cloudera Workload XM。与传统的性能管理工具不同,Workload XM提供引导式自助服务性能分析,以便在整个生命周期内对工作负载提供可见性和有效控制。Cloudera Workload XM可以在不升级或安装任何软件的情况下工作,这意味着用户可以跳过软件安装部署的步骤立即使用。

徐峰在此举了一个实例:

某个用户想利用WXM诊断当前数据仓库的性能瓶颈。首先,用户通过Cloudera Manager收集大数据平台的日志诊断包,然后单击“开始上传”,WXM页面显示针对该诊断包的后台分析大约需要30分钟。

待后台分析结束后,该用户登录WXM仪表盘,从首页上查看到(8月13日 - 9月1日),总共有676043个查询,失败查询占比为4.9%。仪表盘还会显示其他信息:

  • 每天不同类型的查询总数
  • 所有查询按持续时间,查询类型,DDL类型的分类汇总情况
  • 租户资源消耗排名
  • 需要重点关注的查询(包括运行时间最长的10大查询;消耗CPU /内存最多的10大查询;由Alanizer规则标记的10大查询;耗资源最多的10大租户等。)

该用户比较关心跑得非常慢的查询。他单击“持续时间> 5s的查询分布图”,得到以下摘要信息:

  • 超过5秒的查询总数和失败的查询总数
  • 所选查询按持续时间,查询类型,DDL类型的分类汇总
  • 失败查询分布情况(个数和占比%)(语法错误,权限验证失败,漫长的等待时间,Alanizer标志)
  • 热门的查询用户

该用户发现大多数慢查询都是元数据查询,因此他增加元数据标识过滤,同时调整时间范围,以便在每小时窗口中查看详细的查询信息。由于元数据查询基本上是管理员提交的,因此再将管理员用户添加到过滤器中。

通过以上操作,该用户最终得出结论:大多数慢查询并非业务查询,而是收集增量统计信息的查询。

某城商行大数据应用案例

传统数仓向大数据技术转型是一项高难度工程,因此借鉴有价值的应用案例是很多企业管理者的共同选择。徐峰例举了国内某大型城市商业银行的大数据技术应用案例,该城商行于2013年购买了Teradata企业数据仓库平台6650C(20TB),通过建立全行级的逻辑数据模型,集合和整合所有内部数据,建立全行统一的单一业务视图。但是,随着业务量的不断增长,原有数据仓库方案架构封闭、性价比低、应用面窄、厂商依赖等诸多问题日益突出。

为了避免每年花费大量经费来扩展Teradata基础设施,该城商行改用运行在X86标准硬件上的Cloudera大数据平台逐步替代Teradata。

该城商行通过采用Hive,Impala,Spark,HBase等各类技术来处理不同类型的数据,满足了批量、实时交互以及流式数据多种不同的数据计算需要,同时借助Sentry实现了多部门访问的数据安全控制。因为Hadoop平台能存储更多的数据,而且Impala查询性能提升明显,该城商行正在基于这些大量的历史数据挖掘新的价值,如客户画像,精准营销,风险管控等。

据了解,目前该城商行已经将大部分的Teradata数据仓库应用迁移到Cloudera大数据平台,包括CRM、监管报送、自助化分析、取数以及风险合规相关应用。同时,也基于大数据平台新建了一些应用,例如:实时营销和欺诈监控、在线明细查询等等。

数仓迁移过程中的问题及解决方案

在数仓迁移过程中,该城商行也遇到了一些技术上的挑战,通过攻关研发,并结合之前的数仓开发实践,逐渐摸索出了相应的解决方案:

1、SQL引擎问题:解决了Teradata SQL迁移的三大问题,使其满足数据仓库应用开发的基础要求:

  • 构建基于Python的运行框架,增加SQL解析层,解决SQL兼容性问题;
  • 封装整合代码模版,解决各种运行状态跟踪以及后续回滚处理,实现类存储过程的效果;
  • 开发上百个自定义函数,涵盖日常使用,提升应用开发效率。

2、数据模型改造:传统数仓的数据模型存在以下问题:

  • 模型过于范式化
  • 模型开发流程繁琐
  • 过于抽象,业务理解困难
  • 无法满足SLA

新模型改造方法:

  • 模型语义精细,体现业务规则;
  • 简化模型层次,提升访问效率;
  • 弱化粒度拆分,减少维护成本;
  • 去范式化操作,以空间换时间。

3、数据质量管理:通过建设数据质量检测平台来加强大数据平台上的数据仓库日常数据质量管理的工作。该平台结合行内数据标准定义,支持技术和业务规则批量配置。目前已经配置了1000+检查规则,为大数据平台之上的数据仓库数据质量问题提供了快速定位和流程化解决方案。

Cloudera助力企业进行传统数仓转型

徐峰补充道,Cloudera能够通过以下三个方面助力企业进行数据仓库转型:

一是企业版增强功能。Cloudera推出了针对企业应用进行优化并包含相应工具和售后服务的数据仓库软件版本。相较于免费版本,企业用户可以获得源码级的技术支持服务,保障系统持续稳定运行;申请主动扫描集群服务,提前发现潜在的风险和问题;使用包含增强功能的管理和维护工具集,简化系统运维和数据治理。

二是大数据咨询和专业服务。Cloudera拥有一支极富Hadoop实践经验的资深专家团队,该团队专门为数据仓库项目提供现场服务,包括:提供解决方案架构、应用实现、产品使用、系统优化方面的咨询服务,提供集群定期健康检查、集群故障时的紧急救援服务,以及基于客户需求进行定制化开发工作等等。

三是人才培训。Cloudera大学是培训和认证的机构,提供业界最广泛的Apache Hadoop培训和认证。除了面向管理员、程序员、数据分析师和数据科学家不同角色的商业性培训之外,还有公益性、学术性的培训和交流。Cloudera也与清华大学达成了战略合作,该项目旨在通过提供Hadoop平台上的课程、软件及技术培训来培养更多专业领域的人才。

结语

传统数据仓库很难适应新时代的发展需求,面向云和大数据进行数据仓库转型已迫在眉睫,吸取前人经验,对现有数仓进行优化,从而面向大数据技术进行平稳的数仓转型,是企业的优秀实践路径。显然,Cloudera在长期的技术和客户服务过程中总结出了一条切实可行的实践之道,并且在数据仓库产品、咨询、服务、工具和人才培养等方面已经得到了经久的打磨和锻炼,想要进行数仓升级来满足全新业务需求的企业,不妨一试。

附:嘉宾简介

徐峰,现任Cloudera售前技术经理,资深解决方案顾问,主要负责金融行业Hadoop项目的整体架构设计实施,以及关键技术的研究工作。在此之前徐峰曾供职于Teradata专业服务部门,拥有14年数据仓库项目实施经验,长期从事数据存储、处理、分析等相关工作,曾作为首席架构师参与过多个大型数据仓库项目的架构设计和项目规划工作,包括浦发银行数据仓库项目、兴业银行数据仓库项目、上海农商银行数据仓库项目、交通银行数据仓库数据、东方航空数据仓库项目等等。

【51CTO原创稿件,合作站点转载请注明原文作者和出处为51CTO.com】

 

责任编辑:查士加 来源: 51CTO
相关推荐

2016-08-21 14:45:41

数据仓库自助型数据准备工具

2016-11-09 09:59:01

大数据产业夺冠

2020-01-20 14:30:39

HTTP概念标头

2019-05-24 11:51:18

BI数据仓库数据分析

2015-12-29 13:53:14

BeeCloud云计算支付

2022-02-24 07:03:13

JavaScrip语言

2017-08-17 15:52:38

企业数据仓库

2017-10-18 12:05:40

云应用云备份数据

2018-08-21 21:33:14

薪资职位技术

2015-01-21 15:01:32

手游开发中小开发者

2018-09-04 05:05:29

2015-09-16 09:21:12

移动云技术数据管理

2015-07-09 11:32:26

AWSIaaS云计算

2021-09-01 10:03:44

数据仓库云数据仓库数据库

2014-06-19 10:31:14

团队项目

2014-08-28 09:55:19

中文邮箱邮箱账号

2020-06-22 17:26:36

数据仓库数据数据库

2019-09-19 11:58:19

程序员月薪跳槽

2015-06-11 10:08:57

网络延迟应用性能网络监控

2021-05-27 11:26:46

nodesassCSS
点赞
收藏

51CTO技术栈公众号