作者:禅与计算机程序设计艺术
1.背景介绍
在互联网公司业务发展初期,往往会遇到海量、不断增长的数据存储需求,如何快速有效地进行数据的处理、存储、分析和呈现,成为每一个业务部门都需要面对的问题。解决这一难题的有效方式之一就是构建数据中台架构。数据中台架构是一个重要的在线服务组件,用于汇聚各个业务部门数据源、提取数据、清洗加工、集成、统一存储、并提供多种形式的访问接口,为不同层级的应用场景提供统一的数据服务。
数据中台架构由三大模块组成:基础设施层、数据采集层、数据处理层。其中基础设施层包括数据仓库、消息队列、离线计算集群等,它主要用来存储原始数据,支持多种数据源的接入;数据采集层主要包含日志采集、监控指标采集、交易订单信息采集等功能,能够从各种异构数据源收集数据,通过多种方式对原始数据进行清洗加工,形成适合在线分析的数据集合;数据处理层主要包括数据湖、数据治理、数据服务等功能,它提供一站式数据平台,包括数据质量管理、数据分析、数据可视化等能力,帮助业务人员实现数据价值最大化。
数据批处理(Batch Processing)与实时计算(Real-time Computing)是两种重要的数据处理模式。批处理模式下,数据处理周期较长且依赖时效性强,但数据量小可以按批次运行,因此能充分利用存储资源;而实时计算模式下,数据处理速度快、响应时间短、实时性好,但要求数据准确、完整且及时更新。因此,实时计算系统应当和数据采集系统结合,一起提供基于实时计算的决策支持系统。
目前,企业应用数据量巨大,产生大量数据,如何对大数据进行批处理、实时计算、数据挖掘和分析,仍然是数据科学家们关心的重点课题。而作为数据科学家的我们,也经常被问到如何把握数据领域最前沿的研究方向,发现新机遇,做