什么是数据摄取?
数据摄取是指从各种来源收集数据并将其复制到目标系统进行存储和分析的过程。在现代系统中,数据被视为以不同格式、不同速度在系统与设备之间“流动”的资产。例如,来自智能传感器的数据可能以持续不断的传感器输入流形式实时接收,而客户销售数据则可能在每日结束时以批量形式汇总并传输。在数据进入目标系统之前,不同来源的数据需经过验证检查、预处理及错误管理。数据摄取涵盖了所有必要的技术与流程,可安全地收集数据,为后续的分析工作奠定基础。
为什么数据摄取很重要?
数据摄取流程是任何数据管道的第一步,能确保原始数据得到恰当收集、预处理,并为下游流程提供可用的数据。以下是精准数据摄取至关重要的原因。
支持数据优先级排序
业务分析师与数据科学家会对最重要的数据来源进行优先级排序,通过配置数据摄取管道来实现高效的数据处理与集成。根据操作的需求,优先处理的数据会被进行清理、去重、转换或传播。这些准备步骤对于有效的数据操作至关重要。优先级方法不仅可以提高业务效率,还可以简化数据处理。
消除数据孤岛
通过从多个来源收集数据并将数据转换为统一格式,数据摄取可确保企业能够获得自身数据资产的整合视图。此过程有助于防止数据孤岛的形成,使信息在各个部门之间更易于访问,从而促进更好的协作。
借助自动化提升效率
在构建数据摄取系统后,数据工程师可以设置各种自动化控制机制,进一步加快数据摄取流程。这些自动化流程能无缝对接其他数据驱动型工具(例如依赖此类数据的人工智能与机器学习模型),为其持续输送数据流。此外,自动化数据管道还有助于简化整体数据处理流程。
提升分析效能
要让数据分析切实发挥作用,相关信息必须便于获取。在数据摄取阶段,您既可以整合多个数据来源,也能开展数据增强操作。数据摄取层会将数据导向合适的存储系统(例如数据仓库或专用数据集市),从而实现对数据的快速、可靠访问。按需访问数据可实现实时数据处理和分析。借助数据分析结果,企业能够制定更精准的业务决策。
数据摄取流程有哪些类型?
数据摄取的方式方法会因数据的体量、产生速度和使用案例而有所不同。
批量数据摄取
批量数据摄取工具会在指定时间段内收集数据,一次性摄取多组数据条目。这类工具通常被设置为按预定时间间隔获取数据,例如每日结束时、周末或月末。举例来说,图像编辑软件可在每日结束时自动将所有已编辑的图像上传到云端。
以批量方式处理数据时,速度可能很快,但若涉及的数据量庞大,处理速度也可能变慢。如果数据传输速度较慢且过程中出现错误,重新启动整个批次的成本会很高,操作也较为复杂。因此,使用批处理的工程师会构建具备容错能力的管道,确保能够从批次上次中断的位置继续处理,无需从头开始。
这种摄取方式最适用于需要分析历史数据,或对数据摄取的时间及时性要求不高的场景。而对于近实时或实时数据的摄取,通常更适合采用以下方法中的某一种。
流式数据摄取
流式数据摄取工具会在数据生成后立即收集数据,例如从持续读取数据的物联网传感器摄取数据时。虽然流式传输能确保获取最新数据,但占用的资源可能较多。数据工程师必须处理系统或网络错误及网络延迟,这些问题可能导致数据丢失,在数据流中造成断点。
流式数据摄取主要采用以下两种方式。
拉取式摄取
摄取工具主动查询数据源并执行数据提取操作,可采用持续查询或按预设时间间隔触发。
推送式摄取
数据来源在生成新信息后,会立即将数据推送到摄取工具。
微批量摄取
微批量数据摄取会将连续的数据流分割成更小、更易于管理的数据块(称为“离散化流”)。这种方式平衡了批量摄取与流式摄取的优势,非常适合需要实时处理但纯流式处理资源消耗过高的场景。然而,与纯流式摄取相比,微批量处理仍然会引入一定延迟。
微批量处理是一种经济高效的方式,能以近乎实时的速度完成数据摄取,同时避免流式处理所需的高昂成本。
事件驱动式摄取
这是推送式摄取的一种特殊形式。事件驱动系统在特定事件或触发器发生时摄取数据,而不是持续摄取或按固定间隔摄取。这种方式常用于订单处理、客户通知、系统监控等应用场景。通过仅在需要时才摄取数据,该方法减少了不必要的数据传输,实现了资源使用的优化。然而,其有效运行依赖于明确定义的事件触发器和事件处理机制。
变更数据捕获
变更数据捕获(CDC)系统是一种基于事件的摄取类型,通常用于数据库复制、增量数据仓库更新以及分布式系统间同步。数据摄取工具仅摄取对数据库所做的更改,而不是传输整个数据集。通过监控事务日志事件,CDC 可以识别插入、更新和删除操作,并近乎实时地将这些操作传播到其他系统。CDC 可最大限度降低数据传输成本、提升处理效率,但该技术的应用需依赖底层数据库系统的支持,且可能会给数据库带来一定的处理开销。
数据摄取、数据集成与 ETL 三者有何区别?
这些概念常被混淆,但三者之间存在重要差异。
数据摄取与数据集成
数据集成是指将不同的数据集合并为一个统一的视图。这是一个含义宽泛的统称,具体包括:将数据从多个来源系统迁移到单个目标系统、合并数据、清除无用数据、去除重复数据,以及通过分析数据获取深度洞察。例如,将客户画像数据与订单购买数据进行集成,可帮助企业洞察特定年龄段或特定地域人群的消费偏好。
数据摄取是任何数据集成管道的第一步。但数据集成所涉及的工具与技术远不止数据摄取,还包括提取-转换-加载(ETL)管道及数据查询。
数据摄取与ETL 和 ELT
提取-转换-加载(ETL)是一种多步骤架构,通过多个环节(又称为 stage 或 hop)提升数据质量。在 ETL 中,数据从其来源中提取出来,转换为分析工具所需的格式,然后加载到数据存储系统(例如数据仓库或数据湖)中。
提取-加载-转换(ELT)是另一种数据管道模式,其将 ETL 中数据“转换”与“加载”环节的顺序进行了颠倒。ELT 属于单环节架构,这意味着数据会先加载到目标系统,再在目标系统中完成转换操作。
数据摄取对应 ETL 和 ELT 管道中的“提取”与“加载”环节。但 ETL 和 ELT 的功能远不止数据摄取:二者均包含“转换”环节的数据处理过程,而这是数据摄取所不涉及的。
数据摄取面临哪些挑战?
以下是企业在进行数据摄取时应考虑的几类挑战。
扩展性
由于数据体量庞大,且数据产生速度会随时间不断提升,企业在扩展数据摄取系统时面临不小挑战。
水平扩缩和垂直扩缩
企业主要采用两种扩缩策略。水平扩缩涉及将摄取工作负载分布到多个节点上。这种方式需要高效的负载均衡与协同机制,避免出现瓶颈。垂直扩缩通过提升单个节点的处理能力来实现扩展。这种方式在技术实现上相对简单,但会受限于单个节点的最大处理能力。此维度下的核心挑战在于:确保数据摄取管道能够处理持续增长的数据量,同时避免引发延迟或系统故障。
为应对扩展性挑战,可使用支持水平扩缩的 Amazon Kinesis Data Streams 进行实时数据摄取。此外,Amazon EMR 支持便捷地运行并扩展 Apache Spark、Trino 等大数据工作负载,同样可助力解决扩展难题。
无服务器架构
无服务器数据管道是一种按需调用的数据摄取架构,无需用户进行实例配置与部署操作。无服务器架构最适用于数据摄取模式不固定或采用事件驱动式摄取的场景。
例如,在 AWS 上,可通过 Amazon Data Firehose 与 AWS Lambda 构建无服务器数据摄取管道。
安全性
在数据摄取过程中,安全性和合规性是至关重要的问题,尤其是在处理敏感信息时。企业必须遵守数据隐私法规,这些法规对数据的收集、传输和存储均提出了严格要求。
数据摄取阶段的安全最佳实践包括:
- 传输中和静态数据加密
- 访问控制和身份验证机制
- 旨在保护个人身份信息(PII)的数据掩蔽和匿名化技术
在 AWS 上,可借助以下服务保障数据摄取过程中的安全性:
- Amazon Macie 通过机器学习与模式匹配技术识别敏感数据
- AWS Key Management Service 为 AWS 各类工作负载中的数据提供加密保护
- AWS PrivateLink 可实现 Amazon Virtual Private Cloud(VPC)与 AWS 服务之间的私密连接,避免数据暴露于公共互联网。
网络可靠性
网络中断、API 故障以及数据可用性不稳定等问题,都可能干扰数据摄取流程。这类事件会引发数据损坏等难题。而单一数据来源的数据过载,还可能导致潜在的数据丢失,或暂时拖慢数据仓库等系统的运行速度。此时可能需要采用自适应节流措施来管理数据流峰值。而背压管理能让数据摄取工具以匹配自身处理能力的速率接收数据,避免因数据涌入过快导致系统崩溃。
重试或重新尝试处理失败的数据是另一种错误处理策略。当识别到损坏或丢失的数据时,数据摄取工具会向数据来源发送重新传输请求。重试机制虽能提升数据处理的准确性,但可能会对预期的吞吐量和延迟产生影响。
在 AWS 上实现自动化重试时,可通过 AWS Step Functions 自定义工作流;此外,Amazon Kinesis 也提供了可配置的策略与流程来管理入站数据流。
数据质量
当数据从各种来源进入数据摄取管道时,并不能保证其格式符合企业的一致要求。原始数据来源可能包含缺失值、数据格式不正确以及模式不匹配的问题。在处理非结构化数据时,这类问题尤为突出,因为缺乏统一性会增加数据交互与清洗的复杂度。
数据摄取工具通常内置数据质量检查功能,并采用多种方法对数据进行验证、清洗与标准化处理。自动化去重、模式强制校验以及人工智能驱动的异常检测等技术,可在错误进一步扩散到数据管道之前加以识别并修正。
在 AWS 上,常用的数据质量工具包括:适用于数据质量规则定义与自动化执行的 AWS Glue 数据质量自动监测功能,以及适用于数据编目与数据治理的 Amazon DataZone。
数据摄取框架如何支持更优的业务决策?
通过数据摄取框架,企业能更及时地获取准确数据,这有助于团队更快识别趋势、实时响应客户不断变化的需求并动态调整业务策略。如此一来,企业能够依托客观数据而非主观直觉制定决策。
通过安全可靠的数据管道建立信任
客户与监管机构均期望企业能负责任地处理数据。而设计完善的数据摄取流程,可通过确保数据在收集、传输及访问环节的安全性来帮助企业满足这一期望。
此举带来的价值不仅限于当前可见的运营效率提升。一方面,企业的合规性会更有保障;另一方面,在数据仓库中践行安全的数据处理方式,既能增强企业内部各团队对数据的信心,又能进一步巩固客户对企业的信任。
简化企业内部的合规管理与报告流程
可靠的数据摄取流程能帮助企业满足监管要求,同时简化审计工作。当企业各业务环节的数据以统一且安全的方式被收集时,会形成清晰且可追溯的运营记录:这对于遵守《通用数据保护条例》(GDPR)、《健康保险流通与责任法案》(HIPAA)或《支付卡行业数据安全标准》(PCI DSS)等标准尤为重要。
自动化数据摄取不仅能降低人为错误的风险,还能确保所需数据被及时捕获。这使得企业更易生成准确的报告、响应审计人员的需求,并证明自身的数据处理流程具备透明度与可控性。
助力跨团队实现更快创新
当数据能被可靠摄取且快速提供给业务端时,企业内部的跨团队将具备更强的敏捷性。例如,产品、营销与运营团队无需等待 IT 部门准备数据集,即可直接在客户关系管理(CRM)系统中验证假设、衡量结果及快速迭代优化方案。借助自动化摄取管道,这些团队可通过自助方式获取新鲜且可信的数据,加速洞察生成的速度。
AWS 如何帮助您满足数据摄取需求?
AWS 提供了相关服务和功能,可将不同类型的数据摄取到 AWS 云数据库或其他分析服务中。例如:
- Amazon Data Firehose 是 Kinesis 系列服务的一员,可根据流数据的数据量与吞吐量自动弹性扩展,无需用户进行持续运维操作。
- AWS Glue 是一项完全托管的无服务器 ETL 服务,能够以简单且经济高效的方式对不同数据存储间的数据进行分类、清洗、转换和可靠传输。
- AWS Transfer Family 是一项完全托管的安全传输服务,用于将文件移入和移出 AWS 存储服务。
- AWS 数据库与 AWS Database Migration Service(DMS)提供从所有 AWS 数据库服务中捕获并流式传输数据变更的机制。您可借助 Amazon DynamoDB 或 Amazon Neptune 的原生 CDC 功能,降低数据集成管道的复杂度;也可选择在 AWS Database Migration Service(DMS)中使用 CDC,直接从源数据库的事务日志中提取数据变更。DMS 是一种高可用服务,能够为此类长期运行的复制任务提供持续的韧性保障。之后,您还可选择通过 Amazon MSK、Amazon Kinesis 或 AWS Glue,对数据流进行转换并分发到目标位置。
- Amazon Managed Streaming for Apache Kafka(Amazon MSK)是一项完全托管的服务,可让用户轻松构建和运行使用开源的 Apache Kafka 进行流数据摄取的应用程序。
您还可以在 Amazon EC2 和 Amazon EMR 上部署自定义数据摄取平台,并搭建专属的流存储与处理层。通过这种方式,您可以避免基础设施配置的麻烦,并能够使用各种流存储和处理框架。
立即创建免费账户,在 AWS 上开启数据摄取之旅。