현재 선택한 빅데이터 분석 과정

빅데이터분석기사 필기 이론 학습

이론 목록으로 돌아가기

데이터 원천·유형과 수집 방식

데이터 원천과 유형에 맞는 수집 방식과 설계 기준을 구분한다.

예상 읽기 11

핵심 요약

데이터 원천은 조직 내부와 외부로 나눌 수 있고, 데이터 형식은 정형·반정형·비정형으로 나눌 수 있다. 내부 데이터라고 모두 정형인 것도 아니며 외부 데이터라고 모두 비정형인 것도 아니다. 분류 축을 섞지 않아야 적절한 수집·저장·분석 방법을 선택할 수 있다.

수집은 데이터를 한 번 복사하는 행위가 아니다. 원천의 의미와 기준 시점, 변경·삭제, 중복·유실, 출처와 권한을 추적할 수 있어야 이후 분석을 재현할 수 있다. 재시도와 재처리 후에도 같은 원천 변화가 결과에 중복 반영되지 않도록 식별자·기준점·멱등성 규칙을 설계해야 한다.

학습 목표

  • 내부·외부 데이터와 정형·반정형·비정형 데이터를 구분한다.
  • 배치·스트림, 밀어넣기·가져오기 방식의 적용 조건을 설명한다.
  • 파일·API·데이터베이스·로그 수집의 장단점을 판정한다.
  • 출처·기준 시점·수집 실패를 포함한 수집 품질을 검증한다.
  • 전체·증분·변경 데이터 수집과 스키마 변경 대응을 판정한다.

1. 데이터 원천과 형식

1.1 내부·외부 데이터

내부 데이터는 조직의 거래, 고객 접점, 설비, 인사, 회계 시스템 등에서 생성된다. 업무 의미와 책임자를 확인하기 쉽지만 시스템별 코드와 기준 시점이 다를 수 있다. 외부 데이터는 공공데이터, 제휴사, 시장·날씨 정보 등에서 얻으며 라이선스, 제공 안정성, 갱신 주기와 정의 변경을 확인해야 한다.

분류 축대표 구분답하는 질문주의점
출처·통제내부·외부어디에서 생성되고 누가 통제하는가?내부도 권한·품질 문제가 있고 외부도 정형일 수 있음
구조정형·반정형·비정형구조 표지가 얼마나 고정·명시되어 있는가?파일 확장자만으로 품질·구조를 단정하지 않음
시간 흐름배치·스트림묶음으로 주기 처리하는가, 연속 이벤트로 처리하는가?필요 지연시간과 재처리 방식을 함께 봄
전달 주체push·pull원천이 보내는가, 수집기가 가져오는가?배치·스트림과 일대일 대응하지 않음
변화 범위전체·증분·변경 데이터 수집전체 상태, 변경된 범위, 개별 변경 사건 중 무엇을 받는가?기준점·삭제·재처리 규칙 필요

1.2 정형·반정형·비정형

유형구조예시수집·해석 시 주의점
정형고정된 열과 자료형관계형 테이블, 정형 CSV키, 코드, 제약조건, 기준 시점
반정형태그·키 등 구조 표지가 있으나 유연함JSON, XML, 이벤트 로그중첩 구조, 선택 필드, 스키마 버전
비정형고정된 표 구조가 약함문서, 이미지, 음성, 영상메타데이터, 인코딩, 특징 추출, 개인정보

CSV는 흔히 정형 교환 파일로 쓰이지만 구분자, 인코딩, 헤더와 자료형 제약이 파일 자체에 충분히 표현되지 않을 수 있다. 형식 이름만으로 품질을 단정하지 않는다.

2. 수집 시점과 흐름

2.1 배치 수집

일정 주기마다 파일이나 변경분을 모아 가져온다. 구현과 재처리가 비교적 단순하지만 최신성은 주기에 제한된다. 전체 추출과 증분 추출을 구분하고 마지막 성공 기준점을 관리해야 한다.

2.2 스트림 수집

이벤트가 발생할 때 연속적으로 전달한다. 짧은 지연시간에 적합하지만 중복, 순서, 늦게 도착한 이벤트, 재처리와 상태 관리가 중요하다.

2.3 밀어넣기와 가져오기

원천이 이벤트를 보내는 방식은 밀어넣기, 수집 시스템이 주기적으로 조회하는 방식은 가져오기로 볼 수 있다. 전자는 변화에 빠르게 반응할 수 있고, 후자는 수집 주체가 일정과 부하를 통제하기 쉽다.

