본문 바로가기
DataBase/Data & SQL

[Data]데이터 수집 절차

by 스파이디웹 2021. 1. 5.
728x90

프로젝트의 프로세스 정의

일반적인 프로젝트와 데이터 수집이 포함된 프로젝트의 프로세스를 일반화하기 어려우므로 세 가지 부분으로 나누어 일반화 시켜보자.

 

여기서는 데이터 입력, 데이터 처리, 서비스 제공으로 나누어 보았다.

 

-데이터입력

일반 프로젝트 사용자가 데이터 발생의 주체가 되며 데이터 입력자가 데이터에 대한 오너십을 가진다. 데이터는 트랜잭셕 하나에 한 건씩 발생시킨다.
수집관련 프로젝트 수집 프로세스 자체가 데이터 발생의 주체가 되며 수집 정책에 관련된 기술에 대한 데이터 오너십이 존재한다. 데이터는 프로세스 하나에서 여러건 발생 할 수 있다.

-데이터처리

 

일반 프로젝트 입력된 데이터의 사전처리 및 사후처리 과정이 거의 존재하지 않으며 원본 데이터의 변경이 이뤄지지 않는다.
수집관련 프로젝트 대부분 데이터의 전처리 과정이 필요하고 수집한 데이터에 대해 후처리(다른 데이터와 병합)가 이뤄진다.

-서비스제공

일반 프로젝트 처리된 데이터를 변형 없이 제공한다. 서비스 제공은 데이터의 변형이 없으므로 데이터 생산과 데이터 출력이 일치한다. OLTP 기반의 프로젝트가 주를 이룬다.
수집관련 프로젝트 처리된 데이터를 분리ㆍ병합해 새로운 인사이트를 제공하는 서비스가 주를 이루므로 재생산의 과정을 거쳐 생성된 데이터가 출력된다. 데이터 분석 관련 프로젝트가 주를 이룬다.

프로세스별 비교

데이터 입력, 데이터 처리, 서비스 제공이라는 세 가지 프로세스가 서로 어떻게 영향을 미치고, 일반 프로젝트와 데이터 수집 관련 프로젝트가 어떻게 다른지 알아보자.

 

-데이터 입력 → 데이터 처리

일반 프로젝트 입력 받은 데로 데이터 처리를 진행하며 데이터 처리시 정규화가 중요한 요소이다.
수집관련 프로젝트 데이터 수집과 데이터 처리는 누락 되는 데이터에 대해 사전처리 작업이 필요하고 데이터 처리시 수집 데이터의 가공이 발생한다.

-데이터 처리 → 서비스 제공

일반 프로젝트 데이터 처리는 처리된 데이터와 원본 데이터가 정규성을 갖기 때문에 서비스 제공에서도 처리된 데이터와 제공하는 서비스항목이 순수하게 데이터의 조회 형태로만 제공된다.
수집관련 프로젝트 서비스 제공의 대부분이 분석과 관련이 있으므로 데이터 처리는 원본 데이터의 변환이 일어나고 서비스 제공 형태에 따라 처리방법의 수정이 발생할 수 있다.

-데이터 입력 → 서비스 제공

 

일반 프로젝트 입력한 데이터와 서비스에 제공되는 데이터가 가역적 선형 관계로 서비스 제공 데이터로부터 입력 데이터로의 역추적이 가능하다. 데이터 입력이 중단돼도 서비스 제공은 가능하다.
수집관련 프로젝트 서비스에 제공되는 데이터는 수집한 데이터를 내부 처리과정을 거쳐 서비스 목적에 맞춰 변형(재생산)된 새로운 데이터다. 서비스 제공과 데이터 수집은 하나의 업무처리 선상에 있으므로 서비스의 제공은 데이터 수집에 영향을 받는다.

데이터 수집절차 설계

데이터 수집절차를 설계하기 위해서는 데이터 선정, 수집 세부계획 수립, 테스트 수집 실행의 프로세스로 나눌 수 있다.

데이터 선정

수집을 포함하는 프로젝트 진행시 데이터의 선정은 프로젝트의 품질을 결정할 뿐 아니라 성공 여부, 진행 여부에 영향을 미치는 핵심업무로 수집 대상 데이터를 분석할 수 있는 업무 지식을 보유하거나 수집 노하우를 보유한 전문가가 수행하는 것이 바람직하다. 하지만 데이터의 목적론적 특성에 대해 이해했다면 전문 기술을 보유하지 않은 사람들도 경험을 통해 진행할 수 있을 것이다. 먼저 수집 대상 데이터를 선정하기 위해 살펴 볼 것은 수집 가능성과 활용 데이터의 보안 문제, 그리고 데이터의 정확성이다. 데이터 수집의 난이도 및 비용적인 측면 또한 데이터 수집의 고려사항에서 살펴보겠다.

 

