
在现代物流行业中,数据的有效管理与分析对于提升业务效率和决策能力至关重要。其中,WMS(仓库管理系统)是实现高效库存管理和订单履行的基础,直接影响到客户满意度和运营成本。
本文将分享一项基于亚马逊云科技构建物流数据湖的转型案例,重点讨论从传统数据库(自建Oracle和Amazon RDS MySQL)迁移到数据湖+分析中台的过程及其带来的优势。
背景与挑战
WMS(Warehouse Management System)是一种用于优化和管理仓库运营的软件系统。它通过自动化和精细化管理,提高仓库的效率和准确性。WMS的主要功能有入库管理,出库管理,库存管理,并对接订单数据与物流数据,提供物流送达数据分析与报表,打造无缝的技术体验。
用户使用WMS遇到的挑战如下:
性能瓶颈:依赖于Oracle和Amazon RDS MySQL数据库进行数据存储和分析,各业务部门的分析接口均在只读库上独立运行,导致读库性能下降。不同业务查询相互影响,查询结果往往需要数分钟才能返回,严重影响终端用户体验。 复杂查询处理:OLAP(在线分析处理)核心业务查询通常涉及大量数据,同时有复杂的查询逻辑。OLTP数据库在面对这些复杂查询时性能不足,导致整体可用性风险增加。 数据库管理成本上升:随着2B业务的发展,需要维护的数据库数量不断增加,DB之间的相互调用加大了数据接口管理复杂性,同时自建DB的可用性挑战越来越大。展开剩余88%数据湖方案
Step1
通过Amazon S3数据湖作为数据基础架构
Amazon S3是亚马逊云科技数据湖方案的核心存储服务,提供11个9的数据持久性与近乎无限的数据存储容量。Amazon S3支持灵活的数据管理,包括数据的索引、目录管理和生命周期管理工具,使得用户能够方便地组织、标记和管理数据。
Amazon S3与多种亚马逊云科技分析服务(如Amazon Athena、Amazon Redshift和Amazon Glue)无缝集成,用户可以直接在Amazon S3上运行SQL查询,无需将数据迁移到其他系统。Amazon S3提供了存储类功能,可以转移不频繁访问的数据到更低成本的存储类别(如S3-IA或Glacier)。
在安全性方面,Amazon S3提供了细粒度的访问控制和加密选项。Amazon IAM允许企业指定特定用户并管理其数据访问权限。因此,通过使用Amazon S3,企业能够安全地存储原始数据,并利用其高可用性和弹性来满足不断增长的数据需求。
把分析业务分类为流式处理与批处理,其中批处理表采用T+1的更新频率,这些数据SLA要求高,数据量大,处理优先级较高。
基于该场景需求,通过Amazon DMS(数据库迁移服务)把Oracle与Amazon RDS的数据批量Amazon S3 OBS层,之后逐级清洗到DWD与DWS层,每一层对应独立的Amazon S3 bucket policy与Amazon Glue catalog进行严格权限管控。最后应用调用Athena进行SQL检索。
批处理架构如下图所示。
基于Amazon S3数据湖的数据流向示意图
Step2
使用Amazon Glue进行多数据源整合与visual ETL
Amazon Glue作为Serverless的数据集成服务,将来自不同来源的数据整合到数据湖中。Amazon Glue能够整合来自各种数据源的数据,包括传统数据库(如Oracle、MySQL)、云存储(如Amazon S3)以及其他兼容JDBC的外部数据库。
Amazon Glue connector的灵活性与管理数据源功能极大简化了用户的跨数据源整合研发复杂度。此外,通过Amazon Glue Crawler,系统可以自动发现数据源并生成元数据,方便后续的数据分类和搜索。这一过程减少了建表的手动操作,提高了数据整合的效率。
最后,Amazon Glue connector支持使用自定义JDBC驱动程序,并复用JDBC连接。通过创建和管理连接器,企业可以确保安全性,同时简化数据库之间的调用。
1.通过Amazon Glue visual ETL进行作业编排
在选择作业编排的功能过程中,对比亚马逊云科技托管airflow与visual ETL。首先,由于用户业务团队多,不同2B的用户的处理流水线不同,通过可视化方式进行快速ETL pipeline原型开发非常重要。借助Amazon Glue Studio,用户可以通过可视化界面创建和管理ETL作业,无需编写代码。这降低了技术门槛,使更多业务人员能够参与到数据处理过程中。
随着Amazon Glue visual ETL的深入了解,本例挖掘了Amazon Glue ETL pipeline的更多功能。
例如,之前很多在Amazon Lambda上的自动化任务运行时间有可能超过15分钟,改为Amazon Glue Bash运行时后,通过加载自定义环境依赖项,可以非常灵活地实现自定义任务,并且可以和Amazon Glue pipeline进行集成,减少人工操作。
2.使用Amazon Secrets Manager存储连接凭证
此外,为了提高安全性,推荐通过Amazon Secrets Manager存储Amazon Glue JDBC连接凭证,而不是直接在配置中提供用户名和密码。这种做法进一步确保敏感信息的安全性,并支持对多个应用连接复用。
Step3
流式处理与聚合
随着批处理pipeline完成,流式处理任务开启调研。在流式数据处理场景中,对多种架构进行深入评估,包括Spark Streaming、Apache Flink等流行的流处理框架。
尽管这些技术在处理大规模实时数据方面具有强大的能力,但本例最终选择了基于Amazon DMS和Amazon Redshift的方案,主要考虑到以下几个因素:
1.用户团队对Amazon DMS已经相对熟悉,并且对于Amazon DMS的稳定性评价很高。Amazon DMS的使用能够减少学习曲线,使团队能够更快地上手并有效实施流式数据处理。
2.项目中的数据库管理员(DBA)是核心成员,他们在管理和维护数据库方面具有丰富的经验,利用数仓产品Amazon Redshift可以充分发挥他们的专业技能,从而确保数据迁移和流式处理的高效性和稳定性。
基于这些考虑,最终提出的流式架构如下:采用Amazon DMS将数据流式传输到Amazon Redshift。在该架构中,Amazon DMS负责从各种源数据库中捕获实时数据变更,并将这些数据高效地同步到Amazon Redshift中。
流处理架构如下。
基于Amazon Redshift数仓的数据流向示意图
这个方案具有如下好处:
1.操作简便,数据更新迅速:用户只需通过控制台配置两个托管服务,就能实现秒级的数据更新。Amazon DMS原生支持用户使用的数据库,包括Oracle、MySQL和PostgreSQL等。通过对MaxFullLoadSubTasks的控制,Amazon DMS能够在迁移过程中保持源数据库的正常运行,最大限度地减少对核心数据库的影响。同时,Amazon DMS还支持将数据迁移到Amazon Redshift,并通过转换规则确保被标记为删除的数据仍然会复制到Amazon Redshift中,并以删除标记(Deletion Tag)进行标注,以满足用户的需求。此外,Amazon Redshift自动化了大多数常见的管理任务,如配置、监控和备份,使得管理和维护变得更加简单和经济。
2.成本低廉:Amazon DMS和Amazon Redshift均采用按需计费模式,用户只需为实际使用的资源付费。对于Amazon DMS,流式处理可以复用之前批处理的Amazon DMS实例。此外,宁夏区已推出Amazon DMS Serverless,用户可以根据实际需求自动调整资源。Amazon Redshift的管理存储(Managed Storage)每GB每月仅需¥0.154,与Amazon S3的费用相当,这使得大规模数据存储的成本相对较低。
3.性能提升:作为托管的数据仓库,Amazon Redshift通过采用列式存储格式,实现了快速的查询和I/O性能。它自动对数据进行压缩,从而减少存储空间并加快数据读取速度。此外,Amazon Redshift的架构支持大规模并行处理(MPP),能够将查询负载分配到多个节点上,从而显著提高查询速度。AQUA(高级查询加速器)通过硬件加速缓存,使某些类型的查询速度提高至其他企业云数据仓库的十倍。通过使用Amazon Redshift,用户可以offload绝大部分之前位于Oracle与Amazon RDS的分析workload,实现更佳业务体验。
总结与展望
通过将传统的数据库架构转型为基于亚马逊云科技的数据湖和分析中台,用户不仅解决了原有系统中的性能瓶颈和管理复杂性,还显著提升了数据处理的效率与灵活性。具体来说:
借助Amazon S3和Amazon Redshift,用户实现了数据存储和查询的高效化。Amazon S3的高可用性和弹性存储能力,结合Redshift的列式存储和大规模并行处理(MPP)架构,使得复杂查询的响应时间大幅缩短,用户能够在几秒钟内获取所需数据,从而提升决策效率。
采用按需计费模式的亚马逊云科技服务使得企业能够根据实际使用情况灵活调整资源,降低了IT成本。特别是通过Amazon S3和Amazon Redshift的管理存储,企业在大规模数据处理和存储上实现了显著的成本节约。
Amazon Glue的引入使得多数据源整合变得更加简单高效。通过可视化ETL工具,业务团队能够快速构建数据处理流程,降低了技术门槛,同时提高了数据管理的灵活性。Amazon Glue Crawler的自动化功能也减少了手动操作,提高了数据分类和搜索的效率。
通过使用托管服务与Amazon Secrets Manager,确保了数据存储与查询过程中的安全。此外,通过Amazon S3与Amazon Redshift提供的细粒度访问控制和加密选项,企业可以有效管理数据访问权限,进一步提升数据安全性。
未来,可以持续进行架构优化:
流批一体:统一流处理与批处理workflow整合,进一步降低研发与运维成本,更快响应客户需求。 智能化应用:结合机器学习和Text2SQL技术,对物流数据进行自定义分析,为业务决策提供更具前瞻性的洞察。 系统整合:通过与其他数据源,业务系统及工具的整合,实现更全面的数据生态系统。本篇作者
赵安蓓
亚马逊云科技解决方案架构师,负责基于亚马逊云科技的解决方案咨询和设计,机器学习TFC成员。在数据处理与建模领域有着丰富的实践经验,特别关注医疗领域的机器学习工程化与运用。
我们正处在Agentic AI爆发前夜。企业要从"成本优化"转向"创新驱动",通过完善的数据战略和AI云服务,把握全球化机遇。亚马逊将投入1000亿美元在AI算力、云基础设施等领域,通过领先的技术实力和帮助“中国企业出海“和”服务中国客户创新“的丰富经验,助力企业在AI时代突破。
发布于:北京市科元网提示:文章来自网络,不代表本站观点。