구분배치스트림
입력 흐름정한 범위·주기의 묶음계속 도착하는 이벤트
대표 기준점파일·날짜·증분 키·마지막 성공 시점이벤트 ID·오프셋·체크포인트
강점범위 재계산·재처리와 대량 교환이 비교적 단순변화에 짧은 지연으로 반응
주요 통제중복 파일, 부분 성공, 기준점, 삭제 반영중복·순서·지연 이벤트, 상태·재처리
선택 질문결과가 언제까지 필요하며 묶음 재계산이 가능한가?이벤트 단위로 얼마나 빨리 반응해야 하는가?

배치와 스트림은 배타적이지 않다. 실시간 경보는 스트림으로 제공하고 일별 배치 재계산으로 누락·지연 이벤트를 반영해 확정 결과를 만들 수 있다.

2.4 전체·증분·변경 데이터 수집

방식의미적합 상황핵심 통제
전체 추출기준 시점의 대상 전체를 다시 받음데이터가 작거나 완전 재구성이 필요원천 부하, 스냅샷 시점, 교체 원자성
증분 추출마지막 기준점 이후 추가·변경된 범위를 조회갱신 시각·순번 등 신뢰 가능한 증분 키가 있음기준점 저장, 동일 시각 경계, 재조회 구간
변경 데이터 수집삽입·수정·삭제 변화 사건을 포착변경 이력과 낮은 지연이 중요트랜잭션 순서, 삭제, 스키마 변경, 재처리

증분 수집에서 수정 시각 > 마지막 시각만 사용하면 같은 시각의 레코드나 늦게 반영된 변경을 놓칠 수 있다. 시간과 고유 순번을 함께 쓰거나 일정 겹침 구간을 재조회한 뒤 식별자로 중복을 제거하는 방안을 검토한다. 삭제는 현재 테이블 조회만으로 사라진 사실을 알기 어려울 수 있으므로 삭제 표시, 변경 로그, 주기적 전체 대사 같은 절차가 필요하다.

3. 대표 수집 방식

방식강점주요 위험필수 통제 예시
데이터베이스 조회·변경 수집구조와 증분 기준 활용원천 부하, 트랜잭션 의미, 삭제 누락읽기 부하 제한, 일관된 시점, 기준점·삭제 대사
파일 전송대량 묶음 교환과 재처리지연·중복·부분 전송·스키마 변경임시명 후 완료 전환, 파일 ID·체크섬, 매니페스트
API공식 인터페이스와 접근 통제호출 제한, 페이지·버전·장애인증, 재시도 간격, 페이지 완료, 응답 버전
애플리케이션·센서 이벤트발생 맥락과 저지연 수집유실·중복·순서·시간 동기화이벤트 ID, 발생·수집 시각, 체크포인트, 멱등 처리
웹 수집공개 정보 구조화 가능이용 조건, 구조 변경, 과도한 요청, 품질허용 범위·요청 간격, 출처·시각, 구조 변경 감시

수집 방식은 하나만 선택하지 않을 수 있다. 기준 정보는 API로, 대량 이력은 파일로, 실시간 상태는 이벤트로 받을 수 있다.

3.1 API와 파일 수집의 완료 판단

방식완료로 보기 전에 확인할 것대표 실패
API모든 페이지·기간을 조회했고 실패 호출을 재처리했는가?마지막 페이지 누락, 호출 제한 후 일부 누락
파일전송 완료가 확인되고 매니페스트·체크섬·건수가 일치하는가?쓰는 중인 파일 수집, 중복 파일 재처리
DB 증분시작·종료 기준점과 스냅샷 시점이 기록됐는가?경계 레코드 누락, 실행 중 데이터 변경
이벤트처리 기준점이 저장되고 재시도 결과가 중복 반영되지 않는가?재전송 중복, 체크포인트 유실

4. 수집 품질과 계보

수집 레코드에는 가능하면 원천, 원천 식별자, 발생 시각, 수집 시각, 스키마 버전, 배치 또는 이벤트 ID를 남긴다. 이를 통해 중복 제거, 지연 분석, 재처리와 계보 추적이 가능해진다.

수집 성공률은 받은 건수만으로 판단하지 않는다. 원천 예상 건수, 누락 구간, 체크섬, 마지막 변경 시점, 오류 응답을 함께 확인한다. 시간이 다른 시스템을 결합할 때는 표준 시간대와 발생 시각·처리 시각을 구분한다.

4.1 공통 수집 메타데이터

