数据湖概念最早是在2011年提出,到现在也就9年左右的时间,算是一个较新的概念。虽然各方理解上有些差异,也存在一些争议,但概念不重要,关键是否能真正帮助企业解决在业务快速发展过程中不断遭遇的新问题。
对于希望从数据资产中获取更多经济价值的企业而言,数据湖可能是一个可行的选择。但对不少国内企业来说,数据湖显然还是一个未知的领域。
数据显示,全球数据湖市场在2019年的规模为37.4亿美元,预计到2025年将达到176亿美元,预计2020 – 2025年期间的复合年增长率为29.9%。在国外,尤其是北美,数据湖应用已经比较成熟,但在国内,还属于初期阶段。
因此,第一次搭建数据湖,从哪里开始?如何成功搭建数据湖?对一些企业而言可能很难获知,无论从时间还是投入上来说,试错的成本都很高,那么,企业应该怎么做才能最大程度的降低风险并确保获得回报?而这将是本文要探讨的。
数据湖定义及由来
什么是数据湖,简单的说,数据湖更像是数据仓库的进化,比传统数据仓库涉及面更广。但这并不是说数据湖能直接代替数据仓库,两者可以互补,大量案例显示,数据仓库作为数据湖的一类“数据应用”存在,协同工作。
众所周知,传统数据仓库都是由数据库发展而来,因此,无论是传统的还是新型数据仓库(分布式、云原生数仓),主要应用于结构化数据。而数据湖是多结构数据的存储库,无论是结构化、非结构化或半结构化数据,都能以其原始格式存储,不需要进行初始转换过程,因此,更加灵活,并且存储与计算是分离的,数据存储在便宜的对象存储中,如Hadoop或Amazon S3,能更好的优化成本,而各种工具和服务(如Apache Presto、Elasticsearch和Amazon Athena)可以用来查询这些数据。
数据湖的产生,源于大数据时代企业面临的一系列挑战,例如:数据孤岛,分析各种数据集的难度,数据管理,数据安全等。而云计算、人工智能则是推动数据湖发展的重要因素,云计算提供了快速查询、海量存储的能力,而机器学习需要原始数据做分析,而用到的数据,也不止于结构化数据,用户的评论、图像这些非结构化数据,也都可以应用到机器学习中。
数据湖的国内外应用
目前,数据湖最为人所知的应用,当属亚马逊Galaxy(内部代号),如今已经成为了亚马逊核心竞争力之一。
Galaxy数据湖建于2019年,构建的原因是亚马逊运营团队需要做大量的数据分析,但基于传统的数据仓库无法满足扩展的需要,并且维护的复杂度和成本都很高。
基于自身强大的技术能力,亚马逊Galaxy实施了基于Amazon S3的数据湖方案,使用Amazon Redshift,Redshift Spectrum,和Amazon EMR运行分析的操作。下图展示了Galaxy使用的一些AWS服务:
Galaxy的部署,让数据存储量从50PB提升至100PB,在减少成本的同时加快了从数据中挖掘有用信息的速度。
目前,每天在Galaxy上执行的分析任务高达60万个,涉及各个方面,如为用户推荐、运营信息、库存信息、购买信息、物价信息等。
再来看一个国内的应用,出海电商新秀Club Factory。
Club Factory 是2016年由嘉云数据在杭州成立, 定位于创新型出口电商、轻自营跨境电商平台。
或许国内很多人都没听说过这家公司,但这家公司很厉害,手握的全球用户已经超过1亿,其APP在超过10个国家APP购物榜单排名前5,14个国家排名前10。
在数据湖的构建上,Club Factory采用了基于AWS数据湖的解决方案,通过使用数据湖来实现基于用户在平台上的所有行为做实时自动推荐,BI报表(内部运营、分析),供应链管理创新。
据公开资料显示,其数据湖平台日均处理15亿条行为数据分析,支撑80多位数据工程师的分析和算法需求,支撑180个活跃的数据分析调度任务,每日同步4000多个业务数据到数据仓库,支撑的数据总量达到约600TB。
如何快速搭建数据湖?
搭建数据湖无非2种选择,一种是基于开源解决方案,一种是基于商业解决方案。
开源解决方案的优势是没有授权成本,但有个前提,即你所在的企业得有一个能够驾驭开源技术的团队,有能力自己解决问题。因为,开源解决方案通常都比较零散,不成系统。对于初次搭建数据湖的企业而言,复杂性很高,成功搭建难度大。
基于商业的解决方案则相反,对于较小或刚开始使用数据湖的公司来说,基于公有云的数据湖解决方案实现数据湖的快速构建是可行的选择。
不仅搭建和管理维护的复杂性降低,并且成本可监控。其次,基于云的数据湖解决方案技术成熟度更高。能得到更为成熟的技术环境支持,包括工具的多样性。最后,可扩展性和安全也是重要原因之一。
目前,数据湖已经在公有云上得到了完美的实现和应用,例如:可以基于Amazon S3、AWS Glue等多个基本云服务快速构建出一套数据湖服务 。
近期,AWS宣布,AWS Glue、Amazon Athena在由西云数据运营的AWS中国(宁夏)区域正式上线。
AWS Glue是一种全托管的数据提取、转换和加载 (ETL) 服务及元数据目录。它的价值在于,能让准备数据更容易加载数据到数据库、数据仓库和数据湖,用于数据分析。Amazon Athena则是一种交互式查询服务,使用标准的SQL,可以直接对Amazon S3上的数据做交互查询。而这两种服务都是无服务器服务,意味着不需要管理基础设施,只需要为运行的查询付费。
官方已经给出了如何使用 AWS Glue 和 Amazon S3 构建数据湖基础和如何使用Amazon Athena 分析数据的具体教程,本文就不再赘述。
当然,如果你觉得这种方式还有些复杂,那么接下来的一项服务,可以重点关注。
去年,AWS发布了一项名为AWS Lake Formation的新服务,进一步降低了数据湖搭建的门槛,该服务简化了数据湖的创建过程,并在几天(而不是几个月)内构建一个安全的数据湖。
不过,该服务目前还未在中国正式推出。
当然,你也可以视自身情况自行选择其他供应商,本文推荐基于AWS数据湖解决方案来实现快速搭建数据湖,是因为,到目前为止,AWS数据湖/数据分析解决方案是最完整,提供服务最丰富的,也是成功案例最多的。