-수집 가능성

수집 가능성은 데이터 선정시 가장 우선적으로 고려해야 할 사항이다. 서비스 활용에 아무리 좋은 데이터가 있다고 가정하더라도 수집이 불가능하거나 통제 불가능한 주기를 가지고 있다면 서비스 활용을 원천 데이터의 정책에 의존하게 되므로 바람직하지 않다. 또한 수집이 아무리 용이하더라도 서비스 활용측면에서 데이터를 활용하기 위한 전처리ㆍ후처리에 비용이 많이 들어가게 되면 좋은 데이터 선정이라 할 수 없을 것이다.

 

-보안문제

수집한 데이터가 개인정보보호 혹은 저작권에는 문제가 없는지에 대해 살펴보아야 할 것이다. 수집된 데이터에 대해 개인정보보호 문제나 저작권에 대한 문제 발생시 서비스 활용에 대해 심각한 문제가 발생하므로 반드시 살펴보아야 할 것이다.

 

-데이터의 정확성

수집한 데이터의 정확성은 서비스의 활용목적에 세부항목이 정확히 존재하는가에 대해 검토해야 한다. 수집목적에 맞는 데이터를 수집하기 위해서는 사전처리 과정이 필요하고 수집한 데이터의 사후처리 방안도 마련돼야 할 것이다.

 

-데이터의 정확성

수집 난이도는 데이터 수집 및 처리에 들어가는 구축비용(Ongoing Cost)이 많이 들어갈 경우와 데이터 수집의 분석ㆍ설계와 필요한 데이터를 얻기 위해 많은 정제 과정이 필요할 경우로 구분하여 대안을 고려해야 한다. 정성적 기준으로 주로 비용으로 직접 산출이 어려운 경우 수집난이도 측면에서 트래픽량과 저장처리 장치의 용량 등이 고려대상이며, 수집 대상의 대안을 찾아야 한다.

 

-수집비용

수집비용은 데이터를 획득하기 위해 직접적으로 들어가는 획득비용이다. 정량적 기준으로 적용된 수집기술에 들어가는 비용이 발생할 경우에는 수집기술에 대한 검토가 필요하다.

수집 세부계획 수립

데이터를 선정했으면 선정된 데이터의 위치를 파악하고 데이터의 유형을 파악해 수집 시 적용할 기술 및 보안사항 등을 점검한 다음 수집 계획서를 작성해야 한다.

 

-수집 데이터의 위치 파악

수집할 데이터가 내부 혹은 외부에 있느냐에 따라 소유기관과의 필요한 협의를 진행한다.

 

내부 내부 시스템과 데이터 연계 가능여부를 파악, 데이터 종류 및 수집주기 인터페이스 정의서 작성
외부 - Open API는 개방하는 데이터의 종류 및 형태를 파악해 데이터의 양과 트래픽의 정도 확인
- 연계방식 및 절차 수집기술 적용방안 검토, 소스데이터 시스템의 데이터 개방 정책 파악
- 크롤링을 통해 데이터를 가져올 경우 외부 시스템의 수명주기 및 저작권 문제 등 수집가능 여부 체크,
  수집기술 적용방안 검토, 서비스 종료시 다른 소스에 대한 대안 검토

 

-데이터 유형 파악 및 수집방법 적용

데이터의 유형 파악은 데이터 수집기술을 결정하는 중요한 과정이다. 앞서 수집 데이터 형태에 따른 분류에서 설명한 구성 형태별 데이터 유형 및 데이터의 존재 형태에 대해 간단히 특징을 파악해 데이터 유형을 나누어 보고 어떤 수집방법이 사용되는지 알아보자.

 

① 구성 형태별 데이터 유형

구성 형태별 데이터의 유형

형태 특징 존재 형태
정형 데이터 데이터스키마 지원 RDB, 파일
반정형 데이터 데이터 내에 메타 속성이 존재 파일
비정형 데이터 분석이 가능한 텍스형 파일과 데이터 형태가 아닌 이미지나 동영상 파일로 존재 RDB, 파일

② 존재 형태별 데이터 유형

존재 형태별 데이터의 유형

형태 데이터유형 수집방법
RDB 정형 데이터, 비정형 데이터 DBtoDB, ETL, RDB 벤더제공 드라이버
파일 반정형 데이터 크롤링, Open API, FTP, HTTP

-수집 계획서 작성

데이터 수집을 위한 설계를 위해서는 수집 계획서를 작성해야 한다. 수집 계획서에는 데이터소스, 수집주기, 수집방법등이 구체화 돼야 한다.

① 데이터 소스

데이터 소스 구성요소

