Skip to Content
데이터 집약적 애플리케이션 설계
book

데이터 집약적 애플리케이션 설계

by Martin Kleppmann
May 2025
Beginner to intermediate
616 pages
10h 32m
Korean
O'Reilly Media, Inc.
Book available
Content preview from 데이터 집약적 애플리케이션 설계

10장. 일괄 처리

이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com

시스템이 한 사람의 영향을 너무 강하게 받으면 성공할 수 없습니다. 초기 설계가 완료되고 상당히 견고해지면 다양한 관점을 가진 사람들이 각자의 실험을 수행하면서 실제 테스트가 시작됩니다.

Donald Knuth

이 책의 처음 두 부분에서는 요청과 쿼리, 그리고 그에 따른 응답 또는 결과에 대해 많이 이야기했습니다. 이러한 데이터 처리 방식은 많은 최신 데이터 시스템에서 가정하는 방식입니다. 사용자가 무언가를 요청하거나 명령을 보내면 얼마 후 시스템이 (희망적으로) 답변을 제공하는 방식입니다. 데이터베이스, 캐시, 검색 인덱스, 웹 서버 및 기타 많은 시스템이 이러한 방식으로 작동합니다.

이러한 온라인 시스템에서는 페이지를 요청하는 웹 브라우저든 원격 API를 호출하는 서비스든 일반적으로 요청이 인간 사용자에 의해 트리거되고 사용자가 응답을 기다리고 있다고 가정합니다. 사용자가 너무 오래 기다릴 필요가 없어야 하므로 이러한 시스템의 응답 시간에 많은 주의를 기울입니다( '성능 설명하기' 참조).

웹과 HTTP/REST 기반 API의 증가로 인해 요청/응답 방식의 상호 작용이 매우 일반화되어 당연한 것으로 받아들이기 쉽습니다. 하지만 이 방식만이 시스템을 구축하는 유일한 방법은 아니며 다른 접근 방식에도 장점이 있다는 점을 기억해야 합니다. 세 가지 유형의 시스템을 구분해 보겠습니다:

서비스(온라인 시스템)

서비스는 클라이언트의 요청이나 지시가 도착할 때까지 기다립니다. 요청이 수신되면 서비스는 가능한 한 빨리 처리하고 응답을 보냅니다. 응답 시간은 일반적으로 서비스 성능의 주요 척도이며, 가용성은 종종 매우 중요합니다(클라이언트가 서비스에 연결할 수 없는 경우 사용자에게 오류 메시지가 표시될 수 있습니다).

일괄 처리 시스템(오프라인 시스템)

일괄 처리 시스템은 대량의 입력 데이터를 받아 작업을 실행하여 처리한 후 일부 출력 데이터를 생성합니다. 작업은 종종 몇 분에서 며칠까지 시간이 걸리므로 일반적으로 작업이 완료될 때까지 기다리는 사용자는 없습니다. 대신 배치 작업은 주기적으로(예: 하루에 한 번) 실행되도록 예약되는 경우가 많습니다. 배치 작업의 주요 성능 측정 기준은 일반적으로 처리량 (특정 크기의 입력 데이터 세트를 처리하는 데 걸리는 시간)입니다. 이 장에서는 일괄 처리에 대해 설명합니다.

스트림 처리 시스템(실시간에 가까운 시스템)

스트림 처리는 온라인과 오프라인/배치 처리의 중간 정도에 해당합니다(따라서 실시간에 가까운 처리 또는 니어라인 처리라고도 합니다). 배치 처리 시스템과 마찬가지로 스트림 프로세서는 요청에 응답하는 대신 입력을 소비하고 출력을 생성합니다. ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

머신러닝 시스템 설계

머신러닝 시스템 설계

칩 후옌
견고한 데이터 엔지니어링

견고한 데이터 엔지니어링

조 라이스, 맷 하우슬리

Publisher Resources

ISBN: 9798341653504Supplemental Content