发布于: Oct 30, 2022

无论是普通数据库还是智能数据仓,如何收集数据,是我们需要解决的首要问题,下面我们就一起来看看亚马逊云科技上的智能湖仓是如何从不同来源中摄取数据并保存下来的。

下图所示,为亚马逊云科技平台上的智能湖仓参考架构。

智能湖仓参考架构中的摄取层包含一组专用的亚马逊云科技服务,负责将不同来源的数据摄取至智能湖仓存储层内。大部分摄取服务能够直接将数据传递至数据湖与数据仓库存储。此外,其中使用的定制化专用服务还能充分满足以下来源的连接性、数据格式、数据结构与数据速度等具体要求:

  • 运营数据库源
  • 软件即服务(SaaS)应用程序
  • 文件共享
  • 流式数据源

摄取层中的 Amazon Data Migration Service (Amazon DMS)组件能够接入多个运营 RDBMS 与 NoSQL 数据库,并将其中的数据摄取至数据湖内的 Amazon Simple Storage Service (Amazon S3)存储桶中,或者直接摄取至 Amazon Redshift  数据仓库的 staging 表。借助 Amazon DMS,您可以一次性导入源数据,然后再复制源数据库的数据持续变化。

摄取层使用 Amazon AppFlow 轻松将 SaaS 应用程序数据摄取至您的数据湖内。只需单击几下,您就可以在 Amazon AppFlow 中设置无服务器数据获取流。您的数据流可以接入多种 SaaS 应用程序(例如 SalesforceMarketo 以及 Google Analytics)、摄取数据,再将结果传递至智能湖仓存储层或者数据湖内的 S3 存储桶,也可以直接传递至 Amazon Redshift 数据仓库中的 staging 表。您可以调度 Amazon AppFlow 摄取流,或者根据 SaaS 应用程序内的事件进行即时触发。在将摄取数据传递至智能湖仓存储层之前,您还可以对数据内容加以验证、过滤、映射及脱敏。

相当一部分应用程序会将结构化与非结构化数据存储在托管于网络附加存储(NAS)阵列上的文件中。Amazon DataSync 能够从启用 NFS SMBNAS 设备中快速将数百万个文件、数百 TB 大小的数据摄取至数据湖登陆区内。DataSync 不仅能够自动处理复制作业的脚本、调度并监控转移过程,还能够验证数据完整性并优化网络资源利用率。在完成一轮文件转移之后,DataSync 还可监控并将后续发生变更的文件同步至智能湖仓。更重要的是,DataSync 是一项完全托管服务,整个设置过程只需要几分钟。

摄取层使用 Amazon Kinesis Data Firehose 从内部或外部源处接收流式数据,并将其传递至智能湖仓存储层。只需单击几下,您就可以配置 Kinesis Data Firehose API 端点,供数据源发送流式数据——包括点击流、应用程序与基础设施日志及监控指标,以及设备遥测与传感器读数等物联网数据。Kinesis Data Firehose 将执行以下操作:

  • 缓冲输入流。
  • 对数据进行分批、压缩、转换、分区与加密。
  • 将数据作为 S3 对象传递至数据湖,或作为行传递至 Amazon Redshift 数据仓库内的 staging 表。

Kinesis Data Firehose 为无服务器服务,不需要额外管理且提供成本模型,您只需要为通过该服务传输及处理的实际数据量付费。Kinesis Data Firehose 会自动伸缩以适应传入数据的规模及吞吐量。在构建实时流式分析管道期间,摄取层会直接提供 Amazon Kinesis Data Streams

相关文章