微软开源Azure用于每天执行数兆事件的串流分析引擎Trill

互联网2021-02-25 22:04:23
最佳答案

微软开源高效能单通道记忆体串流分析引擎Trill,係由微软研究员开发,基于时间资料(Temporal Data)和查询模型,专门处理即时和离线资料,可应用于串流引擎、轻量级记忆体关联引擎,以及渐进式查询处理器。

Trill是2012年微软研究院中的一个研究专案,使用的技术源自微软以前的服务StreamInsight,供开发人员开发和部署複杂的事件处理应用程式,而这两个系统都基于扩展查询和使用时间元件来扩展关联模型的资料模型。现在Trill以一个套件,就提供了所有这些功能。

微软提到,Trill是第一个集合技术和演算法的串流引擎,以使用者可容忍的延迟,处理小批次的资料,另外,Trill同时也是第一个以行格式,组织这些批次资料的引擎,能使查询执行更加有效率。对于开发者来说,使用Trill与使用任何.NET函式库相同,可以直在.NET环境中开发,开发者可以将Trill嵌入至各种分散式处理基础架构中,像是Orleans和微软的SCOPE资料处理基础架构的串流版本。

无论在即时还是离线资料集,Trill也都能发挥良好的功能实现最佳效能,微软表示,开发者只需要一个工具就能进行所有分析,Trill语言的高度表达能力,允许使用者执行先进的时间导向分析,并从串流资料集中找寻複杂的模式。

在Trill释出后,专案从微软研究院转移到了Azure资料产品团队,成为微软内部一些大型串流工作管线的关键元件。Trill已经被微软大量部署于内部应用程式和外部的服务,参与规模覆盖数千名开发人员。微软提到,他们能够在10个月内,让Azure串流分析服务从第一行程式码到公开预览,就是在服务上使用Trill作为节点上的处理引擎。

Trill函式库的组成,方便的和分散式处理框架与输入输出输入配适器整合,微软利用SQL编译器,将SQL查询编译为Trill的表达方式,以解决时间语意的複杂性。未来Azure预计还会释出Trill程式开发模型,供使用者利用其强大的表达能力。

除此之外,微软也在自家搜寻引擎广告Bing广告中使用Trill。透过Trill,微软能够在数分钟内,以接近即时的速度,处理数PB的大规模资料,微软提到,要获得这样的成果,在传统的方法中要花费超过24小时以上。

Trill现在已经成为Bing广告串流处理系统的核心,其提供一致的资料模型和丰富的查询语言,让微软能够轻鬆的建构和执行複杂的业务场景,而且Trill高效能的设计,不只能处理每天数兆的事件,超大规模资料和数TB级的状态都不是问题。微软表示,现在开发者社群中没有与Trill相同功能的工具。

微软在GitHub中开源Trill,并邀请社群参与Trill的发展,微软提到,Trill的可扩展性之一,便是允许用户编写自定义聚合,Trill的内部聚合实作与使用者自定义的框架相同,每一个聚合都使用相同底层的高效能基础架构。即便Trill已经拥有各种聚合,但仍有许多可以增加的聚合,诸如金融等领域等待社群。

免责声明:本文由用户上传,如有侵权请联系删除!