모던지 / 빅데이터분석기사 / 분석 기획 2강. 빅데이터 플랫폼과 기술

분석 기획 2강. 빅데이터 플랫폼과 기술

빅데이터 기술의 출발점은 대단한 발명이 아니라 포기였습니다. 큰 컴퓨터 한 대를 사는 것을 포기하고, 싼 컴퓨터를 잔뜩 묶기로 한 것이죠.

풀고 시작

문제 1. 하둡 분산 파일 시스템(HDFS)이 파일을 블록으로 쪼개 여러 노드에 복제해 두는 가장 큰 이유는?
복제는 공간을 오히려 세 배로 씁니다. 그런데도 복제하는 이유는 값싼 서버 수천 대를 묶으면 매일 몇 대는 고장 난다는 전제 때문입니다. 고장을 막는 대신 고장이 나도 계속 돌아가게 설계한 것이죠.

노란 코끼리 인형에서 시작한 이름

2003년과 2004년, 구글이 논문 두 편을 공개합니다. 파일을 쪼개 여러 대에 나눠 저장하는 GFS와, 그 데이터를 쪼갠 자리에서 계산하는 맵리듀스였죠. 논문만 공개하고 코드는 주지 않았습니다. 그 논문을 읽고 오픈소스로 다시 구현한 사람이 더그 커팅입니다. 프로젝트 이름은 아들이 갖고 놀던 노란 코끼리 인형의 이름을 그대로 붙였습니다. 하둡(Hadoop)이 그렇게 태어났습니다.

핵심 발상은 뒤집기 하나입니다. 예전에는 데이터를 계산 서버로 옮겨 왔습니다. 그런데 데이터가 테라바이트 단위가 되면 옮기는 시간이 계산 시간보다 길어집니다. 그래서 데이터를 옮기는 대신 프로그램을 데이터가 있는 곳으로 보냅니다. 이 한 줄이 빅데이터 처리 기술 전체의 뼈대입니다.

하둡 생태계의 얼개

구성 요소 역할
HDFS 파일을 블록으로 쪼개 여러 노드에 복제 저장 (기본 3벌)
맵리듀스 나눠서 계산하고(Map) 모아서 합치는(Reduce) 처리 모델
YARN 클러스터의 자원을 나눠 주는 관리자 (하둡 2.0에서 분리)
하이브 SQL 비슷한 문법으로 하둡 데이터를 질의
스쿱 관계형 데이터베이스와 하둡 사이의 데이터 이사
플럼, 카프카 로그와 이벤트를 실시간으로 실어 나르는 수집 통로

맵리듀스는 이름 그대로 두 단계입니다. 은 데이터를 키와 값의 쌍으로 바꿔 뿌리고, 리듀스는 같은 키끼리 모아 합칩니다. 단어 세기라면 맵이 단어마다 1을 붙이고 리듀스가 같은 단어의 1을 더하는 식이죠. 단순해서 어디에나 나눠 붙일 수 있다는 것이 이 모델의 힘이자, 한 단계가 끝날 때마다 디스크에 쓰고 다시 읽는다는 것이 약점입니다.

그 약점을 정면으로 친 것이 스파크입니다. 중간 결과를 디스크가 아니라 메모리에 두고 이어서 계산하죠. 그래서 같은 데이터를 여러 번 훑는 작업, 특히 머신러닝 학습에서 맵리듀스보다 훨씬 빠릅니다. 시험에서 스파크가 나오면 열에 아홉은 인메모리라는 단어가 정답 근처에 있습니다.

관계형 데이터베이스가 감당하지 못한 자리, NoSQL

정형 데이터를 표에 넣고 조인하는 방식은 여전히 훌륭합니다. 다만 서버를 옆으로 늘리기(수평 확장)가 어렵고, 스키마가 고정돼 있어 형태가 제각각인 데이터를 받기 힘듭니다. 그 자리를 NoSQL이 채웁니다.

유형 저장 방식
키-값 열쇠 하나에 값 하나 레디스
컬럼 패밀리 열 묶음 단위로 저장 HBase, 카산드라
문서 JSON 같은 문서 통째로 몽고DB
그래프 점과 선으로 관계를 저장 Neo4j

여기서 CAP 정리가 나옵니다. 분산 시스템은 일관성(Consistency), 가용성(Availability), 분단 내성(Partition tolerance) 셋을 동시에 만족할 수 없고 둘까지만 고를 수 있다는 이야기입니다. 네트워크가 끊기는 일은 막을 수 없으니 분단 내성은 사실상 필수이고, 결국 일관성과 가용성 사이에서 고르는 문제가 됩니다. 관계형 데이터베이스가 지키던 ACID 대신, NoSQL이 "결국에는 일관돼진다"는 BASE를 택하는 배경이 이것입니다.