메타데이터목적활용 예시
원천·원천 식별자출처와 중복 기준 식별재처리 시 동일 레코드 판정
발생·변경 시각실제 사건·변화의 기준 시점시간 창 집계, 증분 경계
수집·처리 시각지연과 처리 흐름 측정수집 지연·병목 분석
스키마·계약 버전구조와 의미의 변경 추적파서 선택, 호환성 검증
배치·파일·이벤트 ID실행 단위와 재처리 추적중복 방지, 실패 범위 재실행
품질·검수 상태검증 통과 여부 기록격리·승인·재수집 결정

4.2 스키마 변경과 데이터 계약

원천 필드가 추가·삭제되거나 자료형·코드 의미가 바뀌면 수집은 성공해도 분석 결과가 잘못될 수 있다. 데이터 계약에는 필드 의미·자료형·필수 여부·시간대·허용 코드·변경 통지·호환성 원칙을 정할 수 있다.

변경위험대응 예시
선택 필드 추가구버전 처리기가 무시 가능한지 불명확허용 규칙과 버전 기록
필수 필드 삭제·이름 변경파싱 실패 또는 값 누락사전 통지, 호환 기간, 차단
자료형 변경값 손실·변환 오류스키마 검증, 격리, 명시적 변환
코드 의미 변경값은 정상이나 해석이 틀림코드 사전 버전, 적용일 관리
시간대 변경시계열 순서·집계 왜곡원천 시간대 보존, 표준화 규칙

스키마 변경을 자동으로 모두 허용하거나 모두 거부하지 않는다. 하위 호환 여부와 업무 영향에 따라 수용·격리·차단 기준을 정한다.

4.3 수집 품질 대사

품질 축검증 질문지표·근거 예시
완전성받아야 할 범위와 레코드를 모두 받았는가?원천 대비 건수, 누락 기간·페이지
유일성재전송·재처리로 중복 반영됐는가?원천 ID 중복률, 파일 ID
적시성허용 지연시간 안에 도착했는가?발생–수집 지연 분포
유효성스키마·코드·범위 규칙을 만족하는가?파싱 실패율, 코드 위반률
일관성원천·다른 시스템·집계와 맞는가?합계 대사, 참조키 매칭률
추적성출처·버전·실행·변환을 재현할 수 있는가?계보, 체크섬, 실행 ID

5. 사례 적용

상황: 관광 수요를 예측하기 위해 예약 데이터, 날씨 API, 후기 텍스트와 실시간 입장 이벤트를 모은다.

주어진 조건: 예약은 내부 정형 테이블, 날씨는 외부 반정형 응답, 후기는 비정형 텍스트, 입장 기록은 연속 이벤트다.

판단 과정: 각 원천의 출처·구조·갱신 주기·허용 지연을 별도로 정의한다. 예약은 수정 시각과 예약 ID를 기준으로 겹침 구간을 둔 증분 조회를 수행하고 취소·삭제 반영을 대사한다. 날씨는 호출 시각·예보 생성 시각·대상 시각과 API 버전을 저장하고 모든 페이지·지역의 완료 여부를 검증한다. 후기는 이용 조건을 확인한 배치 수집으로 출처·게시 시각·수집 시각을 남긴다. 입장은 고유 이벤트 ID와 발생·수집 시각, 체크포인트를 사용해 재전송에도 중복 반영되지 않도록 처리한다.

결론: 하나의 수집 기술로 통일하기보다 원천별 특성에 맞추고, 공통 메타데이터·스키마 버전·원천 대사·재처리 기준으로 통합한다. 실시간 입장 집계는 이후 배치 재대사로 누락·지연 이벤트를 보정할 수 있다.

오답 함정: 외부 API 응답을 언제나 정확한 사실로 보거나, 실시간 이벤트의 수신 시각을 실제 발생 시각과 같은 것으로 가정하지 않는다.

데이터를 원천 기준으로 내부·외부, 형식 기준으로 정형·반정형·비정형으로 나누는 두 축 분류 트리
데이터를 원천 기준으로 내부·외부, 형식 기준으로 정형·반정형·비정형으로 나누는 두 축 분류 트리

내부·외부는 데이터 원천의 축이고 정형·반정형·비정형은 형식의 축이다. 예를 들어 외부 API의 JSON은 원천 기준으로 외부, 형식 기준으로 반정형이므로 두 축을 같은 분류 목록처럼 섞지 않는다.

