项目背景
BI产品对于绝大部分公司来说是不可或缺的数据分析和商业决策产品之一,因为在企业发展的过程中会涉及到大量的数据分析和商业决策等工作,如何快速完成信息流转消除信息不对称,对于企业管理层进行市场研判起到了决定性的作用。而从技术角度来看,如何及时满足业务数据分析需求,将大量数据得到有效转化则显得格外紧迫,对于技术部门和业务部门的合力协作,BI产品起到了至关重要的承上启下作用。
截至2022年8月,货拉拉业务范围已覆盖352座中国内地城市,月活司机达66万,月活用户达950万。随着货拉拉业务覆盖范围和场景的不断增加,企业对于数据的应用也愈加强烈,如何快速完成数据流转和高效的数据分析对于业务和大数据都是一项艰巨的考验。
项目目标
自助数据分析平台作为大数据中台与各业务部门联系最紧密的工具之一必须要做到如下几点:
• 易用性:产品覆盖的用户群体是企业内部所有员工,用户对数据分析产品使用能力参差不齐数据分析平台应该尽可能降低使用成本。
• 稳定性:随着数据处理量级和高并发场景需求的不断增加,需要保障平台算力充足以及操作流程的顺畅和稳定。
• 可扩展性:数据报表场景涉及广泛,除了自助数据分析平台内部需要报表场景外,其他平台同样有数据报表诉求,如何能够快速完成数据报表功能复用是产品能力的关键指标之一。
• 安全性:数据安全是企业稳定发展的重要前提,健全的数据权限管理机制可以有效降低企业核心数据资产的泄漏风险,形成一定的信息壁垒。
方案选型
商业化BI产品那么多,自研是重复造*吗?
目前国内外BI产品种类繁多,从业务应用场景和主要功能点来看,可以划分为传统型(如SAP、IBM_TM1等)、敏捷型(Tableau、PowerBI、帆软BI等)、垂直型(神策数据、GrowingIO等)和基于云服务之上的BI分析工具(QuickBI、SugarBI等)。从Gartner2022年3月发布的Magic Quadrant for Analytics and Business Intelligence Platforms中我们可以看出,处于行业领先位置的产品依旧是Microsoft、Salesforce(Tableau)和Qlik等主流产品,而国内BI产品目前仍处于追赶阶段。
虽然品类繁多的BI产品“五花八门”,但是这个产品的功能是否能真的满足业务的数据应用诉求呢?以下是我们整理的有关采购和自研BI产品的一些差异点,以便于分析其中利弊更好地做出决策。
从对比中可以看出,外部采购的BI产品虽然功能强大,覆盖的应用场景多,但是在灵活度和数据安全等方面确实存在一定的欠缺和需求差距,所以无论是行业领导者还是特定领域者都无法满足企业内部个性化的数据分析需求,为此结合业务自身痛点、数据安全和成本投入等方面考虑,最终我们选择采用自研的方式进行产品开发,在产品功能上主要结合内部系统特点提供了个性化解决方案。那么从0到1搭建数据分析平台我们要怎么做呢?本文我们将介绍货拉拉自助数据分析平台——数据云台,都具备哪些能力以及是如何解决这些问题。
实践和探索
从0到1打造数据分析平台需要如何规划?
数据云台产品定位与商业化BI一致,是基于大数据离线/实时计算能力,结合指标库和OLAP引擎实现数据可视化分析,通过简单方便的拖拉拽操作降低数据分析门槛,提供多场景化的数据分析场景,为业务决策提供快捷方便的分析工具,将最后的分析结果呈现给管理者,为管理者的决策过程提供支持。所以我们结合成熟商业化BI产品(如Tableau、QuickBI、帆软BI等)和内部业务需求,最终将数据云台功能归纳为五大模块。
• 数据源接入:数据源是BI系统的全部数据来源,是进行数据分析和报表制作的基础,系统支持的数据源类型涵盖Excel、MySql、Hive、Doris以及内部数据源系统。针对内部数据源系统还提供了一键连接功能,方便用户快速完成数据源接入。
• 数据预处理:数据连接完成后需要进行数据处理,在数据处理模块中提供了数据建模和自定义SQL两种数据集创建方式。对于创建完成的数据集还提供了数据类型设置、数据表达式和字段权限设置等功能。在数据预处理阶段,技术层面引入了多种OLAP查询引擎以提升即席查询效率。
• 数据可视化:数据可视化模块主要提供各类数据图表等展示与配置,其中包括工作台、数据图表组件、仪表盘等。用户可以根据业务需求自行拖拽维度/指标快速完成数据图表制作,针对不同场景还能进行图表类型的快速变换,以满足多样化的数据呈现需求,最终以Dashboard形式进行呈现。
• 数据分析:分析功能是平台的核心能力,快速实现指标计算、多维分析和数理统计等有助于帮助业务快速完成关键信息整理与输出实现平台价值。
• 应用场景:主要包括数据指标探查、数据报表、数据大屏和API等,真正为各大数据系统提供数据可视化解决方案,服务于业务数据分析场景。
各个模块之间紧密联系,结合大数据中台产品能力和资源优势实现了既定的平台目标,最终为业务数据应用需求提供了个性化的解决方案。
问题和挑战
面对风险和挑战我们是如何解决的?
通过自研方式构建数据分析平台本身就是一件极富挑战的事,对于BI产品来说其功能点之多、计算需求之高、覆盖用户群体之广都是需要项目设计之初就要优先考虑的问题。除此之外,平台上线后的功能需要差异、功能bug等问题也会频繁出现,如何有效保持需要与资源之间的动态平衡则显得格外重要。
• 充分的前期规划。结合业务需要开展功能调研,尽可能多地从优秀BI产品中借鉴成熟经验以满足既定需求。在产品设计方案时需要特别注意企业内部需要与调研产品功能之间的差异,针对差异可以进行合理优化,以便于更好地让产品功能服务于企业内部用户。
针对内部数据源进行功能优化,系统内嵌账号信息减少频繁操作降低数据泄露风险
• 灵活的解决方案。对于业务的特殊需求往往需要提供多种解决方案,既要保障系统功能的通用性又要保障个性化诉求。在数据云台进行计算引擎选型时我们便遇到了这问题,针对多种数据源如MySQL、Hive等进行数据查询时如何保障数据查询效率?最终选择了集成多种计算引擎的灵活方案,通过系统研判科学地分配最适合的引擎进行数据查询,不仅能够快速完成用户数据查询需求,同时还大大降低了因计算资源局限导致系统故障风险。
系统根据数据查询需求科学选择计算引擎策略,在提升计算效率的同时兼顾了系统稳定
• 标准的SOP流程。用户对于数据分析产品的熟悉程度参差不齐,一套系统如何满足不同的数据分析需求同样是一件非常棘手的事。除了在产品功能上提供更方便的用户体验外,对用户进行群体类型划分是一个行之有效的方法,不同的用户群体给予不同的权限,让那些数据处理能力欠佳的用户直接使用已加工的数据集进行分析就好,而数据能力较好的开发人员则为他们提供了更丰富的数据处理功能。
层级的划分有助于更好地提升用户体验,结合权限体系可以更好地实现产品“千人千面”
总结和展望
本文主要从产品设计思路、技术选型等角度出发进行了阐述,旨在为读者提供从0到1建设数据分析平台的基本思路,对于平台建设过程中的具体细节因篇幅原因并未做深入探讨。目前货拉拉数据云台产品仍处于内部孵化阶段,产品正逐渐被技术研发、产品运营、业务管理等部门熟悉与使用,可预见的功能将覆盖业务80%的数据应用场景,在企业提效增速的大背景下这星星之火将会发挥更大的作用和价值。
当然作为一个承载大数据中台数据应用领域的综合型产品我们还有很多不足之处,对标行业优秀产品数据云台在功能丰富度、交互流畅性等方面仍然有着很大差距,但是对于平台来说目前的首要任务是最大程度满足自身业务需求,当业务需求被满足的基础上,我们将不断追随行业领导者的脚步逐渐扩展平台边界,为企业打造更加多元化的数据分析平台而不断探索。