李广洋的博客

企业大数据平台建设思路

为什么需要数据平台

数据平台(Data Platform)不是个新概念。工厂流水线上的传感器会不间断地生成数据,营销公司每分每秒都会有销售数据。采集和处理数据的需求由来已久。

在以往,企业会开发或购买一套数据解决方案来应对这一需求。尽管这些传统方案也能连接如 ERP、CRM 等企业内部系统的数据,并提供数据分析的能力,但它们难以适应快速增长与变化的数据,和企业内新的数据使用需求。

现如今,随着更多数据迁移上云,企业更倾向于建立专门的数据部门建立一个或多个数据平台,为企业提供一个适应更多更复杂的数据,和多种数据使用场景的基础服务。本文所描述的数据平台,也是指这种能够处理海量数据、使用场景复杂的大数据平台。

企业的数据需求

一般企业对数据有两大类主要的使用需求:一是通过数据指标、报表等商业智能分析辅助决策,二是通过数据挖掘优化业务

数据平台的六个主要层次

商业智能分析(BI,Business Intelligence)即是指通过计算指标、各类数据图表与报告等形式,掌握企业在财务、销售、生产等各方面的经营状况,从而辅助决策。

数据挖掘优化业务,包括建立数据应用辅助业务部门工作、使用机器学习方法改进生产,或改善用户体验等等。这类需求实现的是,将通过数据得到的结论自动地反馈在业务提升上。

在企业数据规模不大时,这两类需求可以通过低代码工具,例如 Excel,就能够实现。然而当数据规模和复杂度都飞速增长后,企业必须利用新的工具来掌控与使用大数据。数据平台正是大数据时代的这一解决方案。

数据平台解决的问题

在技术上,数据平台解决的是:

  • 处理规模庞大(包括纵向与横向),来源多样(数据库、数据流、文件等),格式复杂(结构化、非结构化、半结构化)的数据
  • 高复杂度的数据处理,如需关联多个多来源的数据表、数据任务依赖关系复杂等
  • 同时支持多种使用场景,例如既允许运营部门实时监测商业指标,又支持数据挖掘团队快速导出大量数据

在业务上,数据平台可以实现:

  • 关联企业内跨系统、跨部门、跨平台的数据,解决数据孤岛问题
  • 将商业状况量化为易于跟踪的数据指标,为业务决策提供数据支持,实现数据驱动业务

如何建设数据平台

数据平台上云

对于大部分企业,尤其是中小型企业,数据与软件上云是大势所趋。云服务的优势本文不在赘述,这里着重强调几个基于云的数据平台的优势:

  • 通过存算分离、即用即付、无服务器计算等模式实现资源灵活扩展和节省成本。数据平台所需的计算能力有时起伏很大,且算力需求与数据规模可能并不同步增长。能够按需配置资源的云服务将极大节省成本。
  • 节省服务器软硬件成本和运维成本。对于非互联网行业的一般企业来说,通常没有为了数据平台而自建或租用机房的必要。相比于维护传统机房,云上运维更能节省软硬件投资和维护成本。
  • 通过云服务实现更容易的合规。许多云服务商提供了针对数据合规的技术解决方案,以满足 GDPR、HIPAA 等要求。使用这些服务可以避免为了数据合规而产生的时间、人员资源、财务资源上的浪费。

此外,许多云服务商针对数据平台提供了更现代的进阶功能,例如:

  • 自动化与可视化的数据发现和元数据管理
  • 自动化的数据标注(Data Tagging)与管理
  • 自动化的数据质量评估和监控
  • 自助式的数据分析接口

这些功能大多是基于云的规模效应等特性而开发,因而使用成本要比企业自行开发或另外购买低很多。

除了公有云运营商提供的数据服务,还有专注于某些功能的 SaaS 云服务商,例如提供数据仓库服务的 Snowflake,提供数据湖与数据管理服务的 Databricks,提供数据湖引擎与自助分析服务的 Dremio 等。它们大多可以运行在多种公有云上,为数据平台建设提供更丰富的选项。

对于有极强的数据安全需求的企业而言,建立自有数据中心和数据平台仍是必要之举。但自建与上云并不是非此即彼的二元选择。包括 Google Cloud,AWS 和 Azure 等几大云服务商都有提供混合云解决方案,将数据平台扩展到云。通过这些混合云解决方案,私有数据中心可以和公有云计算环境结合在一起,实现“鱼与熊掌”兼得。

集中式还是去中心化模式

数据平台的作用之一是关联企业内分散的数据,因此它有着天然的中心化属性。

对于中小型企业,和业务范围单一或业务流程成熟的大型企业而言,中心化的数据平台可以将企业的所有数据涵盖其中,极大程度地将各系统、各部门的数据联系起来,并且避免了不同部门间的重复建设,节省了资源。

但对于品牌多样、业务复杂的企业而言,部门之间关联的需求可能较小,这种情况下,中心化数据平台带来的价值也就不那么高了。例如,企业有多个品牌线独立运营,或者有多条业务线分属不同行业时,都可能更适用于各部门独立建设数据平台。总而言之,建设一个还是多个数据平台,取决于企业自身的结构与规模,和跨部门数据关联之后能否产生更大价值。

不过,即便企业内共存了多个数据平台,仍然可以通过共用相同的云基础设施、选择相似的技术方案等方法,降低其维护成本。

此外,建设多个数据平台并不意味着数据从此分开。当多个数据平台之间重新有了关联起来的需求时,还可能通过数据网格(Data Mesh)架构和数据联邦(Data Federation)的方法将分散在各业务线的数据集成在同一个系统下。这样数据消费者无需连接到各个数据平台,也可以同时获取来自多个数据平台的数据。