Modern enterprises rely on data management systems to collect, store, and analyze vast amounts of data related with their operations. Nowadays, clusters and hardware accelerators (e.g., GPUs, TPUs) have become a necessity to scale with the data processing demands in many applications related to social media, bioinformatics, surveillance systems, remote sensing, and medical informatics. Given this new scenario, the architecture of data analytics engines must evolve to take advantage of these new technological trends. In this paper, we present ArcaDB: a disaggregated query engine that leverages container technology to place operators at compute nodes that fit their performance profile. In ArcaDB, a query plan is dispatched to worker nodes that have different computing characteristics. Each operator is annotated with the preferred type of compute node for execution, and ArcaDB ensures that the operator gets picked up by the appropriate workers. We have implemented a prototype version of ArcaDB using Java, Python, and Docker containers. We have also completed a preliminary performance study of this prototype, using images and scientific data. This study shows that ArcaDB can speed up query performance by a factor of 3.5x in comparison with a shared-nothing, symmetric arrangement.
翻译:现代企业依赖数据管理系统来收集、存储和分析与其运营相关的海量数据。如今,在社交媒体、生物信息学、监控系统、遥感和医学信息学等众多应用场景中,集群和硬件加速器(如GPU、TPU)已成为满足数据处理需求的必要条件。面对这一新形势,数据分析引擎的架构必须演进以利用这些新技术趋势。本文提出ArcaDB:一种分离式查询引擎,它利用容器技术将算子部署到适合其性能特征的计算节点上。在ArcaDB中,查询计划被分发到具有不同计算特性的工作节点。每个算子都标注了执行时偏好的计算节点类型,ArcaDB确保该算子能被合适的工作节点拾取。我们使用Java、Python和Docker容器实现了ArcaDB的原型系统,并利用图像和科学数据完成了初步性能研究。研究表明,与无共享对称配置相比,ArcaDB可将查询性能提升高达3.5倍。