인공지능은 어디에 얹히나

출제기준은 플랫폼 옆에 인공지능을 나란히 둡니다. 관계를 한 줄로 정리하면 이렇습니다. 인공지능이 가장 넓은 우산이고, 그 안에 데이터로 규칙을 배우는 머신러닝이 있고, 다시 그 안에 층을 깊게 쌓은 신경망을 쓰는 딥러닝이 있습니다. 머신러닝은 정답을 주고 배우는 지도학습, 정답 없이 구조를 찾는 비지도학습, 보상으로 배우는 강화학습으로 나뉘고요. 여기서는 위치만 잡아 두시면 됩니다. 각각의 알고리즘은 3과목에서 통째로 다룹니다.

인출 문제

문제 1. 맵리듀스와 비교했을 때 스파크가 반복 연산에서 빠른 핵심 이유는?
맵리듀스는 각 단계가 끝날 때마다 결과를 디스크에 쓰고 다음 단계가 다시 읽습니다. 스파크는 그 중간 결과를 메모리에 유지하므로, 같은 데이터를 여러 번 훑는 머신러닝 학습에서 차이가 크게 벌어집니다.
문제 2. 빅데이터 처리에서 데이터를 계산 서버로 가져오지 않고 프로그램을 데이터가 있는 노드로 보내는 이유는?
테라바이트급 데이터를 옮기는 시간이 실제 계산 시간보다 길어지는 지점이 옵니다. 그래서 크기가 작은 프로그램을 데이터가 놓인 자리로 보내 그 자리에서 계산합니다. 보안이 이유인 경우도 있지만 이 설계의 본래 동기는 비용입니다.
문제 3. CAP 정리가 말하는 바로 옳은 것은?
셋 중 둘까지라는 것이 CAP의 요지입니다. 네트워크 분단은 피할 수 없으므로 실질적으로는 일관성과 가용성 사이의 선택이 되며, NoSQL 중에도 일관성을 우선하는 제품이 있어 반드시 포기한다는 서술은 틀립니다.
문제 4. 저장 유형과 대표 제품의 짝으로 옳지 않은 것은?
하이브는 저장소가 아니라 하둡 데이터에 SQL 비슷한 질의를 던지게 해 주는 도구입니다. 컬럼 패밀리 계열의 대표는 HBase와 카산드라입니다.

더 풀기

출제기준의 세세항목을 따라 이 강의 범위에서 새로 낸 문제입니다. 모의고사도 여기에서 뽑습니다.

묶음 1