수집 구분판단 기준대표 사용
배치·스트림허용 지연과 처리 연속성정산·보고 / 경보·실시간 반응
Push·Pull누가 전송을 시작하는가웹훅 / API 주기 조회
전체·증분매번 전체인지 변경분인지초기 적재 / 일상 갱신
CDC변경 로그를 포착하는가DB 삽입·수정·삭제 반영
실시간성이 필요한지와 변경 식별자를 제공하는지에 따라 스트림 또는 배치, 전체·증분·CDC 수집을 고르는 의사결정 트리
실시간성이 필요한지와 변경 식별자를 제공하는지에 따라 스트림 또는 배치, 전체·증분·CDC 수집을 고르는 의사결정 트리

수집 방식은 “최신 기술”이 아니라 지연 요구·원천 지원·변경 식별·재처리·비용으로 선택한다. 수집 대상 건수를 $N_{expected}$, 정상 수집 건수를 $N_{received}$라 하면 대사율은 분모와 기간을 명시해 계산한다.

수집대사율=\fracN_receivedN_expected×100%

시험 판단 포인트

  • 내부·외부는 출처 축, 정형·반정형·비정형은 구조 축이다.
  • 배치 수집은 주기적 묶음, 스트림 수집은 연속 이벤트에 적합하다.
  • API는 호출 제한·버전·페이지 처리, 파일은 중복·부분 전송·스키마 변경을 점검한다.
  • 발생 시각과 수집 시각, 전체 추출과 증분 추출을 구분한다.
  • 수집 데이터에는 출처·스키마·배치 식별자 등 계보 정보를 남긴다.
  • 배치·스트림과 push·pull, 전체·증분·변경 데이터 수집은 서로 다른 설계 축이다.
  • 증분 기준점과 삭제 반영, 스키마·코드 의미 변경을 함께 관리한다.

자주 틀리는 부분

  • 내부 데이터이면 품질과 권한 문제가 없다고 보지 않는다.
  • JSON이라는 이유만으로 비정형 데이터로 분류하지 않는다.
  • 스트림 수집에서는 중복이 발생하지 않는다고 가정하지 않는다.
  • 공개 웹페이지의 데이터가 사용 조건과 법적 검토 없이 자유롭게 수집 가능하다고 판단하지 않는다.
  • API가 HTTP 성공을 반환했다는 사실만으로 모든 페이지가 수집됐다고 보지 않는다.
  • 정확히 한 번 처리된다는 표현만 믿고 식별자·체크포인트·멱등성 설계를 생략하지 않는다.
스스로 확인하기

개념 확인 문제

문제를 누르면 바로 아래에서 정답과 해설을 확인할 수 있습니다.

01데이터 분류에 관해 올바르게 설명하시오.
정답 및 해설

내부 로그도 반정형 또는 비정형일 수 있다.

내부·외부는 출처를, 정형·반정형·비정형은 구조를 구분하는 서로 다른 축이다. 내부 애플리케이션 로그도 JSON이나 자유 텍스트 형태일 수 있고, 외부 데이터도 정형 표로 제공될 수 있다.

02배치와 스트림 수집의 차이를 비교하여 설명하시오.
정답 및 해설

배치는 정해진 주기의 묶음 수집에 적합하다.

배치는 일정 기간의 데이터를 묶어 처리하는 데 적합하다. 전체와 증분 방식 모두 가능하다. 스트림에서는 중복·순서·지연 이벤트를 관리해야 하며, 업무 목적에 따라 배치와 함께 사용할 수 있다.

03API 수집 검증 순서를 서술하시오.
정답 및 해설

접근·이용 조건 확인 → 호출·페이지 규칙 설계 → 원천 대비 건수 검증 → 변경 모니터링

외부 API는 먼저 접근 권한과 이용 조건을 확인한다. 호출 제한·페이지·재시도 규칙을 설계하고, 원천의 예상 건수와 수집 결과를 비교한 뒤 버전과 응답 구조 변화를 모니터링한다.

04이벤트의 발생 시각보다 수집 시각이 20분 늦는 경우가 있다. 어떻게 판단해야 하는지 서술하시오.
정답 및 해설

발생 시각과 수집 시각을 분리하고 지연 이벤트 처리 기준을 둔다.

이벤트가 실제 발생한 시간과 수집 시스템에 도착한 시간은 다를 수 있다. 두 시각을 보존해야 시간 창 집계와 지연 분석을 올바르게 수행할 수 있으며, 늦은 이벤트를 포함할 기준도 정할 수 있다.