[论文解读] Batch is back: CasJobs, serving multi-TB data on the Web
本文提出 CasJobs,一个基于 SOAP 的 Web 服务构建的可扩展批量处理系统,用于管理斯隆数字巡天(Sloan Digital Sky Survey)多 terabyte 数据库上的长时间运行、计算密集型查询。通过允许用户将作业提交至分布式队列、将结果存储在个人数据库(MyDB)中并进行本地分析,CasJobs 降低了系统负载并提高了数据访问效率,实现了复杂查询的可靠执行,且不会干扰交互式服务。
The Sloan Digital Sky Survey (SDSS) science database describes over 140 million objects and is over 1.5 TB in size. The SDSS Catalog Archive Server (CAS) provides several levels of query interface to the SDSS data via the SkyServer website. Most queries execute in seconds or minutes. However, some queries can take hours or days, either because they require non-index scans of the largest tables, or because they request very large result sets, or because they represent very complex aggregations of the data. These "monster queries" not only take a long time, they also affect response times for everyone else - one or more of them can clog the entire system. To ameliorate this problem, we developed a multi-server multi-queue batch job submission and tracking system for the CAS called CasJobs. The transfer of very large result sets from queries over the network is another serious problem. Statistics suggested that much of this data transfer is unnecessary; users would prefer to store results locally in order to allow further joins and filtering. To allow local analysis, a system was developed that gives users their own personal databases (MyDB) at the server side. Users may transfer data to their MyDB, and then perform further analysis before extracting it to their own machine. MyDB tables also provide a convenient way to share results of queries with collaborators without downloading them. CasJobs is built using SOAP XML Web services and has been in operation since May 2004.
研究动机与目标
- 解决因在 SDSS 数据库上运行长时间、复杂的查询而导致的性能下降问题,这些查询可能阻塞交互式查询并降低系统响应能力。
- 通过允许用户在个人数据库(MyDB)中存储和分析结果,减少网络上的不必要的数据传输。
- 在基于 Web 的环境中,为大规模数据分析提供可扩展、容错的作业提交与跟踪系统。
- 通过安全、持久地共享查询结果,实现协作,避免重复下载。
- 将计算密集型操作与交互式查询服务解耦,以保持系统响应能力。
提出的方法
- 设计并部署一个基于 SOAP 的 Web 服务的多服务器、多队列批量作业系统(CasJobs),用于作业提交和状态跟踪。
- 实现一个个人数据库服务(MyDB),为每位用户提供一个私有的、服务器端的数据库,用于存储和处理查询结果。
- 采用异步作业执行机制,将长时间运行的查询从主交互式查询服务中卸载。
- 通过允许用户将结果存储在 MyDB 中并在之后提取,支持大结果集的传输,从而最小化实时网络 I/O。
- 通过 Web 服务集成作业跟踪和状态报告,为用户提供作业进度和完成情况的实时更新。
- 在架构上将批量处理与交互式查询处理分离,以防止性能干扰。
实验结果
研究问题
- RQ1如何在不影响交互性能的前提下,让基于 Web 的系统高效处理多 terabyte 天文数据库上的长时间运行、复杂查询?
- RQ2哪些架构模式能够在分布式、可访问 Web 的环境中实现可扩展、容错的批量处理?
- RQ3在用户特定的数据库中实现本地数据存储和处理,能在多大程度上减少网络传输开销并提高分析效率?
- RQ4用户如何在不重复下载数据的情况下,安全地共享和协作处理大型查询结果?
- RQ5在高吞吐量、分布式数据处理系统中,哪些机制能确保可靠的作业跟踪和状态报告?
主要发现
- CasJobs 有效地将批量处理与交互式查询解耦,显著提升了系统的响应能力和可扩展性。
- 通过使用 MyDB,用户能够将大型结果集存储并本地分析,减少了网络传输,并支持复杂的过滤和连接操作。
- 该系统成功实现了对以往会阻塞或减慢主查询服务的‘巨型查询’的可靠执行。
- 通过将繁重的计算任务卸载到批处理队列,典型查询的交互响应时间始终保持在较低水平。
- 采用基于 SOAP 的 Web 服务,使作业提交和跟踪管道具备了互操作性和平台独立性。
- 自 2004 年 5 月部署以来,系统表现出良好的运行稳定性和性能提升,支持大规模科学数据的分析。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。