문제 1. HDFS에서 파일을 블록으로 나누어 여러 노드에 복제 저장하는 기본 복제 계수는?
기본값은 3벌입니다. 같은 블록을 세 곳에 두어 노드 하나가 죽어도 데이터가 살아남게 합니다. 복제 계수는 설정으로 바꿀 수 있지만 시험에서는 기본값 3을 묻습니다.
문제 2. 하둡 2.0에서 자원 관리 기능이 맵리듀스에서 분리되어 별도 구성 요소가 되었습니다. 그 이름은?
자원 관리와 작업 스케줄링을 맡는 YARN이 분리되면서 맵리듀스 이외의 처리 엔진도 하둡 위에서 돌 수 있게 되었습니다. 하이브는 질의, 주키퍼는 분산 조정, 스쿱은 데이터 이관 도구입니다.
문제 3. 관계형 데이터베이스와 하둡 사이에서 데이터를 옮기는 데 쓰이는 도구는?
스쿱은 이름 그대로 SQL과 하둡 사이의 이사를 맡습니다. 플럼과 카프카는 로그와 이벤트를 실시간으로 실어 나르고, 피그는 데이터 흐름을 기술하는 스크립트 언어입니다.
문제 4. 하둡 데이터를 SQL과 비슷한 문법으로 질의할 수 있게 해 주는 구성 요소는?
하이브는 SQL을 닮은 HiveQL로 질의를 받아 내부적으로 분산 처리 작업으로 바꿉니다. HBase는 칼럼 기반 저장소, 우지는 워크플로 스케줄러, 주키퍼는 분산 조정 서비스입니다.
문제 5. 맵리듀스의 처리 순서를 옳게 나열한 것은?
데이터를 나눠 키와 값의 쌍으로 만드는 맵, 같은 키끼리 모으는 셔플, 모인 값을 합치는 리듀스 순입니다.
문제 6. 스파크가 맵리듀스보다 반복 연산에서 빠른 주된 이유는?
맵리듀스는 단계마다 결과를 디스크에 쓰지만 스파크는 메모리에서 이어 갑니다. 그래서 같은 데이터를 반복해 훑는 기계학습에서 차이가 크게 벌어집니다.
문제 7. 분산 환경에서 이름 관리와 동기화, 리더 선출 같은 조정 작업을 맡는 것은?
여러 노드가 같은 상태를 보게 만드는 조정 서비스가 주키퍼입니다. 나머지는 수집, 질의, 이관을 맡는 도구입니다.
문제 8. NoSQL 데이터베이스의 분류로 보기 어려운 것은?
NoSQL은 키값, 문서, 칼럼, 그래프의 네 갈래로 흔히 나눕니다. 정규화는 관계형 설계의 절차이지 저장소의 종류가 아닙니다.
문제 9. 그래프 데이터베이스가 특히 유리한 분석은?
노드와 간선으로 관계를 직접 표현하므로 친구의 친구를 찾는 식의 연결 탐색에 강합니다. 단순 집계는 다른 저장소가 더 낫습니다.
문제 10. CAP 정리에서 분산 시스템이 동시에 만족할 수 없다고 보는 세 가지는?
일관성과 가용성, 분할내성 가운데 셋을 모두 만족할 수 없다는 것이 CAP 정리입니다. 네트워크 분할이 실제로 일어나므로 대개 일관성과 가용성 사이에서 고릅니다.
문제 11. 빅데이터 처리에서 배치 계층과 실시간 계층을 함께 두어 결과를 합치는 구조는?
배치와 속도 계층을 나란히 두고 서빙 계층에서 합치는 것이 람다 아키텍처입니다. 카파는 배치 계층을 없애고 스트림 하나로 처리하는 단순화 구조입니다.
문제 12. 클라우드 서비스 모델 가운데 이용자가 운영체제와 미들웨어를 직접 관리하지 않고 응용만 올리는 형태는?
플랫폼까지 제공받고 응용만 얹는 것이 PaaS입니다. IaaS는 가상 서버 수준, SaaS는 완성된 소프트웨어를 쓰는 형태입니다.

묶음 2

문제 1. 빅데이터 플랫폼의 계층을 아래에서 위로 옳게 나열한 것은?
데이터를 모으고 쌓은 다음 처리하고 분석하는 순서입니다. 그 위에 시각화와 서비스 계층을 얹는 것으로 설명하기도 합니다.
문제 2. 인공지능과 머신러닝, 딥러닝의 포함 관계로 옳은 것은?
가장 넓은 개념이 인공지능이고, 데이터로 규칙을 학습하는 것이 머신러닝, 그중 심층 신경망을 쓰는 것이 딥러닝입니다.
문제 3. 지도학습에 해당하는 것은?
정답이 붙은 데이터로 학습하는 분류가 지도학습입니다. 군집과 연관규칙, 차원 축소는 정답 없이 구조를 찾는 비지도학습입니다.
문제 4. 강화학습의 특징으로 가장 알맞은 것은?
상태에서 행동을 고르고 보상을 받아 정책을 고치는 것이 강화학습입니다. 나머지는 지도학습과 비지도학습의 설명입니다.
문제 5. 데이터 레이크에 대한 설명으로 옳은 것은?
가공하지 않은 원시 데이터를 형식 제한 없이 쌓는 것이 데이터 레이크입니다. 정제한 뒤 목적에 맞게 담는 것은 데이터 웨어하우스입니다.
문제 6. 데이터 마트에 대한 설명으로 가장 알맞은 것은?
웨어하우스에서 필요한 부분만 떼어 부서 단위로 쓰기 좋게 만든 것이 데이터 마트입니다.
문제 7. ETL과 ELT의 차이로 옳은 것은?
이름의 순서가 곧 처리 순서입니다. 저장과 연산이 싸진 환경에서는 일단 적재한 뒤 변환하는 ELT가 늘었습니다.
문제 8. 실시간 이벤트 스트림을 여러 소비자에게 안정적으로 전달하는 분산 메시지 시스템은?
발행과 구독 방식으로 이벤트를 중계하는 카프카가 대표적입니다. 우지는 워크플로 스케줄러라 성격이 다릅니다.
문제 9. 스파크에서 변환 연산이 실제로 계산되는 시점에 대한 설명으로 옳은 것은?
지연 평가라 변환은 계보만 쌓아 두고, 액션이 불릴 때 최적화된 계획으로 한 번에 실행합니다.
문제 10. 가상화 기술이 빅데이터 인프라에 주는 이점으로 보기 어려운 것은?
가상화는 인프라 운용의 문제를 다룰 뿐 데이터의 편향과는 아무 상관이 없습니다.
문제 11. 온프레미스 대비 클라우드 도입의 단점으로 흔히 지적되는 것은?
개인정보와 금융 데이터처럼 소재지와 접근 통제가 규제 대상인 경우가 걸림돌이 됩니다. 초기 비용과 확장 속도는 오히려 클라우드의 장점입니다.
문제 12. 컨테이너 기술이 가상머신과 다른 점으로 옳은 것은?
커널을 공유하기 때문에 부팅이 빠르고 자원 소모가 적습니다. 가상머신은 운영체제를 통째로 올리므로 무겁습니다.

