[논문 리뷰] Batch is back: CasJobs, serving multi-TB data on the Web
이 논문은 슬론 디지털 스카이 서베이(Sloan Digital Sky Survey)의 테라바이트급 데이터베이스에서 자원을 많이 소비하고 오랜 시간이 소요되는 쿼리를 처리하기 위해 SOAP 기반 웹 서비스를 기반으로 한 확장 가능한 배치 처리 시스템인 CasJobs를 제시한다. 사용자가 분산된 큐에 작업을 제출하고 결과를 개인 데이터베이스(MyDB)에 저장하여 현지에서 분석할 수 있도록 함으로써, 시스템 부하를 줄이고 데이터 접근 효율성을 높이며, 인터랙티브 서비스를 방해하지 않고도 복잡한 쿼리의 신뢰성 있는 실행을 달성한다.
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)에 결과를 저장하고 현지에서 분석할 수 있도록 함으로써 네트워크를 통해 불필요한 데이터 전송을 줄이기 위해.
- 웹 기반 환경에서 대규모 데이터 분석을 위한 확장 가능하고 장애에 강한 작업 제출 및 추적 시스템을 제공하기 위해.
- 반복적인 다운로드 없이도 안전하고 지속 가능한 방식으로 쿼리 결과를 공유함으로써 협업을 가능하게 하기 위해.
- 자원을 많이 소비하는 작업을 인터랙티브 쿼리 서비스에서 분리하여 시스템 반응성을 유지하기 위해.
제안 방법
- 작업 제출 및 상태 추적을 위한 SOAP 기반 웹 서비스를 사용한 다중 서버, 다중 큐 배치 작업 시스템(CasJobs)의 설계 및 구현.
- 각 사용자에게 개인용 서버 측 데이터베이스를 제공하여 쿼리 결과를 저장하고 처리할 수 있도록 하는 개인 데이터베이스 서비스(MyDB)의 구현.
- 장시간 실행되는 쿼리를 메인 인터랙티브 쿼리 서비스에서 이관하기 위해 비동기 작업 실행을 활용.
- 사용자가 결과를 MyDB에 저장하고 나중에 추출할 수 있도록 하여 실시간 네트워크 I/O를 최소화함으로써 대규모 결과 세트 전송을 지원.
- 웹 서비스를 통한 작업 추적 및 상태 보고 기능을 통합하여 사용자에게 작업 진행 상황과 완료 상태를 실시간으로 제공.
- 배치 처리와 인터랙티브 쿼리 처리를 아키텍처적으로 분리하여 성능 간섭을 방지.
실험 결과
연구 질문
- RQ1대규모 테라바이트급 천문학적 데이터베이스에서 장시간 실행되는 복잡한 쿼리를 처리하는 웹 기반 시스템은 어떻게 효율적으로 작동할 수 있으며, 인터랙티브 성능을 저하시키지 않을 수 있는가?
- RQ2분산된 웹 액세스 가능한 환경에서 확장 가능하고 장애에 강한 배치 처리를 가능하게 하는 아키텍처 패턴은 무엇인가?
- RQ3사용자 전용 데이터베이스에서 로컬로 데이터 저장 및 처리를 수행할 경우, 네트워크 전송 오버헤드를 얼마나 줄일 수 있으며 분석 효율성은 어떻게 향상되는가?
- RQ4반복적인 데이터 다운로드 없이도 사용자가 대규모 쿼리 결과를 안전하게 공유하고 협업할 수 있는 방법은 무엇인가?
- RQ5고처리량 분산 데이터 처리 시스템에서 신뢰성 있는 작업 추적 및 상태 보고를 보장하기 위한 메커니즘은 무엇인가?
주요 결과
- CasJobs는 배치 처리를 인터랙티브 쿼리에서 성공적으로 분리하여 시스템 반응성과 확장성에 크게 기여하였다.
- MyDB의 사용을 통해 사용자는 대규모 결과 세트를 저장하고 현지에서 분석할 수 있었으며, 네트워크 전송을 줄이고 복잡한 필터링 및 조인 연산을 가능하게 하였다.
- 이전에는 메인 쿼리 서비스를 차단하거나 속도를 저하시켜 문제가 되었던 '몬스터 쿼리'(monster queries)의 신뢰성 있는 실행을 달성하였다.
- 중요한 계산을 배치 큐로 이관함으로써 일반 쿼리의 인터랙티브 응답 시간은 항상 낮게 유지되었다.
- SOAP 기반 웹 서비스의 도입으로 작업 제출 및 추적 파이프라인에서 상호 운용성과 플랫폼 독립성을 확보하였다.
- 2004년 5월 배포 이래 시스템은 운영 안정성과 성능 향상을 입증하였으며, 대규모 과학적 데이터 분석을 지원하였다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.