Benchmarking Apache Arrow Flight - A wire-speed protocol for data transfer, querying and microservices

Tanveer Ahmad, Z. Al-Ars, H. P. Hofstee
{"title":"Benchmarking Apache Arrow Flight - A wire-speed protocol for data transfer, querying and microservices","authors":"Tanveer Ahmad, Z. Al-Ars, H. P. Hofstee","doi":"10.1145/3527199.3527264","DOIUrl":null,"url":null,"abstract":"Moving structured data between different big data frameworks and/or data warehouses/storage systems often cause significant overhead. Most of the time more than 80% of the total time spent in accessing data is elapsed in serialization/de-serialization step. Columnar data formats are gaining popularity in both analytics and transactional databases. Apache Arrow, a unified columnar in-memory data format promises to provide efficient data storage, access, manipulation and transport. In addition, with the introduction of the Arrow Flight communication capabilities, which is built on top of gRPC, Arrow enables high performance data transfer over TCP networks. Arrow Flight allows parallel Arrow RecordBatch transfer over networks in a platform and language-independent way, and offers high performance, parallelism and security based on open-source standards. In this paper, we bring together some recently implemented use cases of Arrow Flight with their benchmarking results. These use cases include bulk Arrow data transfer, querying subsystems and Flight as a microservice integration into different frameworks to show the throughput and scalability results of this protocol. We show that Flight is able to achieve up to 6000 MB/s and 4800 MB/s throughput for DoGet() and DoPut() operations respectively. On Mellanox ConnectX-3 or Connect-IB interconnect nodes Flight can utilize upto 95% of the total available bandwidth. Flight is scalable and can use upto half of the available system cores efficiently for a bidirectional communication. For query systems like Dremio, Flight is order of magnitude faster than ODBC and turbodbc protocols. Arrow Flight based implementation on Dremio performs 20x and 30x better as compared to turbodbc and ODBC connections respectively. We briefly outline some recent Flight based use cases both in big data frameworks like Apache Spark and Dask and remote Arrow data processing tools. We also discuss some limitations and future outlook of Apache Arrow and Arrow Flight as a whole.","PeriodicalId":137167,"journal":{"name":"Benchmarking in the Data Center: Expanding to the Cloud","volume":"38 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-04-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Benchmarking in the Data Center: Expanding to the Cloud","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3527199.3527264","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3

Abstract

Moving structured data between different big data frameworks and/or data warehouses/storage systems often cause significant overhead. Most of the time more than 80% of the total time spent in accessing data is elapsed in serialization/de-serialization step. Columnar data formats are gaining popularity in both analytics and transactional databases. Apache Arrow, a unified columnar in-memory data format promises to provide efficient data storage, access, manipulation and transport. In addition, with the introduction of the Arrow Flight communication capabilities, which is built on top of gRPC, Arrow enables high performance data transfer over TCP networks. Arrow Flight allows parallel Arrow RecordBatch transfer over networks in a platform and language-independent way, and offers high performance, parallelism and security based on open-source standards. In this paper, we bring together some recently implemented use cases of Arrow Flight with their benchmarking results. These use cases include bulk Arrow data transfer, querying subsystems and Flight as a microservice integration into different frameworks to show the throughput and scalability results of this protocol. We show that Flight is able to achieve up to 6000 MB/s and 4800 MB/s throughput for DoGet() and DoPut() operations respectively. On Mellanox ConnectX-3 or Connect-IB interconnect nodes Flight can utilize upto 95% of the total available bandwidth. Flight is scalable and can use upto half of the available system cores efficiently for a bidirectional communication. For query systems like Dremio, Flight is order of magnitude faster than ODBC and turbodbc protocols. Arrow Flight based implementation on Dremio performs 20x and 30x better as compared to turbodbc and ODBC connections respectively. We briefly outline some recent Flight based use cases both in big data frameworks like Apache Spark and Dask and remote Arrow data processing tools. We also discuss some limitations and future outlook of Apache Arrow and Arrow Flight as a whole.
对Apache Arrow Flight进行基准测试——一个用于数据传输、查询和微服务的线速协议
在不同的大数据框架和/或数据仓库/存储系统之间移动结构化数据通常会导致巨大的开销。大部分时间(超过访问数据总时间的80%)都花在了序列化/反序列化步骤上。列式数据格式在分析数据库和事务数据库中越来越流行。Apache Arrow是一种统一的列式内存数据格式,承诺提供高效的数据存储、访问、操作和传输。此外,随着Arrow Flight通信能力的引入,它建立在gRPC之上,Arrow可以通过TCP网络实现高性能数据传输。Arrow Flight允许以平台和语言无关的方式在网络上并行传输Arrow RecordBatch,并提供基于开源标准的高性能、并行性和安全性。在本文中,我们汇集了一些最近实现的Arrow Flight用例及其基准测试结果。这些用例包括批量Arrow数据传输、查询子系统和Flight作为微服务集成到不同的框架中,以显示该协议的吞吐量和可扩展性结果。我们展示了Flight能够分别为DoGet()和DoPut()操作实现高达6000 MB/s和4800 MB/s的吞吐量。在Mellanox ConnectX-3或Connect-IB互连节点上,Flight可以利用高达95%的总可用带宽。Flight是可扩展的,可以有效地使用多达一半的可用系统核心进行双向通信。对于像Dremio这样的查询系统,Flight要比ODBC和turbodbc协议快一个数量级。与turbodbc和ODBC连接相比,基于Dremio的Arrow Flight实现的性能分别提高了20倍和30倍。我们简要概述了一些最近基于Flight的用例,这些用例包括在大数据框架(如Apache Spark和Dask)以及远程Arrow数据处理工具中。我们还讨论了阿帕奇箭和箭飞行的局限性和未来的展望。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信