阿里云流计算2.0的发布是在2017年杭州云栖大会上,由计算平台事业部-实时计算部研究员蒋晓伟(量仔)进行的主题演讲。演讲深入探讨了阿里云在流计算领域的最新进展和未来发展。在分享中,他首先介绍了阿里巴巴Data产品组织架构,强调了其在处理海量数据时的卓越性能和优势。
蒋晓伟提到了阿里云流计算平台的关键特性,如每秒钟可以处理1亿个事件(100M Events/sec),每日处理的事件数量巨大(TEvents/Day)。这一平台由多个组件构成,包括Web Tier、DB Tier、消息队列(MQ)、DataHub、DataPipeline、HBase等,这些组件共同支撑着高可用性和严格的SLA要求,保证了低延迟(Subsecond latency)和高吞吐量。
流计算的重要性在于它能够处理实时或接近实时的数据流,适应高度动态和复杂逻辑的场景,例如在社交媒体、电商、金融等领域,有成千上万台机器同时参与处理,对数据处理的准确性和一致性有着严格的要求。阿里云采用Exactly-Once原则来确保数据处理的一致性,即便在处理大量事件时也能保持数据的完整性。
挑战方面,阿里巴巴面临的数据基础设施挑战包括如何管理大量的数据(EBTotal和PB级别的数据),以及应对各种复杂的工作负载,包括实时和批量数据处理(StreamJob和BatchJob)。在这个过程中,阿里云通过改进 Blink 运行时(如AsyncIO和IncrementCP)提升了性能,并优化了流程和部署策略,引入了可度量的指标来监控和优化系统。
演讲还关注了SQL在流计算中的角色,虽然SQL在稳定性和统一性方面具有优势,但仅凭SQL并不能解决所有问题。阿里云的流计算平台提供了声明式编程、可优化查询和易于理解的特性,支持用户定义函数(UDF/UDTF/UDAF)以及复杂的流连接操作(如StreamJOIN),同时还支持窗口聚合(Window AGG)和数据管理功能,如数据的插入(DML: INSERT等)和数据定义语言(DDL)。
此外,阿里云强调了其流计算平台与批处理数据处理的对比,指出SQL在处理连续查询和动态表(Dynamic Table)时的优势,尤其是在实时流数据和批量数据之间的无缝切换。通过Blink引擎,平台提供了对流数据和批数据的连续查询能力,使得数据处理更加灵活且高效。
最后,蒋晓伟提到了生态系统建设的重要性,即建立一个完整的元数据管理系统,以便更好地管理和优化整个数据处理流程。这一生态系统的存在不仅有助于提升开发者的生产力,还能确保在复杂的数据处理环境中,各个组件之间的协同工作。
总结来说,阿里云流计算2.0的发布标志着公司在实时数据处理领域的重要进步,通过提供高性能、可扩展、可靠且易用的平台,满足了企业在大数据时代对实时处理能力的需求。通过不断创新和优化,阿里云持续推动流计算技术的发展,使之成为企业数据战略的核心组成部分。