묶음 3

문제 1. HDFS에서 파일의 메타데이터를 관리하는 노드는?
어떤 파일이 어떤 블록으로 어디에 있는지를 아는 것이 네임노드입니다. 실제 블록을 보관하는 것은 데이터노드입니다.
문제 2. 하둡이 대용량 처리에서 취한 기본 전략으로 가장 알맞은 것은?
데이터를 옮기는 비용이 코드를 옮기는 비용보다 크므로 계산을 데이터 쪽으로 보냅니다.
문제 3. 정형 데이터를 실시간에 가깝게 조회하기 위해 하둡 위에서 쓰이는 질의 엔진으로 보기 어려운 것은?
플럼은 로그 수집 도구입니다. 나머지 셋은 저지연 질의를 목표로 하는 엔진입니다.
문제 4. 빅데이터 수집에서 크롤링이 주로 대상으로 삼는 데이터는?
웹에 공개된 문서를 자동으로 훑어 모으는 것이 크롤링입니다. 사내 표는 스쿱이나 ETL, 센서 신호는 스트리밍 수집이 맡습니다.
문제 5. 개방형 API를 통한 수집의 특징으로 가장 알맞은 것은?
제공자가 정한 인터페이스와 사용량 제한을 지키며 받아 오는 방식입니다. 실시간 여부는 서비스마다 다릅니다.
문제 6. 로그 수집기가 갖추어야 할 요건으로 보기 어려운 것은?
익명화는 별도의 비식별 처리 단계에서 정책에 따라 수행합니다. 수집기 자체의 기본 요건으로 꼽지 않습니다.
문제 7. 스트리밍 처리와 배치 처리의 비교로 옳은 것은?
처리 시점의 차이가 본질입니다. 배치는 지연이 크고 스트리밍은 지연이 작은 대신 상태 관리가 까다롭습니다.
문제 8. 빅데이터 플랫폼에서 메타데이터 관리가 중요한 이유로 가장 알맞은 것은?
데이터의 소재와 의미, 계보를 모르면 재사용도 규제 대응도 불가능합니다. 용량이나 속도와는 직접 관련이 없습니다.
문제 9. 데이터 거버넌스가 다루는 범위로 보기 어려운 것은?
냉각은 시설 관리의 문제입니다. 거버넌스는 데이터의 표준, 품질, 보안, 수명 주기 같은 관리 체계를 다룹니다.
문제 10. 마이데이터에 대한 설명으로 가장 알맞은 것은?
개인이 자기 데이터의 이동을 요구하는 전송요구권이 뿌리입니다. 공공데이터 개방과는 다른 제도입니다.
문제 11. 데이터 3법 개정으로 도입된 개념으로 옳은 것은?
개인정보보호법 개정으로 가명정보 개념이 들어오면서 통계작성과 과학적 연구 등에 동의 없이 활용할 길이 열렸습니다. 나머지는 기술 용어입니다.
문제 12. 빅데이터 조직 구조 가운데 분석 전담 조직을 따로 두고 전사 과제를 집중 수행하는 형태는?
전담 조직이 전사 분석 과제를 도맡는 것이 집중 구조입니다. 기능 구조는 각 현업 부서가 자기 분석을 하고, 분산 구조는 전담 인력을 현업에 배치합니다.

이전: 1강 빅데이터란 무엇인가 · 다음: 3강 개인정보와 법제도

모던지 · 궁금하면 모던지 GitHub · 2026-09-10