23.06.15
DEVOTEE를 활성화 시키면
지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.
버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.
| 컨텐츠 유형 | 제목 | 저장일 | 삭제 |
|---|
본인인증 로그인에 실패하였습니다.
회원이 아니시거나 본인인증 등록이
완료되지 않은 사용자입니다.
안녕하세요, AI 서비스 개발을 위한 대규모 시스템 설계 스터디 호스트 송의석입니다.
11월 3일에는 오랜만에 저희 스터디의 여섯 번째 모임을 진행하였습니다.
추석 연휴도 있고, 회사에 이슈도 있어서 의도치 않게 한 달이 넘는 기간동안 스터디를 쉬게 되었네요.
모임 이전에 각자 『데이터 중심 애플리케이션 설계』 도서의 챕터 9, 10을 읽어오고, 모임에서는 저와 신일용님이 한 챕터씩 맡아 발표를 진행해주셨습니다.
9장은 일용님이 발표를 맡아주셨습니다.
9장의 내용은 전반적으로 분산 시스템 환경에서 모든 사용자가 똑같은 데이터를 볼 수 있게 만드는 방법에 대해 다루었습니다.
책에서는 이를 "합의"라고 표현했는데요, 분산 시스템은 여러 대의 서버에 데이터가 나눠서 저장되기 때문에, 언제나 모든 서버에서 같은 값이 보이게 만드는 것이 실제로 매우 어렵습니다.
그래서 최종적으로 합의에 이르기 위해 어떻게 분산 시스템에서 구성되는지에 대해 다루었습니다.
크게는 서버끼리 항상 변화내용을 즉각 공유해 최신 데이터를 읽는다고 보장하는 강한 일관성 모델과, 어느 한 시점에는 서버마다 다른 값이 보일 수 있지만,
시간이 지나면 결국 모두 같은 값으로 맞춰지는 최종적 일관성 모델이 있는데요,
최종적 일관성의 경우 성능과 가용성을 챙기는 대신 강한 일관성 모델처럼 꼭 모든 서버에서 같은 값을 보는 것은 포기하게 됩니다.
이런 합의 결과에 이르기 위해 리더 노드를 뽑아서 서버끼리 서로 상태를 파악하고, 리더 노드가 답이 없다면 새로운 리더를 선출하여 지속적으로 상태를 트래킹하는 과정을 설명해주셨는데요,
저희가 사용하는 시스템 내부에서 위와 같은 복잡한 과정이 실시간으로 일어나고 있다는 점이 정말로 신기했습니다.
10장은 제가 발표를 진행했습니다.
이 장에서는 저희 회사에서도 많이 사용하는 배치 프로세스, 즉 일괄 처리에 대해 다루고 있었습니다.
저도 데이터 서비스를 담당하고 있기 때문에 일괄 처리에 대해 일상적으로 들으면서도 동시에 어떤 프로세스로 배치가 이루어지고,
왜 이런 구조가 생겼는지에 대해 궁금하곤 했는데요, 이런 궁금증에 대해 해결할 수 있는 챕터여서 정말로 좋았습니다.
일괄 처리란 여러 개별 작업을 모아서 한꺼번에 처리하는 방식입니다.
즉, 데이터가 계속 바로바로 처리되는 게 아니라 어느 일정 시간 동안 쌓인 데이터를 한꺼번에 처리하는 방식입니다.
일괄 처리는 한 번에 많은 데이터를 묶어서 처리하기 때문에 효율성과 처리량이 높습니다.
이를 통해 컴퓨팅 리소스를 효과적으로 사용할 수 있고, 사람이 많이 쓰지 않는 시간대에 몰아서 실행할 수 있습니다.
과정에 대해 간략하게 설명하면, 입력 데이터를 받아 일정 단위로 모읍니다.
모인 데이터를 한꺼번에 처리하는 프로그램(예: MapReduce)이 실행됩니다.이후 처리된 결과를 저장하거나 분석에 활용하게 됩니다.
이런 일괄 처리에 대해 유닉스 철학부터 시작하여, 배치 프로세스까지 이어지는 일관된 철학들 (각 프로그램의 원자성, 인풋/아웃풋 연계) 등에 대해 자세하게 배울 수 있어서 정말로 좋았습니다.
원래는 일정 상 마지막 스터디로 하려고 했으나, 같이 스터디를 진행하시는 스터디원분들이 마지막까지 끝내고 싶다고 하셔서 추가적으로 1회 더 스터디를 진행하게 되었습니다.
마지막까지 함께해주신 모든 스터디원분들께 미리 정말로 감사드린다고 말씀드리고 싶습니다!
DEVOTEE를 활성화 시키면
지금 작성한 댓글에 AI가 댓글을 달아줍니다.