항목 작성 내용 고려사항
소스 위치 내부 시스템일 경우 특정 RDB의 IP, PORT 등이 포함 될 수 있으며, 외부 시스템일 경우 URI 등이 기술된다. 여러 소스가 있을 경우 중요한 소스별로 모두 기술돼야 한다.
데이터 유형 물리적으로 존재하는 데이터의 유형을 파일 종류, RDB일 경우 DBMS 종류 등을 기술한다. 데이터 유형이 혼합된 경우 의존관계가 기술돼야 한다.
인터페이스 수집하는 항목의 세부내용에 대해 인터페이스 요소에 대해 기술한다.  
데이터 담당자 소스 데이터의 데이터 담당자와 연락처를 기술한다. 담당자를 알지 못하는 경우 기관명 혹은 대표 URL만 기술할 수 있다.  
협약 내용 데이터 원천 담당자와 협약한 내용을 기록한다. 협약사항은 별도의 첨부 문서로 관리될 수 있다. 법적 검토가 필요하다.

② 수집주기

데이터 수집주기의 구성요소

항목 작성 내용 고려사항
주기설정 주기는 주기성을 갖지 않는 불규칙 수집일 경우와 일정시간을 정해 수집하는 배치일 경우, 이벤트가 발생할 경우 등으로 배치처리와 실시간 처리를 구분해 기술한다. 수집실패 시 재수집 정책을 수립할 필요가 있다.
데이터량 1회 수집 시 발생하는 데이터의 양을 기술하고, 여기에 수집주기를 곱해 서비스 시작일과 서비스의 예상 종료일까지의 총 데이터량을 기술한다. 수집 시스템의 저장소의 용량을 예측한다.
트래픽량 수집 시 발생하는 네트워크 트래픽량을 계산해 작성한다. 과도한 트래픽발생 시 해결책이 필요하다.

③ 수집방법

데이터 수집방법의 구성요소

항목 작성 내용 고려사항
적용기술 수집에 필요한 적용기술을 기술한다. 일반적으로 하나의 기술만 선택되는 것이 아니므로 수집 프로세스별로 나누어 사용되는 기술의 이름, 버전을 기술한다. 처리과정에 대해 과정별로 나누어 기술해야 한다.
데이터 사전처리 사전 데이터 처리가 필요한 경우 사전 처리 작업에 대해 기술한다 사전처리 규칙을 명시해야 한다.
데이터 사후처리 데이터 수집 후 사후처리가 필요한 경우 사후처리 방법에 대해 명시해 기술한다.  
대안기술 소스 데이터 수집 시 대안기술이 필요할 경우 대안 기술을 명시해 기술한다. 대안기술이 존재하지 않을 경우 다른 데이터 소스를 고려해야 한다.

테스트 수집 진행

수집 계획서가 완성되었으면 테스트 수집을 진행한다. 테스트 수집은 수집 관련 프로젝트에서 단순히 수집 기능의 테스트만 진행하는 것이 아니다. 데이터 선정 시 고려했던 수집 가능성, 보안문제, 데이터의 정확성을 만족시키는지 검증해 보고 수집된 데이터의 서비스 활용 측면까지 검토해 보아야 한다.

 

-수집 테스트 기술적 검토

먼저 원하는 데이터가 제대로 수집됐는지 기술적 방법의 적용은 최적의 방법으로 적용했는지 등에 대해 검토한다. 기술적 검토는 수집한 데이터 세트의 누락여부, 소스 데이터와의 비교, 데이터 활용 측면에서의 데이터의 정확성에 대해 검토해야 한다.

 

데이터 수집 시 기술적 검토사항

검토 사항 검토방법
데이터세트 누락
  • 원본 데이터 요청 후 확인
  • 재수집을 통해 누락데이터 세트 확인
소스 데이터와 비교
  • 파일일 경우 사이즈 비교
  • 수집한 데이터와 개수 비교
데이터의 정확성
  • 서비스 활용에 수집한 데이터의 사후처리가 필요한지 확인

-수집 테스트 업무적 검토

수집한 데이터에 대한 개인정보 보안 , 수집 데이터의 저작권 관련 사항 등 업무적 검토를 진행해야 한다. 또한 협약기관에 많은 트래픽을 발생시킬 경우, 제약 사항들을 다시 한번 검토해야 한다.

 

데이터 수집시 업무적 검토사항

검토사항 검토방법
보안사항 수집 데이터에 개인정보 수집 등 보안 사항이 없는지 검토
저작권 수집한 데이터가 저작권 등 법적문제가 없는지 검토
대용량 트래픽 수집 대상 시스템에 트래픽을 많이 발생시키는 요소가 없는지 검토

출처: www.dbguide.net/db.db?cmd=view&boardUid=186814&boardConfigUid=9&categoryUid=216&boardIdx=152&boardStep=1

728x90

댓글