参考指南:在 AWS 上近实时分析事务数据 大数据博客
实时分析AWS交易数据的参考指南
关键要点
近实时交易数据能帮助企业了解消费者行为并优化产品。主要挑战在于及时的数据准备通常需要数天。使用AWS服务搭建解决方案可以优化数据流转,迅速做出决策。采用合适的架构和最新的科技能实现更高效的实时分析。商务领袖和数据分析师利用近实时的交易数据了解消费者行为,以支持产品的演变。然而,企业在实现近实时分析时面临的主要挑战是如何及时地准备数据进行分析,这个过程常常需要数天时间。为了高效地将数据从接入到分析,很多公司通常会组建专门的团队来处理这一流程。
如果数据分析流程出现延误,可能会带来巨大的成本损失。随着在线交易的流行,数据的数量和处理速度急剧增加,给数据处理带来挑战。消费者期待服务和产品能迅速作出调整,无法快速适应消费者行为的组织可能会在竞争激烈的市场中失去机会和收入。
为了克服这些挑战,企业需要一个能够提供近实时交易数据分析的解决方案,这样的服务应避免延迟处理和管理管线的复杂性。通过正确部署架构,并利用最新的人工智能AI、数据存储、流数据接入及云计算技术,数据将变得更加准确、及时和可操作。此外,这样的解决方案使得企业能够在近实时内做出可操作的决策,帮助决策者随市场变化快速调整战略方向。
在本文中,我们将讨论如何利用AWS的管理分析、AI、机器学习ML和数据库服务构建近实时的分析解决方案。
解决方案概览
最常见的工作负载,不论行业如何,都涉及到交易数据。随着工作负载不断向线上转移,交易数据的体量和速度迅速增加。近实时数据是指持续存储、处理和分析的数据,这些数据在生成后几乎能立即被使用。借助近实时分析的能力,企业各个部门,包括销售、市场和运营,都能够做出灵活的战略决策。如果没有相应支持的架构,组织将无法及时获取数据,从而错失快速出现的机会,影响运营效率、顾客满意度或产品创新。
AWS的管理分析和数据库服务能够高效优化解决方案中每个组件,从数据接入到分析,且较少管理负担。确保关键业务解决方案遵循AWS优秀架构框架的六大支柱至关重要。这一框架帮助云架构师为关键工作负载构建最安全、性能最佳、具有弹性和高效的基础设施。
下图展示了解决方案架构。
加速器apk通过结合适当的AWS服务,你的组织可以在交易数据存储上运行近实时分析。接下来的部分将讨论解决方案的关键组成部分。
交易数据存储
在此解决方案中,我们使用Amazon DynamoDB作为交易数据存储。DynamoDB是一个受管的NoSQL数据库解决方案,作为交易数据的键值存储。由于其为NoSQL解决方案,DynamoDB优化了计算而非存储,因此数据建模需依赖于应用的需求进行呈现。这使得DynamoDB特别适合具有明确访问模式的应用,这是许多交易工作负载的特点。
在DynamoDB中,你可以通过分区键创建、读取、更新或删除表中的项。例如,如果希望跟踪用户在应用中完成的健身任务数量,可以查询用户ID的分区键以找到包含已完成任务数据的项,然后更新相应属性以反映特定任务的完成状态。值得注意的是,DynamoDB设计有一些附加好处,例如能够支持巨大的全球互联网级应用,同时保持较低的单数字毫秒延迟性能,因其会通过分区键对底层存储节点的日期进行水平分区。对数据进行建模十分重要,以便DynamoDB能够基于分区键进行水平扩展,这也是它适合用作交易存储的原因之一。在交易工作负载中,预测访问模式有助于围绕这些模式优化数据模型,而不是创建用于接收临时请求的数据模型。尽管如此,DynamoDB在对多个项进行扫描时的效率并不高,因此在此解决方案中,我们搭配其他服务来满足数据分析需求。
数据流处理
既然我们已将工作负载的交易数据存储在DynamoDB中,就需要将这些数据迁移到更适合分析的服务中。洞察数据的时间非常重要,因此我们选择通过数据流的方式而非批量发送数据,确保实现近实时特性。
我们使用Amazon Kinesis Data Streams将数据从DynamoDB流式传输到Amazon Redshift作为此解决方案的一部分。Kinesis Data Streams捕获DynamoDB表中的项级修改,并将其复制到Kinesis数据流中。你的应用可以访问这个流,并在近实时内查看项目级变更。其能够连续捕获并存储每小时数TB的数据。此外,Kinesis Data Streams的增强的扇出能力允许你同时将数据发送到两个或更多的下游应用。它还提供了持久性和弹性。在向流中放入记录到可以检索的时间延迟放入到获取延迟通常少于1秒。换句话说,Kinesis Data Streams应用几乎在数据添加后就能立即开始消费数据。这一受管理的Kinesis Data Streams服务减轻了创建和运行数据接入管线的操作负担。Kinesis Data Streams的弹性使得你可以灵活调整流的规模,从而确保在数据记录过期之前不丢失任何数据。
分析数据存储
在此解决方案中,下一项服务是Amazon Redshift,这是一种完全管理的云数据仓库服务,支持PB级的数据处理能力。与DynamoDB相比,DynamoDB主要用于更新、删除或读取特定数据项,而Amazon Redshift更适合用于分析查询,因为它可以处理大量数据的多阶段操作,生成最终结果。通过大规模并行处理、列式数据存储和高效的目标数据压缩编码方案,Amazon Redshift实现了高效的存储和最优的查询性能。
不止于此,Amazon Redshift还能够与Amazon流式引擎进行原生集成。Amazon Redshift流式接入每秒处理数百MB的数据,因此你可以实时查询数据,通过分析推动业务发展。这种零ETL的方法使得Amazon Redshift流式接入能够连接到多个Kinesis数据流或Amazon托管的Apache Kafka流,将数据直接提取到Amazon Redshift,而无需将数据暂存于Amazon简单存储服务Amazon S3中。你可以定义结构,或者选择使用SUPER数据类型接入半结构化数据。在流式接入中,物化视图作为从Kinesis数据流读取数据的着陆区,数据在到达时就被处理。当视图被刷新的时候,Redshift计算节点将为每一个数据分片分配一个计算切片。我们建议为这个物化视图启用自动刷新,这样你的数据会持续更新。

