使用无服务器分析构建高性能数据解决方案
关键字: [Amazon Web Services re:Invent 2024, 亚马逊云科技, Amazon Redshift, Serverless Data Processing, Performance Optimization, Query Patterns, Real-Time Intelligence, Self-Service Analytics]
导读
数据专业人士面临着构建能够快速扩展、提供成本效益结果、并支持各类数据用户需求的解决方案的挑战。了解亚马逊云科技如何在数据库、分析和人工智能/机器学习领域无需管理基础设施,从而更快速、更轻松地实施现代数据战略。在本次会议中,您将看到无服务器亚马逊云科技分析服务如何简化快速构建事件驱动的数据管道和微服务架构的过程,这些可以帮助您实现超大规模创新。
演讲精华
以下是小编为您整理的本次演讲的精华。
在2024年亚马逊云科技 re:Invent大会上,亚马逊云科技首席分析解决方案架构师Sandeep Bomek发表了一场关于使用无服务器分析设计高性能数据解决方案的精彩演讲。他的演讲伙伴包括来自Amazon Athena和EMR Glue团队的Scott Rigny以及Workhuman公司数据架构总监Kamal Samput Kumar,后者分享了一个客户成功案例。
Sandeep首先强调了数据系统中性能的关键重要性,认为性能是企业能够主动还是被动应对的区别所在。他指出,在数据系统的背景下设计性能至关重要,这样企业才能在恰当的时机做出明智的决策,并获得所需的洞见。Sandeep介绍了一个名为“性能五边形”的概念框架,旨在平衡五个关键因素:延迟、可扩展性、效率、可靠性和成本。他强调在绿色区域内实现这种平衡至关重要,因为这是优化数据工作流程的关键。
接下来,Sandeep以一家拥有实体店和在线业务的零售企业为例,展示了一个需要高性能的数据系统的高级概念设计。他解释说,这样的系统将有不同类型的用户,包括运行报告、查询或依赖库存数据的人类用户,以及寻求确认付款和访问指标和订单历史记录的客户。此外,还会有非人类系统用户,如自动通知系统和基于代理的工作流程,需要在数据生成时以最低延迟获取数据。Sandeep强调了数据系统的核心组件:消费层(微服务)、存储层(数据库、数据仓库、blob存储)、数据处理服务和数据注入系统。他强调要关注每个组件并应用性能五边形模型来平衡关键因素。
Sandeep讨论的第一个用例是高并发工作负载,用户在大量数据上运行数百或数千个查询,查询模式各不相同,包括长复杂连接、短交互式临时查询和聚合,需要低延迟。Sandeep介绍了一种涉及查询API服务的解决方案模式,该服务抽象了查询应该在何处运行的决策过程。可以在Amazon Redshift上执行连接多个表并跨越多年数据的复杂查询,Redshift旨在为此类工作负载提供亚秒级延迟。相反,交互式和临时查询可以利用Amazon Athena。Sandeep还强调了像Apache Iceberg这样的开放表格式的潜在优势,它可以通过分区修剪来优化读取查询,利用五级元数据来改善查询扫描,并支持原子事务,从而实现对数据湖的增量更新和删除。
来自Amazon Athena和EMR Glue团队的Scott Rigny阐述了如何优化单个查询持续时间以实现高并发。他解释说,Redshift Serverless和Athena提供了内置功能,如自动物化视图、自动表优化和自动连接重新排序,以减少查询运行时间。Redshift中的自动物化视图会跨各种性能维度监控工作负载,以确定何时将频繁访问的表物化为视图,从而加速后续查询。自动表优化会自动应用排序和分布键以及索引,以优化表和聚合的查询模式。在Athena中,自动连接重新排序功能会尝试重新排列查询计划中连接的顺序,如果认为这样可以加速查询且不影响正确性。
Scott进一步讨论了Redshift Serverless的查询标识符等功能,这些功能可以标记和监控一段时间内查询或工作负载的性能,利用自动物化视图和自动表优化等优化来减少查询运行时间。Redshift Serverless中的会话重用最小化了检索数据所花费的时间,从而加快了最终用户获取洞见的速度。对于Athena,Scott强调了透传查询,它允许将整个查询操作下推到源端,直接读取数据,从而显著减少延迟,为客户带来好处。
为了解决包含稳定使用量和高峰需求活动查询以及不同大小查询混合的可变工作负载问题,Scott解释了Redshift Serverless如何采用AI驱动的扩展。Redshift会随着工作负载的变化自动扩展,通过评估数据量、并发用户数和查询复杂度等指标,灵活适应并保持价格性能目标。亚马逊云科技内部测试显示,使用AI驱动的扩展而无需大量调优,可获得10倍的价格性能优势。
对于Athena工作负载,Scott讨论了预配置容量功能,它为客户帐户提供专用的无服务器容量。可以修改此容量资源以可预测地扩展工作负载,创建可分配给工作组的容量单元捆绑包。客户可以添加或删除容量单元以扩展工作负载,利用与Athena多租户无服务器机群相同的查询引擎和提交模型。Scott建议对于高并发需求和帐户内可预测的性能控制,使用预配置容量。
第二个用例集中于实时智能,如欺诈检测、实时报告和运营分析。Sandeep介绍了一种使用Amazon API Gateway、Amazon Lambda、Amazon Managed Streaming for Apache Kafka (Amazon MSK)、Amazon Managed Streaming for Apache Flink (Amazon MSF)、Amazon SageMaker、Amazon OpenSearch和Amazon Simple Notification Service (Amazon SNS)等服务的事件驱动流式管道模式。在这种架构中,应用程序的事务通过API Gateway传递,Lambda函数执行轻量级处理、清理数据、构造请求有效负载,并将其发送到流缓冲区Amazon MSK。
然后,Amazon MSK将事件流传递给Amazon MSF,后者处理流数据并同步调用智能系统,如SageMaker机器学习模型。该模型评估事件是否存在潜在欺诈,Amazon MSF相应地构造数据,加入参考数据并丰富事件,然后将其传回Amazon MSK。从那里,数据可以路由到各种消费者,如使用Amazon SNS进行警报的通知系统、用于实时报告和运营分析的Amazon OpenSearch、用于批量分析的Amazon S3以及机器学习训练管道。
Sandeep强调了这种事件驱动管道的可扩展性,Amazon MSK能够每秒处理数十万个事件,Amazon MSF可扩展以处理大量数据。这些无服务器服务无缝集成,允许亚马逊云科技管理与性能五边形相关的权衡,使客户能够专注于核心业务目标,如欺诈检测。
Scott讨论了Amazon OpenSearch Serverless的性能特性,包括零ETL流集成,它提供了一种可扩展且经济高效的方式,从Amazon S3、Amazon DocumentDB和Amazon MSK等源中摄取数据,实现低延迟索引和查询。智能缓存功能优化了索引作业的数据管理方面,仅将最常访问的数据保留在缓存中,从而减少了总计算单元(OCU)消耗,使索引过程更加高效和经济。此外,扩展容量和自动扩展功能允许将OpenSearch工作负载扩展到更大的数据集,方法是增加OCU容量限制。
对于Amazon Glue的批量数据处理,Scott强调了使用情况配置文件,它提供了配置和控制,用于定义Spark作业的运行时边界,从而实现一致的性能和成本控制。使用情况配置文件允许设置最大工作线程数或作业超时等参数,确保及时为业务用户提供洞见。今年早些时候推出的作业运行队列为开发人员提供了一种火力全开的体验,他们可以将作业发送到Glue服务,后者根据先进先出的顺序管理队列并执行作业,从而节省了管理重试和处理由于服务配额而导致的错误的时间和精力。
第三个用例涉及按需为客户提供数据摘要或报告,Workhuman的成功案例就是一个很好的示例。Workhuman数据架构总监Kamal Samput Kumar分享了他们如何构建一个包含提取、管理、建模和消费层的数据平台,以实现客户自助分析。Workhuman是社会认可领域的全球领导者,提供了一个基于云的SaaS平台,允许员工相互感谢、庆祝和交流。在他们的平台上有超过700万用户和1亿个人际联系,Workhuman面临着以自助方式向客户展示数据的挑战,从而实现知情决策、独立报告、趋势分析和大规模数据产品化,同时降低运营开销。
为解决这一挑战,Workhuman利用无服务器技术实现了数据API服务,包括Amazon Cognito用于身份验证和授权、Amazon API Gateway用于发布和保护API端点、Amazon Lambda用于处理逻辑并根据复杂性将查询委派给Amazon Redshift Serverless或Amazon Athena、Amazon DynamoDB用于存储请求状态,以及Amazon S3用于存储已处理数据。这种异步数据馈送生成过程允许客户请求数据集、轮询就绪状态,并通过预先签名的URL检索数据,实现与Workhuman数据平台的无缝集成。
此外,Workhuman通过在其平台中嵌入Amazon QuickSight仪表板,将其报告解决方案扩展到数千名用户。他们利用QuickSight的命名空间实现客户隔离,使用QuickSight API将分析模板复制到每个客户的命名空间,并将其绑定到特定于客户的数据集。Workhuman还启用了行级安全性管理,允许客户在用户界面中创建和管理自己的规则,这些规则随后会转化为QuickSight中的行级安全性,提供对数据访问的自助服务控制。
Sandeep最后分享了关于使用无服务器服务优化性能的想法。他建议采用无服务器优先策略,为每个功能领域(摄取、处理、存储、数据仓库、搜索和分析、可视化、治理和主数据管理)选择专门构建的服务,并使用Amazon Trusted Advisor和AWSWell-Architected Framework进行定期审查。他强调了权衡取舍的重要性,例如在缓存和压缩之间进行选择,或与消费者就服务级别协议达成一致,并通过基线测试和可观察性持续监控和优化性能。
Sandeep鼓励与会者探索亚马逊云科技项目,如Data-Driven Everything(用于数据战略对齐)、Re:Imagined Data(用于现代化和迁移),以及AWSWell-Architected Framework(用于优化数据系统在成本、安全性、性能和可持续性等各个支柱方面的表现)。他敦促与会者对所介绍的内容留下评论,因为这有助于亚马逊云科技在未来的re:Invent会议上带来同样高质量的内容。
总之,Sandeep Bomek在亚马逊云科技 re:Invent 2024大会上的演讲提供了关于使用亚马逊云科技无服务器分析服务设计高性能数据解决方案的宝贵见解。他涵盖了思维模型、解决方案模式、真实世界用例、客户成功案例,以及在无服务器数据架构中优化性能的最佳实践。该演讲强调了平衡延迟、可扩展性、效率、可靠性和成本等关键因素的重要性,并展示了如何利用亚马逊云科技服务构建可扩展、高效和经济实惠的数据解决方案。
下面是一些演讲现场的精彩瞬间:
桑迪普和博梅克是亚马逊云科技的首席分析解决方案架构师,他为2024年的重新发明大会介绍了他的同事Scott和Kamal。
亚马逊云科技强调了在亚马逊S3上使用开放表格式(如Apache Iceberg)构建数据湖的好处,包括通过分区修剪、元数据优化和原子事务提高性能。
介绍了Redshift Serverless的新功能,如查询标识符和会话重用,以优化性能并加快洞见时间。
Athena的无服务器架构可动态扩展容量,以优化所有客户的查询性能,而账户级配额则确保了可扩展工作负载的公平资源分配。
Amazon Athena的预配置容量功能提供了专用的无服务器容量,用于高并发和可预测的性能,允许用户无缝扩展工作负载,同时保持相同的查询引擎和提交模型。
Amazon Managed Service for Apache Kafka与Apache Flink和SageMaker机器学习模型无缝集成,实现实时欺诈检测和事件处理。
亚马逊云科技的Well-Architected框架通过其6大支柱强调了成本优化、安全性、性能和可持续性,使客户能够优化其数据系统。
总结
在这个富有洞见的演讲中,Sandeep Bomek作为亚马逊云科技的首席分析解决方案架构师,深入探讨了设计高性能数据解决方案的关键重要性。他介绍了一个“性能五边形”的心智模型,平衡延迟、可扩展性、效率、可靠性和成本。通过真实世界的例子,他展示了亚马逊云科技服务如Amazon Redshift、Athena和Managed Streaming for Apache Kafka如何解决高并发工作负载、实时智能和按需数据提取等常见挑战。
Sandeep强调了实现低延迟和高并发所需的专用服务、缓存和优化的必要性。产品经理Scott Rigny强调了Redshift Serverless中自动物化视图、自动表优化和AI驱动的扩展等功能,以及Athena中的分区修剪和直通查询,以提高性能。来自Workhuman的Kamal Samput Kumar分享了他们的成功故事,利用无服务器架构与API网关、Lambda和QuickSight相结合,提供大规模自助分析服务。
最后,Sandeep强调了无服务器优先策略、持续审查、权衡考虑和监控对于性能优化的重要性。他鼓励利用亚马逊云科技的Data-Driven Everything和Re:Imagined Data等计划来实现数据战略的一致性、现代化和迁移,以及利用亚马逊云科技的Well-Architected Framework在成本、安全性和性能等支柱上持续优化。
亚马逊云科技(Amazon Web Services)是全球云计算的开创者和引领者。提供200多类广泛而深入的云服务,服务全球245个国家和地区的数百万客户。做为全球生成式AI前行者,亚马逊云科技正在携手广泛的客户和合作伙伴,缔造可见的商业价值 – 汇集全球40余款大模型,亚马逊云科技为10万家全球企业提供AI及机器学习服务,守护3/4中国企业出海。