前言:
云数据仓库是构建在云上的新一代数据仓库解决方案,如何选择符合企业需求的云数据仓库,选择时应考虑哪些关键问题成为很多企业管理者关心的问题。本文参考TDWI以及Forrester的研究报告内容,对云数据仓库选型参考依据进行介绍,希望能对您在云数据仓库选型时有所帮助。
正文:
云数据仓库的解决方案改变了我们传统的数据平台构建方法。您可以在没有平台技术专家的指导下在几分钟内创建并开始使用数据仓库服务,让企业的数据分析师及其他非技术人员访问并处理大规模的数据以快速获得业务洞察。企业得以在更低的成本下,让使用者专注业务问题而不用过多考虑平台技术的复杂性。同时,现代的云数据仓库服务能够满足更丰富的分析需求,如海量数据ETL、交互式查询、机器学习、非结构化数据处理等,越来越多的企业考虑使用云数据仓库构建自己的数据分析平台。
权威市场研究机构Forrester对数据仓库(cloud data warehouse)的定义为:一种按需使用的、安全的、可扩展的自助式数据仓库,通过自动化的部署、管理、调优、备份、恢复加速数据分析过程,同时将技术支持需求降到最低。
那么,如何企业如何选择合适的云数据仓库,需要考虑哪些关键因素成为很多决策者关心的问题。本文将结合TDWI的研究报告(TDWI CHECKLIST REPORT: DATA WAREHOUSING IN THE CLOUD ),分享利用云上数据仓库的几项最佳实践。
1.选择适合你分析目的的数据仓库平台
在实践中,数据仓库逐渐涵盖了更广泛的功能。这些功能包括从给管理者的固定报表到给分析师的交互探索分析,再到数据科学家的预测分析。这些不同类型的应用对系统在数据访问方式、处理计算模型、算法支持等方面都有着不同的需求。
一个有效的策略是让数据仓库作为一个整体系统,不断支持混合工作负载,而不是仅满足特定的业务需求。例如,周期型报表需要对数据进行清洗、转换,利用星形/雪花模型建立数据集市供报表工具使用;交互式查询需要支持对大量数据进行并行处理实现低延迟的数据探索;预测分析需要支持不同的开发语言及算法模型、并能够应对大规模数据的迭代计算。
基于云的数据仓库迎合了这样的需求,借助云计算提供服务的灵活性,它使用者可以更多地关注分析和结果,而不是构建系统。
同时,考虑在云上部署的项目往往对灵活性、敏捷性有要求。例如短时间内自助地开展分析,甚至是构建一个原型分析系统以快速验证业务构想。对于这类项目,使用一个基于云的数据仓库能提供这样的特定价值,因为不需要设计、开发和部署平台及数据管理框架,同时还能降低创业成本,加快分析,减少甚至消除了维护成本。
2.使用成本模型来确定云数据仓库何时对企业有意义
在数据仓库的投资获得收益之前,我么必须要考虑管理数据仓库的成本。然而,大多数数据从业者并没有意识到在数据仓库系统生命周期内,其总体拥有成本有哪些方面构成,包括:
- 采购成本:评估和购买硬件、存储、软件、网络通信;
- 部署成本:如项目规划,项目管理、系统设计、开发、配置、测试和实现;
- 数据开发和管理成本:包括数据抽取、数据集成应用程序的设计和开发,设计和开发实现数据仓库数据模型;
- 商业机会成本:系统上线延误对业务的影响;
- 运维成本:包括机房电力、制冷、机房空间、运营商网络维护等;
- 经常性成本:如软件许可证维护、系统升级,数据存档、数据备份/恢复和灾难计划;
不同组织面对不同类型的成本的容忍度差异较大。成熟的业务可能愿意投资基础设施并能预测收益大于启动成本。小型或新兴企业,可能没有足够的资金来支付经常性成本,并且希望在短时间内获取收益。
这时,您需要建议一个成本模型,决定什么时候采用云数据仓库是有意义和价值的。某些情况下,选择更敏捷的云数据仓库解决方案,能够加速业务上市时间,提前带来业务收入,增加的收入可能会超过、抵消系统的投资。
3.通过简化应用部署流程缩短价值实现时间
基于云的数据仓库极大简化了部署工作。首先,服务商提前准备好的基础设施及软件,用户无需关系底层繁杂的技术工作;其次,客户将受益于服务提供者的配套工具来支持完整的数据处理过程,包括数据接入、分析、转换、加载、报告和查询。利用这些工具及样例演示可以简化数据开发工作。第三,云数据仓库供应商通过集成丰富的功能,如数据管理、可视化工具、预测分析等,提供增值服务。
那么在卸载底层基础设施层面的任务后,客户可以专注在数据分析本身。而在标准化数据开发部署流程时,至少应包括以下任务:
- 业务目标:明确企业进行数据分析的目标,并将这些数据集提供给特定的用户;
- 数据需求评估:确定进入数据仓库所需的数据集;
- 信息建模:考虑如何在数据仓库中组织和表达数据;
- 数据集成:开发和实施将所需数据接入到数据仓库的数据集成任务;
- 数据转换:利用数据准备工具(ETL环节)实现数据加工、转换;
- 业务驱动的分析:根据业务需求,确定要分析任务,交付业务的预期结果;
幸运的是,云数据仓库服务提供者可以支持以上这些任务的需求,例如提供数据集成工具进行数据接入,利用ETL工具或在数据仓库中开展ETL数据加工转换、利用作业调度管理工具编排、周期性调度数据处理逻辑。因此,采用标准化流程部署基于云的BI/Analytics项目将极大提高处理流程的灵活性和分析结果的可访问性。
4.寻找基于云的集成了高级分析功能的系统
传统的商业智能分析已经成熟,但一些云数据仓库厂商正在快速集成高级分析功能,包括不限于以下功能:
- 聚类,一种基于特征和行为的聚类、分群(如客户)的方法;
- 细分,一种基于先前创建的聚类模型区分实体(如供应商)的方法
- 分类,使用迭代算法将个人分配到一个预定义的类中,例如“最佳客户”、“好客户”、“中等客户”和“不希望的客户”;
- 决策树,对决策中的不同方案进行比较,从而获得最优方案的决策方法,用于分类或做出最佳选择;
- 关联分析,它迭代地检查数据集中事件之间的关系,以挖掘潜在的关联关系;
过去,您需要一个独立的高级分析计算平台采用使用这些功能,但现在这些功能在新型的数据仓库中得以支持,例如:
- 新的架构支持混合负载,既支持传统的查询和报表分析,也支持高级分析;
- 内存计算:利用内存计算,可以显著加速传统的查询分析以及高级分析中的迭代计算场景;
因此,您需要寻找支持更丰富计算功能的云数据仓库服务,以适应当前的数据分析需求。同时,服务提供商能够不断创新设计以满足不同用户的需求。
5.确保云平台满足稳定、一致的性能要求
任何托管应用程序的风险之一是提供者依赖于使用虚拟化环境部署应用程序。这可能会降低客户的总体运营成本。但是,应用程序可能随时在不同的基础硬件上重新部署,并且可能与其他应用程序共存,这些应用程序的执行可能会影响应用程序的性能。
在大多数组织中,不能满足数据使用者进行快速分析并获得结果,将影响数据服务被广泛采纳,从而影响项目成功。如果您的组织需要可预测的性能,请明确对性能要求的标准和可接受级别,并评估供应商确保或提升性能的方法。您应该提出如下问题:
- 云数据仓库供应商是否提供了能够准确反映应用程序运行方式的性能基准(benchmark)?
- 供应商是否提供在“裸机”云平台而不是虚拟化平台上部署项目的选项?
- 平台是否使用了列式存储、数据压缩、内存计算等方式以加快查询执行?
与服务提供商确认你的性能需求能够得到满足。
6.主动管理数据连接和可集成性
如果您正在考虑基于云的BI和分析,请确认能够在云环境中轻松移动用于分析的数据。需要注意集成各种数据源类型的复杂性,这些类型可以包括普通文件(flat file)数据、使用SQL访问的关系数据库中的数据、在较新的NoSQL环境中管理的数据、地理空间数据以及Hadoop上的HDFS文件等多源异构数据。
主动管理数据源连接和数据集成,应考虑以下因素:
- 网络连通性:考虑您所需要的每个数据源和云数据仓库之间网络连接的可访问性。
- 数据移动:数据仓库容量超过标准网络连接容量时的数据移动替代方法,这可能需要更快的连接和更大的带宽。
- 数据检查(Data profiling)和分析:对数据源数据评估潜在的异常情况,发现元数据检查数据的可用性与完整性。
- 通过业务规则对数据进行标准化和转换,进行数据准备。
- 使用复制和CDC(实时变更数据捕获)方式采集数据,减轻对数据仓库的相关开销。
- 利用数据压缩方式减少将数据从数据源移动到云数据仓库所需时间。
面对来自不同来源的不断增长的数据量,用户需要更复杂高效的数据集成方案。选择云数据仓库,应寻找具备数据检查与发现、压缩、传输、数据准备和高效数据加载的数据集成服务。
7.满足安全和数据保护要求
使用托管或基于云的数据仓库的另一个风险关注点是数据安全。出于两个原因,在保证访问安全和数据保护方面存在不确定性。首先,在某些情况下,多租户体系结构允许多个客户应用程序在同一环境中运行,从而引发跨应用程序边界的数据泄漏恐惧。第二,虚拟平台上的存储可以分布在多个物理机器上,这可能会让人担心应用程序迁移时是否有能力抓取“剩余”数据。
显然,您的企业必须进行尽职调查,以评估安全和数据隐私保护需求,并确保供应商能够满足这些需求。基于云的数据仓库供应商可能提供以下方法:
- 用户身份验证和用户授权,以防止未经授权的数据访问
- 细粒度数据访问控制,以防止受保护数据属性暴露
- 数据屏蔽以防止显示受保护的数据属性
- 数据加密,可应用于“静止”或存储位置的数据,以及访问数据并将其传送到用户门户时的“动态”数据。
- 数据擦除,用于完全覆盖硬盘驱动器以防止恶意恢复
以上清单中的建议,为确定云数据仓库是否适合您的组织提供了参考。一旦您决定将数据仓库和BI应用程序转换为云提供商,请确保确定正确的服务提供商。总之,这里介绍的在评估云数据仓库服务时的一些标准,主要聚焦在云数据仓库产品和服务如何辅助提升您的BI及分析项目,包括:
•降低开发和运营的总体成本
- 缩短价值实现时间
- 减少对内部IT资源的依赖
- 简化数据接收、集成和加载
- 通过提升易用性扩大数据使用者群体
- 支持您的弹性和可扩展性需求
- 通过容错和托管故障转移实现业务连续性
- 建立对系统安全和私人信息保护的信任
一旦您确定了供应商,建议您与受信任的云数据仓库提供商建立良好的工作关系,这一点非常重要,原因有三个:
•环境的可持续性:值得信赖的合作伙伴将确保环境能够满足您在数据仓库生命周期的所有阶段的所有业务分析需求,以及在项目生命周期中对弹性和可扩展性、安全性和整体性能的增量需求。
•响应能力:一个有价值的服务提供商可以证明您可以信任他们及时、可靠地解决出现的任何问题。
•参与合作:寻找能够帮助您快速构建数据平台并与您和您的数据消费者合作的提供商,以继续完善您BI/分析程序。
云数据仓库供应商可以利用他与不同客户之间的实施经验,将这些经验组织起来与客户的短期、中期和长期战略保持一致。
结束语:
作为阿里云的数据仓库产品,MaxCompute可以在较好地满足企业对云数据仓库的多方面要求:
最佳实践 |
MaxCompute产品能力 |
1.选择适合你分析目的的数据仓库平台 |
MaxCompute支持多种大数据工作负载(WorkLoad),包括通过MaxCompute SQL/UDF、MapReduce、Spark进行批处理; 通过Lightning服务开展交互式快速查询,对接BI工具; 使用PAI利用机器学习构建人工智能应用; 使用MaxCompute Graph开展图计算; 支持对非结构化数据处理,可以扩展为数据湖(data lake)解决方案; |
2.使用成本模型来确定云数据仓库何时对企业有意义 |
MaxCompute为Serverless架构,提供开箱即用的能力,免除基础设施运维、软件升级、容量规划的工作; |
3.通过简化应用部署流程缩短价值实现时间 |
MaxCompute/Dataworks/PAI/BI产品无缝集成,提供了数据集成、数据开发、数据管理、预测分析、应用部署及运维、可视化等能力,能够简化应用部署流程并缩短价值实现时间。 |
4.寻找基于云的集成了高级分析功能的系统 |
MaxCompute用户可通过阿里云机器学习PAI产品构建高级分析和在线预测应用; |
5.确保云平台满足稳定、一致的性能要求 |
MaxCompute持续发布面向大数据的测试基准BigBench Benchmark,规模、性能、性价比角度,MaxCompute都达到了业界领先水平。 |
6.主动管理数据连接和可集成性 |
借助Dataworks数据集成、datahub服务,MaxCompute可以实现包括文件、OSS、关系型数据库、NoSQL、HDFS、流式数据等多种数据源的管理、集成工作; |
7.满足安全和数据保护要求 |
MaxCompute提供完善的细粒度权限控制,支持数据加密、敏感数据保护,满足不同安全管理需求。 |
附参考内容原文:
TDWI Checklist Report | Data Warehousing in the Cloud
The Forrester WaveTM Cloud Data Warehouse Q4 2018
MaxCompute产品官方地址:https://www.aliyun.com/product/odps
注:想了解更多阿里巴巴大数据计算服务MaxCompute,可以加入社群一起交流。