数据分析与可视化
建立数据管道后,最后一步是用Amazon QuickSight进行数据分析,以可视化消费者行为的变化。QuickSight是一种云规模的商业智能BI服务,使你能够方便地将见解传递给团队成员,无论他们身在何处。
QuickSight可以连接到云中的数据,并将来自多种不同来源的数据结合在一起。在单个数据仪表盘中,QuickSight可以包含AWS数据、第三方数据、大数据、电子表格数据、SaaS数据、B2B数据等多种形式的数据。作为一种完全管理的云服务,QuickSight提供企业级的安全性、全球可用性和内置冗余。它还提供用户管理工具,使你能够从10个用户扩展到10000个用户,而无需部署或管理基础设施。
QuickSight为决策者提供了在互动可视化环境中探索和解读信息的机会。他们可以从网络上的任何设备和移动设备安全访问仪表盘。将QuickSight连接到我们解决方案的其余部分将完整实现数据流,从初始接入DynamoDB到流式数据进入Amazon Redshift。由于数据相对较新,QuickSight能够对数据进行近实时的可视化分析,因此该方案适用于快速决策的交易数据工作负载。
使用AWS进行数据服务,使得解决方案中每个组件从接入到存储到分析,都能实现速度优化且管理开销较小。利用这些AWS服务,企业领导者和分析师能够快速获取近实时的见解,以便根据客户行为驱动及时的变化,增强组织灵活性,从而提升顾客满意度。
下一步
在AWS上构建一个分析交易数据的近实时解决方案的下一步是参加工作坊在Amazon DynamoDB中启用近实时分析使用Amazon Redshift。在工作坊中,你将亲身体验AWS管理分析、AI/ML和数据库服务,深入了解提供近实时交易数据分析的端到端解决方案。在工作坊结束时,你将完成对关键组件的配置和部署,从而使用户能够对交易工作负载进行分析。
结论
在AWS上开发可为交易数据提供近实时分析的架构,能够使企业在关键决策中变得更加灵活。通过直接从应用中接入和处理交易数据,企业能够优化库存水平、降低持有成本、增加收入和提升顾客满意度。
这一端到端解决方案特别针对业务用户、数据工程师、数据科学家和数据分析师等多种角色,他们负责理解、创建和管理与零售库存预测相关的流程。总而言之,能够在AWS上分析近实时交易数据可以为企业提供及时的洞察,使其在快速变化的行业中能够做出更快的决策。
关于作者
Jason D’Alba 是一名AWS解决方案架构师领导者,专注于数据库和企业应用,帮助客户构建高可用、可扩展的数据库解决方案。
Veerendra Nayak 是一位基于加利福尼亚湾区的首席数据库解决方案架构师。他与客户合作,分享数据库迁移、恢复能力以及将运营数据与分析和AI服务集成的最佳实践。
Evan Day 是AWS的数据库解决方案架构师,帮助客户定义基于AWS的广泛管理数据库服务的技术解决方案,专注于构建可靠、高效和具有成本效益的解决方案。
使用 Amazon Athena 和 Amazon Redshift 查询 AWS Glue 数据目
使用 Amazon Athena 和 Amazon Redshift 查询 AWS Glue 数据目录视图重点提炼AWS Glue 数据目录视图允许用户创建一个通用的视图模式,并在多个引擎之间共享。通过 AWS Lake Formation,客户可以对视图进行一致的访问管理,无需访问底层数据库和表。...
在 PostgreSQL 中管理对象依赖关系 概述及有用的检查查询第一部分数据库博客
PostgreSQL中的对象依赖管理概述与有用的检查查询第1部分主要信息本文介绍了在PostgreSQL中对象依赖的概念及其重要性,探讨了不同类型的依赖关系,并提供了相关查询用于检查对象之间的依赖性。这些依赖关系对于数据库对象的管理和修改至关重要,可以确保对一个对象的更改不会对其他依赖对象造成意外的...